rebase to recent 1.15 minor version

Remove several unused patches.  Also sync gnuconfig files with
upstream git.

Resolves: #1179182
Version: 1.15-1
This commit is contained in:
Pavel Raiskup 2015-01-06 15:46:42 +01:00
parent 694b23f45e
commit f7306e7b3f
10 changed files with 31 additions and 970 deletions

12
.gitignore vendored
View File

@ -1,11 +1 @@
automake-1.11.1.tar.bz2
/automake-1.11.2.tar.bz2
/automake-1.11.3.tar.xz
/automake-1.11.4.tar.xz
/automake-1.11.5.tar.xz
/automake-1.12.2.tar.xz
/automake-1.13.1.tar.xz
/automake-1.13.2.tar.xz
/automake-1.13.4.tar.xz
/automake-1.14.tar.xz
/automake-1.14.1.tar.xz
/automake-1.15.tar.xz

View File

@ -1,276 +0,0 @@
diff --git a/NEWS b/NEWS
index ef594b4..5a23a3b 100644
--- a/NEWS
+++ b/NEWS
@@ -55,6 +55,13 @@ New in 1.13.1:
causes a clear and helpful error message, instead of obscure ones
(issue introduced in Automake 1.13).
+ - Aclocal no longer error out if the first local m4 directory (as
+ specified by the '-I' option or the 'AC_CONFIG_MACRO_DIRS' or
+ 'AC_CONFIG_MACRO_DIR' macros) doesn't exist; it merely report a
+ warning in the 'unsupported' category. This is done to support
+ some pre-existing real-world usages; refer to automake bug#13514
+ for more details.
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in 1.13:
diff --git a/THANKS b/THANKS
index 5fa307d..0c143c4 100644
--- a/THANKS
+++ b/THANKS
@@ -295,6 +295,7 @@ Paul Jarc prj@po.cwru.edu
Paul Lunau temp@lunau.me.uk
Paul Martinolich martinol@datasync.com
Paul Thomas PTHOMAS@novell.com
+Pavel Raiskup praiskup@redhat.com
Pavel Roskin pavel_roskin@geocities.com
Pavel Sanda ps@twin.jikos.cz
Per Bothner bothner@cygnus.com
diff --git a/aclocal.in b/aclocal.in
index b51c09d..d68ea33 100644
--- a/aclocal.in
+++ b/aclocal.in
@@ -165,6 +165,11 @@ my @ac_config_macro_dirs;
# If set, names a temporary file that must be erased on abnormal exit.
my $erase_me;
+# Constants for the $ERR_LEVEL parameter of the 'scan_m4_dirs' function.
+use constant SCAN_M4_DIRS_SILENT => 0;
+use constant SCAN_M4_DIRS_WARN => 1;
+use constant SCAN_M4_DIRS_ERROR => 2;
+
################################################################
# Prototypes for all subroutines.
@@ -355,21 +360,42 @@ sub list_compare (\@\@)
################################################################
-# scan_m4_dirs($TYPE, $ERR_ON_NONEXISTING, @DIRS)
+# scan_m4_dirs($TYPE, $ERR_LEVEL, @DIRS)
# -----------------------------------------------
# Scan all M4 files installed in @DIRS for new macro definitions.
# Register each file as of type $TYPE (one of the FT_* constants).
+# If a directory in @DIRS cannot be read:
+# - fail hard if $ERR_LEVEL == SCAN_M4_DIRS_ERROR
+# - just print a warning if $ERR_LEVEL == SCAN_M4_DIRS_WA
+# - continue silently if $ERR_LEVEL == SCAN_M4_DIRS_SILENT
sub scan_m4_dirs ($$@)
{
- my ($type, $err_on_nonexisting, @dirlist) = @_;
+ my ($type, $err_level, @dirlist) = @_;
foreach my $m4dir (@dirlist)
{
if (! opendir (DIR, $m4dir))
{
# TODO: maybe avoid complaining only if errno == ENONENT?
- next unless $err_on_nonexisting;
- fatal "couldn't open directory '$m4dir': $!";
+ my $message = "couldn't open directory '$m4dir': $!";
+
+ if ($err_level == SCAN_M4_DIRS_ERROR)
+ {
+ fatal $message;
+ }
+ elsif ($err_level == SCAN_M4_DIRS_WARN)
+ {
+ msg ('unsupported', $message);
+ next;
+ }
+ elsif ($err_level == SCAN_M4_DIRS_SILENT)
+ {
+ next; # Silently ignore.
+ }
+ else
+ {
+ prog_error "invalid \$err_level value '$err_level'";
+ }
}
# We reverse the directory contents so that foo2.m4 gets
@@ -406,13 +432,27 @@ sub scan_m4_files ()
if (@user_includes)
{
+ # Don't explore the same directory multiple times. This is here not
+ # only for speedup purposes. We need this when the user has e.g.
+ # specified 'ACLOCAL_AMFLAGS = -I m4' and has also set
+ # AC_CONFIG_MACRO_DIR[S]([m4]) in configure.ac. This makes the 'm4'
+ # directory to occur twice here and fail on the second call to
+ # scan_m4_dirs([m4]) when the 'm4' directory doesn't exist.
+ # TODO: Shouldn't there be rather a check in scan_m4_dirs for
+ # @user_includes[0]?
+ @user_includes = uniq @user_includes;
+
# Don't complain if the first user directory doesn't exist, in case
# we need to create it later (can happen if '--install' was given).
- scan_m4_dirs (FT_USER, !$install, $user_includes[0]);
- scan_m4_dirs (FT_USER, 1, @user_includes[1..$#user_includes]);
+ scan_m4_dirs (FT_USER,
+ $install ? SCAN_M4_DIRS_SILENT : SCAN_M4_DIRS_WARN,
+ $user_includes[0]);
+ scan_m4_dirs (FT_USER,
+ SCAN_M4_DIRS_ERROR,
+ @user_includes[1..$#user_includes]);
}
- scan_m4_dirs (FT_AUTOMAKE, 1, @automake_includes);
- scan_m4_dirs (FT_SYSTEM, 1, @system_includes);
+ scan_m4_dirs (FT_AUTOMAKE, SCAN_M4_DIRS_ERROR, @automake_includes);
+ scan_m4_dirs (FT_SYSTEM, SCAN_M4_DIRS_ERROR, @system_includes);
# Construct a new function that does the searching. We use a
# function (instead of just evaluating $search in the loop) so that
diff --git a/t/aclocal-macrodir.tap b/t/aclocal-macrodir.tap
index 3c66e53..051fdb5 100755
--- a/t/aclocal-macrodir.tap
+++ b/t/aclocal-macrodir.tap
@@ -20,7 +20,7 @@
am_create_testdir=empty
. test-init.sh
-plan_ 6
+plan_ 7
ocwd=$(pwd) || fatal_ "getting current working directory"
ACLOCAL_PATH=; unset ACLOCAL_PATH
@@ -157,16 +157,44 @@ test_end
#---------------------------------------------------------------------------
-test_begin "AC_CONFIG_MACRO_DIR([non-existent]) errors out (1)"
+test_begin "AC_CONFIG_MACRO_DIR([non-existent]) warns with -Wunsupported"
cat > configure.ac << 'END'
AC_INIT([oops], [1.0])
AC_CONFIG_MACRO_DIR([non-existent])
+AM_INIT_AUTOMAKE
END
-not $ACLOCAL -Wnone 2>stderr \
+$ACLOCAL -Wno-error 2>stderr \
&& cat stderr >&2 \
&& grep "couldn't open directory 'non-existent'" stderr \
+ && test -f aclocal.m4 \
+ || r='not ok'
+
+rm -rf aclocal.m4 autom4te*.cache
+
+$ACLOCAL -Werror -Wno-unsupported \
+ && test -f aclocal.m4 \
+ || r='not ok'
+
+test_end
+
+#---------------------------------------------------------------------------
+
+test_begin "AC_CONFIG_MACRO_DIR([not-exist]) and ACLOCAL_AMFLAGS = -I not-exist"
+
+cat > configure.ac << 'END'
+AC_INIT([oops], [1.0])
+AC_CONFIG_MACRO_DIR([not-exist])
+END
+
+cat > Makefile.am << 'END'
+ACLOCAL_AMFLAGS = -I not-exist
+END
+
+$ACLOCAL -Wno-error 2>stderr \
+ && cat stderr >&2 \
+ && test $(grep -c "couldn't open directory 'not-exist'" stderr) -eq 1 \
|| r='not ok'
test_end
diff --git a/t/aclocal-macrodirs.tap b/t/aclocal-macrodirs.tap
index 89e424d..0deae72 100755
--- a/t/aclocal-macrodirs.tap
+++ b/t/aclocal-macrodirs.tap
@@ -20,7 +20,7 @@
am_create_testdir=empty
. test-init.sh
-plan_ 14
+plan_ 15
ocwd=$(pwd) || fatal_ "getting current working directory"
ACLOCAL_PATH=; unset ACLOCAL_PATH
@@ -317,23 +317,31 @@ test_end
#---------------------------------------------------------------------------
-test_begin "AC_CONFIG_MACRO_DIRS([non-existent]) errors out (1)"
+test_begin "AC_CONFIG_MACRO_DIRS([non-existent]) warns (1)"
cat > configure.ac << 'END'
AC_INIT([oops], [1.0])
AC_CONFIG_MACRO_DIRS([non-existent])
+AM_INIT_AUTOMAKE
END
-not $ACLOCAL 2>stderr \
+$ACLOCAL -Wno-error 2>stderr \
&& cat stderr >&2 \
&& grep "couldn't open directory 'non-existent'" stderr \
+ && test -f aclocal.m4 \
+ || r='not ok'
+
+rm -rf aclocal.m4 autom4te*.cache
+
+$ACLOCAL -Werror -Wno-unsupported \
+ && test -f aclocal.m4 \
|| r='not ok'
test_end
#---------------------------------------------------------------------------
-test_begin "AC_CONFIG_MACRO_DIRS([non-existent]) errors out (2)"
+test_begin "AC_CONFIG_MACRO_DIRS([non-existent]) warns (2)"
cat > configure.ac << 'END'
AC_INIT([oops], [1.0])
@@ -346,13 +354,14 @@ not $ACLOCAL 2>stderr \
&& cat stderr >&2 \
&& grep "couldn't open directory 'dir-ko'" stderr \
&& not grep "dir-ok" stderr \
+ && test ! -e aclocal.m4 \
|| r='not ok'
test_end
#---------------------------------------------------------------------------
-test_begin "AC_CONFIG_MACRO_DIRS([non-existent]) errors out (tricky setup)"
+test_begin "AC_CONFIG_MACRO_DIRS([existent non-existent]) errors out"
cat > configure.ac << 'END'
AC_INIT([oops], [1.0])
@@ -372,6 +381,26 @@ test_end
#---------------------------------------------------------------------------
+test_begin "AC_CONFIG_MACRO_DIRS([not-exist]) and ACLOCAL_AMFLAGS = -I not-exist"
+
+cat > configure.ac << 'END'
+AC_INIT([oops], [1.0])
+AC_CONFIG_MACRO_DIRS([not-exist])
+END
+
+cat > Makefile.am << 'END'
+ACLOCAL_AMFLAGS = -I not-exist
+END
+
+$ACLOCAL -Wno-error 2>stderr \
+ && cat stderr >&2 \
+ && test $(grep -c "couldn't open directory 'not-exist'" stderr) -eq 1 \
+ || r='not ok'
+
+test_end
+
+#---------------------------------------------------------------------------
+
# Avoid spurious failures with pre-2.70 autoconf.
# FIXME: remove this in automake 1.14, once we require Autoconf 2.70.
if echo 'AC_INIT AC_CONFIG_MACRO_DIRS' | $AUTOCONF -o/dev/null -; then

View File

@ -1,461 +0,0 @@
diff --git a/THANKS b/THANKS
index 66498d4..a574909 100644
--- a/THANKS
+++ b/THANKS
@@ -224,6 +224,7 @@ Luo Yi luoyi.ly@gmail.com
Maciej Stachowiak mstachow@mit.edu
Maciej W. Rozycki macro@ds2.pg.gda.pl
Manu Rouat emmanuel.rouat@wanadoo.fr
+Marc Herbert marc.herbert@intel.com
Marcus Brinkmann Marcus.Brinkmann@ruhr-uni-bochum.de
Marcus G. Daniels mgd@ute.santafe.edu
Marius Vollmer mvo@zagadka.ping.de
@@ -311,6 +312,7 @@ Peter Muir iyhi@yahoo.com
Peter O'Gorman peter@pogma.com
Peter Rosin peda@lysator.liu.se
Peter Seiderer seiderer123@ciselant.de
+Petr Hracek phracek@redhat.com
Petter Reinholdtsen pere@hungry.com
Petteri Räty betelgeuse@gentoo.org
Phil Edwards phil@jaj.com
@@ -391,6 +393,7 @@ Tim Rice tim@multitalents.net
Tim Van Holder tim.van.holder@pandora.be
Toshio Kuratomi toshio@tiki-lounge.com
Tom Epperly tepperly@llnl.gov
+Tom Rini tom_rini@mentor.com
Ulrich Drepper drepper@gnu.ai.mit.edu
Ulrich Eckhardt eckhardt@satorlaser.com
Václav Haisman V.Haisman@sh.cvut.cz
diff --git a/m4/tar.m4 b/m4/tar.m4
index ec8c83e..aac6d8f 100644
--- a/m4/tar.m4
+++ b/m4/tar.m4
@@ -19,76 +19,114 @@
# Substitute a variable $(am__untar) that extract such
# a tarball read from stdin.
# $(am__untar) < result.tar
+#
AC_DEFUN([_AM_PROG_TAR],
[# Always define AMTAR for backward compatibility. Yes, it's still used
# in the wild :-( We should find a proper way to deprecate it ...
AC_SUBST([AMTAR], ['$${TAR-tar}'])
-m4_if([$1], [v7],
- [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
+
+# We'll loop over all known methods to create a tar archive until one works.
_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of '-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
+m4_if([$1], [v7],
+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ [m4_case([$1],
+ [ustar],
+ [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+ # There is notably a 21 bits limit for the UID and the GID. In fact,
+ # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+ # and bug#13588).
+ am_max_uid=2097151 # 2^21 - 1
+ am_max_gid=$am_max_uid
+ # The $UID and $GID variables are not portable, so we need to resort
+ # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
+ # below are definitely unexpected, so allow the users to see them
+ # (that is, avoid stderr redirection).
+ am_uid=`id -u || echo unknown`
+ am_gid=`id -g || echo unknown`
+ AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+ if test $am_uid -le $am_max_uid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi
+ AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+ if test $am_gid -le $am_max_gid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi],
+
+ [pax],
+ [],
+
+ [m4_fatal([Unknown tar format])])
+
+ AC_MSG_CHECKING([how to create a $1 tar archive])
+
+ # Go ahead even if we have the value already cached. We do so because we
+ # need to set the values for the 'am__tar' and 'am__untar' variables.
+ _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+ for _am_tool in $_am_tools; do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar; do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ AM_RUN_LOG([cat conftest.dir/file])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+ done
rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar <conftest.tar])
- grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+ AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+ AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk
index f1e3dca..664a902 100644
--- a/t/list-of-tests.mk
+++ b/t/list-of-tests.mk
@@ -1151,6 +1151,7 @@ t/tags-pr12372.sh \
t/tar.sh \
t/tar2.sh \
t/tar3.sh \
+t/tar-ustar-id-too-high.sh \
t/tar-override.sh \
t/target-cflags.sh \
t/targetclash.sh \
diff --git a/t/tar-override.sh b/t/tar-override.sh
index 863b9ab..bbf3fbb 100755
--- a/t/tar-override.sh
+++ b/t/tar-override.sh
@@ -16,8 +16,8 @@
# Check that the user can override the tar program used by "make dist"
# at runtime, by redefining the 'TAR' environment variable.
-# FIXME: currently this works only when the tar format used is 'v7'
-# FIXME: (which is the default one).
+# NOTE: currently this works only when the tar format used is 'v7'
+# (which is the default one).
. test-init.sh
@@ -35,6 +35,7 @@ chmod a+x am--tar
cat > Makefile.am <<'END'
check-local: dist
+ ls -l ;: For debugging.
test -f am--tar-has-run
CLEANFILES = am--tar-has-run
END
@@ -44,22 +45,24 @@ $AUTOCONF
$AUTOMAKE
./configure
+clean_temp () { rm -f *.tar.* *has-run*; }
+
$MAKE dist
-test -f $me-1.0.tar.gz
+test -f $distdir.tar.gz
ls | grep has-run && exit 1
-rm -f *.tar.* *has-run*
+clean_temp
TAR="$cwd/am--tar foo" $MAKE distcheck
-test -f $me-1.0.tar.gz
+test -f $distdir.tar.gz
test "$(cat am--tar-has-run)" = foo
-rm -f *.tar.* *has-run*
+clean_temp
TAR=; unset TAR
# Creative use of eval to pacify maintainer checks.
eval \$'MAKE dist "TAR=./am--tar mu"'
-test -f $me-1.0.tar.gz
+test -f $distdir.tar.gz
test "$(cat am--tar-has-run)" = mu
:
diff --git a/t/tar-ustar-id-too-high.sh b/t/tar-ustar-id-too-high.sh
new file mode 100755
index 0000000..79ae89d
--- /dev/null
+++ b/t/tar-ustar-id-too-high.sh
@@ -0,0 +1,88 @@
+#! /bin/sh
+# Copyright (C) 2013 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Check that UID or GID too high for the ustar format are correctly
+# rwcognized and diagnosed by configure. See bug#8343 and bug#13588.
+
+. test-init.sh
+
+cat > configure.ac <<END
+AC_INIT([$me], [1.0])
+AM_INIT_AUTOMAKE([tar-ustar])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+: > Makefile.am
+
+run_configure()
+{
+ st=0; ./configure ${1+"$@"} >stdout || st=$?
+ cat stdout || exit 1
+ test $st -eq 0 || exit 1
+}
+
+checked ()
+{
+ grep "^checking $1\.\.\. $2$" stdout
+}
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+mkdir bin
+cat > bin/id <<'END'
+#!/bin/sh -e
+case "$*" in
+ -u) echo "${am_uid-1000}";;
+ -g) echo "${am_gid-1000}";;
+ *) echo "id: bad/unexpected usage" >&2; exit 1;;
+esac
+END
+chmod a+x bin/id
+
+PATH=$(pwd)/bin$PATH_SEPARATOR$PATH
+
+# Problematic ID reported in
+# <https://bugzilla.redhat.com/show_bug.cgi?id=843376>.
+am_uid=16777216; export am_uid
+am_gid=1000; export am_gid
+run_configure
+checked "whether UID '$am_uid' is supported by ustar format" "no"
+checked "whether GID '1000' is supported by ustar format" "yes"
+checked "how to create a ustar tar archive" "none"
+
+# Another problematic ID reported in
+# <https://bugzilla.redhat.com/show_bug.cgi?id=843376>.
+am_uid=1000; export am_uid
+am_gid=17000000; export am_gid
+run_configure
+checked "whether UID '1000' is supported by ustar format" "yes"
+checked "whether GID '$am_gid' is supported by ustar format" "no"
+checked "how to create a ustar tar archive" "none"
+
+# The minimal ID that is too big.
+two_to_twentyone=$((32 * 32 * 32 * 32 * 2))
+# <https://bugzilla.redhat.com/show_bug.cgi?id=843376>.
+am_uid=$two_to_twentyone; export am_uid
+am_gid=$two_to_twentyone; export am_gid
+run_configure
+checked "whether UID '$two_to_twentyone' is supported by ustar format" "no"
+checked "whether GID '$two_to_twentyone' is supported by ustar format" "no"
+checked "how to create a ustar tar archive" "none"
+
+:
diff --git a/t/tar.sh b/t/tar.sh
index 58e52ea..c146ad9 100755
--- a/t/tar.sh
+++ b/t/tar.sh
@@ -18,8 +18,8 @@
. test-init.sh
-cat > configure.ac << 'END'
-AC_INIT([tar], [1.0])
+cat > configure.ac <<END
+AC_INIT([$me], [1.0])
AM_INIT_AUTOMAKE([tar-ustar])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
@@ -32,9 +32,12 @@ $AUTOCONF
$AUTOMAKE
./configure
-if grep 'am__tar.*false' Makefile; then
+grep 'am__tar' Makefile # For debugging.
+if grep '^am__tar = false' Makefile; then
skip_ "cannot find proper archiver program"
fi
$MAKE distcheck
-test -f tar-1.0.tar.gz
+test -f "$distdir.tar.gz"
+
+:
diff --git a/t/tar2.sh b/t/tar2.sh
index 5a9d4d7..758d89a 100755
--- a/t/tar2.sh
+++ b/t/tar2.sh
@@ -18,8 +18,8 @@
. test-init.sh
-cat > configure.ac << 'END'
-AC_INIT([tar2], [1.0])
+cat > configure.ac <<END
+AC_INIT([$me], [1.0])
AM_INIT_AUTOMAKE([tar-pax])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
@@ -32,9 +32,12 @@ $AUTOCONF
$AUTOMAKE
./configure
-if grep 'am__tar.*false' Makefile; then
+grep 'am__tar' Makefile # For debugging.
+if grep '^am__tar = false' Makefile; then
skip_ "cannot find proper archiver program"
fi
$MAKE distcheck
-test -f tar2-1.0.tar.gz
+test -f "$distdir.tar.gz"
+
+:
diff --git a/t/tar3.sh b/t/tar3.sh
index 040d7b4..befc23f 100755
--- a/t/tar3.sh
+++ b/t/tar3.sh
@@ -18,8 +18,8 @@
. test-init.sh
-cat > configure.ac << 'END'
-AC_INIT([tar2], [1.0])
+cat > configure.ac <<END
+AC_INIT([$me], [1.0])
AM_INIT_AUTOMAKE([tar-pax tar-v7])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
@@ -37,8 +37,8 @@ grep "'tar-v7'" tar-err
rm -rf autom4te.cache
-cat > configure.ac << 'END'
-AC_INIT([tar2], [1.0])
+cat > configure.ac <<END
+AC_INIT([$me], [1.0])
AM_INIT_AUTOMAKE
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
@@ -47,6 +47,6 @@ END
echo 'AUTOMAKE_OPTIONS = tar-pax' > Makefile.am
AUTOMAKE_fails
-grep '^Makefile\.am:1:.*tar-pax.*AM_INIT_AUTOMAKE' stderr
+grep "^Makefile\.am:1:.*'tar-pax'.*AM_INIT_AUTOMAKE" stderr
:

View File

@ -1,72 +0,0 @@
diff --git a/m4/obsolete-err.m4 b/m4/obsolete-err.m4
index d8119a4..6a09401 100644
--- a/m4/obsolete-err.m4
+++ b/m4/obsolete-err.m4
@@ -8,19 +8,56 @@
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-dnl TODO: Remove in Automake 1.15.
-AC_DEFUN([AM_CONFIG_HEADER],
-[AC_FATAL(['$0': this macro is obsolete.
- You should use the 'AC][_CONFIG_HEADERS' macro instead.])])
-
-dnl TODO: Remove in Automake 1.15.
-AC_DEFUN([AM_PROG_CC_STDC],
-[AC_FATAL(['$0': this macro is obsolete.
- You should simply use the 'AC][_PROG_CC' macro instead.
- Also, your code should no longer depend upon 'am_cv_prog_cc_stdc',
- but upon 'ac_cv_prog_cc_stdc'.])])
+# dnl TODO: Remove in Automake 1.15.
+# AC_DEFUN([AM_CONFIG_HEADER],
+# [AC_FATAL(['$0': this macro is obsolete.
+# You should use the 'AC][_CONFIG_HEADERS' macro instead.])])
+#
+# dnl TODO: Remove in Automake 1.15.
+# AC_DEFUN([AM_PROG_CC_STDC],
+# [AC_FATAL(['$0': this macro is obsolete.
+# You should simply use the 'AC][_PROG_CC' macro instead.
+# Also, your code should no longer depend upon 'am_cv_prog_cc_stdc',
+# but upon 'ac_cv_prog_cc_stdc'.])])
dnl TODO: Remove in Automake 1.14.
AC_DEFUN([AM_C_PROTOTYPES],
[AC_FATAL([automatic de-ANSI-fication support has been removed])])
AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES])
+
+AU_DEFUN([AM_PROG_CC_STDC],
+[AC_PROG_CC
+AC_DIAGNOSE([obsolete], [$0:
+ your code should no longer depend upon 'am_cv_prog_cc_stdc', but upon
+ 'ac_cv_prog_cc_stdc'. Remove this warning and the assignment when
+ you adjust the code. You can also remove the above call to
+ AC_PROG_CC if you already called it elsewhere.])
+am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
+])
+
+# Reenable these macros in fedora until all packages are fixed (unlikely).
+# TODO: Prepare the some fedora-review checker, or rpmlint checker for this.
+
+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+AU_DEFUN([AM_SANITY_CHECK_CC], [AC_PROG_CC])
+AU_DEFUN([fp_PROG_CC_STDC])
+AU_DEFUN([fp_WITH_DMALLOC], [AM_WITH_DMALLOC])
+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+AU_DEFUN([ud_PATH_LISPDIR], [AM_PATH_LISPDIR])
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+AU_DEFUN([ud_GNU_GETTEXT], [AM_GNU_GETTEXT])
+AU_DEFUN([gm_PROG_LIBTOOL], [AM_PROG_LIBTOOL])
+AU_DEFUN([AC_FEATURE_CTYPE], [AC_HEADER_STDC])
+AU_DEFUN([AC_FEATURE_ERRNO], [AC_REPLACE_FUNCS([strerror])])
+AU_DEFUN([AM_CYGWIN32], [AC_CYGWIN])
+AU_DEFUN([AM_EXEEXT], [AC_EXEEXT])
+AU_DEFUN([AM_FUNC_MKTIME], [AC_FUNC_MKTIME])
+AU_DEFUN([AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL],
+ [AC_HEADER_TIOCGWINSZ])
+AU_DEFUN([AM_MINGW32], [AC_MINGW32])
+AU_DEFUN([AM_PROG_INSTALL], [AC_PROG_INSTALL])
+AU_DEFUN([AM_SANITY_CHECK_CC], [AC_PROG_CC])
+AU_DEFUN([AM_SYS_POSIX_TERMIOS], [AC_SYS_POSIX_TERMIOS])
+AU_DEFUN([fp_FUNC_FNMATCH], [AC_FUNC_FNMATCH])
+AU_DEFUN([fp_PROG_INSTALL], [AC_PROG_INSTALL])
+AU_DEFUN([md_TYPE_PTRDIFF_T], [AC_CHECK_TYPES([ptrdiff_t])])

View File

@ -1,38 +0,0 @@
diff --git a/t/preproc-errmsg.sh b/t/preproc-errmsg.sh
index 704562d..891ae43 100644
--- a/t/preproc-errmsg.sh
+++ b/t/preproc-errmsg.sh
@@ -48,7 +48,7 @@ END
$ACLOCAL
AUTOMAKE_fails
-cat > expected << 'END'
+sort > expected << 'END'
sub/sub2/more.mk:1: sub_sub2_UNDEFINED must be set with '=' before using '+='
Makefile.am:2: 'sub/local.mk' included from here
sub/local.mk:2: 'sub/sub2/more.mk' included from here
@@ -71,7 +71,7 @@ END
sed -e '/warnings are treated as errors/d' stderr > t1
sed -e 's/: warning:/:/' t1 > t2
sed -e 's/: error:/:/' t2 > t3
-sed -e 's/ */ /g' t3 > obtained
+sed -e 's/ */ /g' t3 | sort > obtained
diff expected obtained
diff --git a/t/primary-prefix-invalid-couples.tap b/t/primary-prefix-invalid-couples.tap
index 64f11f8..09b332a 100644
-a/t/primary-prefix-invalid-couples.tap
+++ b/t/primary-prefix-invalid-couples.tap
@@ -186,8 +186,10 @@ grep -v 'dir.* not a legitimate directory' stderr && exit 1
# Check that the same failures are present without the '--add-missing'
# option.
mv stderr stderr.old
+cat stderr.old | sort > a
AUTOMAKE_fails -d "automake error out on mismatched prefix/primary couples"
+cat stderr | sort > b
command_ok_ "... and with the same diagnostic of 'automake -a'" \
- diff stderr.old stderr
+ diff a b
:

View File

@ -1,12 +1,12 @@
%global api_version 1.14
%global api_version 1.15
# remove once %%configure is used instead of ./configure
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
Summary: A GNU tool for automatically creating Makefiles
Name: automake
Version: %{api_version}.1
Release: 6%{?dist}
Version: %{api_version}
Release: 1%{?dist}
# docs ~> GFDL, sources ~> GPLv2+, mkinstalldirs ~> PD and install-sh ~> MIT
License: GPLv2+ and GFDL and Public Domain and MIT
@ -20,15 +20,6 @@ Source3: http://git.savannah.gnu.org/cgit/config.git/plain/config.guess
# ~> downstream
Patch0: %{name}-1.13.1-disable-tests.patch
# Something changed in Perl 5.18 and the testsuite started to fail because
# of random looping in hashes items. Upstream will probably start sorting of
# hash items by default for this failing case ~> we just don't resist on its
# order for now (only testsuite change).
# ~> Downstream, but proper fix will be pushed:
# http://lists.gnu.org/archive/html/bug-automake/2013-07/msg00030.html
# ~> http://lists.gnu.org/archive/html/bug-automake/2013-07/msg00022.html
Patch1: %{name}-1.14-hash-order-workaround.patch
URL: http://www.gnu.org/software/automake/
Requires: autoconf >= 2.65
@ -75,7 +66,6 @@ Makefiles.
%prep
%setup -q -n automake-%{version}
%patch0 -p1 -b .disable_tests
%patch1 -p1 -b .hash_order
autoreconf -iv
file=`find -name config.sub | head -1`
@ -123,6 +113,10 @@ fi
%{_mandir}/man1/*
%changelog
* Tue Jan 06 2015 Pavel Raiskup <praiskup@redhat.com> - 1.15-1
- rebase to new minor version (#1179182)
- update config.{guess,sub} to gnuconfig git HEAD
* Wed Sep 10 2014 Pavel Raiskup <praiskup@redhat.com> - 1.14.1-6
- from now (#991613 is fixed), use %%configure macro together with
disabled %%_configure_gnuconfig_hack

15
config.guess vendored
View File

@ -1,8 +1,8 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright 1992-2014 Free Software Foundation, Inc.
# Copyright 1992-2015 Free Software Foundation, Inc.
timestamp='2014-03-23'
timestamp='2015-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@ -24,12 +24,12 @@ timestamp='2014-03-23'
# program. This Exception is an additional permission under section 7
# of the GNU General Public License, version 3 ("GPLv3").
#
# Originally written by Per Bothner.
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
#
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
#
# Please send patches with a ChangeLog entry to config-patches@gnu.org.
# Please send patches to <config-patches@gnu.org>.
me=`echo "$0" | sed -e 's,.*/,,'`
@ -50,7 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
Copyright 1992-2014 Free Software Foundation, Inc.
Copyright 1992-2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@ -579,8 +579,9 @@ EOF
else
IBM_ARCH=powerpc
fi
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
if [ -x /usr/bin/lslpp ] ; then
IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
else
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi

19
config.sub vendored
View File

@ -1,8 +1,8 @@
#! /bin/sh
# Configuration validation subroutine script.
# Copyright 1992-2014 Free Software Foundation, Inc.
# Copyright 1992-2015 Free Software Foundation, Inc.
timestamp='2014-07-28'
timestamp='2015-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@ -25,7 +25,7 @@ timestamp='2014-07-28'
# of the GNU General Public License, version 3 ("GPLv3").
# Please send patches with a ChangeLog entry to config-patches@gnu.org.
# Please send patches to <config-patches@gnu.org>.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
@ -68,7 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
Copyright 1992-2014 Free Software Foundation, Inc.
Copyright 1992-2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@ -260,7 +260,7 @@ case $basic_machine in
| c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
| epiphany \
| fido | fr30 | frv \
| fido | fr30 | frv | ft32 \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
| i370 | i860 | i960 | ia64 \
@ -302,6 +302,7 @@ case $basic_machine in
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \
| riscv32 | riscv64 \
| rl78 | rx \
| score \
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
@ -312,6 +313,7 @@ case $basic_machine in
| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
| ubicom32 \
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
| visium \
| we32k \
| x86 | xc16x | xstormy16 | xtensa \
| z8k | z80)
@ -326,6 +328,9 @@ case $basic_machine in
c6x)
basic_machine=tic6x-unknown
;;
leon|leon[3-9])
basic_machine=sparc-$basic_machine
;;
m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
basic_machine=$basic_machine-unknown
os=-none
@ -436,6 +441,7 @@ case $basic_machine in
| ubicom32-* \
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
| vax-* \
| visium-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \
@ -773,6 +779,9 @@ case $basic_machine in
basic_machine=m68k-isi
os=-sysv
;;
leon-*|leon[3-9]-*)
basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
;;
m68knommu)
basic_machine=m68k-unknown
os=-linux

View File

@ -1 +1 @@
7fc29854c520f56b07aa232a0f880292 automake-1.14.1.tar.xz
9a1ddb0e053474d9d1105cfe39b0c48d automake-1.15.tar.xz

View File

@ -1,86 +0,0 @@
#! /bin/sh
# Copyright (C) 2013 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Check that UID or GID too high for the ustar format are correctly
# rwcognized and diagnosed by configure. See bug#8343 and bug#13588.
. test-init.sh
cat > configure.ac <<END
AC_INIT([$me], [1.0])
AM_INIT_AUTOMAKE([tar-ustar])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
END
: > Makefile.am
run_configure()
{
st=0; ./configure ${1+"$@"} >stdout || st=$?
cat stdout || exit 1
test $st -eq 0 || exit 1
}
checked ()
{
grep "^checking $1\.\.\. $2$" stdout
}
$ACLOCAL
$AUTOCONF
$AUTOMAKE
mkdir bin
cat > bin/id <<'END'
#!/bin/sh -e
case "$*" in
-u) echo "${am_uid-1000}";;
-g) echo "${am_gid-1000}";;
*) echo "id: bad/unexpected usage" >&2; exit 1;;
esac
END
chmod a+x bin/id
PATH=$(pwd)/bin$PATH_SEPARATOR$PATH
# Problematic ID reported in
# <https://bugzilla.redhat.com/show_bug.cgi?id=843376>.
am_uid=16777216; export am_uid
am_gid=1000; export am_gid
run_configure
checked "whether UID '$am_uid' is supported by ustar format" "no"
checked "whether GID '1000' is supported by ustar format" "yes"
checked "how to create a ustar tar archive" "none"
# Another problematic ID reported in
# <https://bugzilla.redhat.com/show_bug.cgi?id=843376>.
am_uid=1000; export am_uid
am_gid=17000000; export am_gid
run_configure
checked "whether UID '1000' is supported by ustar format" "yes"
checked "whether GID '$am_gid' is supported by ustar format" "no"
checked "how to create a ustar tar archive" "none"
# The minimal ID that is too big.
two_to_twentyone=$((32 * 32 * 32 * 32 * 2))
# <https://bugzilla.redhat.com/show_bug.cgi?id=843376>.
am_uid=$two_to_twentyone; export am_uid
am_gid=$two_to_twentyone; export am_gid
run_configure
checked "whether UID '$two_to_twentyone' is supported by ustar format" "no"
checked "whether GID '$two_to_twentyone' is supported by ustar format" "no"
checked "how to create a ustar tar archive" "none"