Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package texinfo for openSUSE:Factory checked in at 2025-09-22 16:38:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/texinfo (Old) and /work/SRC/openSUSE:Factory/.texinfo.new.27445 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "texinfo" Mon Sep 22 16:38:19 2025 rev:74 rq:1305339 version:7.2 Changes: -------- --- /work/SRC/openSUSE:Factory/texinfo/texinfo.changes 2025-07-15 16:41:22.817833587 +0200 +++ /work/SRC/openSUSE:Factory/.texinfo.new.27445/texinfo.changes 2025-09-22 16:38:20.806046033 +0200 @@ -1,0 +2,127 @@ +Wed Sep 17 09:13:21 UTC 2025 - Jan Fooken <[email protected]> + +- Move htmlxref.cnf to makeinfo package, as it is used by texi2any + +------------------------------------------------------------------- +Tue Sep 16 17:20:02 UTC 2025 - Jan Fooken <[email protected]> + +- Revert to using vendored versions of perl-libintl-perl and + perl-Unicode-EastAsianWidth, because both are not part of + openSUSE:Factory:Rings:0-Bootstrap +- Explicitly include dependencies from perl-libintl-perl, as they + are not pulled in via the package +- Replace distribution provided version of perl-Text-Unidecode with + vendored version to have a consistent approach to dependencies + +------------------------------------------------------------------- +Thu Sep 11 09:01:20 UTC 2025 - Jan Fooken <[email protected]> + +- Remove explicit setting of LANG. The build environment uses + C.UTF-8, so a UTF-8 locale is ensured + +------------------------------------------------------------------- +Thu Sep 11 08:55:22 UTC 2025 - Jan Fooken <[email protected]> + +- Add dependencies for texi2dvi and texindex. Both programs had + missing or non-explicit dependencies on various shell utilities. + Furthermore, texi2dvi has execution statements for dvipdfmx, + dvips, biber and thumbpdf, but the spec didn't require these + programs + +------------------------------------------------------------------- +Thu Sep 11 08:42:40 UTC 2025 - Jan Fooken <[email protected]> + +- Use distribution versions of perl-libintl-perl and + perl-Unicode-EastAsianWidth over the versions included in + texinfo's source tree +- Remove dependency on perl-gettext. It's not required anymore, + because gettext is now implicitly pulled in by perl-libintl-perl +- Add missing build dependency on gawk +- Add missing test dependencies for the parser tests, which would + be skipped otherwise +- Add explicit dependency on the perl module Unicode::Normalize + It's provided by perl, but if it's missing, it wouldn't fail the + configuration, but introduce erroneous behaviour, so an explicit + dependency doesn't hurt + + +------------------------------------------------------------------- +Fri Sep 5 15:18:31 UTC 2025 - Jan Fooken <[email protected]> + +- Update to version 7.2 (23 December 2024) + * Build + . "make install" installs files for texi2any under $datadir/texi2any, not + $datadir/texinfo. + + * texinfo.tex + . use @ as the escape character in all index files. this requires + new enough texi2dvi (Texinfo 6.7, 2019) for index files to be + properly processed. + . a bug has been fixed where a mangled PDF outline could be produced for + a document using @unnumberedsec + . you can call @unmacro with an undefined macro name, matching the + behavior of texi2any + + * texi2any + . set CHECK_NORMAL_MENU_STRUCTURE by default. this means texi2any + again checks menu structure by default (changed in 6.8 release, 2021). + . only allow @definfoenclose to be used to redefine highlighting commands + . sorting of indices is now independent of the input or output encodings + . new customization variable COLLATION_LANGUAGE to allow linguistic + tailoring of index sorting + . new variable DOCUMENTLANGUAGE_COLLATION to use @documentlanguage for + linguistic tailoring of index sorting + . new variable USE_UNICODE_COLLATION to allow turning off the slower + use of Unicode collation when sorting indices + . rename BODYTEXT customization variable to BODY_ELEMENT_ATTRIBUTES + . rename COMPLEX_FORMAT_IN_TABLE customization variable to + INDENTED_BLOCK_COMMANDS_IN_TABLE + . remove the following variables: AVOID_MENU_REDUNDANCY, FRAMES, + FRAMESET_DOCTYPE, NO_USE_SETFILENAME, SILENT, USE_UP_NODE_FOR_ELEMENT_UP + . remove SIMPLE_MENU variable and tree transformation + . the use of the directories ~/.texinfo and ~/.texi2any for configuration + files is deprecated, and should be replaced by texinfo or texi2any + directories under XDG_CONFIG_HOME (usually ~/.config/). the new + locations are compatible with the XDG Base Directory Specification. + in future versions, the ~/.texinfo and ~/.texi2any directories will + not be in search paths. + . do not try the us-ascii encoding anymore as a locale for translated + document strings. + . some unused translation files have been removed for the + `texinfo_document' domain + . Info output: + . output Info-documentlanguage in Local Variables section of output + file if @documentlanguage is given + . HTML, Texinfo and raw text output: + . an implementation of the conversion in C has been included, which + is much faster than the code in Perl. set the `TEXINFO_XS_CONVERT' + environment variable to 1 to use. + . HTML output: + . CHECK_HTMLXREF set by default for warnings about links to unknown + external manuals + . you can use the MATHJAX_CONFIGURATION customization variable to add + data to the MathJax configuration object + . warn if there is a .inf or .info suffix for cross-reference manual + . use <pre> instead of <div><em> for output of @displaymath + . remove border, cellpadding, cellspacing and align attributes. add + classes and use CSS when needed. + . EPUB output: + . stricter conformance for conformance checkers + + * info + . check for init file under XDG_CONFIG_HOME/texinfo/infokey after + checking ~/.infokey, in accordance with the XDG Base Directory + Specification + + * Distribution + . automake 1.17, autoconf 2.72, gettext 0.22.5, libtool 2.5.3 + +- Update patches to compile for the new version + - texinfo-perl-5.42.patch + - texinfo-zlib.patch + +- Fix texinfo-zlib.patch + texinfo-zlib.patch had the wrong variable referenced in the error check for + reopening a file. Furthermore, it could potentially have leaked the memory a + string. Both are minor bugs and very unlikely to occour +------------------------------------------------------------------- Old: ---- texinfo-7.1.tar.xz texinfo-7.1.tar.xz.sig New: ---- texinfo-7.2.tar.xz texinfo-7.2.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ texinfo.spec ++++++ --- /var/tmp/diff_new_pack.Y9LvNM/_old 2025-09-22 16:38:22.054098547 +0200 +++ /var/tmp/diff_new_pack.Y9LvNM/_new 2025-09-22 16:38:22.054098547 +0200 @@ -1,7 +1,7 @@ # # spec file for package texinfo # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2025 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,9 +17,9 @@ # perl modules are not installed in global path -%global __provides_exclude ^(libtool|perl)\\( +%global __provides_exclude ^perl\\( Name: texinfo -Version: 7.1 +Version: 7.2 Release: 0 Summary: Tools for creating documentation from texinfo sources License: GPL-3.0-or-later @@ -31,29 +31,42 @@ Patch0: texinfo-zlib.patch Patch1: install-info_exitcode.patch Patch2: texinfo-perl-5.42.patch -BuildRequires: automake +BuildRequires: gawk 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) +BuildRequires: perl(Data::Compare) +BuildRequires: perl(File::Spec) +BuildRequires: perl(Test::Deep) +BuildRequires: perl(Unicode::Normalize) +Requires: /usr/bin/awk +Requires: /usr/bin/cmp +Requires: /usr/bin/diff +Requires: /usr/bin/grep +Requires: /usr/bin/sed +Requires: /usr/bin/tar +Requires: /usr/bin/uniq Requires: makeinfo = %{version} Requires: perl -Requires: perl-Text-Unidecode -Requires: perl-gettext +Requires: texlive-biber Requires: texlive-bibtex +Requires: texlive-dvipdfmx +Requires: texlive-dvips Requires: texlive-latex Requires: texlive-makeindex Requires: texlive-pdftex Requires: texlive-tex Requires: texlive-texinfo +Requires: perl(Encode) +Requires: perl(File::Spec) Recommends: texi2html Recommends: texi2roff +Recommends: texlive-thumbpdf %description Texinfo is a documentation system that uses a single source file to @@ -89,8 +102,11 @@ %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: gettext-runtime >= 0.12.2 +Requires: perl(Encode) +Requires: perl(File::Spec) +Requires: perl(Unicode::Normalize) +Recommends: perl(File::ShareDir) %requires_eq perl Suggests: texinfo Provides: texinfo:%{_bindir}/makeinfo @@ -106,22 +122,16 @@ %lang_package -n makeinfo %prep -%setup -q -%autopatch -p1 +%autosetup -p1 %build -LANG=en_GB.UTF-8 -export LANG -## -std=gnu17 can be dropped w/ release 7.2 -export CFLAGS=-std=gnu17 %configure \ - --with-external-Text-Unidecode \ --enable-perl-xs %make_build %install %make_install -rm -f %{buildroot}%{_libdir}/texinfo/*.a +rm -f %{buildroot}%{_libdir}/texi2any/*.a if cmp %{buildroot}%{_bindir}/pdftexi2dvi %{buildroot}%{_bindir}/texi2pdf then rm -vf %{buildroot}%{_bindir}/pdftexi2dvi @@ -133,6 +143,7 @@ ln -sf texi2pdf.1%{?ext_man} %{buildroot}%{_mandir}/man1/pdftexi2dvi.1%{?ext_man} fi +# For SUSE systems pre 15.5, install to /sbin, otherwise install to /usr/sbin %if 0%{?suse_version} < 1550 mkdir -p %{buildroot}/sbin mv %{buildroot}%{_bindir}/install-info %{buildroot}/sbin/ @@ -147,8 +158,6 @@ %find_lang %{name}_document %{name}_document.lang %check -LANG=en_GB.UTF-8 -export LANG make %{?_smp_mflags} check %global trigger_functions %{expand: @@ -214,7 +223,7 @@ %{_bindir}/texi2pdf %{_bindir}/texindex %{_bindir}/pdftexi2dvi -%{_infodir}/texinfo*%{ext_info} +%{_infodir}/texinfo.info*%{ext_info} %{_mandir}/man1/pod2texi.1%{?ext_man} %{_mandir}/man1/texindex.1%{?ext_man} %{_mandir}/man1/texi2dvi.1%{?ext_man} @@ -229,12 +238,14 @@ %defattr(-,root,root,0755) %{_bindir}/makeinfo %{_bindir}/texi2any -%{_infodir}/texi2any_*%{ext_info} +%{_infodir}/texi2any_api.info%{ext_info} +%{_infodir}/texi2any_internals.info%{ext_info} %{_mandir}/man1/makeinfo.1%{?ext_man} %{_mandir}/man1/texi2any.1%{?ext_man} -%{_libdir}/texinfo +%{_libdir}/texi2any %exclude %{_datadir}/texinfo/texindex.awk -%{_datadir}/texinfo/ +%{_datadir}/texinfo +%{_datadir}/texi2any %files -n info-lang -f %{name}.lang ++++++ texinfo-7.1.tar.xz -> texinfo-7.2.tar.xz ++++++ /work/SRC/openSUSE:Factory/texinfo/texinfo-7.1.tar.xz /work/SRC/openSUSE:Factory/.texinfo.new.27445/texinfo-7.2.tar.xz differ: char 26, line 1 ++++++ texinfo-perl-5.42.patch ++++++ --- /var/tmp/diff_new_pack.Y9LvNM/_old 2025-09-22 16:38:22.102100566 +0200 +++ /var/tmp/diff_new_pack.Y9LvNM/_new 2025-09-22 16:38:22.106100735 +0200 @@ -1,34 +1,25 @@ -Index: texinfo-7.1/tp/Texinfo/Convert/DocBook.pm -=================================================================== ---- texinfo-7.1.orig/tp/Texinfo/Convert/DocBook.pm -+++ texinfo-7.1/tp/Texinfo/Convert/DocBook.pm -@@ -340,7 +340,7 @@ sub output($$) - - my $fh; - my $encoded_output_file; -- if (! $output_file eq '') { -+ if ($output_file ne '') { - my $path_encoding; - ($encoded_output_file, $path_encoding) - = $self->encoded_output_file_name($output_file); -Index: texinfo-7.1/tp/Texinfo/Convert/Info.pm -=================================================================== ---- texinfo-7.1.orig/tp/Texinfo/Convert/Info.pm -+++ texinfo-7.1/tp/Texinfo/Convert/Info.pm -@@ -100,7 +100,7 @@ sub output($) - my $tree_units = Texinfo::Structuring::split_by_node($root); - - my $fh; -- if (! $output_file eq '') { -+ if ($output_file ne '') { - if ($self->get_conf('VERBOSE')) { - print STDERR "Output file $output_file\n"; - } -Index: texinfo-7.1/tp/Texinfo/Convert/LaTeX.pm -=================================================================== ---- texinfo-7.1.orig/tp/Texinfo/Convert/LaTeX.pm -+++ texinfo-7.1/tp/Texinfo/Convert/LaTeX.pm -@@ -1065,7 +1065,7 @@ sub output($$) +From 01d33e3b1121906f57f612ade39f6fa26e288760 Mon Sep 17 00:00:00 2001 +From: Jan Fooken <[email protected]> +Date: Tue, 2 Sep 2025 10:31:31 +0200 +Subject: [PATCH] Fix precedence problems for Perl 5.42 + +The test suite doesn't run successfully under Perl 5.42, because Perl +rightfully flags possible precedence precedence problems in two string +equality checks. This commit fixes these problems by replacing a +negated equal check with a non-equal check. + +This patch was first introduced by Dominique Leuenberger (dimstar) +during the upgrade to Perl 5.42 and updated to apply to the texinfo-7.2 +--- + tp/Texinfo/Convert/Converter.pm | 2 +- + tp/Texinfo/Convert/LaTeX.pm | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tp/Texinfo/Convert/Converter.pm b/tp/Texinfo/Convert/Converter.pm +index 5e14a9e086..89e623be79 100644 +--- a/tp/Texinfo/Convert/Converter.pm ++++ b/tp/Texinfo/Convert/Converter.pm +@@ -386,7 +386,7 @@ sub output_tree($$) my $fh; my $encoded_output_file; @@ -37,11 +28,11 @@ my $path_encoding; ($encoded_output_file, $path_encoding) = $self->encoded_output_file_name($output_file); -Index: texinfo-7.1/tp/Texinfo/Convert/TexinfoMarkup.pm -=================================================================== ---- texinfo-7.1.orig/tp/Texinfo/Convert/TexinfoMarkup.pm -+++ texinfo-7.1/tp/Texinfo/Convert/TexinfoMarkup.pm -@@ -298,7 +298,7 @@ sub output($$) +diff --git a/tp/Texinfo/Convert/LaTeX.pm b/tp/Texinfo/Convert/LaTeX.pm +index ae947d1e5e..f4ba076602 100644 +--- a/tp/Texinfo/Convert/LaTeX.pm ++++ b/tp/Texinfo/Convert/LaTeX.pm +@@ -1085,7 +1085,7 @@ sub output($$) my $fh; my $encoded_output_file; @@ -50,4 +41,7 @@ my $path_encoding; ($encoded_output_file, $path_encoding) = $self->encoded_output_file_name($output_file); +-- +2.51.0 + ++++++ texinfo-rpmlintrc ++++++ --- /var/tmp/diff_new_pack.Y9LvNM/_old 2025-09-22 16:38:22.126101576 +0200 +++ /var/tmp/diff_new_pack.Y9LvNM/_new 2025-09-22 16:38:22.130101745 +0200 @@ -1,5 +1,8 @@ addFilter(".*W:.*ghost-files-without-postin.*") -addFilter(".*W:.*info-files-without-install-info-post.*") addFilter(".*W:.*name-repeated-in-summary.*") -addFilter(".*W:.*no-binary.*") +// texinfo's sub-package makeinfo has shared objects, it calls via Perl +// These shared objects are not architecture independent +addFilter("texinfo\..*E:.*no-binary.*") +addFilter("makeinfo\..*E:.*devel-file-in-non-devel-package.*") + ++++++ texinfo-zlib.patch ++++++ --- /var/tmp/diff_new_pack.Y9LvNM/_old 2025-09-22 16:38:22.142102250 +0200 +++ /var/tmp/diff_new_pack.Y9LvNM/_new 2025-09-22 16:38:22.142102250 +0200 @@ -1,11 +1,24 @@ +From 91e8a3ccdccebe95aa9ed8af39609f5c28420f6c Mon Sep 17 00:00:00 2001 +From: Jan Fooken <[email protected]> +Date: Fri, 5 Sep 2025 17:08:36 +0200 +Subject: [PATCH] Fix and update internal compression patch + +This commit adds compression logic to texinfo, to handle the +decompression of info files via zio instead of shelling out to external +programs. This was a previously existing patch, which was updated to +7.2. The previous patch contained error handling of the wrong file and +potentially leaked the memory of the variable command. This addresses +these shortcomings --- - install-info/Makefile.in | 2 - - install-info/install-info.c | 76 +++++++++++++++++++++++++++++++------------- - 2 files changed, 56 insertions(+), 22 deletions(-) + install-info/Makefile.in | 2 +- + install-info/install-info.c | 43 ++++++++++++++++++++++++++----------- + 2 files changed, 32 insertions(+), 13 deletions(-) +diff --git a/install-info/Makefile.in b/install-info/Makefile.in +index cb419f9..ab81869 100644 --- 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)" ++++ b/install-info/Makefile.in +@@ -276,7 +276,7 @@ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am_ginstall_info_OBJECTS = install-info.$(OBJEXT) ginstall_info_OBJECTS = $(am_ginstall_info_OBJECTS) @@ -14,8 +27,10 @@ am__DEPENDENCIES_1 = ginstall_info_DEPENDENCIES = $(top_builddir)/gnulib/lib/libgnu.a \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ +diff --git a/install-info/install-info.c b/install-info/install-info.c +index 3ea11fb..ee077d9 100644 --- a/install-info/install-info.c -+++ b/install-info/install-info.c 2024-01-31 14:05:20.746208687 +0000 ++++ b/install-info/install-info.c @@ -19,6 +19,7 @@ #include <getopt.h> #include <regex.h> @@ -24,23 +39,21 @@ #define TAB_WIDTH 8 -@@ -823,25 +824,43 @@ determine_file_type: +@@ -827,23 +828,41 @@ 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) +- if (!freopen (*opened_filename, FOPEN_RBIN, stdin)) - return 0; +- char *command = concat (*compression_program, " -d", ""); - f = popen (command, "r"); -- fclose (f2); +- fclose (stdin); - if (!f) + + if (**compression_program == 'g' || **compression_program == 'z') @@ -58,16 +71,12 @@ - /* 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) ++ FILE *f2 = freopen (*opened_filename, FOPEN_RBIN, stdin); ++ if (!f2) + return 0; ++ char *command = concat (*compression_program, " -d", ""); + f = popen (command, "r"); + fclose (f2); + if (!f) @@ -77,61 +86,14 @@ + return 0; + } + free (command); -+ } + } +- 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); +-- +2.51.0 +
