automake-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.12.1-109


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.12.1-109-g5197aba
Date: Fri, 06 Jul 2012 22:24:36 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=5197aba1d5e1895c28d66703b0b407c991f608fb

The branch, maint has been updated
       via  5197aba1d5e1895c28d66703b0b407c991f608fb (commit)
       via  2d1f1043e900a746f57c34467d4de8b48e4efc8b (commit)
       via  a5edf3d61c28f0c9702dd012bf8d0623310e19c5 (commit)
       via  cca426348a05caf190c3ef60f2f54d1a590b4459 (commit)
       via  2634d5d8ba99a52023f25bb6ea6b038f76e55a7f (commit)
      from  fc21a888343751b9fbd2bc35fe1ffc96f4f310f2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 5197aba1d5e1895c28d66703b0b407c991f608fb
Author: Stefano Lattarini <address@hidden>
Date:   Fri Jul 6 23:42:11 2012 +0200

    cosmetics: rename t/ax/test-runner => t/ax/runtest
    
    The latter is shorter and clearer.  Better to do the rename early,
    before other developers or contributors begin to get used to the
    'test-runner' name.
    
    * t/ax/test-runner.in: Rename ...
    * t/ax/runtest.in: ... like this.
    * Makefile.am, t/README, .gitignore: Adjust.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 2d1f1043e900a746f57c34467d4de8b48e4efc8b
Author: Stefano Lattarini <address@hidden>
Date:   Fri Jul 6 23:22:03 2012 +0200

    fixup: another "make recheck" failure with BSD make
    
    * t/parallel-tests-log-override-recheck.sh: Here, add a proper $sleep
    before calling "make recheck".  This should ideally have been done
    in the earlier commit 'v1.12.1-100-g19d84bc', but it somehow slipped
    through the cracks.
    * t/test-metadata-recheck.sh: Likewise.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit a5edf3d61c28f0c9702dd012bf8d0623310e19c5
Author: Stefano Lattarini <address@hidden>
Date:   Fri Jul 6 22:17:59 2012 +0200

    test runner: work correctly in VPATH setups
    
    Due to a "feature" of AC_CONFIG_FILES, because 't/ax/test-runner.in'
    is in a subdirectory, the '@srcdir@' value that is AC_SUBST'd in it
    gets tweaked to contain as much '..' components as are the directory
    components of 't/ax/test-runner'.  Because our build system operates
    in a non-recursive setup, this substitution is wrong; for example,
    the final 't/ax/test-runner' build in a VPATH builds where the source
    directory is ".." contains the line:
    
        : ${srcdir='../../../t/ax'}
    
    instead of the expected (and correct):
    
        : ${srcdir='../t/ax'}
    
    We solve the issue by building 't/ax/test-runner' with a Makefile
    recipe instead of config.status substitutions; this is already done
    for other testsuite-related files, like 'defs-static'.
    
    * configure.ac (AC_CONFIG_FILES): Don't build 't/ax/test-runner'
    anymore.
    * Makefile.am (t/ax/test-runner): New rule.
    (EXTRA_DIST): Add 't/ax/test-runner.in'.
    (CLEANFILES, noinst_SCRIPTS): Add 't/ax/test-runner'.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit cca426348a05caf190c3ef60f2f54d1a590b4459
Author: Stefano Lattarini <address@hidden>
Date:   Fri Jul 6 10:12:30 2012 +0200

    compat: automake should define $(mkdir_p), for backward compatibility
    
    That has been unwittingly broken by commit 'v1.12-19-g7a1eb9f'
    of 2012-04-28, "AM_PROG_MKDIR_P: deprecate, to be removed in
    Automake 1.13".
    
    Report from Benoit Sigoure and Diego Elio Pattenò:
    <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
    
    * lib/am/header-vars.am (mkdir_p): Define as an alias for $(MKDIR_P).
    * t/list-of-tests.mk (XFAIL_TESTS): Remove 't/mkdir_p.sh'.
    * NEWS: Update.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 2634d5d8ba99a52023f25bb6ea6b038f76e55a7f
Author: Stefano Lattarini <address@hidden>
Date:   Fri Jul 6 09:59:23 2012 +0200

    coverage: test that AM_PROG_MKDIR_P and $(mkdir_p) still works
    
    They are deprecated, but should continue to work in the 1.12.x
    release series.  Report from Benoit Sigoure and Diego Elio Pattenò:
    <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
    
    * t/mkdirp-deprecation.sh: Enhance.
    * t/mkdir_p.sh: New test, check that AM_INIT_AUTOMAKE still defines
    the $(mkdir_p) make variable.  Currently xfailing.
    * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add the new
    test.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

-----------------------------------------------------------------------

Summary of changes:
 .gitignore                                    |    2 +-
 Makefile.am                                   |   11 +++++++
 NEWS                                          |   17 +++++++++++-
 configure.ac                                  |    1 -
 lib/am/header-vars.am                         |    5 +++
 t/README                                      |    8 +++---
 t/ax/{test-runner.in => runtest.in}           |    0
 t/list-of-tests.mk                            |    1 +
 t/{dist-included-parent-dir.sh => mkdir_p.sh} |   32 +++++++++++-----------
 t/mkdirp-deprecation.sh                       |   36 ++++++++++++++++++++----
 t/parallel-tests-log-override-recheck.sh      |    2 +
 t/test-metadata-recheck.sh                    |    1 +
 12 files changed, 87 insertions(+), 29 deletions(-)
 rename t/ax/{test-runner.in => runtest.in} (100%)
 copy t/{dist-included-parent-dir.sh => mkdir_p.sh} (66%)

diff --git a/.gitignore b/.gitignore
index 2b9edac..4eec957 100644
--- a/.gitignore
+++ b/.gitignore
@@ -37,7 +37,7 @@
 /t/wrap/automake-1.*
 /defs-static
 /t/testsuite-part.am
-/t/ax/test-runner
+/t/ax/runtest
 /t/*-w.tap
 /t/*-w.sh
 /t/depcomp-*.tap
diff --git a/Makefile.am b/Makefile.am
index f55f6fb..9ef2f48 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -400,6 +400,17 @@ defs-static: defs-static.in Makefile
 EXTRA_DIST += defs-static.in
 CLEANFILES += defs-static
 
+t/ax/runtest: t/ax/runtest.in Makefile
+       $(AM_V_at)rm -f $@ address@hidden
+       $(AM_V_GEN)in=t/ax/runtest.in \
+         && $(MKDIR_P) t/ax \
+         && $(do_subst) <$(srcdir)/t/ax/runtest.in >address@hidden \
+         && chmod a+x address@hidden
+       $(generated_file_finalize)
+EXTRA_DIST += t/ax/runtest.in
+CLEANFILES += t/ax/runtest
+noinst_SCRIPTS = t/ax/runtest
+
 # If two test scripts have the same basename, they will end up sharing
 # the same log file, leading to all sort of undefined and undesired
 # behaviours.
diff --git a/NEWS b/NEWS
index ee16961..d38554d 100644
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,11 @@ New in 1.12.2:
     long-deprecated 'configure.in' name for the Autoconf input file.
     You are advised to use the recommended name 'configure.ac' instead.
 
+  - The long-obsolete (since automake 1.10) @mkdir_p@ configure-time
+    substitution and AM_PROG_MKDIR m4 macro will be removed in Automake
+    1.13.  The $(mkdir_p) should still remain available for the moment
+    though.
+
   - 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.
@@ -100,6 +105,16 @@ Bugs fixed in 1.12.2:
     compilation fails, it will still be rerun by further "make recheck"
     invocations.  See automake bug#11791.
 
+* Bugs introduced by 1.12.1:
+
+  - Automake generated Makefiles define once again the $(mkdir_p) make
+    variable (simple ans an alias for $(MKDIR_P)), for better backward
+    compatibility.  The '@mkdir_p@' substitution is however not enabled
+    by default anymore; anyone needing it should call the AM_PROG_MKDIR
+    m4 macro explicitly (beware that this macro has been deprecated since
+    the previous Automake release 1.12.1, and will be removed in Automake
+    1.13).
+
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 New in 1.12.1:
@@ -123,7 +138,7 @@ New in 1.12.1:
   - The long-obsolete (since 1.10) automake-provided $(mkdir_p) make
     variable, @mkdir_p@ configure-time substitution and AM_PROG_MKDIR
     m4 macro are deprecated, eliciting a warning in the 'obsolete'
-    category.  They will be removed in the next major version (1.13).
+    category.
 
 * Miscellaneous changes:
 
diff --git a/configure.ac b/configure.ac
index 10fa93d..7d30762 100644
--- a/configure.ac
+++ b/configure.ac
@@ -559,7 +559,6 @@ AC_SUBST([EXEEXT])
 ## ---------------------- ##
 
 AC_CONFIG_FILES([Makefile])
-AC_CONFIG_FILES([t/ax/test-runner], [chmod +x t/ax/test-runner])
 
 AC_CONFIG_LINKS([GNUmakefile:GNUmakefile])
 AC_CONFIG_LINKS([defs:defs])
diff --git a/lib/am/header-vars.am b/lib/am/header-vars.am
index ba4aa0b..c65e08c 100644
--- a/lib/am/header-vars.am
+++ b/lib/am/header-vars.am
@@ -77,6 +77,11 @@ NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
 
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+mkdir_p = $(MKDIR_P)
+
 ## dejagnu.am uses these variables.  Some users might rely on them too.
 ?BUILD?build_triplet = @build@
 ?HOST?host_triplet = @host@
diff --git a/t/README b/t/README
index f96fefe..1039d10 100644
--- a/t/README
+++ b/t/README
@@ -73,10 +73,10 @@ About the tests
   with the '.tap' suffix use the TAP protocol.
 
   If you want to run a test by hand, you should be able to do so using the
-  'test-runner' script:
+  'runtest' script:
 
-      ./t/ax/test-runner t/nogzip.sh
-      ./t/ax/test-runner t/add-missing.tap
+      ./t/ax/runtest t/nogzip.sh
+      ./t/ax/runtest t/add-missing.tap
 
   This will run the test using the correct shell, and should also work in
   VPATH builds.  Note that, to run the TAP tests this way, you'll need to
@@ -95,7 +95,7 @@ Supported shells
     AM_TEST_RUNNER_SHELL=/bin/my-sh make -e check      (non-GNU make)
 
     # Run a test directly from the command line.
-    AM_TEST_RUNNER_SHELL=/bin/my-sh ./t/ax/test-runner t/foo.sh
+    AM_TEST_RUNNER_SHELL=/bin/my-sh ./t/ax/runtest t/foo.sh
 
 
   The test scripts are written with portability in mind, and should run
diff --git a/t/ax/test-runner.in b/t/ax/runtest.in
similarity index 100%
rename from t/ax/test-runner.in
rename to t/ax/runtest.in
diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk
index 53b2439..78d7d9b 100644
--- a/t/list-of-tests.mk
+++ b/t/list-of-tests.mk
@@ -689,6 +689,7 @@ t/missing5.sh \
 t/missing6.sh \
 t/am-missing-prog.sh \
 t/missing-auxfile-stops-makefiles-creation.sh \
+t/mkdir_p.sh \
 t/mkdirp-deprecation.sh \
 t/mkinstall.sh \
 t/mkinst2.sh \
diff --git a/t/dist-included-parent-dir.sh b/t/mkdir_p.sh
similarity index 66%
copy from t/dist-included-parent-dir.sh
copy to t/mkdir_p.sh
index aed1051..624365c 100755
--- a/t/dist-included-parent-dir.sh
+++ b/t/mkdir_p.sh
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2002-2012 Free Software Foundation, Inc.
+# Copyright (C) 2012 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
@@ -14,7 +14,8 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Make sure included files in parent directory are distributed.
+# AM_INIT_AUTOMAKE should still define $(mkdir_p), for backward
+# compatibility.
 
 . ./defs || exit 1
 
@@ -25,27 +26,26 @@ END
 
 cat > Makefile.am << 'END'
 SUBDIRS = sub
-test: distdir
-       test -f $(distdir)/foo
-       test -f $(distdir)/bar
-       test 2 -gt `find $(distdir)/sub -type d | wc -l`
+all-local:
+       $(mkdir_p) . dir1/dir2
+check-local: all
+       test -d dir1/dir2
+       test -d dir1/dir3
 END
 
-: > foo
-: > bar
-
 mkdir sub
 cat > sub/Makefile.am << 'END'
-include $(top_srcdir)/foo
-include ../bar
+# '$(mkdir_p)' should continue to work even in subdir makefiles.
+all-local:
+       $(mkdir_p) .. ../dir1/dir3
 END
 
 $ACLOCAL
-$AUTOCONF
+$AUTOCONF -Werror -Wall
 $AUTOMAKE
-# Use --srcdir with an absolute path because it's harder
-# to support in 'distdir'.
-./configure --srcdir "$(pwd)"
-$MAKE test
+
+./configure
+$MAKE check-local
+$MAKE distcheck
 
 :
diff --git a/t/mkdirp-deprecation.sh b/t/mkdirp-deprecation.sh
index 8482dea..0257391 100755
--- a/t/mkdirp-deprecation.sh
+++ b/t/mkdirp-deprecation.sh
@@ -14,13 +14,33 @@
 # 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 the AM_PROG_MKDIR_P macro is deprecated.  It will be
-# be removed in the next major Automake release.
+# Check that the AM_PROG_MKDIR_P macro is deprecated; it will be
+# be removed in the next major Automake release.  But also check
+# that it still works as expected in the current release series.
 
 . ./defs || exit 1
 
-echo AM_PROG_MKDIR_P >> configure.ac
-: > Makefile.am
+cat >> configure.ac << 'END'
+AM_PROG_MKDIR_P
+AC_CONFIG_FILES([sub/Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = sub
+all-local:
+       $(mkdir_p) . dir1/dir2
+check-local: all
+       test -d dir1/dir2
+       test -d dir1/dir3
+END
+
+mkdir sub
+cat > sub/Makefile.am << 'END'
+# '$(mkdir_p)' should continue to work even in subdir makefiles.
+all-local:
+       $(mkdir_p) .. ../dir1/dir3
+END
 
 grep_err ()
 {
@@ -38,11 +58,15 @@ grep_err
 
 $AUTOCONF -Werror -Wno-obsolete
 
-#AUTOMAKE_fails
-#grep_err
+AUTOMAKE_fails
+grep_err
 AUTOMAKE_fails --verbose -Wnone -Wobsolete
 grep_err
 
 $AUTOMAKE -Wno-obsolete
 
+./configure
+$MAKE check-local
+$MAKE distcheck
+
 :
diff --git a/t/parallel-tests-log-override-recheck.sh 
b/t/parallel-tests-log-override-recheck.sh
index 79c16fc..a6ab216 100755
--- a/t/parallel-tests-log-override-recheck.sh
+++ b/t/parallel-tests-log-override-recheck.sh
@@ -64,6 +64,8 @@ filter_stdout ()
 $MAKE check >stdout && { cat stdout; exit 1; }
 cat stdout
 
+using_gmake || $sleep # Required by BSD make.
+
 chmod a-rw test-suite.log
 TEST_SUITE_LOG=my.log $MAKE -e recheck >stdout \
   && { cat stdout; exit 1; }
diff --git a/t/test-metadata-recheck.sh b/t/test-metadata-recheck.sh
index 8675747..4f2d29b 100755
--- a/t/test-metadata-recheck.sh
+++ b/t/test-metadata-recheck.sh
@@ -153,6 +153,7 @@ rm -f *.run
 # fields indicating success, so "make recheck" must pass.  Still, the
 # next "make recheck" call should still re-run the same set of tests.
 for iteration in 1 2; do
+  using_gmake || $sleep # Required by BSD make.
   $MAKE recheck
   ls -l
   for t in $rechecked; do test -f $t.run; done


hooks/post-receive
-- 
GNU Automake



reply via email to

[Prev in Thread] Current Thread [Next in Thread]