diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-01-18 13:44:56 +0100 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-01-18 13:44:56 +0100 |
commit | 23a9b4365b641e02a61b95b1d84a5c5068c44830 (patch) | |
tree | b39ad2180fcba22d592881c509db0b200155faed | |
parent | 693557ce7fcd728fa9e7b5d60713b4caefc39e78 (diff) | |
parent | a1e77caf20a62b14d549307a73131fedb9c0f696 (diff) | |
download | automake-23a9b4365b641e02a61b95b1d84a5c5068c44830.tar.gz |
Merge branch 'maint' into branch-1.11
* maint:
cosmetics: move CheckListOfTests.am into tests/
tests: move all under the same hierarchy ('tests/' directory)
gitlog-to-changelog: update from upstream
changelog: don't cluster multiple entries under the same "date line"
fixup: contrib: really integrate in automake build system
contrib: new, a directory for non-mainstream functionalities
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | Makefile.am | 20 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | contrib/Makefile.am (renamed from lib/Automake/tests/Makefile.am) | 21 | ||||
-rw-r--r-- | contrib/README | 27 | ||||
-rw-r--r-- | lib/Automake/Makefile.am | 7 | ||||
-rwxr-xr-x | lib/gitlog-to-changelog | 24 | ||||
-rw-r--r-- | tests/CheckListOfTests.am (renamed from CheckListOfTests.am) | 15 | ||||
-rw-r--r-- | tests/Makefile.am | 8 | ||||
-rw-r--r-- | tests/list-of-tests.mk | 9 | ||||
-rw-r--r-- | tests/pm/Condition-t.pl (renamed from lib/Automake/tests/Condition-t.pl) | 0 | ||||
-rw-r--r-- | tests/pm/Condition.pl (renamed from lib/Automake/tests/Condition.pl) | 0 | ||||
-rw-r--r-- | tests/pm/DisjConditions-t.pl (renamed from lib/Automake/tests/DisjConditions-t.pl) | 0 | ||||
-rw-r--r-- | tests/pm/DisjConditions.pl (renamed from lib/Automake/tests/DisjConditions.pl) | 0 | ||||
-rw-r--r-- | tests/pm/Version.pl (renamed from lib/Automake/tests/Version.pl) | 0 | ||||
-rw-r--r-- | tests/pm/Wrap.pl (renamed from lib/Automake/tests/Wrap.pl) | 0 |
16 files changed, 82 insertions, 55 deletions
diff --git a/.gitignore b/.gitignore index 33e3827fc..f21915354 100644 --- a/.gitignore +++ b/.gitignore @@ -47,10 +47,10 @@ Makefile /doc/amhello/install-sh /doc/amhello/missing /lib/Automake/Config.pm -/lib/Automake/tests/*.log -/lib/Automake/tests/*.log-t /tests/*.log /tests/*.log-t +/tests/pm/*.log +/tests/pm/*.log-t /tests/*.dir /tests/*-p.test /tests/aclocal-1.* diff --git a/Makefile.am b/Makefile.am index 735cb009e..b9166dbaa 100644 --- a/Makefile.am +++ b/Makefile.am @@ -23,9 +23,7 @@ ## automake (run in doc, tests, and in the rebuild rules.) ## `.' goes before doc and tests, because the latter two directories ## run aclocal and automake. -SUBDIRS = lib . doc m4 tests - -TEST_SUBDIRS = tests lib/Automake/tests +SUBDIRS = lib . contrib doc m4 tests bin_SCRIPTS = automake aclocal @@ -110,7 +108,8 @@ INSTALL: lib/INSTALL ## gitlog_to_changelog_command = $(PERL) $(srcdir)/lib/gitlog-to-changelog -gitlog_to_changelog_options = --since='2011-12-28 00:00:00' +gitlog_to_changelog_options = --since='2011-12-28 00:00:00' \ + --no-cluster --format '%s%n%n%b' # Automatic generation of the ChangeLog from git history. # @@ -202,18 +201,7 @@ maintainer-check: $(syntax_check_rules) ## list of all test scripts in the Automake testsuite. .PHONY: maintainer-check-list-of-tests maintainer-check-list-of-tests: - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - for subdir in $(TEST_SUBDIRS); do \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@) || eval $$failcom; \ - done; \ - test -z "$$fail" - + $(am__cd) tests && $(MAKE) $(AM_MAKEFLAGS) $@ maintainer-check: maintainer-check-list-of-tests ## Look for test whose names can cause spurious failures when used as diff --git a/configure.ac b/configure.ac index 0ae1a44cb..d6724e682 100644 --- a/configure.ac +++ b/configure.ac @@ -206,9 +206,9 @@ AC_SUBST([sh_errexit_works], [$am_cv_sh_errexit_works]) AC_CONFIG_FILES([ Makefile + contrib/Makefile doc/Makefile lib/Automake/Makefile - lib/Automake/tests/Makefile lib/Makefile lib/am/Makefile m4/Makefile diff --git a/lib/Automake/tests/Makefile.am b/contrib/Makefile.am index a537fd1d7..b49192317 100644 --- a/lib/Automake/tests/Makefile.am +++ b/contrib/Makefile.am @@ -1,7 +1,8 @@ ## Process this file with automake to create Makefile.in -# Copyright (C) 2002, 2003, 2008, 2009, 2012 Free Software Foundation, -# Inc. +## Makefile for Automake contrib. + +# 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 @@ -16,18 +17,4 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -PL_LOG_COMPILER = $(PERL) -AM_PL_LOG_FLAGS = -Mstrict -I ../.. -I $(top_srcdir)/lib -w -TEST_EXTENSIONS = .pl - -TESTS = \ -Condition.pl \ -Condition-t.pl \ -DisjConditions.pl \ -DisjConditions-t.pl \ -Version.pl \ -Wrap.pl - -EXTRA_DIST = $(TESTS) - -include $(top_srcdir)/CheckListOfTests.am +EXTRA_DIST = README diff --git a/contrib/README b/contrib/README new file mode 100644 index 000000000..bbef72fbc --- /dev/null +++ b/contrib/README @@ -0,0 +1,27 @@ +This is the 'contrib' directory of the GNU Automake distribution. + +Here you'll find additions to the Automake base distribution, in form of +makefile fragments, m4 macros, scripts, documentation, et cetera. Such +addition that might be useful for a significant percentage of its general +audience, but (for one reason or another) are not deemed appropriate for +inclusion into the Automake core. + +There are several reasons for which a feature can be kept in contrib: + + 1. The long-term usefulness of the feature is debatable and uncertain; + on-field and real-word testing are necessary to prove or disprove + its usefulness, before the feature can be committed into the Automake + core (as doing so too early would later force us to continue the + support for backward-compatibility, even if the features proves + flawed or fails to attract widespread use). + + 2. The APIs or overall design of the feature are still unstable, and + need on-field testing to iron warts and usability bugs, or uncover + potential flaws. + + 3. The feature was an historical one, mostly obsoleted but still used + "here and there" in the wild; so we want to to deprecate it and + remove it from the Automake core, but cannot remove it altogether, + for the sake of those still-existing usage. So it gets moved in + contrib. + diff --git a/lib/Automake/Makefile.am b/lib/Automake/Makefile.am index cfc7272b8..980502462 100644 --- a/lib/Automake/Makefile.am +++ b/lib/Automake/Makefile.am @@ -1,7 +1,7 @@ ## Process this file with automake to create Makefile.in -# Copyright (C) 2001, 2002, 2003, 2004, 2008, 2009, 2010 Free Software -# Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2004, 2008, 2009, 2010, 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 @@ -16,9 +16,6 @@ # 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 clean check' should build Config.pm first. -SUBDIRS = . tests - perllibdir = $(pkgvdatadir)/Automake dist_perllib_DATA = \ ChannelDefs.pm \ diff --git a/lib/gitlog-to-changelog b/lib/gitlog-to-changelog index 0efedb046..38c6f3aaa 100755 --- a/lib/gitlog-to-changelog +++ b/lib/gitlog-to-changelog @@ -3,7 +3,7 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}' if 0; # Convert git log output to ChangeLog format. -my $VERSION = '2012-01-06 07:14'; # UTC +my $VERSION = '2012-01-18 07:50'; # UTC # The definition above must lie within the first 8 lines in order # for the Emacs time-stamp write hook (at end) to update it. # If you change this file with Emacs, please let the write hook @@ -64,6 +64,10 @@ OPTIONS: makes a change to SHA1's commit log text or metadata. --append-dot append a dot to the first line of each commit message if there is no other punctuation or blank at the end. + --no-cluster never cluster commit messages under the same date/author + header; the default is to cluster adjacent commit messages + if their headers are the same and neither commit message + contains multiple paragraphs. --since=DATE convert only the logs since DATE; the default is to convert all log entries. --format=FMT set format string for commit subject and body; @@ -190,6 +194,7 @@ sub parse_amend_file($) my $format_string = '%s%n%b%n'; my $amend_file; my $append_dot = 0; + my $cluster = 1; GetOptions ( help => sub { usage 0 }, @@ -198,6 +203,7 @@ sub parse_amend_file($) 'format=s' => \$format_string, 'amend=s' => \$amend_file, 'append-dot' => \$append_dot, + 'cluster!' => \$cluster, ) or usage 1; @@ -302,13 +308,15 @@ sub parse_amend_file($) . substr ($_, 5) . "\n"; } - # If this header would be different from the previous date/name/email/ - # coauthors header, or if this or the previous entry consists of two - # or more paragraphs, then print the header. - if ($date_line ne $prev_date_line - or "@coauthors" ne "@prev_coauthors" - or $multi_paragraph - or $prev_multi_paragraph) + # If clustering of commit messages has been disabled, if this header + # would be different from the previous date/name/email/coauthors header, + # or if this or the previous entry consists of two or more paragraphs, + # then print the header. + if ( ! $cluster + || $date_line ne $prev_date_line + || "@coauthors" ne "@prev_coauthors" + || $multi_paragraph + || $prev_multi_paragraph) { $prev_date_line eq '' or print "\n"; diff --git a/CheckListOfTests.am b/tests/CheckListOfTests.am index 0a484470e..c71c7fc0d 100644 --- a/CheckListOfTests.am +++ b/tests/CheckListOfTests.am @@ -37,13 +37,18 @@ maintainer-check-list-of-tests: for t in $$lst; do \ echo "$$t"; \ done | sort >$(am__tmk); \ +## List of subdirs where to look for tests. + dirs='$(test_subdirs)'; \ + test -n "$$dirs" || dirs=.; \ ## List of tests on filesystem. Be careful to cater for VPATH builds too. for ext in $(TEST_EXTENSIONS); do \ - ls *$$ext 2>/dev/null; \ - if test $(srcdir) != $(builddir); then \ - (cd $(srcdir) && ls *$$ext 2>/dev/null); \ - fi; \ - done | sort | uniq >$(am__tfs); \ + for dir in $$dirs; do \ + ls $$dir/*$$ext 2>/dev/null; \ + if test $(srcdir) != $(builddir); then \ + (cd $(srcdir) && ls $$dir/*$$ext 2>/dev/null); \ + fi; \ + done; \ + done | sed 's,^\./,,' | sort | uniq >$(am__tfs); \ ## Compare the two lists, complain if they differ. if $$diff $(am__tmk) $(am__tfs) >$(am__tdf); then \ result=0; \ diff --git a/tests/Makefile.am b/tests/Makefile.am index 90b4085c9..d909942db 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -52,6 +52,11 @@ TESTS_ENVIRONMENT = \ test x"$$required" = x || unset required; \ test x"$$parallel_tests" = x || unset parallel_tests; +TEST_EXTENSIONS = .pl .test + +PL_LOG_COMPILER = $(PERL) +AM_PL_LOG_FLAGS = -Mstrict -I $(top_builddir)/lib -I $(top_srcdir)/lib -w + include $(srcdir)/list-of-tests.mk TESTS = $(handwritten_TESTS) $(parallel_tests) @@ -131,7 +136,8 @@ EXTRA_DIST += distcheck-hook-m4.am check_SCRIPTS = defs aclocal-$(APIVERSION) automake-$(APIVERSION) ## Checking the list of tests. -include $(top_srcdir)/CheckListOfTests.am +test_subdirs = . pm +include $(srcdir)/CheckListOfTests.am maintainer-check-list-of-tests: $(parallel_tests) clean-local: clean-local-check diff --git a/tests/list-of-tests.mk b/tests/list-of-tests.mk index ebaa46e9d..7ca3144da 100644 --- a/tests/list-of-tests.mk +++ b/tests/list-of-tests.mk @@ -17,12 +17,21 @@ ## You should have received a copy of the GNU General Public License ## along with this program. If not, see <http://www.gnu.org/licenses/>. +perl_TESTS = \ +pm/Condition.pl \ +pm/Condition-t.pl \ +pm/DisjConditions.pl \ +pm/DisjConditions-t.pl \ +pm/Version.pl \ +pm/Wrap.pl + # The order here is mostly alphabetical, with the deliberate exception # that tests having a high runtime (especially TAP tests that run various # checks sequentially) are listed early; this improves performance on # concurrent testsuite runs. handwritten_TESTS = \ get-sysconf.test \ +$(perl_TESTS) \ self-check-env-sanitize.test \ self-check-report.test \ aclibobj.test \ diff --git a/lib/Automake/tests/Condition-t.pl b/tests/pm/Condition-t.pl index 06eb34e92..06eb34e92 100644 --- a/lib/Automake/tests/Condition-t.pl +++ b/tests/pm/Condition-t.pl diff --git a/lib/Automake/tests/Condition.pl b/tests/pm/Condition.pl index 86f174564..86f174564 100644 --- a/lib/Automake/tests/Condition.pl +++ b/tests/pm/Condition.pl diff --git a/lib/Automake/tests/DisjConditions-t.pl b/tests/pm/DisjConditions-t.pl index 2fe275beb..2fe275beb 100644 --- a/lib/Automake/tests/DisjConditions-t.pl +++ b/tests/pm/DisjConditions-t.pl diff --git a/lib/Automake/tests/DisjConditions.pl b/tests/pm/DisjConditions.pl index 47dea8399..47dea8399 100644 --- a/lib/Automake/tests/DisjConditions.pl +++ b/tests/pm/DisjConditions.pl diff --git a/lib/Automake/tests/Version.pl b/tests/pm/Version.pl index e49643519..e49643519 100644 --- a/lib/Automake/tests/Version.pl +++ b/tests/pm/Version.pl diff --git a/lib/Automake/tests/Wrap.pl b/tests/pm/Wrap.pl index 8d840fc30..8d840fc30 100644 --- a/lib/Automake/tests/Wrap.pl +++ b/tests/pm/Wrap.pl |