Compare commits

...

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

17 changed files with 369 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.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,86 @@
# Enable Emacs support
%bcond_without autoconf_enables_emacs
# Run extended test # Run extended test
%bcond_without autoconf_enables_optional_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 Name: autoconf
Version: 2.69 Version: 2.71
Release: 29%{?dist}.1 Release: 13%{?dist}
License: GPLv2+ and GFDL
Source0: http://ftpmirror.gnu.org/autoconf/autoconf-%{version}.tar.xz # 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 Source1: config.site
Source2: autoconf-init.el 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 # Cherry-pick from upstream f460883035ef849a2248b1713f711292ec19f4f0
# Backport: see RHEL-40719 Patch0: 0001-_AC_PROG_CXX_STDCXX_EDITION_TRY-fix-typo-in-variable.patch
Patch2: 0001-Port-AC_F77_LIBRARY_LDFLAGS-to-oneAPI-HPC-Toolkit.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
Provides: autoconf-latest = %{version}-%{release}
Provides: %(echo autoconf%{version} | tr -d .) = %{version}-%{release}
%endif
BuildArch: noarch BuildArch: noarch
@ -24,6 +89,9 @@ BuildArch: noarch
%bcond_without check %bcond_without check
# m4 >= 1.4.6 is required, >= 1.4.14 is recommended: # 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 BuildRequires: m4 >= 1.4.14
Requires: m4 >= 1.4.14 Requires: m4 >= 1.4.14
%if %{with autoconf_enables_emacs} %if %{with autoconf_enables_emacs}
@ -41,6 +109,7 @@ BuildRequires: perl(Text::ParseWords)
# build system and it produces empty man pages for those scripts if help2man is # build system and it produces empty man pages for those scripts if help2man is
# not installed # not installed
BuildRequires: help2man BuildRequires: help2man
BuildRequires: make
%if %{with check} %if %{with check}
%if %{with autoconf_enables_optional_test} %if %{with autoconf_enables_optional_test}
@ -52,14 +121,22 @@ BuildRequires: erlang
%endif %endif
%endif %endif
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
# filter out bogus perl(Autom4te*) dependencies # filter out bogus perl(Autom4te*) dependencies
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Autom4te:: %global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Autom4te::
%global __provides_exclude %{?__provides_exclude:%__provides_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. GNU's Autoconf is a tool for configuring source code and Makefiles.
Using Autoconf, programmers can create portable and configurable Using Autoconf, programmers can create portable and configurable
packages, since the person building the package is allowed to packages, since the person building the package is allowed to
@ -77,7 +154,7 @@ their use.
%prep %prep
%autosetup -p1 %autosetup -n autoconf-%{version} -p1
%build %build
%if %{with autoconf_enables_emacs} %if %{with autoconf_enables_emacs}
@ -87,7 +164,7 @@ export EMACS=%{_bindir}/false
%endif %endif
%configure \ %configure \
%{?with_autoconf_enables_emacs:--with-lispdir=%{_emacs_sitelispdir}/autoconf} %{?with_autoconf_enables_emacs:--with-lispdir=%{_emacs_sitelispdir}/autoconf}
make %{?_smp_mflags} %make_build
%check %check
@ -99,7 +176,7 @@ make check %{?_smp_mflags}
%install %install
make install %{?_smp_mflags} DESTDIR=%{buildroot} %make_install
mkdir -p %{buildroot}/share mkdir -p %{buildroot}/share
install -m 0644 %{SOURCE1} %{buildroot}%{_datadir} install -m 0644 %{SOURCE1} %{buildroot}%{_datadir}
@ -109,17 +186,16 @@ mkdir -p %{buildroot}%{_emacs_sitestartdir}
install -p -m 0644 %{SOURCE2} %{buildroot}%{_emacs_sitestartdir} install -p -m 0644 %{SOURCE2} %{buildroot}%{_emacs_sitestartdir}
%endif %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 echo "export PATH=%{_prefix}/bin:\$PATH" > enable.scl
/sbin/install-info %{_infodir}/autoconf.info %{_infodir}/dir || : install -p -m 755 enable.scl ${RPM_BUILD_ROOT}/%{_prefix}/enable
%endif
%preun %files -n %{autoconf}
if [ "$1" = 0 ]; then
/sbin/install-info --del %{_infodir}/autoconf.info %{_infodir}/dir || :
fi
%files
%license COPYING* %license COPYING*
%{_bindir}/* %{_bindir}/*
%{_infodir}/autoconf.info* %{_infodir}/autoconf.info*
@ -134,15 +210,83 @@ fi
%endif %endif
%{_mandir}/man1/* %{_mandir}/man1/*
%doc AUTHORS ChangeLog NEWS README THANKS TODO %doc AUTHORS ChangeLog NEWS README THANKS TODO
%if "%{name}" != "autoconf"
/etc/scl/prefixes/%{autoconf}
%{_prefix}/enable
%endif
%changelog %changelog
* Wed Jun 12 2024 Frederic Berat <fberat@redhat.com> - 2.69-29.1 * Fri Mar 14 2025 Frederic Berat <fberat@redhat.com> - 2.71-13
- Fix issues with Fortran detection and oneAPI HPC Toolkit (RHEL-40719) - Ensure that we can transition from autoconf-latest to autoconf (RHEL-33538)
* Mon Jun 28 2021 Honza Horak <hhorak@redhat.com> - 2.69-29 * Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 2.71-12
- Bump release number to avoid installing reverted RPM in CStream - Bump release for October 2024 mass rebuild:
Resolves: #1956598 Resolves: RHEL-64018
* 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 * Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.69-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - 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 --- !Policy
product_versions: product_versions:
- rhel-8 - rhel-10
decision_context: osci_compose_gate decision_context: osci_compose_gate
rules: rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} - !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."