- add autom4te-always-update-output-file.patch to fix testsuite
failures OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/autoconf?expand=0&rev=48
This commit is contained in:
parent
30e14cb563
commit
a63372cebc
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package autoconf-el
|
||||
#
|
||||
# Copyright (c) 2020 SUSE LLC
|
||||
# Copyright (c) 2021 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package autoconf-testsuite
|
||||
#
|
||||
# Copyright (c) 2020 SUSE LLC
|
||||
# Copyright (c) 2021 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -26,6 +26,8 @@ Source0: http://ftp.gnu.org/gnu/autoconf/autoconf-%{version}.tar.xz
|
||||
Source1: http://ftp.gnu.org/gnu/autoconf/autoconf-%{version}.tar.xz.sig
|
||||
Source2: %{name}.keyring
|
||||
Patch0: autoreconf-ltdl.diff
|
||||
# PATCH-FIX-UPSTREAM
|
||||
Patch1: https://git.savannah.gnu.org/cgit/autoconf.git/patch/?id=07130c3e48d12ec155ac5d7630dc7477b6989904#/autom4te-always-update-output-file.patch
|
||||
BuildRequires: help2man
|
||||
BuildRequires: m4 >= 1.4.6
|
||||
Requires: info
|
||||
@ -52,6 +54,7 @@ only required for the generation of the scripts, not their use.
|
||||
%prep
|
||||
%setup -q -n autoconf-%{version}
|
||||
%patch0
|
||||
%patch1 -p1
|
||||
|
||||
%build
|
||||
%configure
|
||||
|
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 16 18:47:23 UTC 2021 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- add autom4te-always-update-output-file.patch to fix testsuite
|
||||
failures
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Dec 13 18:52:47 UTC 2020 - Andreas Stieger <andreas.stieger@gmx.de>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package autoconf
|
||||
#
|
||||
# Copyright (c) 2020 SUSE LLC
|
||||
# Copyright (c) 2021 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -26,6 +26,8 @@ Source0: http://ftp.gnu.org/gnu/autoconf/autoconf-%{version}.tar.xz
|
||||
Source1: http://ftp.gnu.org/gnu/autoconf/autoconf-%{version}.tar.xz.sig
|
||||
Source2: %{name}.keyring
|
||||
Patch0: autoreconf-ltdl.diff
|
||||
# PATCH-FIX-UPSTREAM
|
||||
Patch1: https://git.savannah.gnu.org/cgit/autoconf.git/patch/?id=07130c3e48d12ec155ac5d7630dc7477b6989904#/autom4te-always-update-output-file.patch
|
||||
BuildRequires: help2man
|
||||
BuildRequires: m4 >= 1.4.6
|
||||
Requires: info
|
||||
@ -52,6 +54,7 @@ only required for the generation of the scripts, not their use.
|
||||
%prep
|
||||
%setup -q -n autoconf-%{version}
|
||||
%patch0
|
||||
%patch1 -p1
|
||||
|
||||
%build
|
||||
%configure
|
||||
|
99
autom4te-always-update-output-file.patch
Normal file
99
autom4te-always-update-output-file.patch
Normal file
@ -0,0 +1,99 @@
|
||||
From 07130c3e48d12ec155ac5d7630dc7477b6989904 Mon Sep 17 00:00:00 2001
|
||||
From: Zack Weinberg <zackw@panix.com>
|
||||
Date: Tue, 29 Dec 2020 15:33:33 -0500
|
||||
Subject: =?UTF-8?q?autom4te:=20always=20update=20the=20output=20file,=20ev?=
|
||||
=?UTF-8?q?en=20if=20it=20hasn=E2=80=99t=20changed?=
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Automake generates a Makefile rule for regenerating the configure
|
||||
script, that relies on an invocation of ‘autoconf’ always bumping the
|
||||
timestamp on the configure script, even if it hasn’t changed.
|
||||
The patch to make autom4te update the output file atomically
|
||||
(1725c947144d9bebfe7817c2c5f0d53d884b1297) broke this.
|
||||
|
||||
Fixes several failures in automake’s test suite.
|
||||
|
||||
* bin/autom4te.in (handle_output): Always call update_file with force=1.
|
||||
* tests/tools.at (autoconf: timestamp changes): New test.
|
||||
---
|
||||
bin/autom4te.in | 4 +++-
|
||||
tests/tools.at | 46 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 49 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/bin/autom4te.in b/bin/autom4te.in
|
||||
index 4c2b905c..64653a44 100644
|
||||
--- a/bin/autom4te.in
|
||||
+++ b/bin/autom4te.in
|
||||
@@ -609,7 +609,9 @@ sub handle_output ($$)
|
||||
}
|
||||
|
||||
$out->close();
|
||||
- update_file ($scratchfile, $output, $force)
|
||||
+ # Always update the file, even if it didn't change;
|
||||
+ # Automake relies on this.
|
||||
+ update_file ($scratchfile, $output, 1)
|
||||
if defined $scratchfile;
|
||||
|
||||
# If no forbidden words, we're done.
|
||||
diff --git a/tests/tools.at b/tests/tools.at
|
||||
index 49710202..89b8b63b 100644
|
||||
--- a/tests/tools.at
|
||||
+++ b/tests/tools.at
|
||||
@@ -662,6 +662,52 @@ arbitrary $text
|
||||
AT_CLEANUP
|
||||
|
||||
|
||||
+# autoconf: timestamp changes
|
||||
+# ---------------------------
|
||||
+# Automake needs autoconf to update the timestamp on the configure script
|
||||
+# whenever configure.ac or aclocal.m4 changes, even if the contents of the
|
||||
+# configure script have not changed.
|
||||
+AT_SETUP([autoconf: timestamp changes])
|
||||
+
|
||||
+AT_DATA([aclocal.m4],
|
||||
+[[AC_DEFUN([local_KILROY], [# kilroy was here
|
||||
+])
|
||||
+]])
|
||||
+
|
||||
+AT_DATA_AUTOCONF([configure.ac],
|
||||
+[[AC_INIT
|
||||
+AC_PROG_CC
|
||||
+local_KILROY
|
||||
+AC_OUTPUT
|
||||
+]])
|
||||
+
|
||||
+AT_CHECK_AUTOCONF
|
||||
+
|
||||
+cp configure configure.1
|
||||
+sleep 1
|
||||
+printf '%s\n' 'AC_LIBSOURCES([foo.c])dn@&t@l' >> configure.ac
|
||||
+
|
||||
+# This step must not use --force.
|
||||
+# We don't need to check shell syntax, because if all goes well,
|
||||
+# the script will be unchanged from what it was in the first autoconf
|
||||
+# pass, and that was already checked.
|
||||
+AT_CHECK_M4([autoconf])
|
||||
+AT_CHECK([cmp configure configure.1])
|
||||
+AT_CHECK([test configure -nt configure.1])
|
||||
+
|
||||
+cp configure configure.2
|
||||
+sleep 1
|
||||
+printf '%s\n' \
|
||||
+ 'AC_DEFUN([unused_MACRO], [# bob was there too' \
|
||||
+ '])' >> aclocal.m4
|
||||
+
|
||||
+# Same as above.
|
||||
+AT_CHECK_M4([autoconf])
|
||||
+AT_CHECK([cmp configure configure.2])
|
||||
+AT_CHECK([test configure -nt configure.2])
|
||||
+
|
||||
+AT_CLEANUP
|
||||
+
|
||||
|
||||
## --------- ##
|
||||
## ifnames. ##
|
||||
--
|
||||
cgit v1.2.1
|
||||
|
Loading…
Reference in New Issue
Block a user