From: Stefano Lattarini Date: Tue, 20 Dec 2011 13:14:08 +0000 (+0100) Subject: Merge branch 'maint' X-Git-Tag: ng-0.5a~93 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c5f878aba841b360f499cf528a60ec49064fa269;p=thirdparty%2Fautomake.git Merge branch 'maint' * maint: test defs: hack to support autoconf-wrapper programs tests: fix a minor spurious failure with FreeBSD make tests: make two test scripts executable readme: reference webpages for automake mailing lists readme: update advice about testsuite execution readme: don't reference the old homepage at sources.redhat.com hacking: some more fixlets * NEWS: Fix typo in 'make dist-bzip2' description. release: don't run "make distcheck" automatically hacking: update on-line documentation for stable releases only hacking: described release procedure applies to beta releases too readme: the documentation is production quality now hacking: tell about platform-testers mailing list hacking: we don't use sources.redhat.com anymore hacking: miscellaneous minor fixes --- c5f878aba841b360f499cf528a60ec49064fa269 diff --cc ChangeLog index 228a48cc3,9f9b3cc46..cff870716 --- a/ChangeLog +++ b/ChangeLog @@@ -1,3 -1,83 +1,83 @@@ + 2011-12-16 Stefano Lattarini + + test defs: hack to support autoconf-wrapper programs - * tests/defs.in ($AUTOCONF): Add a dummy `-B' option to the - autoconf invocation, so that, when the Debian autoconf wrapper - is involved, it will correctly dispatch an autoconf >= 2.50 - instead of defaulting to autoconf 2.13. ++ * tests/defs-static.in ($AUTOCONF): Add a dummy `-B' option to the ++ autoconf invocation, so that, when the Debian autoconf wrapper is ++ involved, it will correctly dispatch an autoconf >= 2.50 instead of ++ defaulting to autoconf 2.13. + ($AUTOHEADER, $AUTORECONF): Likewise, but for autoheader and + autoreconf respectively. + Reported by Bruno Haible: + + + 2011-12-16 Stefano Lattarini + + tests: fix a minor spurious failure with FreeBSD make + * tests/remake-am-pr10111.test: Avoid using `#' comments in + makefile recipes, as these have been confusing FreeBSD make. + The failure was masked by the fact that this test is currently + expected to fail. + Suggested by a report from Bruno Haible. + + 2011-12-16 Stefano Lattarini + + tests: make two test scripts executable + * tests/remake-am-pr10111.test: Make executable. + * tests/remake-m4-pr10111.test: Likewise. + + 2011-12-14 Stefano Lattarini + + readme: reference webpages for automake mailing lists + * README: Rationalize and reorganize the (brief) description of + the automake mailing lists. In particular, instead of suggesting + the reader to write to the `-request' addresses to subscribe to + mailing lists, point him to the relevant webpages, where he can + also subscribe via a web form. + + 2011-12-14 Stefano Lattarini + + readme: update advice about testsuite execution + * README: Now that the automake testsuite uses the parallel-tests + driver, there is no need for the user to capture the stdout of + "make check" to determine which tests have failed: a detailed log + is automatically saved into the `tests/test-suite.log' file. + Since we are at it, improve the wording by dropping an extra + "please". + + 2011-12-14 Stefano Lattarini + + readme: don't reference the old homepage at sources.redhat.com + * README: Don't reference the old homepage at sources.redhat.com, + which is no longer active; reference the homepage on www.gnu.org + instead. See also automake bug#10157 and bug#10248. + * tests/README: Likewise, and remove related extra-pedantic advice + about copyright papers for test cases (we'll ask for those papers + explicitly when we think they are warranted). + + 2011-12-12 Stefano Lattarini + + hacking: some more fixlets + * HACKING (Release Procedure): Place the list of pre-release + bootstrap-and-test commands on a line of its own, so it's easy to + select and then paste it into a terminal window. + Fix the explanation of "make git-release", as, since the previous + change, "make git-release" would simply run "make dist" rather + than "make distcheck". + Suggestion from Jim Meyering. + + 2011-12-12 Peter Rosin + + * NEWS: Fix typo in 'make dist-bzip2' description. + + 2011-12-10 Stefano Lattarini + + release: don't run "make distcheck" automatically + * Makefile.am (git-dist): The developers should test extensively + before finally creating the release tarball; so don't run "make + distcheck" on their behalf here; instead ... + * HACKING (Release procedure): ... state here that "make check" + and "make distcheck" should be run before calling "make git-dist". + 2011-12-09 Jim Meyering Stefano Lattarini diff --cc Makefile.in index ac04a36da,304535344..e316d3fd3 --- a/Makefile.in +++ b/Makefile.in @@@ -1380,8 -1256,8 +1380,8 @@@ git-dist: maintainer-chec echo "NEWS not updated; not releasing" 1>&2; \ exit 1; \ fi - $(MAKE) $(AM_MAKEFLAGS) distcheck + $(MAKE) $(AM_MAKEFLAGS) dist - cd $(srcdir) && git commit -a -s && \ + $(am__cd) $(srcdir) && git commit -a -s && \ git tag -s "v$(VERSION)" -m "Release $(VERSION)" git-release: git-dist diff --cc NEWS index da9af0808,46803a744..9db43aad4 --- a/NEWS +++ b/NEWS @@@ -37,30 -30,8 +37,30 @@@ New in 1.11a - You may adjust the compression options used in dist-xz and dist-bzip2. The default is now merely -e for xz, but still -9 for bzip; you may specify a different level via the XZ_OPT and BZIP2 envvars respectively. - E.g., "make dist-xz XZ_OPT=-7" or "make dist-xz BZIP2=-5" + E.g., "make dist-xz XZ_OPT=-7" or "make dist-bzip2 BZIP2=-5" + - Messages of types warning or error from `automake' and `aclocal' are now + prefixed with the respective type, and presence of -Werror is noted. + + - The `compile' script now converts some options for MSVC for a better + user experience. Similarly, the new `ar-lib' script wraps Microsoft lib. + + - Automake's early configure-time sanity check now tries to avoid sleeping + for a second, which slowed down cached configure runs noticeably. In that + case, it will check back at the end of the configure script to ensure that + at least one second has passed, to avoid time stamp issues with makefile + rules rerunning autotools programs. + + - For programs and libraries, automake now detects EXTRA_foo_DEPENDENCIES and + adds them to the normal list of dependencies, but without overwriting the + foo_DEPENDENCIES variable, which is normally computed by automake. + + - C source and header files derived from non-distributed Yacc sources are + now removed by "make clean", not only by "make maintainer-clean". + + - The `compile' script now converts some options for MSVC for a better + user experience. Similarly, the new `ar-lib' script wraps Microsoft lib. + - The py-compile script now accepts empty arguments passed to the options `--destdir' and `--basedir', and complains about unrecognized options. Moreover, a non-option argument or a special `--' argument terminates diff --cc tests/defs-static.in index 618e69660,000000000..ce8a4cbe8 mode 100644,000000..100644 --- a/tests/defs-static.in +++ b/tests/defs-static.in @@@ -1,153 -1,0 +1,163 @@@ +# -*- shell-script -*- +# @configure_input@ +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 . + +# Defines and minimal setup for Automake testing environment. +# Multiple inclusions of this file should be idempotent! +# This code needs to be 'set -e' clean. + +# Be more Bourne compatible. +# (Snippet inspired to configure's initialization in Autoconf 2.64) +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST + # If Zsh is not started directly in Bourne-compatibility mode, it has + # some incompatibilities in the handling of `$0' that conflict with + # our usage: i.e., `$0' inside a file sourced with the `.' builtin is + # temporarily set to the name of the sourced file. + # Work around this when possible, otherwise abort the script. + # Note that a bug in some versions of Zsh prevents us from resetting $0 + # in a sourced script, so the use of $argv0. For more info see: + # + # Note: the apparently useless 'eval' below are needed by at least + # dash 0.5.2, to prevent it from bailing out with an error like + # "Syntax error: Bad substitution" + if eval '[[ "$0" = *."test" ]]'; then + # Good, FUNCTION_ARGZERO option was already off when this file was + # sourced. Thus we've nothing to do. + argv0=$0 + elif eval 'test -n "${functrace[-1]}"'; then + # FUNCTION_ARGZERO option was on, but we have a easy workaround. + eval 'argv0=${functrace[-1]%:*}' + else + # Give up. + echo "$0: cannot determine the path of running test script" >&2 + echo "$0: test was running with Zsh version $ZSH_VERSION" >&2 + echo "$0: did you enable the NO_FUNCTION_ARGZERO option?" >&2 + exit 99 + fi +else + argv0=$0 + # Avoid command substitution failure, for Tru64 sh -e and instspc*.test. + case `(set -o) 2>/dev/null || :` in *posix*) set -o posix;; esac +fi + +# Check that the environment is properly sanitized. +# Having variables exported to the empty string is OK, since our code +# treats such variables as if they were unset. +for var in me required parallel_tests original_AUTOMAKE original_ACLOCAL; do + if eval "test x\"\$$var\" != x" && env | grep "^$var=" >/dev/null; then + echo "$argv0: variable \`$var' is set in the environment:" \ + "this is unsafe" >&2 + exit 99 + fi +done +unset var + +testsrcdir='@abs_srcdir@' +top_testsrcdir='@abs_top_srcdir@' +testbuilddir='@abs_builddir@' +testprefix='@prefix@' + +APIVERSION='@APIVERSION@' +PATH_SEPARATOR='@PATH_SEPARATOR@' + +# Make sure we override the user shell. +SHELL='@SHELL@'; export SHELL +# User can override various tools used. +test -z "$PERL" && PERL='@PERL@' +test -z "$MAKE" && MAKE=make +test -z "$AUTOCONF" && AUTOCONF="@am_AUTOCONF@" +test -z "$AUTOM4TE" && AUTOM4TE="@am_AUTOM4TE@" +test -z "$AUTORECONF" && AUTORECONF="@am_AUTORECONF@" +test -z "$AUTOHEADER" && AUTOHEADER="@am_AUTOHEADER@" +test -z "$AUTOUPDATE" && AUTOUPDATE="@am_AUTOUPDATE@" +test -z "$MISSING" && MISSING=$top_testsrcdir/lib/missing + +# Use -Werror because this also turns some Perl warnings into error. +# Tests for which this is inappropriate should use -Wno-error. +# Tests who want complete control over aclocal command-line options +# should use $original_ACLOCAL. +# Note: the first `test -z' conditional below is to ensure defs-static +# really remains idempotent. +if test -z "$original_ACLOCAL"; then + original_ACLOCAL=${ACLOCAL-"aclocal-$APIVERSION"} +fi +test -z "$ACLOCAL" && ACLOCAL="aclocal-$APIVERSION -Werror" + +# See how Automake should be run. We put --foreign as the default +# strictness to avoid having to create lots and lots of files. A test +# can override this by specifying a different strictness. Use -Wall +# -Werror by default. Tests for which this is inappropriate (e.g. when +# testing that a warning is enabled by a specific switch) should use +# -Wnone or/and -Wno-error. Tests who want complete control over +# automake command-line options should use $original_AUTOMAKE. +# Note: the first `test -z' conditional below is to ensure defs-static +# really remains idempotent. +if test -z "$original_AUTOMAKE"; then + original_AUTOMAKE=${AUTOMAKE-"automake-$APIVERSION"} +fi +test -z "$AUTOMAKE" && AUTOMAKE="automake-$APIVERSION --foreign -Werror -Wall" + ++# This is a hack to seamlessly support the infamous "autoconf wrappers", ++# that might dispatch different autoconf versions depending on the name ++# of the input files and/or the command-line options used. See: ++# ++# FIXME: in the long run, the better fix will be to convert our testsuite ++# to use `configure.ac' instead of `configure.in' as autoconf input. ++AUTOCONF="$AUTOCONF -B /no/such/dir" ++AUTOM4TE="$AUTOM4TE -B /no/such/dir" ++AUTORECONF="$AUTORECONF -B /no/such/dir" ++ +# POSIX no longer requires 'egrep' and 'fgrep', +# but some hosts lack 'grep -E' and 'grep -F'. +EGREP='@EGREP@' +FGREP='@FGREP@' + +# No all versions of Tex support `--version', so we use a configure +# check to decide if tex is available. This decision is embodied in +# this variable. +TEX='@TEX@' + +# Whether /bin/sh has working 'set -e' with exit trap. +sh_errexit_works='@sh_errexit_works@' + +# The amount we should wait after modifying files depends on the platform. +# For instance, Windows '95, '98 and ME have 2-second granularity +# and can be up to 3 seconds in the future w.r.t. the system clock. +sleep='sleep @MODIFICATION_DELAY@' + +# An old timestamp that can be given to a file, in "touch -t" format. +# The time stamp should be portable to all file systems of interest. +# Just for fun, choose the exact time of the announcement of the GNU project +# in UTC; see . +old_timestamp=198309271735.59 + +# Make our wrapper scripts accessible by default. And avoid to uselessly +# extend $PATH multiple times if this file is sourced multiple times. +case $PATH in + "$testbuilddir$PATH_SEPARATOR"*) ;; + *) PATH="$testbuilddir$PATH_SEPARATOR$PATH";; +esac +export PATH