diff --git a/SOURCES/texinfo-6.5-fix-info-dir.patch b/SOURCES/texinfo-6.5-fix-info-dir.patch new file mode 100644 index 0000000..cdb26f2 --- /dev/null +++ b/SOURCES/texinfo-6.5-fix-info-dir.patch @@ -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 diff --git a/SPECS/texinfo.spec b/SPECS/texinfo.spec index 8d27bdb..b8f3740 100644 --- a/SPECS/texinfo.spec +++ b/SPECS/texinfo.spec @@ -3,7 +3,7 @@ Summary: Tools needed to create Texinfo format documentation files Name: texinfo Version: 6.5 -Release: 6%{?dist} +Release: 7%{?dist} License: GPLv3+ Url: http://www.gnu.org/software/texinfo/ Source0: ftp://ftp.gnu.org/gnu/texinfo/texinfo-%{version}.tar.xz @@ -19,6 +19,8 @@ Patch2: texinfo-6.1-install-info-use-create-tmp-then-rename-pattern.patch Patch3: info-6.5-sync-fix-info-dir.patch # Patch4: fixes issues detected by static analysis Patch4: texinfo-6.5-covscan-fixes.patch +# Patch5: rhbz#2022201, fixes a loop when /dev/null doesn't exist +Patch5: texinfo-6.5-fix-info-dir.patch BuildRequires: gcc BuildRequires: perl-generators BuildRequires: zlib-devel, ncurses-devel, help2man, perl(Data::Dumper) @@ -144,6 +146,10 @@ export ALL_TESTS=yes %{_mandir}/man1/pdftexi2dvi.1* %changelog +* Mon Jan 17 2022 Vitezslav Crhonek - 6.5-7 +- Fix a loop in fix-info-dir when /dev/null doesn't exist + Resolves: #2022201 + * Thu Jan 09 2020 Vitezslav Crhonek - 6.5-6 - Fix file mode for dir.old (fixes failing rpm -V info) Related: #1708912