Control: tags -1 + upstream Control: severity -1 important Control: forwarded -1 https://savannah.gnu.org/patch/index.php?10282
Increasing the severity since this is a FTBFS bug. I'd say it is even serious, but since it is being caused by grep, I am limiting the increase to important for now. On Wed, 14 Sep 2022 09:10:37 +0200 Jochen Sprickerhof <jspri...@debian.org> wrote: > Package: libtool > Version: 2.4.7-4 > Tags: patch > > Hi, > > the new grep in unstable causes a FTBFS in libtool: > > https://tests.reproducible-builds.org/debian/rb-pkg/unstable/arm64/libtool.html > > with a proposed upstream patch: > > https://lists.gnu.org/archive/html/libtool-patches/2022-09/msg00000.html > > And it breaks autopkgtests of unrelated packages like: > > https://ci.debian.net/data/autopkgtest/unstable/amd64/d/dpkg/26032114/log.gz > > proposed upstream patch: > > https://lists.gnu.org/archive/html/libtool-patches/2022-09/msg00001.html > grep upstream proposes a more complete patch for libtool here: https://savannah.gnu.org/patch/index.php?10282 This patch fixes the problematic patterns in libtool, other than in the tests. Attached you can find a refreshed patch against 2.4.7-4 (current version in unstable). As listed in https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1019724#52 there are 4235 debian packages that exhibit the "stray \" warning in their build logs. I can suppose most of them relates to libtool. I've applied the patch to libtool, used it to rebuild grep, and I can confirm the warnings disappeared. > I've asked the grep maintainer to silence the warning in #1019724 but > maybe would still be great to fix this. While I think silencing these "stray \" warnings in debian's grep is OK for now, fixing this bug in libtool is the proper solution in the long term. FTR, this is some grep upstream's input about this issue: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1019724#62 Please, consider applying the patch. Cheers, -- Santiago
From bb6e526657e9c03dd3be954123c091a001c06811 Mon Sep 17 00:00:00 2001 From: Paul Eggert <egg...@cs.ucla.edu> Date: Mon, 19 Sep 2022 13:22:53 -0700 Subject: [PATCH 1/2] libtool: port to GNU grep 3.8 Origin: other, https://savannah.gnu.org/patch/index.php?10282 Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1019725 Last-Update: 2022-09-22 * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Do not use \- in a BRE or ERE, as this produces undefined results that GNU grep 3.8 warns about. Use [-] instead. * tests/link-order.at (Link order test): Similarly, do not use \/ in an ERE; use / instead. --- m4/libtool.m4 | 12 ++++++------ tests/link-order.at | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) Index: libtool/m4/libtool.m4 =================================================================== --- libtool.orig/m4/libtool.m4 +++ libtool/m4/libtool.m4 @@ -6469,7 +6469,7 @@ if test yes != "$_lt_caught_CXX_error"; # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[[-]]L"' else GXX=no @@ -6845,7 +6845,7 @@ if test yes != "$_lt_caught_CXX_error"; # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "[[-]]L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -6910,7 +6910,7 @@ if test yes != "$_lt_caught_CXX_error"; # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "[[-]]L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -7249,7 +7249,7 @@ if test yes != "$_lt_caught_CXX_error"; # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[[-]]L"' else # FIXME: insert proper C++ library support @@ -7333,7 +7333,7 @@ if test yes != "$_lt_caught_CXX_error"; # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "[[-]]L"' else # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. Index: libtool/tests/link-order.at =================================================================== --- libtool.orig/tests/link-order.at +++ libtool/tests/link-order.at @@ -99,12 +99,12 @@ aix* | interix*) ;; # These systems hav case $hardcode_direct$hardcode_direct_absolute in yesno) AT_CHECK([if $EGREP relinking stderr; then - $EGREP " .*\/new\/lib/libb$shared_ext .*\/old\/lib/libcee$shared_ext" stdout + $EGREP " .*/new/lib/libb$shared_ext .*/old/lib/libcee$shared_ext" stdout else :; fi], [0], [ignore], [], [echo "wrong link order"]) ;; *) AT_CHECK([if $EGREP relinking stderr; then - $EGREP " -L.*\/new\/lib -lb -L.*\/old\/lib -lcee" stdout + $EGREP " -L.*/new/lib -lb -L.*/old/lib -lcee" stdout else :; fi], [0], [ignore], [], [echo "wrong link order"]) ;; esac
signature.asc
Description: PGP signature