Compare commits
47 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
d2cfdf12a7 | ||
|
bc2165c8b2 | ||
|
1cea6c8d4f | ||
|
3ac1f4efbe | ||
|
2dc8474fca | ||
|
1585d1f6eb | ||
|
dc4942b60c | ||
|
1a7b22c030 | ||
|
c1f52b11dd | ||
|
1225667fb6 | ||
|
c419aa4dff | ||
|
d0c23d81b7 | ||
|
73db40eee1 | ||
|
59e8323daa | ||
|
f19a29e555 | ||
|
dde642cbcb | ||
|
1a43cb5934 | ||
|
12357d4c0f | ||
|
dd52d158de | ||
|
b4f2a66a3f | ||
|
f46d5dca33 | ||
|
ec7ad28c37 | ||
|
b3bccafb63 | ||
|
a789a40929 | ||
|
0786a659f8 | ||
|
c533a4b629 | ||
|
be9b090778 | ||
|
418a49d767 | ||
|
1cb986a4fb | ||
|
fbb2b61cd5 | ||
|
37f351473b | ||
|
b2f34d588d | ||
|
0a4c5e32a9 | ||
|
8b535207db | ||
|
cf5ffaf841 | ||
|
6f9737e6ac | ||
|
a2e5fb4a38 | ||
|
6c3a995c52 | ||
|
43b7806719 | ||
|
4cd12d4a3f | ||
|
bea7cd4cab | ||
|
42c62beba7 | ||
|
b31a08897a | ||
|
88ceb2c0fe | ||
|
d267005a3b | ||
|
1b8bac11b2 | ||
|
35be163a77 |
10
.gitignore
vendored
10
.gitignore
vendored
@ -1,8 +1,2 @@
|
||||
texinfo-4.13a.tar.lzma
|
||||
texinfo-4.13a.tar.lzma.sig
|
||||
/texinfo-5.0.tar.xz
|
||||
/texinfo-5.0.tar.xz.sig
|
||||
/texinfo-5.1.tar.xz
|
||||
/texinfo-5.1.tar.xz.sig
|
||||
/texinfo-5.2.tar.xz
|
||||
/texinfo-5.2.tar.xz.sig
|
||||
/texinfo-6.6.tar.xz
|
||||
/texinfo-6.6.tar.xz.sig
|
||||
|
@ -1,4 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
/usr/lib/rpm/find-provides "$@" | grep -v 'perl('
|
||||
exit 0
|
@ -1,4 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
/usr/lib/rpm/find-provides "$@" | grep 'perl(\(Text::Unidecode\|Unicode::EastAsianWidth\|Data::Dumper\|Locale::Messages\))'
|
||||
exit 0
|
40
info-6.5-sync-fix-info-dir.patch
Normal file
40
info-6.5-sync-fix-info-dir.patch
Normal file
@ -0,0 +1,40 @@
|
||||
diff -uNr texinfo-6.5.orig/contrib/fix-info-dir texinfo-6.5/contrib/fix-info-dir
|
||||
--- texinfo-6.5.orig/contrib/fix-info-dir 2014-04-22 03:56:56.000000000 +0200
|
||||
+++ texinfo-6.5/contrib/fix-info-dir 2018-02-04 13:48:35.979359350 +0100
|
||||
@@ -163,29 +163,23 @@
|
||||
{
|
||||
|
||||
### output the dir header
|
||||
- echo "-*- Text -*-"
|
||||
- echo "This file was generated automatically by $0."
|
||||
- echo "This version was generated on `date`"
|
||||
- echo "by `whoami`@`hostname` for `pwd`"
|
||||
|
||||
cat<<DIR_FILE_END_OF_FILE
|
||||
-This is the file .../info/$DIR_FILE, which contains the topmost node of the
|
||||
-Info hierarchy. The first time you invoke Info you start off
|
||||
-looking at that node, which is ($DIR_FILE)Top.
|
||||
-
|
||||
+This is the file .../info/$DIR_FILE, which contains the
|
||||
+topmost node of the Info hierarchy, called ($DIR_FILE)Top.
|
||||
+The first time you invoke Info you start off looking at this node.
|
||||
|
||||
-File: $DIR_FILE Node: Top This is the top of the INFO tree
|
||||
+File: $DIR_FILE, Node: Top This is the top of the INFO tree
|
||||
|
||||
This (the Directory node) gives a menu of major topics.
|
||||
- Typing "q" exits, "?" lists all Info commands, "d" returns here,
|
||||
+ Typing "q" exits, "H" lists all Info commands, "d" returns here,
|
||||
"h" gives a primer for first-timers,
|
||||
- "mEmacs<Return>" visits the Emacs topic, etc.
|
||||
+ "mEmacs<Return>" visits the Emacs manual, etc.
|
||||
|
||||
In Emacs, you can click mouse button 2 on a menu item or cross reference
|
||||
to select it.
|
||||
|
||||
-* Menu: The list of major topics begins on the next line.
|
||||
-
|
||||
+* Menu:
|
||||
DIR_FILE_END_OF_FILE
|
||||
|
||||
### go through the list of files in the skeleton. If an info file
|
22
info-dir
22
info-dir
@ -1,22 +0,0 @@
|
||||
$Id: dir,v 1.2 1996/09/24 18:43:01 karl Exp $
|
||||
This is the file .../info/dir, which contains the topmost node of the
|
||||
Info hierarchy. The first time you invoke Info you start off
|
||||
looking at that node, which is (dir)Top.
|
||||
|
||||
File: dir Node: Top This is the top of the INFO tree
|
||||
|
||||
This (the Directory node) gives a menu of major topics.
|
||||
Typing "q" exits, "?" lists all Info commands, "d" returns here,
|
||||
"h" gives a primer for first-timers,
|
||||
"mEmacs<Return>" visits the Emacs topic, etc.
|
||||
|
||||
In Emacs, you can click mouse button 2 on a menu item or cross reference
|
||||
to select it.
|
||||
|
||||
* Menu:
|
||||
|
||||
Texinfo documentation system
|
||||
* Info: (info). Documentation browsing system.
|
||||
|
||||
Miscellaneous
|
||||
* bash: (bash). The Bourne Again Shell.
|
@ -1,15 +1,15 @@
|
||||
%info_requires \
|
||||
Requires(post): /usr/sbin/install-info \
|
||||
Requires(preun): /usr/sbin/install-info
|
||||
Requires(post): /sbin/install-info \
|
||||
Requires(preun): /sbin/install-info
|
||||
|
||||
%info_post() \
|
||||
if [ -f %{_infodir}/%1 ]; then # --excludedocs? \
|
||||
/usr/sbin/install-info %{_infodir}/%1 %{_infodir}/dir || : \
|
||||
/sbin/install-info %{_infodir}/%1 %{_infodir}/dir || : \
|
||||
fi
|
||||
|
||||
%info_preun() \
|
||||
if [ $1 == 0 ]; then \
|
||||
if [ -f %{_infodir}/%1 ]; then # --excludedocs? \
|
||||
/usr/sbin/install-info --delete %{_infodir}/%1 %{_infodir}/dir || : \
|
||||
/sbin/install-info --delete %{_infodir}/%1 %{_infodir}/dir || : \
|
||||
fi \
|
||||
fi
|
||||
|
4
sources
4
sources
@ -1,2 +1,2 @@
|
||||
cb489df8a7ee9d10a236197aefdb32c5 texinfo-5.2.tar.xz
|
||||
23be0c1d1ff653bc7599643e359ca1be texinfo-5.2.tar.xz.sig
|
||||
SHA512 (texinfo-6.6.tar.xz) = 96e0764d0808152d3662e65c3287fb0f86ed918912cdc036380637dbadaacd6a489b516543c07b08105686575e8d495a945f73e23ff0909d5a0f12026e4131e0
|
||||
SHA512 (texinfo-6.6.tar.xz.sig) = b4af1d28e4cc20b6e86255b907542122aa1da423652ea962b885b2f2d1cc135747d12c4eb78a24c25320b981e2448ce87f66bf9ac264527f989dc7439cefd03b
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff -up texinfo-5.1/install-info/install-info.c.orig texinfo-5.1/install-info/install-info.c
|
||||
--- texinfo-5.1/install-info/install-info.c.orig 2013-03-09 03:21:55.000000000 +0100
|
||||
+++ texinfo-5.1/install-info/install-info.c 2013-03-18 12:47:02.721136885 +0100
|
||||
@@ -22,6 +22,7 @@
|
||||
diff -up texinfo-6.5.91/install-info/install-info.c.orig texinfo-6.5.91/install-info/install-info.c
|
||||
--- texinfo-6.5.91/install-info/install-info.c.orig 2019-01-13 12:43:10.000000000 +0100
|
||||
+++ texinfo-6.5.91/install-info/install-info.c 2019-01-14 09:31:45.322849494 +0100
|
||||
@@ -19,6 +19,7 @@
|
||||
#include <getopt.h>
|
||||
#include <regex.h>
|
||||
#include <argz.h>
|
||||
@ -9,16 +9,17 @@ diff -up texinfo-5.1/install-info/install-info.c.orig texinfo-5.1/install-info/i
|
||||
|
||||
#define TAB_WIDTH 8
|
||||
|
||||
@@ -670,7 +671,7 @@ The first time you invoke Info you start
|
||||
|
||||
MAGIC number, not the filename. */
|
||||
@@ -681,15 +682,15 @@ The first time you invoke Info you start
|
||||
|
||||
Return either stdin reading the file, or a non-stdin pipe reading
|
||||
the output of the compression program. */
|
||||
-FILE *
|
||||
+void *
|
||||
open_possibly_compressed_file (char *filename,
|
||||
void (*create_callback) (char *),
|
||||
char **opened_filename, char **compression_program, int *is_pipe)
|
||||
@@ -678,7 +679,7 @@ open_possibly_compressed_file (char *fil
|
||||
- char **opened_filename, char **compression_program)
|
||||
+ char **opened_filename, char **compression_program, int *is_pipe)
|
||||
{
|
||||
char *local_opened_filename, *local_compression_program;
|
||||
int nread;
|
||||
char data[13];
|
||||
@ -27,7 +28,7 @@ diff -up texinfo-5.1/install-info/install-info.c.orig texinfo-5.1/install-info/i
|
||||
|
||||
/* We let them pass NULL if they don't want this info, but it's easier
|
||||
to always determine it. */
|
||||
@@ -686,48 +687,48 @@ open_possibly_compressed_file (char *fil
|
||||
@@ -697,48 +698,48 @@ open_possibly_compressed_file (char *fil
|
||||
opened_filename = &local_opened_filename;
|
||||
|
||||
*opened_filename = filename;
|
||||
@ -84,16 +85,16 @@ diff -up texinfo-5.1/install-info/install-info.c.orig texinfo-5.1/install-info/i
|
||||
}
|
||||
#endif /* __MSDOS__ */
|
||||
if (!f)
|
||||
@@ -739,7 +740,7 @@ open_possibly_compressed_file (char *fil
|
||||
@@ -754,7 +755,7 @@ open_possibly_compressed_file (char *fil
|
||||
(*create_callback) (filename);
|
||||
|
||||
/* And try opening it again. */
|
||||
free (*opened_filename);
|
||||
*opened_filename = filename;
|
||||
- f = fopen (*opened_filename, FOPEN_RBIN);
|
||||
+ f = gzopen (*opened_filename, FOPEN_RBIN);
|
||||
if (!f)
|
||||
pfatal_with_name (filename);
|
||||
return 0;
|
||||
}
|
||||
@@ -749,12 +750,12 @@ open_possibly_compressed_file (char *fil
|
||||
@@ -764,26 +765,26 @@ open_possibly_compressed_file (char *fil
|
||||
|
||||
/* Read first few bytes of file rather than relying on the filename.
|
||||
If the file is shorter than this it can't be usable anyway. */
|
||||
@ -102,51 +103,100 @@ diff -up texinfo-5.1/install-info/install-info.c.orig texinfo-5.1/install-info/i
|
||||
+ nread = gzread (f, data, sizeof (data));
|
||||
+ if (nread != sizeof (data))
|
||||
{
|
||||
/* Empty files don't set errno, so we get something like
|
||||
"install-info: No error for foo", which is confusing. */
|
||||
- if (nread == 0)
|
||||
+ if (nread >= 0)
|
||||
fatal (_("%s: empty file"), *opened_filename);
|
||||
pfatal_with_name (*opened_filename);
|
||||
{
|
||||
/* Try to create the file if its empty. */
|
||||
- if (feof (f) && create_callback)
|
||||
+ if (gzeof (f) && create_callback)
|
||||
{
|
||||
- if (fclose (f) != 0)
|
||||
+ if (gzclose (f) < 0)
|
||||
return 0; /* unknown error closing file */
|
||||
|
||||
if (remove (filename) != 0)
|
||||
return 0; /* unknown error deleting file */
|
||||
|
||||
(*create_callback) (filename);
|
||||
- f = fopen (*opened_filename, FOPEN_RBIN);
|
||||
+ f = gzopen (*opened_filename, FOPEN_RBIN);
|
||||
if (!f)
|
||||
return 0;
|
||||
- nread = fread (data, sizeof (data), 1, f);
|
||||
- if (nread == 0)
|
||||
+ nread = gzread (f, data, sizeof (data));
|
||||
+ if (nread <= 0)
|
||||
return 0;
|
||||
goto determine_file_type; /* success */
|
||||
}
|
||||
@@ -821,20 +822,22 @@ open_possibly_compressed_file (char *fil
|
||||
@@ -854,35 +855,40 @@ determine_file_type:
|
||||
*compression_program = NULL;
|
||||
|
||||
/* Seek back over the magic bytes. */
|
||||
- if (fseek (f, 0, 0) < 0)
|
||||
+ if (gzseek (f, 0, SEEK_SET) == -1)
|
||||
return 0;
|
||||
|
||||
if (*compression_program)
|
||||
{ /* It's compressed, so fclose the file and then open a pipe. */
|
||||
{ /* It's compressed, so open a pipe. */
|
||||
+ FILE *p;
|
||||
char *command = concat (*compression_program," -cd <", *opened_filename);
|
||||
char *command = concat (*compression_program, " -d", "");
|
||||
|
||||
- if (fclose (f) < 0)
|
||||
+ if (gzclose (f) < 0)
|
||||
pfatal_with_name (*opened_filename);
|
||||
return 0;
|
||||
- f = freopen (*opened_filename, FOPEN_RBIN, stdin);
|
||||
- if (!f)
|
||||
+ p = freopen (*opened_filename, FOPEN_RBIN, stdin);
|
||||
+ if (!p)
|
||||
return 0;
|
||||
- f = popen (command, "r");
|
||||
- if (f)
|
||||
- if (!f)
|
||||
+ p = popen (command, "r");
|
||||
+ if (p)
|
||||
*is_pipe = 1;
|
||||
else
|
||||
pfatal_with_name (command);
|
||||
+ if (!p)
|
||||
{
|
||||
/* Used for error message in calling code. */
|
||||
*opened_filename = command;
|
||||
return 0;
|
||||
}
|
||||
+ else
|
||||
+ *is_pipe = 1;
|
||||
+ return p;
|
||||
}
|
||||
else
|
||||
{ /* It's a plain file, seek back over the magic bytes. */
|
||||
- if (fseek (f, 0, 0) < 0)
|
||||
+ if (gzseek (f, 0, SEEK_SET) < 0)
|
||||
pfatal_with_name (*opened_filename);
|
||||
{
|
||||
-#if O_BINARY
|
||||
+#if 0 && O_BINARY
|
||||
/* Since this is a text file, and we opened it in binary mode,
|
||||
switch back to text mode. */
|
||||
f = freopen (*opened_filename, "r", f);
|
||||
@@ -859,7 +862,7 @@ readfile (char *filename, int *sizep,
|
||||
if (! f)
|
||||
return 0;
|
||||
#endif
|
||||
+ *is_pipe = 0;
|
||||
}
|
||||
|
||||
return f;
|
||||
@@ -901,7 +907,8 @@ readfile (char *filename, int *sizep,
|
||||
void (*create_callback) (char *), char **opened_filename,
|
||||
char **compression_program)
|
||||
{
|
||||
char *real_name;
|
||||
- FILE *f;
|
||||
+ void *f;
|
||||
int pipe_p;
|
||||
+ int pipe_p;
|
||||
int filled = 0;
|
||||
int data_size = 8192;
|
||||
@@ -873,7 +876,12 @@ readfile (char *filename, int *sizep,
|
||||
char *data = xmalloc (data_size);
|
||||
@@ -909,14 +916,20 @@ readfile (char *filename, int *sizep,
|
||||
/* If they passed the space for the file name to return, use it. */
|
||||
f = open_possibly_compressed_file (filename, create_callback,
|
||||
opened_filename,
|
||||
- compression_program);
|
||||
+ compression_program,
|
||||
+ &pipe_p);
|
||||
|
||||
if (!f)
|
||||
return 0;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
@ -158,21 +208,24 @@ diff -up texinfo-5.1/install-info/install-info.c.orig texinfo-5.1/install-info/i
|
||||
+ else
|
||||
+ nread = gzread (f, data + filled, data_size - filled);
|
||||
if (nread < 0)
|
||||
pfatal_with_name (real_name);
|
||||
return 0;
|
||||
if (nread == 0)
|
||||
@@ -895,7 +903,7 @@ readfile (char *filename, int *sizep,
|
||||
if (pipe_p)
|
||||
@@ -935,8 +948,10 @@ readfile (char *filename, int *sizep,
|
||||
/* We need to close the stream, since on some systems the pipe created
|
||||
by popen is simulated by a temporary file which only gets removed
|
||||
inside pclose. */
|
||||
- if (f != stdin)
|
||||
+ if (pipe_p)
|
||||
pclose (f);
|
||||
else
|
||||
- fclose (f);
|
||||
+ else
|
||||
+ gzclose (f);
|
||||
|
||||
*sizep = filled;
|
||||
return data;
|
||||
diff -up texinfo-5.1/install-info/Makefile.in.orig texinfo-5.1/install-info/Makefile.in
|
||||
--- texinfo-5.1/install-info/Makefile.in.orig 2013-03-12 23:56:43.000000000 +0100
|
||||
+++ texinfo-5.1/install-info/Makefile.in 2013-03-18 12:42:57.165767101 +0100
|
||||
@@ -171,7 +171,7 @@ am__installdirs = "$(DESTDIR)$(bindir)"
|
||||
diff -up texinfo-6.5.91/install-info/Makefile.in.orig texinfo-6.5.91/install-info/Makefile.in
|
||||
--- texinfo-6.5.91/install-info/Makefile.in.orig 2019-01-14 09:32:31.729895052 +0100
|
||||
+++ texinfo-6.5.91/install-info/Makefile.in 2019-01-14 09:32:52.574914503 +0100
|
||||
@@ -218,7 +218,7 @@ am__installdirs = "$(DESTDIR)$(bindir)"
|
||||
PROGRAMS = $(bin_PROGRAMS)
|
||||
am_ginstall_info_OBJECTS = install-info.$(OBJEXT)
|
||||
ginstall_info_OBJECTS = $(am_ginstall_info_OBJECTS)
|
||||
@ -180,4 +233,4 @@ diff -up texinfo-5.1/install-info/Makefile.in.orig texinfo-5.1/install-info/Make
|
||||
+ginstall_info_LDADD = $(LDADD) -lz
|
||||
am__DEPENDENCIES_1 =
|
||||
ginstall_info_DEPENDENCIES = $(top_builddir)/gnulib/lib/libgnu.a \
|
||||
$(am__DEPENDENCIES_1)
|
||||
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff -up texinfo-5.1/install-info/install-info.c.orig texinfo-5.1/install-info/install-info.c
|
||||
--- texinfo-5.1/install-info/install-info.c.orig 2013-03-18 12:37:15.375860494 +0100
|
||||
+++ texinfo-5.1/install-info/install-info.c 2013-03-18 12:37:42.589012295 +0100
|
||||
@@ -835,7 +835,7 @@ open_possibly_compressed_file (char *fil
|
||||
}
|
||||
else
|
||||
{ /* It's a plain file, seek back over the magic bytes. */
|
||||
- if (gzseek (f, 0, SEEK_SET) < 0)
|
||||
+ if (gzseek (f, 0, SEEK_SET) == -1)
|
||||
pfatal_with_name (*opened_filename);
|
||||
#if 0 && O_BINARY
|
||||
/* Since this is a text file, and we opened it in binary mode,
|
@ -1,195 +0,0 @@
|
||||
Index: info/nodes.c
|
||||
===================================================================
|
||||
--- info/nodes.c (revision 5245)
|
||||
+++ info/nodes.c (revision 5246)
|
||||
@@ -563,6 +563,7 @@
|
||||
/* Okay, we have isolated the node name, and we know where the
|
||||
node starts. Remember this information. */
|
||||
entry = xmalloc (sizeof (TAG));
|
||||
+ entry->content_cache = NULL;
|
||||
entry->nodename = xmalloc (1 + (end - start));
|
||||
strncpy (entry->nodename, nodeline + start, end - start);
|
||||
entry->nodename[end - start] = 0;
|
||||
@@ -667,6 +668,7 @@
|
||||
break;
|
||||
|
||||
entry = xmalloc (sizeof (TAG));
|
||||
+ entry->content_cache = NULL;
|
||||
|
||||
/* Find the beginning of the node definition. */
|
||||
tmp_search->start += name_offset;
|
||||
@@ -981,7 +983,12 @@
|
||||
node->filename = subfile->fullpath;
|
||||
node->parent = NULL;
|
||||
node->nodename = tag->nodename;
|
||||
- node->contents = subfile->contents + tag->nodestart;
|
||||
+
|
||||
+ if (tag->content_cache)
|
||||
+ node->contents = tag->content_cache;
|
||||
+ else
|
||||
+ node->contents = subfile->contents + tag->nodestart;
|
||||
+
|
||||
node->display_pos = 0;
|
||||
node->flags = 0;
|
||||
node_set_body_start (node);
|
||||
@@ -1049,6 +1056,12 @@
|
||||
node_body.end = buff_end - node_body.buffer;
|
||||
node_body.flags = 0;
|
||||
tag->nodelen = get_node_length (&node_body);
|
||||
+ /* Expand eventual \b[...\b] constructs in the contents.
|
||||
+ If found, update node->contents to point to the resulting
|
||||
+ buffer. */
|
||||
+ if (tags_expand (node->contents, tag->nodelen,
|
||||
+ &tag->content_cache, &tag->nodelen))
|
||||
+ node->contents = tag->content_cache;
|
||||
node->nodelen = tag->nodelen;
|
||||
}
|
||||
else if (tag->nodelen == 0) /* anchor, return containing node */
|
||||
@@ -1173,7 +1186,8 @@
|
||||
free_info_tag (TAG *tag)
|
||||
{
|
||||
free (tag->nodename);
|
||||
-
|
||||
+ free (tag->content_cache);
|
||||
+
|
||||
/* We don't free tag->filename, because that filename is part of the
|
||||
subfiles list for the containing FILE_BUFFER. free_info_tags ()
|
||||
will free the subfiles when it is appropriate. */
|
||||
Index: info/tag.c
|
||||
===================================================================
|
||||
--- info/tag.c (revision 5245)
|
||||
+++ info/tag.c (revision 5246)
|
||||
@@ -113,6 +113,8 @@
|
||||
if (state == state_delim)
|
||||
continue;
|
||||
}
|
||||
+ else if (state == state_delim)
|
||||
+ state = state_kw;
|
||||
cur_len = mb_len (mbi_cur (iter));
|
||||
cur_ptr = mbi_cur_ptr (iter);
|
||||
|
||||
@@ -125,6 +127,8 @@
|
||||
switch (*cur_ptr)
|
||||
{
|
||||
case '=':
|
||||
+ if (state != state_kw)
|
||||
+ break;
|
||||
text_buffer_add_char (&tmpbuf, 0);
|
||||
kw = tmpbuf.base;
|
||||
if (!mbi_avail (iter))
|
||||
@@ -197,22 +201,29 @@
|
||||
return NULL;
|
||||
}
|
||||
|
||||
-void
|
||||
-tags_expand (char **pbuf, size_t *pbuflen)
|
||||
+/* Expand \b[...\b] constructs in INPUT (of INPUTLEN bytes). If encountered,
|
||||
+ put the expanded text into PBUF, store its length in PBUFLEN, and return
|
||||
+ 1. Otherwise, don't touch neither of the latter and return 0. */
|
||||
+int
|
||||
+tags_expand (char *input, size_t inputlen, char **pbuf, size_t *pbuflen)
|
||||
{
|
||||
- char *input = *pbuf;
|
||||
- char *endp = input + *pbuflen;
|
||||
+ char *endp = input + inputlen;
|
||||
struct text_buffer outbuf;
|
||||
+ int text_buffer_used = 0;
|
||||
char *p;
|
||||
|
||||
- text_buffer_init (&outbuf);
|
||||
-
|
||||
while ((p = input + strlen (input)) < endp) /* go forward to null */
|
||||
{
|
||||
if (memcmp(p + 1, "\b[", 2) == 0) /* opening magic? */
|
||||
{
|
||||
char *q;
|
||||
|
||||
+ if (!text_buffer_used)
|
||||
+ {
|
||||
+ text_buffer_init (&outbuf);
|
||||
+ text_buffer_used = 1;
|
||||
+ }
|
||||
+
|
||||
p += 3;
|
||||
q = p + strlen (p); /* forward to next null */
|
||||
if (memcmp (q + 1, "\b]", 2) == 0) /* closing magic? */
|
||||
@@ -227,10 +238,7 @@
|
||||
while (p[len] == ' ' || p[len] == '\t')
|
||||
++len; /* move past whitespace */
|
||||
|
||||
- if (!text_buffer_off (&outbuf))
|
||||
- text_buffer_add_string (&outbuf, *pbuf, p - *pbuf - 3);
|
||||
- else
|
||||
- text_buffer_add_string (&outbuf, input, p - input - 3);
|
||||
+ text_buffer_add_string (&outbuf, input, p - input - 3);
|
||||
if (tp->handler (p + len, &outbuf) == 0)
|
||||
{
|
||||
input = q + 3;
|
||||
@@ -240,21 +248,21 @@
|
||||
}
|
||||
}
|
||||
|
||||
- if (text_buffer_off (&outbuf))
|
||||
- {
|
||||
- text_buffer_add_string (&outbuf, input, p - input);
|
||||
- }
|
||||
+ if (text_buffer_used)
|
||||
+ text_buffer_add_string (&outbuf, input, p - input);
|
||||
+
|
||||
input = p + 1;
|
||||
}
|
||||
|
||||
- if (text_buffer_off (&outbuf))
|
||||
+ if (text_buffer_used && text_buffer_off (&outbuf))
|
||||
{
|
||||
if (input < endp)
|
||||
text_buffer_add_string (&outbuf, input, endp - input);
|
||||
- free (*pbuf);
|
||||
*pbuflen = text_buffer_off (&outbuf);
|
||||
*pbuf = text_buffer_base (&outbuf);
|
||||
+ return 1;
|
||||
}
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
void
|
||||
Index: info/nodes.h
|
||||
===================================================================
|
||||
--- info/nodes.h (revision 5245)
|
||||
+++ info/nodes.h (revision 5246)
|
||||
@@ -90,6 +90,9 @@
|
||||
char *nodename; /* The node pointed to by this tag. */
|
||||
long nodestart; /* The offset of the start of this node. */
|
||||
long nodelen; /* The length of this node. */
|
||||
+ char *content_cache; /* Cache of the node contents; used if the
|
||||
+ node contents must be preprocessed before
|
||||
+ displaying it. */
|
||||
} TAG;
|
||||
|
||||
/* The following structure is used to remember information about the contents
|
||||
Index: info/filesys.c
|
||||
===================================================================
|
||||
--- info/filesys.c (revision 5245)
|
||||
+++ info/filesys.c (revision 5246)
|
||||
@@ -645,8 +645,6 @@
|
||||
files are coming from some Windows system across a network. */
|
||||
fsize = convert_eols (contents, fsize);
|
||||
|
||||
- tags_expand (&contents, &fsize);
|
||||
-
|
||||
/* EOL conversion can shrink the text quite a bit. We don't
|
||||
want to waste storage. */
|
||||
contents = xrealloc (contents, 1 + fsize);
|
||||
Index: info/tag.h
|
||||
===================================================================
|
||||
--- info/tag.h (revision 5245)
|
||||
+++ info/tag.h (revision 5246)
|
||||
@@ -19,7 +19,7 @@
|
||||
#ifndef TAG_H
|
||||
#define TAG_H
|
||||
|
||||
-void tags_expand (char **pbuf, size_t *pbuflen);
|
||||
+int tags_expand (char *input, size_t inputlen, char **pbuf, size_t *pbuflen);
|
||||
void handle_tag (char *tag);
|
||||
|
||||
#endif
|
@ -1,11 +0,0 @@
|
||||
diff -up texinfo-5.2/info/infomap.c.orig texinfo-5.2/info/infomap.c
|
||||
--- texinfo-5.2/info/infomap.c.orig 2015-09-15 10:40:14.464877073 +0200
|
||||
+++ texinfo-5.2/info/infomap.c 2015-09-15 10:40:35.269964560 +0200
|
||||
@@ -297,6 +297,7 @@ static unsigned char default_emacs_like_
|
||||
CONTROL('f'), NUL, A_info_forward_char,
|
||||
CONTROL('h'), NUL, A_info_get_help_window,
|
||||
CONTROL('l'), NUL, A_info_redraw_display,
|
||||
+ CONTROL('n'), NUL, A_info_next_line,
|
||||
CONTROL('p'), NUL, A_info_prev_line,
|
||||
CONTROL('r'), NUL, A_isearch_backward,
|
||||
CONTROL('s'), NUL, A_isearch_forward,
|
@ -1,18 +0,0 @@
|
||||
diff -up texinfo-5.2/info/info.c.orig texinfo-5.2/info/info.c
|
||||
--- texinfo-5.2/info/info.c.orig 2014-01-16 08:55:50.084084818 +0100
|
||||
+++ texinfo-5.2/info/info.c 2014-01-16 08:55:55.464112252 +0100
|
||||
@@ -859,7 +859,13 @@ show_error_node (NODE *node)
|
||||
{
|
||||
if (info_error_rings_bell_p)
|
||||
terminal_ring_bell ();
|
||||
- if (!echo_area_is_active)
|
||||
+ if (user_output_filename)
|
||||
+ {
|
||||
+ if (node->contents[node->nodelen - 1] == '\n')
|
||||
+ node->contents[node->nodelen - 1] = 0;
|
||||
+ info_error ("%s", node->contents);
|
||||
+ }
|
||||
+ else if (!echo_area_is_active)
|
||||
{
|
||||
free_echo_area ();
|
||||
window_set_node_of_window (the_echo_area, node);
|
25
texinfo-6.0-disable-failing-info-test.patch
Normal file
25
texinfo-6.0-disable-failing-info-test.patch
Normal file
@ -0,0 +1,25 @@
|
||||
diff -up texinfo-6.5.92/install-info/tests/Makefile.in.orig texinfo-6.5.92/install-info/tests/Makefile.in
|
||||
--- texinfo-6.5.92/install-info/tests/Makefile.in.orig 2019-02-01 16:16:49.000000000 +0100
|
||||
+++ texinfo-6.5.92/install-info/tests/Makefile.in 2019-02-18 10:33:52.078877104 +0100
|
||||
@@ -1229,8 +1229,8 @@ ii-0021-test ii-0022-test ii-0023-test i
|
||||
ii-0026-test ii-0027-test ii-0028-test ii-0029-test ii-0030-test \
|
||||
ii-0031-test ii-0032-test ii-0033-test ii-0034-test ii-0035-test \
|
||||
ii-0036-test ii-0037-test ii-0038-test ii-0039-test ii-0040-test \
|
||||
-ii-0041-test ii-0042-test ii-0043-test ii-0044-test ii-0045-test \
|
||||
-ii-0046-test ii-0047-test ii-0048-test ii-0049-test ii-0050-test \
|
||||
+ii-0042-test ii-0043-test ii-0044-test ii-0045-test \
|
||||
+ii-0046-test ii-0047-test ii-0048-test ii-0049-test \
|
||||
ii-0051-test ii-0052-test ii-0053-test ii-0054-test ii-0055-test \
|
||||
ii-0056-test ii-0057-test
|
||||
|
||||
diff -up texinfo-6.5.92/tp/tests/Makefile.in.orig texinfo-6.5.92/tp/tests/Makefile.in
|
||||
--- texinfo-6.5.92/tp/tests/Makefile.in.orig 2019-02-01 16:16:50.000000000 +0100
|
||||
+++ texinfo-6.5.92/tp/tests/Makefile.in 2019-02-18 10:33:13.774827269 +0100
|
||||
@@ -1374,7 +1374,6 @@ one_test_files_generated_list = \
|
||||
test_scripts/layout_formatting_html32.sh \
|
||||
test_scripts/layout_formatting_regions.sh \
|
||||
test_scripts/layout_formatting_exotic.sh \
|
||||
- test_scripts/layout_formatting_fr_icons.sh \
|
||||
test_scripts/layout_formatting_chm.sh \
|
||||
test_scripts/layout_formatting_nodes.sh \
|
||||
test_scripts/layout_formatting.sh \
|
@ -0,0 +1,44 @@
|
||||
diff -up texinfo-6.1/install-info/install-info.c.orig texinfo-6.1/install-info/install-info.c
|
||||
--- texinfo-6.1/install-info/install-info.c.orig 2016-06-22 09:49:38.766013018 +0200
|
||||
+++ texinfo-6.1/install-info/install-info.c 2016-06-22 14:11:58.673780736 +0200
|
||||
@@ -973,18 +973,23 @@ output_dirfile (char *dirfile, int dir_n
|
||||
int n_entries_added = 0;
|
||||
int i;
|
||||
FILE *output;
|
||||
+ char *dirfile_tmp = NULL;
|
||||
+
|
||||
+ asprintf (&dirfile_tmp, "%s.tmp", dirfile);
|
||||
+ if (!dirfile_tmp)
|
||||
+ xalloc_die ();
|
||||
|
||||
if (compression_program)
|
||||
{
|
||||
- char *command = concat (compression_program, ">", dirfile);
|
||||
+ char *command = concat (compression_program, ">", dirfile_tmp);
|
||||
output = popen (command, "w");
|
||||
}
|
||||
else
|
||||
- output = fopen (dirfile, "w");
|
||||
+ output = fopen (dirfile_tmp, "w");
|
||||
|
||||
if (!output)
|
||||
{
|
||||
- perror (dirfile);
|
||||
+ perror (dirfile_tmp);
|
||||
exit (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
@@ -1095,6 +1100,13 @@ output_dirfile (char *dirfile, int dir_n
|
||||
pclose (output);
|
||||
else
|
||||
fclose (output);
|
||||
+
|
||||
+ if (rename (dirfile_tmp, dirfile) < 0)
|
||||
+ {
|
||||
+ perror (dirfile_tmp);
|
||||
+ exit (EXIT_FAILURE);
|
||||
+ }
|
||||
+ free (dirfile_tmp);
|
||||
}
|
||||
|
||||
/* Read through the input LINES, to find the section names and the
|
168
texinfo-6.5-covscan-fixes.patch
Normal file
168
texinfo-6.5-covscan-fixes.patch
Normal file
@ -0,0 +1,168 @@
|
||||
diff -up texinfo-6.5.91/contrib/fix-info-dir.p7 texinfo-6.5.91/contrib/fix-info-dir
|
||||
--- texinfo-6.5.91/contrib/fix-info-dir.p7 2019-01-21 10:52:18.453973008 +0100
|
||||
+++ texinfo-6.5.91/contrib/fix-info-dir 2019-01-21 10:52:18.456973012 +0100
|
||||
@@ -28,7 +28,6 @@ if test -z "$LINENO"; then
|
||||
fi
|
||||
|
||||
MENU_BEGIN='^\*\([ ]\)\{1,\}Menu:'
|
||||
-MENU_ITEM='^\* ([^ ]).*:([ ])+\('
|
||||
MENU_FILTER1='s/^\*\([ ]\)\{1,\}/* /'
|
||||
MENU_FILTER2='s/\([ ]\)\{1,\}$//g'
|
||||
|
||||
diff -up texinfo-6.5.91/info/infomap.c.p7 texinfo-6.5.91/info/infomap.c
|
||||
--- texinfo-6.5.91/info/infomap.c.p7 2019-01-13 12:43:10.000000000 +0100
|
||||
+++ texinfo-6.5.91/info/infomap.c 2019-01-21 10:52:18.457973013 +0100
|
||||
@@ -589,6 +589,7 @@ fetch_user_maps (char *init_file)
|
||||
compile (inf, filename, &sup_info, &sup_ea);
|
||||
|
||||
free (filename);
|
||||
+ fclose (inf);
|
||||
return 1;
|
||||
}
|
||||
|
||||
diff -up texinfo-6.5.91/info/makedoc.c.p7 texinfo-6.5.91/info/makedoc.c
|
||||
--- texinfo-6.5.91/info/makedoc.c.p7 2019-01-13 12:43:10.000000000 +0100
|
||||
+++ texinfo-6.5.91/info/makedoc.c 2019-01-21 10:52:18.457973013 +0100
|
||||
@@ -425,7 +425,11 @@ process_one_file (char *filename, FILE *
|
||||
|
||||
offset++;
|
||||
if (offset >= file_size)
|
||||
- break;
|
||||
+ {
|
||||
+ free (func_name);
|
||||
+ free (func);
|
||||
+ break;
|
||||
+ }
|
||||
|
||||
doc = xmalloc (1 + (offset - point));
|
||||
strncpy (doc, buffer + point, offset - point);
|
||||
diff -up texinfo-6.5.91/info/m-x.c.p7 texinfo-6.5.91/info/m-x.c
|
||||
--- texinfo-6.5.91/info/m-x.c.p7 2019-01-13 12:43:10.000000000 +0100
|
||||
+++ texinfo-6.5.91/info/m-x.c 2019-01-21 10:52:18.457973013 +0100
|
||||
@@ -79,7 +79,10 @@ DECLARE_INFO_COMMAND (describe_command,
|
||||
InfoCommand *cmd = named_function (line);
|
||||
|
||||
if (!cmd)
|
||||
- return;
|
||||
+ {
|
||||
+ free (line);
|
||||
+ return;
|
||||
+ }
|
||||
|
||||
window_message_in_echo_area ("%s: %s.",
|
||||
line, function_documentation (cmd));
|
||||
diff -up texinfo-6.5.91/info/nodes.c.p7 texinfo-6.5.91/info/nodes.c
|
||||
--- texinfo-6.5.91/info/nodes.c.p7 2019-01-13 12:43:10.000000000 +0100
|
||||
+++ texinfo-6.5.91/info/nodes.c 2019-01-21 10:52:18.457973013 +0100
|
||||
@@ -303,7 +303,10 @@ get_nodes_of_tags_table (FILE_BUFFER *fi
|
||||
for (p = 0; nodedef[p] && nodedef[p] != INFO_TAGSEP; p++)
|
||||
;
|
||||
if (nodedef[p] != INFO_TAGSEP)
|
||||
- continue;
|
||||
+ {
|
||||
+ free (entry);
|
||||
+ continue;
|
||||
+ }
|
||||
|
||||
entry->nodename = xmalloc (p + 1);
|
||||
strncpy (entry->nodename, nodedef, p);
|
||||
@@ -477,6 +480,7 @@ get_tags_of_indirect_tags_table (FILE_BU
|
||||
}
|
||||
file_buffer->subfiles = NULL;
|
||||
free_file_buffer_tags (file_buffer);
|
||||
+ free (subfiles);
|
||||
return;
|
||||
}
|
||||
|
||||
diff -up texinfo-6.5.91/info/session.c.p7 texinfo-6.5.91/info/session.c
|
||||
--- texinfo-6.5.91/info/session.c.p7 2019-01-13 12:43:10.000000000 +0100
|
||||
+++ texinfo-6.5.91/info/session.c 2019-01-21 10:52:18.458973014 +0100
|
||||
@@ -3552,6 +3552,7 @@ DECLARE_INFO_COMMAND (info_goto_invocati
|
||||
if (!line)
|
||||
{
|
||||
info_abort_key (window, 0);
|
||||
+ free (default_program_name);
|
||||
return;
|
||||
}
|
||||
if (*line)
|
||||
diff -up texinfo-6.5.91/info/variables.c.p7 texinfo-6.5.91/info/variables.c
|
||||
--- texinfo-6.5.91/info/variables.c.p7 2019-01-13 12:43:10.000000000 +0100
|
||||
+++ texinfo-6.5.91/info/variables.c 2019-01-21 10:52:18.459973015 +0100
|
||||
@@ -359,6 +359,7 @@ read_variable_name (char *prompt, WINDOW
|
||||
{
|
||||
char *line;
|
||||
REFERENCE **variables;
|
||||
+ VARIABLE_ALIST *alist;
|
||||
|
||||
/* Get the completion array of variable names. */
|
||||
variables = make_variable_completions_array ();
|
||||
@@ -382,7 +383,9 @@ read_variable_name (char *prompt, WINDOW
|
||||
return NULL;
|
||||
}
|
||||
|
||||
- return variable_by_name (line);
|
||||
+ alist = variable_by_name (line);
|
||||
+ free (line);
|
||||
+ return alist;
|
||||
}
|
||||
|
||||
/* Make an array of REFERENCE which actually contains the names of the
|
||||
diff -up texinfo-6.5.91/install-info/install-info.c.p7 texinfo-6.5.91/install-info/install-info.c
|
||||
--- texinfo-6.5.91/install-info/install-info.c.p7 2019-01-21 10:52:18.447973002 +0100
|
||||
+++ texinfo-6.5.91/install-info/install-info.c 2019-01-21 10:52:18.460973016 +0100
|
||||
@@ -864,10 +864,16 @@ determine_file_type:
|
||||
char *command = concat (*compression_program, " -d", "");
|
||||
|
||||
if (gzclose (f) < 0)
|
||||
- return 0;
|
||||
+ {
|
||||
+ free (command);
|
||||
+ return 0;
|
||||
+ }
|
||||
p = freopen (*opened_filename, FOPEN_RBIN, stdin);
|
||||
if (!p)
|
||||
- return 0;
|
||||
+ {
|
||||
+ free (command);
|
||||
+ return 0;
|
||||
+ }
|
||||
p = popen (command, "r");
|
||||
if (!p)
|
||||
{
|
||||
@@ -877,6 +883,7 @@ determine_file_type:
|
||||
}
|
||||
else
|
||||
*is_pipe = 1;
|
||||
+ free (command);
|
||||
return p;
|
||||
}
|
||||
else
|
||||
@@ -920,7 +927,10 @@ readfile (char *filename, int *sizep,
|
||||
&pipe_p);
|
||||
|
||||
if (!f)
|
||||
- return 0;
|
||||
+ {
|
||||
+ free (data);
|
||||
+ return 0;
|
||||
+ }
|
||||
|
||||
for (;;)
|
||||
{
|
||||
@@ -980,6 +990,7 @@ output_dirfile (char *dirfile, int dir_n
|
||||
{
|
||||
char *command = concat (compression_program, ">", dirfile_tmp);
|
||||
output = popen (command, "w");
|
||||
+ free (command);
|
||||
}
|
||||
else
|
||||
output = fopen (dirfile_tmp, "w");
|
||||
@@ -1721,6 +1732,8 @@ reformat_new_entries (struct spec_entry
|
||||
|
||||
format_entry (name, name_len, desc, desc_len, calign, align,
|
||||
maxwidth, &entry->text, &entry->text_len);
|
||||
+ free (desc);
|
||||
+ free (name);
|
||||
}
|
||||
}
|
||||
|
41
texinfo-6.5-fix-info-dir.patch
Normal file
41
texinfo-6.5-fix-info-dir.patch
Normal file
@ -0,0 +1,41 @@
|
||||
This fixes two issues:
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1592433
|
||||
This is a bug in fix-info-dir --delete
|
||||
(Hunk 3)
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1614162
|
||||
This is a weird infinite loop that happens when fix-info-dir is run with stderr
|
||||
redirected to /dev/null while /dev/null doesn't exist (or isn't a device)
|
||||
(Hunks 1 and 2)
|
||||
|
||||
diff --git a/contrib/fix-info-dir b/contrib/fix-info-dir
|
||||
index 4439ada..9240060 100755
|
||||
--- a/contrib/fix-info-dir
|
||||
+++ b/contrib/fix-info-dir
|
||||
@@ -124,6 +124,7 @@ if test "$CREATE_NODE"; then
|
||||
fi
|
||||
shift
|
||||
else
|
||||
+ SKIP_READ=yes
|
||||
SKELETON=/dev/null
|
||||
|
||||
fi
|
||||
@@ -188,7 +189,7 @@ DIR_FILE_END_OF_FILE
|
||||
|
||||
# Read one line from the file. This is so that we can echo lines with
|
||||
# whitespace and quoted characters in them.
|
||||
- while read fileline; do
|
||||
+ while test -z "$SKIP_READ" && read fileline; do
|
||||
# flag fancy features
|
||||
if test ! -z "$echoline"; then # echo line
|
||||
echo "$fileline"
|
||||
@@ -294,7 +295,7 @@ else
|
||||
DONE_MSG="total invalid menu item(s) were removed from `pwd`/$DIR_FILE"
|
||||
for Info_Name in `comm -23 $TMP_FILE1 $TMP_FILE2`; do
|
||||
Changed="y"
|
||||
- if install-info --remove $Info_Name $DIR_FILE; then
|
||||
+ if install-info --remove --remove-exactly $Info_Name $DIR_FILE; then
|
||||
Total=`expr "$Total" + "1"`
|
||||
fi
|
||||
done
|
220
texinfo.spec
220
texinfo.spec
@ -1,38 +1,34 @@
|
||||
%global _use_internal_dependency_generator 0
|
||||
|
||||
%global tex_texinfo %{_datadir}/texmf/tex/texinfo
|
||||
|
||||
Summary: Tools needed to create Texinfo format documentation files
|
||||
Name: texinfo
|
||||
Version: 5.2
|
||||
Release: 9%{?dist}
|
||||
Version: 6.6
|
||||
Release: 2%{?dist}
|
||||
License: GPLv3+
|
||||
Group: Applications/Publishing
|
||||
Url: http://www.gnu.org/software/texinfo/
|
||||
Source0: ftp://ftp.gnu.org/gnu/texinfo/texinfo-%{version}.tar.xz
|
||||
Source1: ftp://ftp.gnu.org/gnu/texinfo/texinfo-%{version}.tar.xz.sig
|
||||
Source2: info-dir
|
||||
# Source3: script for filtering out false perl requires
|
||||
Source3: filter-requires-texinfo.sh
|
||||
# Source4: script for filtering out false perl provides
|
||||
Source4: filter-provides-texinfo.sh
|
||||
# Source5: macro definitions
|
||||
Source5: macros.info
|
||||
Patch0: texinfo-4.12-zlib.patch
|
||||
Patch1: texinfo-4.13a-powerpc.patch
|
||||
# Patch2: bz#1053129, already upstream
|
||||
Patch2: texinfo-5.2-non-existing-info-page-segfault.patch
|
||||
# Patch3: bz#1257370, already upstream
|
||||
Patch3: texinfo-5.2-missing-c-n-binding.patch
|
||||
Requires(post): /sbin/install-info
|
||||
Requires(preun): /sbin/install-info
|
||||
Requires: perl >= 5.7.3, perl(Text::Unidecode)
|
||||
Requires: perl(Unicode::EastAsianWidth), perl(Data::Dumper), perl(Locale::Messages)
|
||||
# Patch1: this is needed just for koji/mock, all tests pass fine in local build
|
||||
Patch1: texinfo-6.0-disable-failing-info-test.patch
|
||||
# Patch2: rhbz#1348671, because of OSTree
|
||||
Patch2: texinfo-6.1-install-info-use-create-tmp-then-rename-pattern.patch
|
||||
# Patch3: we need to fix template fix-info-dir generates
|
||||
Patch3: info-6.5-sync-fix-info-dir.patch
|
||||
# Patch4: rhbz#1592433, bug in fix-info-dir --delete
|
||||
Patch4: texinfo-6.5-fix-info-dir.patch
|
||||
# Patch5: fixes issues detected by static analysis
|
||||
Patch5: texinfo-6.5-covscan-fixes.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: perl-generators
|
||||
BuildRequires: zlib-devel, ncurses-devel, help2man, perl(Data::Dumper)
|
||||
BuildRequires: perl(Locale::Messages), perl(Unicode::EastAsianWidth), perl(Text::Unidecode)
|
||||
BuildRequires: perl(Storable)
|
||||
|
||||
%global __find_requires %{SOURCE3}
|
||||
%global __find_provides %{SOURCE4}
|
||||
# Texinfo perl packages are not installed in default perl library dirs
|
||||
%global __provides_exclude ^perl\\(.*Texinfo.*\\)$
|
||||
%global __requires_exclude ^perl\\(.*Texinfo.*\\)$
|
||||
|
||||
%description
|
||||
Texinfo is a documentation system that can produce both online
|
||||
@ -45,7 +41,6 @@ are going to write documentation for the GNU Project.
|
||||
|
||||
%package -n info
|
||||
Summary: A stand-alone TTY-based reader for GNU texinfo documentation
|
||||
Group: System Environment/Base
|
||||
|
||||
%description -n info
|
||||
The GNU project uses the texinfo file format for much of its
|
||||
@ -54,7 +49,6 @@ browser program for viewing texinfo files.
|
||||
|
||||
%package tex
|
||||
Summary: Tools for formatting Texinfo documentation files using TeX
|
||||
Group: Applications/Publishing
|
||||
Requires: texinfo = %{version}-%{release}
|
||||
Requires: tex(tex) tex(epsf.tex)
|
||||
Requires(post): %{_bindir}/texconfig-sys
|
||||
@ -69,66 +63,33 @@ The texinfo-tex package provides tools to format Texinfo documents
|
||||
for printing using TeX.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1 -b .zlib
|
||||
%patch1 -p1 -b .powerpc
|
||||
%patch2 -p1 -b .non-existing-info-page-segfault
|
||||
%patch3 -p1 -b .missing-c-n-binding
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
%configure --with-external-Text-Unidecode \
|
||||
--with-external-libintl-perl \
|
||||
--with-external-Unicode-EastAsianWidth
|
||||
make %{?_smp_mflags}
|
||||
--with-external-Unicode-EastAsianWidth \
|
||||
--disable-perl-xs
|
||||
%make_build
|
||||
|
||||
%install
|
||||
mkdir -p ${RPM_BUILD_ROOT}/sbin
|
||||
|
||||
make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p'
|
||||
%make_install
|
||||
|
||||
mkdir -p $RPM_BUILD_ROOT%{tex_texinfo}
|
||||
install -p -m644 doc/texinfo.tex doc/txi-??.tex $RPM_BUILD_ROOT%{tex_texinfo}
|
||||
|
||||
install -p -m644 %{SOURCE2} $RPM_BUILD_ROOT%{_infodir}/dir
|
||||
mv $RPM_BUILD_ROOT%{_bindir}/install-info $RPM_BUILD_ROOT/sbin
|
||||
|
||||
mkdir -p $RPM_BUILD_ROOT%{_rpmconfigdir}/macros.d
|
||||
cp %{SOURCE5} $RPM_BUILD_ROOT%{_rpmconfigdir}/macros.d
|
||||
install -Dpm0755 -t %{buildroot}%{_sbindir} contrib/fix-info-dir
|
||||
|
||||
%find_lang %{name}
|
||||
%find_lang %{name}_document
|
||||
|
||||
%check
|
||||
export ALL_TESTS=yes
|
||||
make %{?_smp_mflags} check
|
||||
|
||||
%post
|
||||
if [ -f %{_infodir}/texinfo.gz ]; then # --excludedocs?
|
||||
/sbin/install-info %{_infodir}/texinfo.gz %{_infodir}/dir || :
|
||||
fi
|
||||
|
||||
%preun
|
||||
if [ $1 = 0 ]; then
|
||||
if [ -f %{_infodir}/texinfo.gz ]; then # --excludedocs?
|
||||
/sbin/install-info --delete %{_infodir}/texinfo.gz %{_infodir}/dir || :
|
||||
fi
|
||||
fi
|
||||
|
||||
%post -n info
|
||||
if [ -f %{_infodir}/info-stnd.info ]; then # --excludedocs?
|
||||
/sbin/install-info %{_infodir}/info-stnd.info %{_infodir}/dir
|
||||
fi
|
||||
if [ -x /bin/sed ]; then
|
||||
/bin/sed -i '/^This is.*produced by makeinfo.*from/d' %{_infodir}/dir || :
|
||||
fi
|
||||
|
||||
%preun -n info
|
||||
if [ $1 = 0 ]; then
|
||||
if [ -f %{_infodir}/info-stnd.info ]; then # --excludedocs?
|
||||
/sbin/install-info --delete %{_infodir}/info-stnd.info %{_infodir}/dir \
|
||||
|| :
|
||||
fi
|
||||
fi
|
||||
%make_build check
|
||||
|
||||
%post tex
|
||||
%{_bindir}/texconfig-sys rehash 2> /dev/null || :
|
||||
@ -136,10 +97,15 @@ fi
|
||||
%postun tex
|
||||
%{_bindir}/texconfig-sys rehash 2> /dev/null || :
|
||||
|
||||
%transfiletriggerin -n info -- %{_infodir}
|
||||
[ -f %{_infodir}/dir ] && create_arg="" || create_arg="--create"
|
||||
%{_sbindir}/fix-info-dir $create_arg %{_infodir}/dir &>/dev/null
|
||||
|
||||
%transfiletriggerpostun -n info -- %{_infodir}
|
||||
[ -f %{_infodir}/dir ] && %{_sbindir}/fix-info-dir --delete %{_infodir}/dir &>/dev/null
|
||||
|
||||
%files -f %{name}.lang -f %{name}_document.lang
|
||||
%doc AUTHORS ChangeLog NEWS README TODO
|
||||
%{!?_licensedir:%global license %%doc}
|
||||
%license COPYING
|
||||
%{_bindir}/makeinfo
|
||||
%{_bindir}/texi2any
|
||||
@ -152,19 +118,16 @@ fi
|
||||
%{_mandir}/man1/pod2texi.1*
|
||||
|
||||
%files -n info
|
||||
%config(noreplace) %verify(not md5 size mtime) %{_infodir}/dir
|
||||
%{!?_licensedir:%global license %%doc}
|
||||
%license COPYING
|
||||
%{_bindir}/info
|
||||
%{_bindir}/infokey
|
||||
%{_infodir}/info.info*
|
||||
%{_infodir}/info-stnd.info*
|
||||
/sbin/install-info
|
||||
%{_sbindir}/fix-info-dir
|
||||
%{_mandir}/man1/info.1*
|
||||
%{_mandir}/man1/infokey.1*
|
||||
%{_mandir}/man1/install-info.1*
|
||||
%{_mandir}/man5/info.5*
|
||||
%{_rpmconfigdir}/macros.d/macros.info
|
||||
%ghost %{_infodir}/dir
|
||||
%ghost %{_infodir}/dir.old
|
||||
|
||||
%files tex
|
||||
%{_bindir}/texindex
|
||||
@ -178,9 +141,116 @@ fi
|
||||
%{_mandir}/man1/pdftexi2dvi.1*
|
||||
|
||||
%changelog
|
||||
* Tue Sep 15 2015 Vitezslav Crhonek <vcrhonek@redhat.com> - 5.2-9
|
||||
- Fix missing C-n binding in info
|
||||
Resolves: #1257370
|
||||
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.6-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Mon Feb 18 2019 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.6-1
|
||||
- Update to texinfo-6.6
|
||||
Resolves: #1677911
|
||||
|
||||
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.5-12
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Thu Oct 04 2018 Jason L Tibbitts III <tibbs@math.uh.edu> - 6.5-11
|
||||
- Fix another issue in fix-info-dir which could lead to an infinite loop in odd
|
||||
circumstances.
|
||||
Resolves: #1614162
|
||||
|
||||
* Thu Aug 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 6.5-10
|
||||
- Drop macros.info
|
||||
|
||||
* Wed Aug 08 2018 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.5-9
|
||||
- Fix issues detected by static analysis
|
||||
|
||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6.5-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Fri Jun 29 2018 Jitka Plesnikova <jplesnik@redhat.com> - 6.5-7
|
||||
- Perl 5.28 rebuild
|
||||
|
||||
* Thu Jun 21 2018 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.5-6
|
||||
- Fix fail of test because of unescaped left brace with Perl 5.28
|
||||
(patch by Jitka Plesnikova)
|
||||
Resolves: #1590308
|
||||
|
||||
* Tue Jun 19 2018 Jason L Tibbitts III <tibbs@math.uh.edu> - 6.5-5
|
||||
- Fix bug in fix-info-dir which prevented the transfiletriggerpostun script
|
||||
from working properly.
|
||||
|
||||
* Fri Mar 30 2018 Tom Callaway <spot@fedoraproject.org> - 6.5-4
|
||||
- update texinfo.tex
|
||||
|
||||
* Tue Feb 13 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 6.5-3
|
||||
- Implement transaction filetriggers for crating info/dir
|
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6.5-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Wed Sep 13 2017 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.5-1
|
||||
- Update to texinfo-6.5
|
||||
Resolves: #1491075
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 6.4-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 6.4-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Thu Jul 13 2017 Petr Pisar <ppisar@redhat.com> - 6.4-3
|
||||
- perl dependency renamed to perl-interpreter
|
||||
<https://fedoraproject.org/wiki/Changes/perl_Package_to_Install_Core_Modules>
|
||||
|
||||
* Mon Jul 10 2017 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.4-2
|
||||
- Fix broken reference following when the reference is split to
|
||||
more than one line
|
||||
- Fix possible incorrect selection of already loaded file when
|
||||
following cross reference
|
||||
Resolves: #1383057
|
||||
|
||||
* Tue Jun 27 2017 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.4-1
|
||||
- Update to texinfo-6.4
|
||||
Resolves: #1464624
|
||||
|
||||
* Mon Mar 13 2017 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.3-3
|
||||
- Fix path to install-info in macros.info
|
||||
Resolves: #1419246
|
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 6.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Mon Sep 19 2016 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.3-1
|
||||
- Update to texinfo-6.3
|
||||
Resolves: #1374962
|
||||
|
||||
* Wed Jun 22 2016 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.1-3
|
||||
- install-info: use create-tmp-then-rename pattern because of OSTree
|
||||
(patch by Colin Walters)
|
||||
Resolves: #1348671
|
||||
|
||||
* Wed Feb 24 2016 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.1-2
|
||||
- Fix texi2dvi exits without completing the task
|
||||
Resolves: #1309702
|
||||
|
||||
* Thu Feb 11 2016 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.1-1
|
||||
- Update to texinfo-6.1
|
||||
Resolves: #1305316
|
||||
|
||||
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 6.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Sun Aug 9 2015 Orion Poplawski <orion@cora.nwra.com> - 6.0-2
|
||||
- Add BR on perl(Storable), fix perl requires (bug #1251766)
|
||||
|
||||
* Tue Jul 14 2015 Vitezslav Crhonek <vcrhonek@redhat.com> - 6.0-1
|
||||
- Update to texinfo-6.0
|
||||
Resolves: #1236254
|
||||
|
||||
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.2-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Sat Feb 21 2015 Till Maas <opensource@till.name> - 5.2-9
|
||||
- Rebuilt for Fedora 23 Change
|
||||
https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code
|
||||
|
||||
* Mon Feb 02 2015 Vitezslav Crhonek <vcrhonek@redhat.com> - 5.2-8
|
||||
- Add macros.info
|
||||
|
Loading…
Reference in New Issue
Block a user