From: Stefano Lattarini Date: Sat, 30 Jun 2012 19:32:20 +0000 (+0200) Subject: Merge branch 'maint' X-Git-Tag: v1.12b~95 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e18ac4b80c7817b124880f007ba1c796f8ac9794;hp=-c;p=platform%2Fupstream%2Fautomake.git Merge branch 'maint' * maint: parallel-tests: "recheck" behaves better in case of compilation failures scripts: quote 'like this', not `like this' Signed-off-by: Stefano Lattarini --- e18ac4b80c7817b124880f007ba1c796f8ac9794 diff --combined NEWS index 54acc7a,0b3004e..1612a36 --- a/NEWS +++ b/NEWS @@@ -1,31 -1,29 +1,31 @@@ -New in 1.12.2: +New in 1.13: -* WARNING: Future backward-incompatibilities! +* Version requirements: - - Future versions of Automake will likely drop support for the - long-deprecated 'configure.in' name for the Autoconf input file. - You are advised to use the recommended name 'configure.ac' instead. + - Autoconf 2.65 or greater is required. - - Autoconf 2.65 or later will be required by the next major Automake - version (1.13). Until now, Automake has required Autoconf version - 2.62 or later. + - The rules to build PDF and DVI output from Texinfo input now + requires Texinfo 4.9 or later. - - Starting from the next major Automake version (1.13), the rules to - build pdf, ps and dvi output from Texinfo input will use the '--tidy' - option by default. Since such an option was introduced in Texinfo - 4.9, this means that Makefiles generated by future Automake versions - will require at least that version of Texinfo. +* Obsolete features removed: - - Starting from the next major Automake version (1.13), the parallel - testsuite harness (previously only enabled by the 'parallel-tests' - option) will become the default one; the older serial testsuite - harness will still be available through the use of the 'serial-tests' - option. + - Use of the long-deprecated two- and three-arguments invocation forms + of the AM_INIT_AUTOMAKE is not supported anymore. + + - Support for the "Cygnus-style" trees (once enabled by the 'cygnus' + option) has been removed. See discussion about automake bug#11034 + for more background. - - The following long-obsolete m4 macros will be removed in the - next major Automake version (1.13): + - The automake-provided $(mkdir_p) make variable, @mkdir_p@ configure + time substitution and AM_PROG_MKDIR m4 macro have been removed. They + had been obsolete since automake 1.10, and actively deprecated since + Automake 1.12.1. + + - The deprecated aclocal option '--acdir' has been removed. You + should use the options '--automake-acdir' and '--system-acdir' + instead (which have been introduced in Automake 1.11.2). + + - The following long-obsolete m4 macros have been removed: AM_PROG_CC_STDC: superseded by AC_PROG_CC since October 2002 fp_PROG_CC_STDC: broken alias for AM_PROG_CC_STDC @@@ -39,74 -37,18 +39,74 @@@ of the now-removed automatic de-ANSI-fication support of Automake) - - All the "old alias" macros in 'm4/obsolete.m4' will be removed in - the next major Automake version (1.13). + - All the "old alias" macros in 'm4/obsolete.m4' have been removed. + +* Changes to Automake-generated testsuite harnesses: + + - The parallel testsuite harness (previously only enabled by the + 'parallel-tests' option) is the default one; the older serial + testsuite harness will still be available through the use of the + 'serial-tests' option (introduced in Automake 1.12). + +* Silent rules support: + + - Support for silent rules is now always active in Automake-generated + Makefiles. So, although the verbose output is still the default, + the user can now always use "./configure --enable-silent-rules" or + "make V=0" to enable quieter output in the package he's building. + + - The 'silent-rules' option has now become a no-op, preserved for + backward-compatibility only. In particular, its use does not disable + the warnings in the 'portability-recursive' category anymore. + +* Texinfo Support: + + - The rules to build PDF and DVI files from Texinfo input now use the + ' --build-dir' option, to keep the auxiliary files used by texi2dvi + and texi2pdf around without cluttering the build directory, and to + make it possible to run the "dvi" and "pdf" recipes in parallel. + +* Automatic remake rules and 'missing' script: + + - The 'missing' script does not try anymore to update the timestamp + of out-of-date files that require a maintainer-specific tool to be + remade, in case the user lacks such a tool (or has a too-old version + of it). It just give a useful warning, and in some cases also a tip + about how to obtain such a tool. + + - The missing script has thus become useless as a (poor) way to work + around the sketched-timestamps issues that can happen for projects + that keep generated files committed in their VCS repository. Such + projects are now encouraged to write a custom "fix-timestamps.sh" + script to avoid such issues; a simple example is provided in the + "CVS and generated files" chapter of the automake manual. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +New in 1.12.2: + +* WARNING: Future backward-incompatibilities! + + - Future versions of Automake will likely drop support for the + long-deprecated 'configure.in' name for the Autoconf input file. + You are advised to use the recommended name 'configure.ac' instead. + + - Starting from the next major Automake version (1.13), the rules to + build pdf, ps and dvi output from Texinfo input will use the '--tidy' + option by default. Since such an option was introduced in Texinfo + 4.9, this means that Makefiles generated by future Automake versions + will require at least that version of Texinfo. + + - Starting from the next major Automake version (1.13), the parallel + testsuite harness (previously only enabled by the 'parallel-tests' + option) will become the default one; the older serial testsuite + harness will still be available through the use of the 'serial-tests' + option. - Support for the two- and three-arguments invocation forms of the AM_INIT_AUTOMAKE macro will be deprecated in the next minor version of Automake (1.12.1) and removed in the next major version (1.13). - - The '--acdir' option of aclocal is deprecated, and will probably - be removed in the next major Automake release (1.13). You should - use the options '--automake-acdir' and '--system-acdir' instead - (which have been introduced in Automake 1.11.2). - - The exact order in which the directories in the aclocal macro search path are looked up is probably going to be changed in the next Automake release (1.13). @@@ -140,6 -82,16 +140,16 @@@ to a shell conditional that can be used in recipes to know whether make is being run in silent or verbose mode. + Bugs fixed in 1.12.2: + + * Long-standing bugs: + + - The "recheck" targets behaves better in the face of build failures + related to previously failed tests. For example, if a test is a + compiled program that must be rerun by "make recheck", and its + compilation fails, it will still be rerun by further "make recheck" + invocations. See automake bug#11791. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ New in 1.12.1: diff --combined lib/am/check.am index ad970ad,6816398..ac3dc44 --- a/lib/am/check.am +++ b/lib/am/check.am @@@ -46,7 -46,7 +46,7 @@@ endif !%?COLOR .PHONY: check-TESTS -if %?PARALLEL_TESTS% +if !%?SERIAL_TESTS% include inst-vars.am @@@ -418,7 -418,7 +418,7 @@@ check-TESTS recheck ## cannot use '$?' to compute the set of lazily rerun tests, lest ## we rely on .PHONY to work portably. @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @$(am__set_TESTS_bases); \ + @set +e; $(am__set_TESTS_bases); \ if test $@ = recheck; then \ ## If running a "make recheck", we must only consider tests that had an ## unexpected outcome (FAIL or XPASS) in the earlier run. @@@ -434,15 -434,42 +434,42 @@@ ## be problematic. In this particular case, trailing white space is known ## to have caused segmentation faults on Solaris 10 XPG4 make: log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - ## Under "make recheck", remove the .log and .trs files associated - ## with the files to recheck, so that those will be rerun by the - ## "make test-suite.log" recursive invocation below. But use a proper - ## hack to avoid extra files removal when running under "make -n". + ## Under "make recheck", move the '.log' and '.trs' files associated + ## with the tests to be re-run out of the way, so that those tests will + ## be re-run by the "make test-suite.log" recursive invocation below. + ## Two tricky requirements: + ## - we must avoid extra files removal when running under "make -n"; + ## - in case the test is a compiled program whose compilation fails, + ## we must ensure that any '.log' and '.trs' file referring to such + ## test are preserved, so that future "make recheck" invocations + ## will still try to re-compile and re-run it (automake bug#11791). + ## The extra contortions below cater to such requirements. + am_backupdir=.am-recheck; \ if test $@ != recheck || $(am__make_dryrun); then :; else \ - test -z "$$log_list" || rm -f $$log_list; \ - test -z "$$trs_list" || rm -f $$trs_list; \ + if test -n "$$trs_list$$log_list"; then \ + { test ! -d $$am_backupdir || rm -rf $$am_backupdir; } \ + && $(MKDIR_P) $$am_backupdir || exit 1; \ + test -z "$$log_list" \ + || mv -f $$log_list $$am_backupdir 2>/dev/null; \ + test -z "$$trs_list" \ + || mv -f $$trs_list $$am_backupdir 2>/dev/null; \ + fi; \ + fi; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ + st=$$?; \ + if test $@ != recheck || $(am__make_dryrun) || test ! -d $$am_backupdir; then :; else \ + for f in $$log_list $$trs_list; do \ + test -f $$f || mv $$am_backupdir/$$f . || exit 1; \ + done; \ + rm -rf $$am_backupdir || exit 1; \ fi; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list" + ## Be sure to exit with the proper exit status. The use of "exit" below + ## is required to work around a FreeBSD make bug (present only when + ## running in concurrent mode). See automake bug#9245: + ## + ## and FreeBSD PR bin/159730: + ## . + exit $$st; ## Recheck must depend on $(check_SCRIPTS), $(check_PROGRAMS), etc. ## It must also depend on the 'all' target. See automake bug#11252. @@@ -452,9 -479,7 +479,9 @@@ AM_RECURSIVE_TARGETS += check rechec .PHONY: recheck -else !%?PARALLEL_TESTS% +else %?SERIAL_TESTS% + +## Obsolescent serial testsuite driver. check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; \ @@@ -560,4 -585,4 +587,4 @@@ test "$$failed" -eq 0; \ else :; fi -endif !%?PARALLEL_TESTS% +endif %?SERIAL_TESTS% diff --combined lib/test-driver index e70a930,aba4d1d..53e19b8 --- a/lib/test-driver +++ b/lib/test-driver @@@ -1,7 -1,7 +1,7 @@@ #! /bin/sh -# test-driver - basic driver script for the 'parallel-tests' mode. +# test-driver - basic testsuite driver script. - scriptversion=2012-05-18.16; # UTC + scriptversion=2012-06-27.10; # UTC # Copyright (C) 2011-2012 Free Software Foundation, Inc. # @@@ -45,7 -45,7 +45,7 @@@ Usage test-driver --test-name=NAME --log-file=PATH --trs-file=PATH [--expect-failure={yes|no}] [--color-tests={yes|no}] [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT - The \`--test-name', \`--log-file' and \`--trs-file' options are mandatory. + The '--test-name', '--log-file' and '--trs-file' options are mandatory. END } @@@ -74,7 -74,7 +74,7 @@@ while test $# -gt 0; d done if test $color_tests = yes; then - # Keep this in sync with `lib/am/check.am:$(am__tty_colors)'. + # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'. red='' # Red. grn='' # Green. lgn='' # Light green. diff --combined t/list-of-tests.mk index e5c08a2,852b87a..7cdc05c --- a/t/list-of-tests.mk +++ b/t/list-of-tests.mk @@@ -109,7 -109,6 +109,7 @@@ t/aclocal-install-fail.sh t/aclocal-install-mkdir.sh \ t/aclocal-no-install-no-mkdir.sh \ t/aclocal-verbose-install.sh \ +t/aclocal-autoconf-version-check.sh \ t/ac-output-old.tap \ t/acsilent.sh \ t/acsubst.sh \ @@@ -124,7 -123,7 +124,7 @@@ t/alpha2.sh t/amhello-cflags.sh \ t/amhello-cross-compile.sh \ t/amhello-binpkg.sh \ -t/aminit-moreargs-deprecation.sh \ +t/aminit-moreargs-no-more.sh \ t/amassign.sh \ t/am-macro-not-found.sh \ t/amopt.sh \ @@@ -159,6 -158,7 +159,6 @@@ t/autodist-configure-no-subdir.sh t/autodist-no-duplicate.sh \ t/autodist-stamp-vti.sh \ t/autohdr.sh \ -t/autohdr2.sh \ t/autohdr3.sh \ t/autohdr4.sh \ t/autohdrdry.sh \ @@@ -172,7 -172,12 +172,7 @@@ t/auxdir-computed.tap t/auxdir-misplaced.sh \ t/auxdir-nonexistent.sh \ t/auxdir-unportable.tap \ -t/backcompat.sh \ -t/backcompat2.sh \ -t/backcompat3.sh \ -t/backcompat4.sh \ -t/backcompat5.sh \ -t/backcompat6.sh \ +t/backcompat-acout.sh \ t/backsl.sh \ t/backsl2.sh \ t/backsl3.sh \ @@@ -215,6 -220,7 +215,6 @@@ t/check-no-test-driver.sh t/check-concurrency-bug9245.sh \ t/checkall.sh \ t/clean.sh \ -t/clean2.sh \ t/colneq.sh \ t/colneq2.sh \ t/colneq3.sh \ @@@ -333,7 -339,13 +333,7 @@@ t/cxxlibobj.sh t/cxxlink.sh \ t/cxxnoc.sh \ t/cxxo.sh \ -t/cygnus-deprecation.sh \ -t/cygnus-check-without-all.sh \ -t/cygnus-dependency-tracking.sh \ -t/cygnus-imply-foreign.sh \ -t/cygnus-no-dist.sh \ -t/cygnus-no-installinfo.sh \ -t/cygnus-requires-maintainer-mode.sh \ +t/cygnus-no-more.sh \ t/cygwin32.sh \ t/dash.sh \ t/defun.sh \ @@@ -657,6 -669,7 +657,6 @@@ t/makevars.sh t/man.sh \ t/man2.sh \ t/man3.sh \ -t/man4.sh \ t/man5.sh \ t/man6.sh \ t/man7.sh \ @@@ -667,10 -680,15 +667,10 @@@ t/mdate3.sh t/mdate4.sh \ t/mdate5.sh \ t/mdate6.sh \ -t/missing.sh \ -t/missing2.sh \ +t/missing-version-mismatch.sh \ t/missing3.sh \ -t/missing4.sh \ -t/missing5.sh \ -t/missing6.sh \ t/am-missing-prog.sh \ t/missing-auxfile-stops-makefiles-creation.sh \ -t/mkdirp-deprecation.sh \ t/mkinstall.sh \ t/mkinst2.sh \ t/mkinst3.sh \ @@@ -683,6 -701,7 +683,6 @@@ t/nobase.sh t/nobase-libtool.sh \ t/nobase-python.sh \ t/nobase-nodist.sh \ -t/nodef.sh \ t/nodef2.sh \ t/nodep.sh \ t/nodep2.sh \ @@@ -706,6 -725,7 +706,6 @@@ t/objcxx-flags.sh t/objcxx-deps.sh \ t/objc-megademo.sh \ t/objext-pr10128.sh \ -t/obsolete.sh \ t/oldvars.sh \ t/order.sh \ t/output.sh \ @@@ -739,6 -759,7 +739,7 @@@ t/parallel-tests8.sh t/parallel-tests9.sh \ t/parallel-tests10.sh \ t/parallel-tests-recheck-depends-on-all.sh \ + t/parallel-tests-recheck-pr11791.sh \ t/parallel-tests-exeext.sh \ t/parallel-tests-suffix.sh \ t/parallel-tests-suffix-prog.sh \ @@@ -928,7 -949,6 +929,7 @@@ t/remake-deleted-am-2.sh t/remake-deleted-am-subdir.sh \ t/remake-deleted-am.sh \ t/remake-renamed-am.sh \ +t/remake-aclocal-version-mismatch.sh \ t/pr8365-remake-timing.sh \ t/req.sh \ t/reqd.sh \ @@@ -960,12 -980,15 +961,12 @@@ t/silent6.sh t/silent7.sh \ t/silent8.sh \ t/silent9.sh \ -t/silent-obsolescent-warns.sh \ t/silentcxx.sh \ t/silentcxx-gcc.sh \ t/silentf77.sh \ t/silentf90.sh \ -t/silent-amopts.sh \ t/silent-many-gcc.sh \ t/silent-many-generic.sh \ -t/silent-nowarn.sh \ t/silent-configsite.sh \ t/silent-nested-vars.sh \ t/silent-lex.sh \ @@@ -1155,6 -1178,8 +1156,6 @@@ t/txinfo.sh t/txinfo2.sh \ t/txinfo3.sh \ t/txinfo4.sh \ -t/txinfo5.sh \ -t/txinfo5b.sh \ t/txinfo6.sh \ t/txinfo7.sh \ t/txinfo8.sh \ @@@ -1174,6 -1199,7 +1175,6 @@@ t/txinfo26.sh t/txinfo27.sh \ t/txinfo28.sh \ t/txinfo29.sh \ -t/txinfo30.sh \ t/txinfo31.sh \ t/txinfo32.sh \ t/txinfo33.sh \ @@@ -1205,6 -1231,8 +1206,6 @@@ t/vars3.sh t/vartar.sh \ t/vartypos.sh \ t/vartypo2.sh \ -t/version.sh \ -t/version2.sh \ t/version3.sh \ t/version4.sh \ t/version6.sh \