strengthen sources and patches

This commit is contained in:
openeuler-basic 2020-01-08 16:21:10 +08:00
parent 6d5c8a5a2c
commit da15075f07
9 changed files with 158 additions and 40 deletions

View File

@ -0,0 +1,63 @@
From 5b9db67786a428164abafe626ab11a2754aad528 Mon Sep 17 00:00:00 2001
From: Ondrej Dubaj <odubaj@redhat.com>
Date: Wed, 28 Aug 2019 07:39:50 +0200
Subject: [PATCH] Port tests to Bash 5
* tests/local.at (AT_CHECK_ENV, AT_CONFIG_CMP):
Add BASH_ARGC, BASH_ARGV to list of variables to be ignored when
comparing variable space dumps.
(AT_CONFIG_CMP): Also ignore LINENO.
* tests/m4sh.at: Also unset LINENO in 'reference' and 'test/test-1'.
---
tests/local.at | 5 ++++-
tests/m4sh.at | 4 ++--
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/tests/local.at b/tests/local.at
index a22958c..852be28 100644
--- a/tests/local.at
+++ b/tests/local.at
@@ -325,7 +325,7 @@ if test -f state-env.before && test -f state-env.after; then
[AWK|LEX|LEXLIB|LEX_OUTPUT_ROOT|LN_S|M4|MKDIR_P|RANLIB|SET_MAKE|YACC],
[GREP|[EF]GREP|SED],
[[_@]|.[*#?$].],
- [argv|ARGC|LINENO|OLDPWD|PIPESTATUS|RANDOM|SECONDS]))=' \
+ [argv|ARGC|LINENO|BASH_ARGC|BASH_ARGV|OLDPWD|PIPESTATUS|RANDOM|SECONDS]))=' \
$act_file ||
test $? -eq 1 || echo failed >&2
) 2>stderr-$act_file |
@@ -382,6 +382,9 @@ do
/'\'\\\$\''=/ d
/^argv=/ d
/^ARGC=/ d
+ /^BASH_ARGC=/ d
+ /^BASH_ARGV=/ d
+ /^LINENO=/ d
' $act_file >at_config_vars-$act_file
done
AT_CMP([at_config_vars-$1], [at_config_vars-$2])[]dnl
diff --git a/tests/m4sh.at b/tests/m4sh.at
index e9d70b0..cbdfcb6 100644
--- a/tests/m4sh.at
+++ b/tests/m4sh.at
@@ -254,7 +254,7 @@ AT_CHECK([autom4te -l m4sh $1.as -o $1])
# `_oline_', once processed and ran, produces our reference.
# We check that we find ourselves by looking at a string which is
# available only in the original script: `_oline_'.
-AT_DATA_LINENO([reference], [false], [__OLINE__], [_oline__])
+AT_DATA_LINENO([reference], [true], [__OLINE__], [_oline__])
AT_CHECK([./reference], 0, [stdout])
# The reference:
@@ -264,7 +264,7 @@ mv stdout expout
# Be sure to be out of the PATH.
AT_CHECK([mkdir test || exit 77])
-AT_DATA_LINENO([test/test-1], [false], [__LINENO__], [LINENO])
+AT_DATA_LINENO([test/test-1], [true], [__LINENO__], [LINENO])
AT_CHECK([./test/test-1], 0, [expout])
AT_CHECK([(PATH=test$PATH_SEPARATOR$PATH; export PATH; exec test-1)],
0, [expout])
--
1.8.3.1

11
autoconf-el.el Normal file
View File

@ -0,0 +1,11 @@
;; Activate autoconf-mode
(autoload 'autoconf-mode "autoconf-mode"
"Major mode for editing autoconf files." t)
(add-to-list 'auto-mode-alist
'("\.ac\'\|configure\.in\'" . autoconf-mode))
;; Activate autotest-mode
(autoload 'autotest-mode "autotest-mode"
"Major mode for editing autotest files." t)
(add-to-list 'auto-mode-alist
'("\.at\'" . autotest-mode))

View File

@ -1,16 +0,0 @@
;; Activate autoconf-mode
;; Uncomment the following code if you feel that autoconf-mode.el does better
;; job than Emacs's default autoconf.el.
;; (autoload 'autoconf-mode "autoconf-mode"
;; "Major mode for editing autoconf files." t)
;; (setq auto-mode-alist
;; (cons '("\.ac\'\|configure\.in\'" . autoconf-mode)
;; auto-mode-alist))
;; Activate autotest-mode
(autoload 'autotest-mode "autotest-mode"
"Major mode for editing autotest files." t)
(setq auto-mode-alist
(cons '("\.at\'" . autotest-mode) auto-mode-alist))

View File

@ -3,20 +3,22 @@
Name: autoconf
Version: 2.69
Release: 29
Release: 30
Summary: An extensible package to automatically configure software source code packages
License: GPLv2+ and GPLv3+ and GFDL
URL: https://www.gnu.org/software/%{name}/
Source0: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz
Source1: config.site
Source2: autoconf-init.el
Patch1: autoconf-2.69-perl-5.22-autoscan.patch
Source2: autoconf-el.el
# four patches backport from upstream to solve test suite failure
Patch1: autoscan-port-to-perl-5.17.patch
Patch2: Port-tests-to-Bash-5.patch
Patch3: tests-avoid-spurious-test-failure-with-libtool-2.4.3.patch
#fix the failure of test 38 autotools and whitespace in file names
Patch6000: 0001-Fix-test-suite-with-modern-Perl.patch
Patch4: Fix-test-suite-with-modern-Perl.patch
Patch9000: 0001-skip-one-test-at-line-1616-of-autotest.patch
Patch9000: skip-one-test-at-line-1616-of-autotest.patch
BuildArch: noarch
@ -48,7 +50,7 @@ make %{?_smp_mflags} check
%install
%make_install
install -p -D %{SOURCE1} %{buildroot}%{_datadir}
install -p -D %{SOURCE2} %{buildroot}%{_emacs_sitestartdir}/autoconf-init.el
install -p -D %{SOURCE2} %{buildroot}%{_emacs_sitestartdir}/autoconf-el.el
%post help
/sbin/install-info %{_infodir}/autoconf.info %{_infodir}/dir || :
@ -75,5 +77,8 @@ fi
%changelog
* Sat Jan 4 2020 openEuler Buildteam <buildteam@openeuler.org> - 2.69-30
- Strengthen sources and patches
* Fri Oct 11 2019 openEuler Buildteam <buildteam@openeuler.org> - 2.69-29
- Package Init

View File

@ -0,0 +1,28 @@
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.
--
1.8.3.1

View File

@ -1,22 +1,18 @@
# This is the config.site file to satisfy FHS defaults when installing below /usr.
# This is the config.site file to satisfy FHS defaults when installing below
# /usr.
#
# You may override this file by your config.site using the CONFIG_SITE env
# variable.
if test -n "$host"; then
# skip when cross-compiling
return 0
fi
# return when cross compiling
[ -n $host ] && return 0;
if test "$prefix" = /usr \
|| { test "$prefix" = NONE && test "$ac_default_prefix" = /usr ; }
if [ "$prefix" = /usr ] || [[ "$prefix" = NONE && "$ac_default_prefix" = /usr ]]
then
test "$sysconfdir" = '${prefix}/etc' && sysconfdir=/etc
test "$sharedstatedir" = '${prefix}/com' && sharedstatedir=/var
test "$localstatedir" = '${prefix}/var' && localstatedir=/var
[ "$sysconfdir" = '${prefix}/etc' ] && sysconfdir=/etc
[ "$localstatedir" = '${prefix}/var' ] && localstatedir=/var
[ "$sharedstatedir" = '${prefix}/com' ] && sharedstatedir=/var
ARCH=`uname -m`
for i in x86_64 ppc64 s390x aarch64; do
if test $ARCH = $i; then
test "$libdir" = '${exec_prefix}/lib' && libdir='${exec_prefix}/lib64'
break
fi
done
# for x86_64 aarch64
[ "$libdir" = '${exec_prefix}/lib' ] && libdir='${exec_prefix}/lib64'
fi

View File

@ -0,0 +1,31 @@
From 247b02e5a5bb79ca6666e91de02ae2d3cb0cd325 Mon Sep 17 00:00:00 2001
From: "Gary V. Vaughan" <gary@gnu.org>
Date: Mon, 3 Nov 2014 07:25:03 +0100
Subject: [PATCH] tests: avoid spurious test failure with libtool 2.4.3
Based on a report by Bruce Dubbs.
* tests/foreign.at (Libtool): Be tolerant of 'quote' replacing the
older `quote'.
Signed-off-by: Eric Blake <eblake@redhat.com>
---
tests/foreign.at | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/foreign.at b/tests/foreign.at
index a9dc33c..d4702cd 100644
--- a/tests/foreign.at
+++ b/tests/foreign.at
@@ -57,7 +57,7 @@ AT_CHECK([./config.guess || exit 77], [], [ignore], [ignore])
# Make sure at-path contains something valid, and let the test suite
# display it when verbose. And fail, skipping would too easily hide
# problems.
-AT_CHECK([sed -n ["s,^.*\`\\(/[^']*\\)'.*,\\1,p"] stdout], [0], [stdout])
+AT_CHECK([sed -n ["s,^[^']*[\`']\\(/[^']*\\)'.*,\\1,p"] stdout], [0], [stdout])
AT_CHECK([test -f "`sed -n 1p stdout`"])
# Older libtoolize installed everything but install-sh...
--
1.8.3.1