SHA256
1
0
forked from pool/texinfo

Update to texinfo 7.1

OBS-URL: https://build.opensuse.org/package/show/Publishing/texinfo?expand=0&rev=132
This commit is contained in:
Dr. Werner Fink 2024-02-02 13:08:53 +00:00 committed by Git OBS Bridge
commit 07bc834679
12 changed files with 2075 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,41 @@
Author: Adam Majer <amajer@suse.de>
Date: Fri Apr 6 10:59:49 CEST 2018
Bug: bsc#1084997
Summary: revert behaviour change since SLE11/SLE12
For package that tries to remove non-existent info page.
/sbin/install-info --quiet --delete --info-dir=/usr/share/info
/usr/share/info/blubber.info.gz ; echo $?
0
in SLE15,
/sbin/install-info --quiet --delete --info-dir=/usr/share/info
/usr/share/info/blubber.info.gz ; echo $?
install-info: No such file or directory for
/usr/share/info/blubber.info.gz
1
So, we need to keep return code on failure to be 0 since suse_macros are missing
||: which results in broken packages that worked before to stop working now. This
is affecting upgrade process.
https://bugzilla.suse.com/show_bug.cgi?id=1084997
Index: texinfo-6.6/install-info/install-info.c
===================================================================
--- texinfo-6.6.orig/install-info/install-info.c
+++ texinfo-6.6/install-info/install-info.c
@@ -246,7 +246,7 @@ fatal (const char *fmt, ...)
va_start (ap, fmt);
vdiag (fmt, NULL, ap);
va_end (ap);
- exit (EXIT_FAILURE);
+ exit (EXIT_SUCCESS);
}
/* Return a newly-allocated string

BIN
texinfo-7.0.3.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

8
texinfo-7.0.3.tar.xz.sig Normal file
View File

@ -0,0 +1,8 @@
-----BEGIN PGP SIGNATURE-----
iI8EABEIADcWIQTq9mmzHjHh3svRFRPdvFedqzf7qQUCZCA15BkcZ2F2aW5zbWl0
aDAxMjNAZ21haWwuY29tAAoJEN28V52rN/upzwABAI2fLUksBxG7Zs/MXc6nTzFV
vM/ujEry9Xc+dXwpD1H7AP99udrll7XijKAMJG0G2/w2RVPu56x5l6UGrLhJB8Wt
PQ==
=A5eq
-----END PGP SIGNATURE-----

3
texinfo-7.1.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:deeec9f19f159e046fdf8ad22231981806dac332cc372f1c763504ad82b30953
size 5545720

8
texinfo-7.1.tar.xz.sig Normal file
View File

@ -0,0 +1,8 @@
-----BEGIN PGP SIGNATURE-----
iI8EABEIADcWIQTq9mmzHjHh3svRFRPdvFedqzf7qQUCZS/iphkcZ2F2aW5zbWl0
aDAxMjNAZ21haWwuY29tAAoJEN28V52rN/up5LYBALwlhLMF0ms2VhWq8mXvHbii
L2ySgaLsL1Pe3bFv6UC5AP0XSWsH5VQGq3wRVvo5KCH9TIi2aAMZ3RrfJbaPmxHS
xA==
=bAky
-----END PGP SIGNATURE-----

4
texinfo-rpmlintrc Normal file
View File

@ -0,0 +1,4 @@
addFilter(".*W:.*ghost-files-without-postin.*")
addFilter(".*W:.*info-files-without-install-info-post.*")
addFilter(".*W:.*name-repeated-in-summary.*")
addFilter(".*W:.*no-binary.*")

136
texinfo-zlib.patch Normal file
View File

@ -0,0 +1,136 @@
---
install-info/Makefile.in | 2 -
install-info/install-info.c | 76 +++++++++++++++++++++++++++++++-------------
2 files changed, 56 insertions(+), 22 deletions(-)
--- a/install-info/Makefile.in
+++ b/install-info/Makefile.in 2024-01-31 13:40:04.106538986 +0000
@@ -263,7 +263,7 @@ am__installdirs = "$(DESTDIR)$(bindir)"
PROGRAMS = $(bin_PROGRAMS)
am_ginstall_info_OBJECTS = install-info.$(OBJEXT)
ginstall_info_OBJECTS = $(am_ginstall_info_OBJECTS)
-ginstall_info_LDADD = $(LDADD)
+ginstall_info_LDADD = $(LDADD) -lzio
am__DEPENDENCIES_1 =
ginstall_info_DEPENDENCIES = $(top_builddir)/gnulib/lib/libgnu.a \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
--- a/install-info/install-info.c
+++ b/install-info/install-info.c 2024-01-31 14:05:20.746208687 +0000
@@ -19,6 +19,7 @@
#include <getopt.h>
#include <regex.h>
#include <argz.h>
+#include <zio.h>
#define TAB_WIDTH 8
@@ -823,25 +824,43 @@ determine_file_type:
if (*compression_program)
{
- /* Redirect stdin to the file and fork the decompression process
- reading from stdin. This allows shell metacharacters in filenames. */
- char *command = concat (*compression_program, " -d", "");
- FILE *f2;
+ FILE *fz = f;
if (fclose (f) < 0)
return 0;
- f2 = freopen (*opened_filename, FOPEN_RBIN, stdin);
- if (!f)
- return 0;
- f = popen (command, "r");
- fclose (f2);
- if (!f)
+
+ if (**compression_program == 'g' || **compression_program == 'z')
+ fz = fzopen (*opened_filename, "rg");
+ if (**compression_program == 'b')
+ fz = fzopen (*opened_filename, "rb");
+ if (**compression_program == 'Z')
+ fz = fzopen (*opened_filename, "rZ");
+ if (**compression_program == 'l')
+ fz = fzopen (*opened_filename, "rl");
+ if (**compression_program == 'x')
+ fz = fzopen (*opened_filename, "rx");
+ if (!fz)
{
- /* Used for error message in calling code. */
- *opened_filename = command;
- return 0;
- }
- free (command);
+ /* Redirect stdin to the file and fork the decompression process
+ reading from stdin. This allows shell metacharacters in filenames. */
+ char *command = concat (*compression_program, " -d", "");
+ FILE *f2;
+
+ f2 = freopen (*opened_filename, FOPEN_RBIN, stdin);
+ if (!f)
+ return 0;
+ f = popen (command, "r");
+ fclose (f2);
+ if (!f)
+ {
+ /* Used for error message in calling code. */
+ *opened_filename = command;
+ return 0;
+ }
+ free (command);
+ }
+ else
+ f = fz;
}
else
{
@@ -932,7 +951,7 @@ output_dirfile (char *dirfile, int dir_n
FILE *output;
int tempfile;
static char *tempname;
- int dirfile_len;
+ int dirfile_len, lzio;
mode_t um;
/* Create temporary file in the same directory as dirfile. This ensures
@@ -957,13 +976,28 @@ output_dirfile (char *dirfile, int dir_n
pfatal_with_name (tempname);
}
+ lzio = 1;
if (compression_program)
{
- char *command;
close (tempfile);
- command = concat (compression_program, ">", tempname);
- output = popen (command, "w");
- free (command);
+ output = NULL;
+ if (*compression_program == 'g' || *compression_program == 'z')
+ output = fzopen (tempname, "wg");
+ if (*compression_program == 'b')
+ output = fzopen (tempname, "wb");
+ if (*compression_program == 'Z')
+ output = fzopen (tempname, "wZ");
+ if (*compression_program == 'l')
+ output = fzopen (tempname, "wl");
+ if (*compression_program == 'x')
+ output = fzopen (tempname, "wx");
+ if (!output)
+ {
+ char *command = concat (compression_program, ">", tempname);
+ output = popen (command, "w");
+ free (command);
+ lzio = 0;
+ }
}
else
output = fdopen (tempfile, "w");
@@ -1076,7 +1110,7 @@ output_dirfile (char *dirfile, int dir_n
/* Some systems, such as MS-DOS, simulate pipes with temporary files.
On those systems, the compressor actually gets run inside pclose,
so we must call pclose. */
- if (compression_program)
+ if (lzio == 0)
pclose (output);
else
fclose (output);

1554
texinfo.changes Normal file

File diff suppressed because it is too large Load Diff

38
texinfo.keyring Normal file
View File

@ -0,0 +1,38 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=o42y
-----END PGP PUBLIC KEY BLOCK-----

256
texinfo.spec Normal file
View File

@ -0,0 +1,256 @@
#
# spec file for package texinfo
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# perl modules are not installed in global path
%global __provides_exclude ^(libtool|perl)\\(
Name: texinfo
Version: 7.1
Release: 0
Summary: Tools for creating documentation from texinfo sources
License: GPL-3.0-or-later
URL: https://www.gnu.org/software/texinfo/
Source0: https://ftp.gnu.org/pub/gnu/texinfo/texinfo-%{version}.tar.xz
Source1: https://ftp.gnu.org/pub/gnu/texinfo/texinfo-%{version}.tar.xz.sig
Source2: %{name}.keyring
Source42: %{name}-rpmlintrc
Patch0: texinfo-zlib.patch
Patch1: install-info_exitcode.patch
BuildRequires: automake
BuildRequires: glibc-locale
BuildRequires: help2man
BuildRequires: libbz2-devel
BuildRequires: libzio-devel >= 1.09
BuildRequires: ncurses-devel
BuildRequires: perl
BuildRequires: perl-Text-Unidecode
BuildRequires: perl-macros
BuildRequires: zlib-devel
BuildRequires: perl(Locale::gettext)
Requires: makeinfo = %{version}
Requires: perl
Requires: perl-Text-Unidecode
Requires: perl-gettext
Requires: texlive-bibtex
Requires: texlive-latex
Requires: texlive-makeindex
Requires: texlive-pdftex
Requires: texlive-tex
Requires: texlive-texinfo
Recommends: texi2html
Recommends: texi2roff
%description
Texinfo is a documentation system that uses a single source file to
produce both online information and printed output. Using Texinfo, you
can create a printed document with the normal features of a book,
including chapters, sections, cross-references, and indices. From the
same Texinfo source file, you can create a menu-driven, online info
file with nodes, menus, cross-references, and indices using the included
makeinfo tool.
%package -n info
Summary: A Stand-Alone Terminal-Based Info Browser
Requires: /usr/bin/gunzip
Requires: /usr/bin/gzip
Recommends: info-lang = %{version}
%description -n info
Info is a terminal-based program for reading documentation of computer
programs in the Info format. The GNU Project distributes most of its
on-line manuals in the Info format, so you need a program called "Info
reader" to read the manuals.
%package -n info-std
Summary: The info pages of the Info Browser
Supplements: (info and patterns-base-documentation)
BuildArch: noarch
%description -n info-std
Info is a terminal-based program for reading documentation of computer
programs in the Info format. The GNU Project distributes most of its
on-line manuals in the Info format, so you need a program called "Info
reader" to read the manuals.
%package -n makeinfo
Summary: Translator for converting texinfo documents to info format
# /usr/share/texinfo/Texinfo/Convert/NodeNameNormalization.pm uses Text::Unidecode
Requires: perl(Text::Unidecode)
%requires_eq perl
Suggests: texinfo
Provides: texinfo:%{_bindir}/makeinfo
Recommends: info-lang = %{version}
Recommends: makeinfo-lang = %{version}
%description -n makeinfo
Makeinfo translates Texinfo source documentation to various other
formats, by default Info files suitable for reading online with Emacs
or standalone GNU Info.
%lang_package -n info
%lang_package -n makeinfo
%prep
%setup -q
%autopatch -p1
%build
LANG=en_GB.UTF-8
export LANG
%configure \
--with-external-Text-Unidecode \
--enable-perl-xs
%make_build
%install
%make_install
rm -f %{buildroot}%{_libdir}/texinfo/*.a
if cmp %{buildroot}%{_bindir}/pdftexi2dvi %{buildroot}%{_bindir}/texi2pdf
then
rm -vf %{buildroot}%{_bindir}/pdftexi2dvi
ln -sf texi2pdf %{buildroot}%{_bindir}/pdftexi2dvi
fi
if cmp %{buildroot}%{_mandir}/man1/pdftexi2dvi.1 %{buildroot}%{_mandir}/man1/texi2pdf.1
then
rm -vf %{buildroot}%{_mandir}/man1/pdftexi2dvi.1
ln -sf texi2pdf.1%{?ext_man} %{buildroot}%{_mandir}/man1/pdftexi2dvi.1%{?ext_man}
fi
%if 0%{?suse_version} < 1550
mkdir -p %{buildroot}/sbin
mv %{buildroot}%{_bindir}/install-info %{buildroot}/sbin/
ln -sf ../../sbin/install-info %{buildroot}%{_bindir}/install-info
%else
mkdir -p %{buildroot}%{_sbindir}
mv %{buildroot}%{_bindir}/install-info %{buildroot}%{_sbindir}/
ln -sf ../sbin/install-info %{buildroot}%{_bindir}/install-info
%endif
%find_lang %{name} %{name}.lang
%find_lang %{name}_document %{name}_document.lang
%check
LANG=en_GB.UTF-8
export LANG
make %{?_smp_mflags} check
%global trigger_functions %{expand:
-- Check if rpm.execute() as function call is given
if type(rpm.execute) == "function" then
execute = rpm.execute
else
function execute(path, ...)
local pid = posix.fork()
if not pid then
error(path .. ": fork failed: " .. posix.errno() .. "\n")
elseif pid == 0 then
assert(posix.exec(path, ...))
else
posix.wait(pid)
end
end
end
--
}
%if 0%{?suse_version} >= 1699
%transfiletriggerin -n info -p <lua> -- %{_infodir}
%else
%filetriggerin -n info -p <lua> -- %{_infodir}
%endif
%trigger_functions
file = rpm.next_file()
while file do
if string.match(file, "%%.info%%%{ext_info}$") then
stat = posix.stat(file)
if stat then
execute("%{_bindir}/install-info", "--info-dir=%{_infodir}", file)
end
end
file = rpm.next_file()
end
%if 0%{?suse_version} >= 1699
%transfiletriggerun -n info -p <lua> -- %{_infodir}
%else
%filetriggerun -n info -p <lua> -- %{_infodir}
%endif
%trigger_functions
file = rpm.next_file()
while file do
if string.match(file, "%%.info%%%{ext_info}$") then
stat = posix.stat(file)
if not stat then
execute("%{_bindir}/install-info", "--quiet", "--delete", "--info-dir=%{_infodir}", file)
end
end
file = rpm.next_file()
end
%files
%defattr(-,root,root,0755)
%license COPYING
%doc ABOUT-NLS AUTHORS NEWS README TODO
%doc doc/texinfo.tex doc/txi-*.tex doc/refcard/*.pdf
%{_bindir}/pod2texi
%{_bindir}/texi2dvi
%{_bindir}/texi2pdf
%{_bindir}/texindex
%{_bindir}/pdftexi2dvi
%{_infodir}/texinfo*%{ext_info}
%{_mandir}/man1/pod2texi.1%{?ext_man}
%{_mandir}/man1/texindex.1%{?ext_man}
%{_mandir}/man1/texi2dvi.1%{?ext_man}
%{_mandir}/man1/texi2pdf.1%{?ext_man}
%{_mandir}/man1/pdftexi2dvi.1%{?ext_man}
%{_mandir}/man5/texinfo.5%{?ext_man}
%attr(644,root,root) %{_datadir}/texinfo/texindex.awk
%files -n makeinfo-lang -f %{name}_document.lang
%files -n makeinfo
%defattr(-,root,root,0755)
%{_bindir}/makeinfo
%{_bindir}/texi2any
%{_infodir}/texi2any_*%{ext_info}
%{_mandir}/man1/makeinfo.1%{?ext_man}
%{_mandir}/man1/texi2any.1%{?ext_man}
%{_libdir}/texinfo
%exclude %{_datadir}/texinfo/texindex.awk
%{_datadir}/texinfo/
%files -n info-lang -f %{name}.lang
%files -n info
%defattr(-,root,root,0755)
%ghost %verify(not mode md5 size mtime) %{_infodir}/dir
%if 0%{?suse_version} < 1550
/sbin/install-info
%else
%{_sbindir}/install-info
%endif
%{_bindir}/install-info
%{_bindir}/info
%{_mandir}/man1/info.1%{?ext_man}
%{_mandir}/man1/install-info.1%{?ext_man}
%{_mandir}/man5/info.5%{?ext_man}
%files -n info-std
%defattr(-,root,root,0755)
%{_infodir}/info-stnd.info%{?ext_info}
%changelog