In gettext's autogen.sh, we use "automake --add-missing --copy" in order
to fetch missing Automake infrastructure.

But there is a pitfall: Once you have added the file to the git checkout
of your package, it will *not* be upgraded when new automake releases are
installed.

Witness: I made a GNU gettext checkout in January 2016, probably with
Automake 1.13 or so. The timestamps of the files are:

build-aux/ar-lib:scriptversion=2012-01-30.22; # UTC
build-aux/compile:scriptversion=2012-01-04.17; # UTC
build-aux/depcomp:scriptversion=2011-12-04.11; # UTC
build-aux/elisp-comp:scriptversion=2010-02-06.18; # UTC
build-aux/install-sh:scriptversion=2011-01-19.21; # UTC
build-aux/mdate-sh:scriptversion=2010-08-21.06; # UTC
build-aux/missing:scriptversion=2012-01-06.13; # UTC
build-aux/mkinstalldirs:scriptversion=2005-06-29.22
build-aux/test-driver:scriptversion=2013-07-13.22; # UTC
build-aux/ylwrap:scriptversion=2011-08-25.18; # UTC

After running "./autogen.sh" with Automake 1.15, they are unchanged!

In libiconv or libsigsegv, this way, I got script files that were 7 years old.
The 'missing' program was complaining about invalid arguments, and so on.

Here's the fix: Remove the files before running "automake --add-missing --copy".

diff --git a/autogen.sh b/autogen.sh
index f1a13a5..178371a 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -432,6 +432,9 @@ if ! test -f gettext-tools/misc/archive.dir.tar; then
   test $retval -eq 0 || exit $retval
 fi
 
+## Make sure we get new versions of files brought in by automake.
+#(cd build-aux && rm -f ar-lib compile depcomp install-sh mdate-sh missing 
test-driver)
+
 # Generate configure script in each subdirectories.
 dir0=`pwd`
 


Reply via email to