From c1fe890f770380ff151bd3db598b967002dea953 Mon Sep 17 00:00:00 2001 From: Funda Wang Date: Wed, 4 Dec 2024 15:45:12 +0800 Subject: [PATCH] fix AC_CHECK_LIB no longer works with g++ (debian bug#992981) --- autoconf.spec | 8 ++- ...Fix-testsuite-failures-with-bash-5.2.patch | 65 +++++++++++++++++++ backport-Port-AC_LANG_CALL-C-to-C.patch.patch | 36 ++++++++++ 3 files changed, 108 insertions(+), 1 deletion(-) create mode 100644 backport-Fix-testsuite-failures-with-bash-5.2.patch create mode 100644 backport-Port-AC_LANG_CALL-C-to-C.patch.patch diff --git a/autoconf.spec b/autoconf.spec index d10f66d..a4105b9 100644 --- a/autoconf.spec +++ b/autoconf.spec @@ -3,7 +3,7 @@ Name: autoconf Version: 2.71 -Release: 4 +Release: 8 Summary: An extensible package to automatically configure software source code packages License: GPLv2+ and GPLv3+ and GFDL-1.3-only URL: https://www.gnu.org/software/%{name}/ @@ -12,6 +12,8 @@ Source1: config.site Source2: autoconf-el.el Patch1: backport-_AC_PROG_CXX_STDCXX_EDITION_TRY-fix-typo-in-variable.patch +Patch2: backport-Fix-testsuite-failures-with-bash-5.2.patch +Patch3: backport-Port-AC_LANG_CALL-C-to-C.patch.patch Patch9000: skip-one-test-at-line-1616-of-autotest.patch @@ -72,6 +74,10 @@ fi %changelog +* Wed Dec 04 2024 Funda Wang - 2.71-8 +- fix AC_CHECK_LIB no longer works with g++ (debian bug#992981) +- Fix testsuite failures with bash 5.2.15 + * Wed Jun 12 2024 fuanan - 2.71-4 - Type:bugfix - ID:NA diff --git a/backport-Fix-testsuite-failures-with-bash-5.2.patch b/backport-Fix-testsuite-failures-with-bash-5.2.patch new file mode 100644 index 0000000..5b059fa --- /dev/null +++ b/backport-Fix-testsuite-failures-with-bash-5.2.patch @@ -0,0 +1,65 @@ +From 412166e185c00d6eacbe67dfcb0326f622ec4020 Mon Sep 17 00:00:00 2001 +From: Xi Ruoyao +Date: Fri, 30 Sep 2022 11:36:03 -0400 +Subject: [PATCH] Fix testsuite failures with bash 5.2. + +Bash v5.2 includes several new optimizations to the number of +subshells used for various constructs; as a side effect, the value of +SHLVL is less stable than it used to be. Add SHLVL to the list of +built-in shell variables with unstable values, to be ignored when +checking for inappropriate differences to the shell environment +before and after a macro invocation / between two configure runs. + +Problem and solution reported by Xi Ruoyao in +https://lists.gnu.org/archive/html/autoconf/2022-09/msg00015.html +Problem also reported by Bruce Dubbs in +https://lists.gnu.org/archive/html/bug-autoconf/2022-09/msg00010.html + +* tests/local.at (_AT_CHECK_ENV, AT_CONFIG_CMP): Ignore changes in + value of SHLVL. +Copyright-paperwork-exempt: yes +--- + tests/local.at | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/tests/local.at b/tests/local.at +index 193fd118..a9cf4050 100644 +--- a/tests/local.at ++++ b/tests/local.at +@@ -352,7 +352,7 @@ m4_define([AT_CHECK_CONFIGURE], + # - AC_SUBST'ed variables + # (FIXME: Generate a list of these automatically.) + # - _|@|.[*#?$].|argv|ARGC|LINENO|OLDPWD|PIPESTATUS|RANDOM|SECONDS +-# |START_TIME|ToD|_AST_FEATURES ++# |SHLVL|START_TIME|ToD|_AST_FEATURES + # Some variables some shells use and change. + # `.[*#?$].' catches `$#' etc. which are displayed like this: + # | '!'=18186 +@@ -404,7 +404,7 @@ if test -f state-env.before && test -f state-env.after; then + [GREP|[EF]GREP|SED], + [[_@]|.[*@%:@?$].], + [argv|ARGC|LINENO|BASH_ARGC|BASH_ARGV|OLDPWD|PIPESTATUS|RANDOM], +- [SECONDS|START_TIME|ToD|_AST_FEATURES]))=' \ ++ [SECONDS|SHLVL|START_TIME|ToD|_AST_FEATURES]))=' \ + $act_file || + test $? -eq 1 || echo failed >&2 + ) 2>stderr-$act_file | +@@ -435,6 +435,7 @@ fi + # - PPID [bash, zsh] + # - RANDOM [bash, zsh] + # - SECONDS [bash, zsh] ++# - SHLVL [bash] + # - START_TIME [NetBSD sh] + # - ToD [NetBSD sh] + # - '$' [zsh] +@@ -483,6 +484,7 @@ do + /^PPID=/ d + /^RANDOM=/ d + /^SECONDS=/ d ++ /^SHLVL=/ d + /^START_TIME=/ d + /^ToD=/ d + /'\'\\\$\''=/ d +-- +2.27.0 + diff --git a/backport-Port-AC_LANG_CALL-C-to-C.patch.patch b/backport-Port-AC_LANG_CALL-C-to-C.patch.patch new file mode 100644 index 0000000..da50fc0 --- /dev/null +++ b/backport-Port-AC_LANG_CALL-C-to-C.patch.patch @@ -0,0 +1,36 @@ +From b27bc3e230bb12fdd9a813e38e82bc4c3e22b4cc Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Tue, 31 Aug 2021 16:30:46 -0700 +Subject: [PATCH] Port AC_LANG_CALL(C) to C++ +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* lib/autoconf/c.m4 (AC_LANG_CALL(C)): Add an extern "C" if C++. +Problem reported by Vincent Lefèvre (sr #110532). +--- + lib/autoconf/c.m4 | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4 +index 44443a39..48bd49a3 100644 +--- a/lib/autoconf/c.m4 ++++ b/lib/autoconf/c.m4 +@@ -126,7 +126,13 @@ m4_define([AC_LANG_CALL(C)], + m4_if([$2], [main], , + [/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC +- builtin and then its argument prototype would still apply. */ ++ builtin and then its argument prototype would still apply. ++ The 'extern "C"' is for builds by C++ compilers; ++ although this is not generally supported in C code, supporting it here ++ has little cost and some practical benefit (sr 110532). */ ++#ifdef __cplusplus ++extern "C" ++#endif + char $2 ();])], [return $2 ();])]) + + +-- +2.43.5 + -- Gitee