From 16702095276e87cf2ef00634764011967aa0b498 Mon Sep 17 00:00:00 2001 From: eabdullin Date: Wed, 14 May 2025 14:39:28 +0000 Subject: [PATCH] import UBI autoconf-2.71-12.el10 --- .gitignore | 3 +- ...Fix-testsuite-failures-with-bash-5.2.patch | 69 ++++++ ...IBRARY_LDFLAGS-to-oneAPI-HPC-Toolkit.patch | 31 --- ...CXX_EDITION_TRY-fix-typo-in-variable.patch | 31 +++ autoconf-2.69-perl-5.22-autoscan.patch | 28 --- autoconf.spec | 203 +++++++++++++++--- ci.fmf | 11 - gating.yaml | 7 - sources | 2 +- 9 files changed, 273 insertions(+), 112 deletions(-) create mode 100644 0001-Fix-testsuite-failures-with-bash-5.2.patch delete mode 100644 0001-Port-AC_F77_LIBRARY_LDFLAGS-to-oneAPI-HPC-Toolkit.patch create mode 100644 0001-_AC_PROG_CXX_STDCXX_EDITION_TRY-fix-typo-in-variable.patch delete mode 100644 autoconf-2.69-perl-5.22-autoscan.patch delete mode 100644 ci.fmf delete mode 100644 gating.yaml diff --git a/.gitignore b/.gitignore index 4451ce4..8e94092 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -SOURCES/autoconf-2.69.tar.xz -/autoconf-2.69.tar.xz +autoconf-2.71.tar.xz diff --git a/0001-Fix-testsuite-failures-with-bash-5.2.patch b/0001-Fix-testsuite-failures-with-bash-5.2.patch new file mode 100644 index 0000000..0e12794 --- /dev/null +++ b/0001-Fix-testsuite-failures-with-bash-5.2.patch @@ -0,0 +1,69 @@ +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 + +Conflicts: + tests/local.at + (First block needed Fuzz 2, other blocks needed offset) +--- + tests/local.at | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/tests/local.at b/tests/local.at +index b5e68d37..e602c12b 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 +@@ -403,7 +403,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 | +@@ -434,6 +434,7 @@ fi + # - PPID [bash, zsh] + # - RANDOM [bash, zsh] + # - SECONDS [bash, zsh] ++# - SHLVL [bash] + # - START_TIME [NetBSD sh] + # - ToD [NetBSD sh] + # - '$' [zsh] +@@ -481,6 +482,7 @@ do + /^PPID=/ d + /^RANDOM=/ d + /^SECONDS=/ d ++ /^SHLVL=/ d + /^START_TIME=/ d + /^ToD=/ d + /'\'\\\$\''=/ d +-- +2.37.3 + diff --git a/0001-Port-AC_F77_LIBRARY_LDFLAGS-to-oneAPI-HPC-Toolkit.patch b/0001-Port-AC_F77_LIBRARY_LDFLAGS-to-oneAPI-HPC-Toolkit.patch deleted file mode 100644 index 690d2b5..0000000 --- a/0001-Port-AC_F77_LIBRARY_LDFLAGS-to-oneAPI-HPC-Toolkit.patch +++ /dev/null @@ -1,31 +0,0 @@ -From ae26b9b44c183c41b84fc36ff70082713295d621 Mon Sep 17 00:00:00 2001 -From: Paul Eggert -Date: Wed, 22 Jul 2020 12:56:19 -0700 -Subject: [PATCH] Port AC_F77_LIBRARY_LDFLAGS to oneAPI HPC Toolkit -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Problem reported by Bill Dieter in: -https://lists.gnu.org/r/bug-autoconf/2020-07/msg00089.html -* lib/autoconf/fortran.m4 (_AC_FC_LIBRARY_LDFLAGS): -Defend against ‘clang -mllvm -loopopt=0’. ---- - lib/autoconf/fortran.m4 | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/lib/autoconf/fortran.m4 b/lib/autoconf/fortran.m4 -index 0a0c4168..59a8859b 100644 ---- a/lib/autoconf/fortran.m4 -+++ b/lib/autoconf/fortran.m4 -@@ -698,6 +698,7 @@ while test $[@%:@] != 1; do - -zallextract*| -zdefaultextract) - ac_cv_[]_AC_LANG_ABBREV[]_libs="$ac_cv_[]_AC_LANG_ABBREV[]_libs $ac_arg" - ;; -+ -mllvm) ${2+shift};; # Defend against 'clang -mllvm -loopopt=0'. - # Ignore everything else. - esac - done --- -2.45.0 - diff --git a/0001-_AC_PROG_CXX_STDCXX_EDITION_TRY-fix-typo-in-variable.patch b/0001-_AC_PROG_CXX_STDCXX_EDITION_TRY-fix-typo-in-variable.patch new file mode 100644 index 0000000..0a00c5b --- /dev/null +++ b/0001-_AC_PROG_CXX_STDCXX_EDITION_TRY-fix-typo-in-variable.patch @@ -0,0 +1,31 @@ +From f460883035ef849a2248b1713f711292ec19f4f0 Mon Sep 17 00:00:00 2001 +From: Emanuele Giaquinta +Date: Fri, 14 May 2021 09:06:20 +0300 +Subject: [PATCH] _AC_PROG_CXX_STDCXX_EDITION_TRY: fix typo in variable name + +The typo causes "ac_prog_cxx_stdcxx" to be always set to "cxx11", +regardless of whether the C++ compiler supports C++11. +Message-Id: +(tiny change) +--- + lib/autoconf/c.m4 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4 +index 9f881f0b..47434c89 100644 +--- a/lib/autoconf/c.m4 ++++ b/lib/autoconf/c.m4 +@@ -2749,8 +2749,8 @@ AC_DEFUN([_AC_PROG_CXX_STDCXX_EDITION_TRY], + [AC_REQUIRE([_AC_CXX_CXX$1_TEST_PROGRAM])]dnl + [AS_IF([test x$ac_prog_cxx_stdcxx = xno], + [AC_MSG_CHECKING([for $CXX option to enable C++$1 features]) +-AC_CACHE_VAL(ac_cv_prog_cxx_$1, +-[ac_cv_prog_cxx_$1=no ++AC_CACHE_VAL(ac_cv_prog_cxx_cxx$1, ++[ac_cv_prog_cxx_cxx$1=no + ac_save_CXX=$CXX + AC_LANG_CONFTEST([AC_LANG_DEFINES_PROVIDED][$][ac_cxx_conftest_cxx$1_program]) + for ac_arg in '' m4_normalize(m4_defn([_AC_CXX_CXX$1_OPTIONS])) +-- +2.37.2 + diff --git a/autoconf-2.69-perl-5.22-autoscan.patch b/autoconf-2.69-perl-5.22-autoscan.patch deleted file mode 100644 index 7442cad..0000000 --- a/autoconf-2.69-perl-5.22-autoscan.patch +++ /dev/null @@ -1,28 +0,0 @@ -From e5654a5591884b92633c7785f325626711e7f7aa Mon Sep 17 00:00:00 2001 -From: Paul Eggert -Date: Tue, 29 Jan 2013 13:46:48 -0800 -Subject: [PATCH] autoscan: port to perl 5.17 - -* bin/autoscan.in (scan_sh_file): Escape '{'. This avoids a -feature that is deprecated in Perl 5.17. Reported by Ray Lauff in -. ---- - bin/autoscan.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/bin/autoscan.in b/bin/autoscan.in -index 993a750..db1df79 100644 ---- a/bin/autoscan.in -+++ b/bin/autoscan.in -@@ -358,7 +358,7 @@ sub scan_sh_file ($) - { - # Strip out comments and variable references. - s/#.*//; -- s/\${[^\}]*}//g; -+ s/\$\{[^\}]*}//g; - s/@[^@]*@//g; - - # Tokens in the code. --- -2.1.0 - diff --git a/autoconf.spec b/autoconf.spec index dcd03d5..49266ee 100644 --- a/autoconf.spec +++ b/autoconf.spec @@ -1,21 +1,84 @@ -# Enable Emacs support -%bcond_without autoconf_enables_emacs # Run extended test %bcond_without autoconf_enables_optional_test -Summary: A GNU tool for automatically configuring source code +# The design goal is to allow use of the same specfile on the original +# `autoconf` package and the `autoconf-latest` package by just changing the +# `Name` property. +# The `autoconf-latest` package aims to provide a versioned sub-package which +# enables the user to install different updates in parallel on long term +# releases. Hence, the versioned package installs its artifacts in +# `/opt/{namespace}/{versioned name}`. Name: autoconf -Version: 2.69 -Release: 29%{?dist}.1 -License: GPLv2+ and GFDL -Source0: http://ftpmirror.gnu.org/autoconf/autoconf-%{version}.tar.xz +Version: 2.71 +Release: 12%{?dist} + +# To help future rebase, the following licenses were seen in the following files/folders: +# '*' is anything that was not explicitly listed earlier in the folder +# usr/bin/* - GPL-3.0-or-later +# usr/share/: +# autoconf: +# Autom4te: +# {C4che.pm,General.pm,Getopt.pm,Request.pm}: GPL-3.0-or-later +# * - GPL-2.0-or-later +# autoconf: +# * - GPL-3.0-or-later WITH Autoconf-exception-generic-3.0 +# autoscan/autoscan.list - GPL-3.0-or-later +# autotest: +# * - GPL-3.0-or-later WITH Autoconf-exception-3.0 +# build-aux: +# config.{sub,guess} - GPL-3.0-or-later WITH Autoconf-exception-generic-3.0 +# install-sh - X11 AND LicenseRef-Fedora-Public-Domain +# m4sugar: +# {foreach.m4,m4sh.m4,m4sugar.m4} - GPL-3.0-or-later WITH Autoconf-exception-generic-3.0 +# * - None found +# INSTALL - FSFAP +# autom4te.cfg - GPL-3.0-or-later +# doc/autoconf: +# {AUTHORS,THANKS} - GPL-3.0-or-later +# {README,TODO} - FSFAP +# * - None found +# emacs/site-lisp: +# autoconf/*.el - GPL-3.0-or-later +# * - None found +# info/autoconf.info.gz/autoconf.info - GFDL-1.3-or-later +# config.site - None found +# usr/share/man/man1/*: generated from usr/bin/* using help2man +# +# Note on Autoconf-exception{,-generic}-3.0, one is the license itself, the other is +# the text note that can be found in sources. That doesn't make sense to have 2 separate IDs +# but that's how it is. +License: GPL-2.0-or-later AND GPL-3.0-or-later AND GPL-3.0-or-later WITH Autoconf-exception-generic-3.0 AND GFDL-1.3-or-later AND FSFAP AND X11 AND LicenseRef-Fedora-Public-Domain +Source0: https://ftp.gnu.org/gnu/autoconf/autoconf-%{version}.tar.xz Source1: config.site Source2: autoconf-init.el -URL: http://www.gnu.org/software/autoconf/ +URL: https://www.gnu.org/software/autoconf/ -Patch1: autoconf-2.69-perl-5.22-autoscan.patch -# Backport: see RHEL-40719 -Patch2: 0001-Port-AC_F77_LIBRARY_LDFLAGS-to-oneAPI-HPC-Toolkit.patch +# Cherry-pick from upstream f460883035ef849a2248b1713f711292ec19f4f0 +Patch0: 0001-_AC_PROG_CXX_STDCXX_EDITION_TRY-fix-typo-in-variable.patch +# Cherry-pick from upstream 412166e185c00d6eacbe67dfcb0326f622ec4020 +Patch1: 0001-Fix-testsuite-failures-with-bash-5.2.patch + +%if "%{name}" != "autoconf" +# Set this to the sub-package base name, for "autoconf-latest" +%global autoconf %(echo autoconf%{version} | tr -d .) +# Enforce use of system provided emacs support +%global autoconf_enables_emacs 0 + +%if 0%{?rhel} > 0 +%global _prefix /opt/rh/%{autoconf} +%else +# We intentionally do not define a case for Fedora, as it should not +# need this functionality, and letting it error avoids accidents. +%{error:"Each downstream must specify its own /opt namespace"} +%endif +Summary: Meta package to include latest version of autoconf +%else +#name == autoconf +# Enable Emacs support +%bcond_without autoconf_enables_emacs +%global autoconf %{name} +Summary: A GNU tool for automatically configuring source code +%endif BuildArch: noarch @@ -24,6 +87,9 @@ BuildArch: noarch %bcond_without check # m4 >= 1.4.6 is required, >= 1.4.14 is recommended: +BuildRequires: perl +Requires: perl(File::Compare) +Requires: perl-interpreter BuildRequires: m4 >= 1.4.14 Requires: m4 >= 1.4.14 %if %{with autoconf_enables_emacs} @@ -41,6 +107,7 @@ BuildRequires: perl(Text::ParseWords) # build system and it produces empty man pages for those scripts if help2man is # not installed BuildRequires: help2man +BuildRequires: make %if %{with check} %if %{with autoconf_enables_optional_test} @@ -52,14 +119,22 @@ BuildRequires: erlang %endif %endif -Requires(post): /sbin/install-info -Requires(preun): /sbin/install-info - # filter out bogus perl(Autom4te*) dependencies %global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Autom4te:: %global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\(Autom4te:: -%description +%if "%{name}" != "autoconf" +# We're still on the autoconf-latest package +Requires: %{autoconf} +%description -n autoconf-latest +The latest GNU Autoconf, with a version-specific install +%files -n autoconf-latest + +%package -n %{autoconf} +Summary: A GNU tool for automatically configuring source code +%endif + +%description -n %{autoconf} GNU's Autoconf is a tool for configuring source code and Makefiles. Using Autoconf, programmers can create portable and configurable packages, since the person building the package is allowed to @@ -77,7 +152,7 @@ their use. %prep -%autosetup -p1 +%autosetup -n autoconf-%{version} -p1 %build %if %{with autoconf_enables_emacs} @@ -87,7 +162,7 @@ export EMACS=%{_bindir}/false %endif %configure \ %{?with_autoconf_enables_emacs:--with-lispdir=%{_emacs_sitelispdir}/autoconf} -make %{?_smp_mflags} +%make_build %check @@ -99,7 +174,7 @@ make check %{?_smp_mflags} %install -make install %{?_smp_mflags} DESTDIR=%{buildroot} +%make_install mkdir -p %{buildroot}/share install -m 0644 %{SOURCE1} %{buildroot}%{_datadir} @@ -109,17 +184,16 @@ mkdir -p %{buildroot}%{_emacs_sitestartdir} install -p -m 0644 %{SOURCE2} %{buildroot}%{_emacs_sitestartdir} %endif +%if "%{name}" != "autoconf" +install -d -m 755 ${RPM_BUILD_ROOT}/etc/scl/prefixes +dirname %{_prefix} > %{autoconf}.prefix +install -p -m 644 %{autoconf}.prefix ${RPM_BUILD_ROOT}/etc/scl/prefixes/%{autoconf} -%post -/sbin/install-info %{_infodir}/autoconf.info %{_infodir}/dir || : +echo "export PATH=%{_prefix}/bin:\$PATH" > enable.scl +install -p -m 755 enable.scl ${RPM_BUILD_ROOT}/%{_prefix}/enable +%endif -%preun -if [ "$1" = 0 ]; then - /sbin/install-info --del %{_infodir}/autoconf.info %{_infodir}/dir || : -fi - - -%files +%files -n %{autoconf} %license COPYING* %{_bindir}/* %{_infodir}/autoconf.info* @@ -134,15 +208,80 @@ fi %endif %{_mandir}/man1/* %doc AUTHORS ChangeLog NEWS README THANKS TODO +%if "%{name}" != "autoconf" +/etc/scl/prefixes/%{autoconf} +%{_prefix}/enable +%endif %changelog -* Wed Jun 12 2024 Frederic Berat - 2.69-29.1 -- Fix issues with Fortran detection and oneAPI HPC Toolkit (RHEL-40719) +* Tue Oct 29 2024 Troy Dawson - 2.71-12 +- Bump release for October 2024 mass rebuild: + Resolves: RHEL-64018 -* Mon Jun 28 2021 Honza Horak - 2.69-29 -- Bump release number to avoid installing reverted RPM in CStream - Resolves: #1956598 +* Mon Jun 24 2024 Troy Dawson - 2.71-11 +- Bump release for June 2024 mass rebuild + +* Mon Jan 22 2024 Fedora Release Engineering - 2.71-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 2.71-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Dec 22 2023 Frederic Berat - 2.71-8 +- Modify spec file to support autoconf-latest package + +* Mon Aug 07 2023 Frederic Berat - 2.71-7 +- Migrate to SPDX licences (#2222088) + +* Wed Jul 19 2023 Fedora Release Engineering - 2.71-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jan 18 2023 Fedora Release Engineering - 2.71-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Oct 11 2022 Frederic Berat - 2.71-4 +- Cherry-pick: Fix typo in variable name (#2132715) +- Backport: Fix testsuite failures with bash 5.2 + +* Wed Jul 20 2022 Fedora Release Engineering - 2.71-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jan 19 2022 Fedora Release Engineering - 2.71-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Aug 24 2021 Ondrej Dubaj - 2.71-1 +- Rebase to version 2.71 (#1905678) + +* Wed Jul 21 2021 Fedora Release Engineering - 2.69-37 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 2.69-36 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Jan 15 2021 Patrik Novotný - 2.69-35 +- Backport: add --runstatedir option to configure + +* Mon Jul 27 2020 Fedora Release Engineering - 2.69-34 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Mar 11 2020 Ondrej Dubaj - 2.69-33 +- Added perl dependency + +* Tue Jan 28 2020 Fedora Release Engineering - 2.69-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Aug 28 2019 Ondrej Dubaj - 2.69-31 +- Port tests to Bash 5 + +* Wed Jul 24 2019 Fedora Release Engineering - 2.69-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 2.69-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jul 12 2018 Fedora Release Engineering - 2.69-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Wed Feb 07 2018 Fedora Release Engineering - 2.69-27 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild diff --git a/ci.fmf b/ci.fmf deleted file mode 100644 index e314107..0000000 --- a/ci.fmf +++ /dev/null @@ -1,11 +0,0 @@ -discover: - how: fmf -execute: - how: tmt - -/tier: - summary: Tier tests - discover+: - filter: 'tag:build_requires_autoconf' - url: https://github.com/devexp-db/generic-tests.git - ref: main diff --git a/gating.yaml b/gating.yaml deleted file mode 100644 index 805e877..0000000 --- a/gating.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- !Policy -product_versions: - - rhel-8 -decision_context: osci_compose_gate -rules: - - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} - - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} diff --git a/sources b/sources index 7263de3..7b09df3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (autoconf-2.69.tar.xz) = 995d3e5a8eb1eb37e2b7fae53c6ec7a9b4df997286b7d643344818f94636756b1bf5ff5ea9155e755cb9461149a853dfbf2886fc6bd7132e5afa9c168e306e9b +SHA512 (autoconf-2.71.tar.xz) = 73d32b4adcbe24e3bafa9f43f59ed3b6efbd3de0f194e5ec90375f35da1199c583f5d3e89139b7edbad35171403709270e339ffa56a2ecb9b3123e9285021ff0