Compare commits

...

No commits in common. "c8s" and "c10s" have entirely different histories.
c8s ... c10s

17 changed files with 364 additions and 105 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

4
.gitignore vendored
View File

@ -1,2 +1,4 @@
SOURCES/autoconf-2.69.tar.xz
autoconf-2.66.tar.xz
/autoconf-2.68.tar.xz
/autoconf-2.69.tar.xz
/autoconf-2.71.tar.xz

View File

@ -0,0 +1,69 @@
From 412166e185c00d6eacbe67dfcb0326f622ec4020 Mon Sep 17 00:00:00 2001
From: Xi Ruoyao <xry111@xry111.site>
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

View File

@ -1,31 +0,0 @@
From ae26b9b44c183c41b84fc36ff70082713295d621 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
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

View File

@ -0,0 +1,31 @@
From f460883035ef849a2248b1713f711292ec19f4f0 Mon Sep 17 00:00:00 2001
From: Emanuele Giaquinta <emanuele.giaquinta@gmail.com>
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: <YJ4TXAeJcvU0oSec@FSAPPLE2215.fi.f-secure.com>
(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

13
STAGE2-autoconf Normal file
View File

@ -0,0 +1,13 @@
#requires m4
#requires perl
#requires gettext
mcd $BUILDDIR/autoconf
$SRC/autoconf-*/configure $TCONFIGARGS
make $J
make $J install
mkdir -p /usr/share
install -m 644 $TOP/rpmbuild/SOURCES/config.site /usr/share/

View File

@ -1,28 +0,0 @@
From e5654a5591884b92633c7785f325626711e7f7aa Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
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
<http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00059.html>.
---
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

View File

@ -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 <fberat@redhat.com> - 2.69-29.1
- Fix issues with Fortran detection and oneAPI HPC Toolkit (RHEL-40719)
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 2.71-12
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Mon Jun 28 2021 Honza Horak <hhorak@redhat.com> - 2.69-29
- Bump release number to avoid installing reverted RPM in CStream
Resolves: #1956598
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 2.71-11
- Bump release for June 2024 mass rebuild
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.71-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.71-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Dec 22 2023 Frederic Berat <fberat@redhat.com> - 2.71-8
- Modify spec file to support autoconf-latest package
* Mon Aug 07 2023 Frederic Berat <fberat@redhat.com> - 2.71-7
- Migrate to SPDX licences (#2222088)
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.71-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.71-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Oct 11 2022 Frederic Berat <fberat@redhat.com> - 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 <releng@fedoraproject.org> - 2.71-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.71-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Aug 24 2021 Ondrej Dubaj <odubaj@redhat.com> - 2.71-1
- Rebase to version 2.71 (#1905678)
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.69-37
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.69-36
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Jan 15 2021 Patrik Novotný <panovotn@redhat.com> - 2.69-35
- Backport: add --runstatedir option to configure
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.69-34
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Mar 11 2020 Ondrej Dubaj <odubaj@redhat.com> - 2.69-33
- Added perl dependency
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.69-32
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Aug 28 2019 Ondrej Dubaj <odubaj@redhat.com> - 2.69-31
- Port tests to Bash 5
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.69-30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.69-29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.69-28
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.69-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

11
ci.fmf
View File

@ -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

View File

@ -1,6 +1,6 @@
--- !Policy
product_versions:
- rhel-8
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

View File

@ -1 +1 @@
SHA512 (autoconf-2.69.tar.xz) = 995d3e5a8eb1eb37e2b7fae53c6ec7a9b4df997286b7d643344818f94636756b1bf5ff5ea9155e755cb9461149a853dfbf2886fc6bd7132e5afa9c168e306e9b
SHA512 (autoconf-2.71.tar.xz) = 73d32b4adcbe24e3bafa9f43f59ed3b6efbd3de0f194e5ec90375f35da1199c583f5d3e89139b7edbad35171403709270e339ffa56a2ecb9b3123e9285021ff0

5
tests/functional.fmf Normal file
View File

@ -0,0 +1,5 @@
summary: Functional tier tests
discover:
how: fmf
execute:
how: tmt

View File

@ -0,0 +1,4 @@
# Taken from http://www.idryman.org/blog/2016/03/10/autoconf-tutorial-1/
bin_PROGRAMS = hello
hello_SOURCES = hello.c

View File

@ -0,0 +1,28 @@
# Taken from http://www.idryman.org/blog/2016/03/10/autoconf-tutorial-1/
# Must init the autoconf setup
# The first parameter is project name
# second is version number
# third is bug report address
AC_INIT([hello], [1.0])
# We want to expand templates in this file
AC_CONFIG_FILES([hello.c])
# Store the auxiliary build tools (e.g., install-sh, config.sub, config.guess)
# in this dir (build-aux)
AC_CONFIG_AUX_DIR([build-aux])
# Init automake, and specify this program use relaxed structures.
# i.e. this program doesn't follow the gnu coding standards, and doesn't have
# ChangeLog, COPYING, AUTHORS, INSTALL, README etc. files.
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
# Check for C compiler
AC_PROG_CC
# We can add more checks in this section
# Tells automake to create a Makefile
# See https://www.gnu.org/software/automake/manual/html_node/Requirements.html
AC_CONFIG_FILES([Makefile])
# Generate the output
AC_OUTPUT

View File

@ -0,0 +1,8 @@
// Taken from http://www.idryman.org/blog/2016/03/10/autoconf-tutorial-1/
#include <stdio.h>
int main(int argc, char** argv) {
printf("hello world!\n");
printf("runstatedir: @runstatedir@\n");
return 0;
}

View File

@ -0,0 +1,13 @@
summary: The test for runstatedir feature
description: |
This test verifies basic functionality including the --runstatedir
feature: https://lists.gnu.org/archive/html/autoconf-patches/2013-09/msg00018.html
contact: Honza Horak <hhorak@redhat.com>
component:
test: ./run
path: /tests/runstatedir
recommend:
- autoconf
- automake
- libtool
duration: 5m

16
tests/runstatedir/run Executable file
View File

@ -0,0 +1,16 @@
#!/bin/bash
# Taken from http://www.idryman.org/blog/2016/03/10/autoconf-tutorial-1/
set -xe
autoreconf --verbose --install --force
./configure --help
./configure --runstatedir=/var/mytmp
make
./hello
./hello | grep 'hello world!'
./hello | grep 'runstatedir: /var/mytmp'
make dist
echo "Test for --runstatedir succeeded."