Stefano Lattarini [Mon, 9 Jul 2012 15:43:15 +0000 (17:43 +0200)]
release: bug-fixing stable release 1.11.6
Fixes security vulnerability CVE-2012-3386.
* configure.ac (AC_INIT): Bump version number to 1.11.6.
* m4/amversion.m4: Likewise (auto-updated by "./bootstrap").
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 6 Jul 2012 20:43:04 +0000 (22:43 +0200)]
distcheck: never make part of $(distdir) world-writable
This fixes a locally-exploitable security vulnerability (CVE-2012-3386).
Cherry-picked from: v1.12.1-105-gbab7065.
In the 'distcheck' rule, we used to make the just-extracted (from
the distribution tarball) $(distdir) directory and all its files and
subdirectories read-only; then, in order to create the '_inst' and
'_build' subdirectories in there (used by the rest of the recipe) we
made the top-level $(distdir) *world-writable* for an instant (the
time to create those two directories) before making it read-only
again.
Making that directory world-writable (albeit only briefly) introduced a
locally exploitable race condition for those who run "make distcheck" with
a non-restrictive umask (e.g., 022) in a directory that is accessible by
others. A successful exploit would result in arbitrary code execution
with the privileges of the user running "make distcheck" -- game over.
Jim Meyering wrote a proof-of-concept script showing that such exploit is
easily implemented.
This issue is similar to the CVE-2009-4029 vulnerability:
<http://lists.gnu.org/archive/html/automake/2009-12/msg00012.html>
* lib/am/distdir.am (distcheck): Don't make $(distdir) world-writable,
not even for an instant; make it user-writable instead, which is enough.
* NEWS: Update.
Helped-By: Jim Meyering <jim@meyering.net>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 13 Apr 2012 14:51:54 +0000 (16:51 +0200)]
release: stable maintenance release 1.11.5
* configure.ac (AC_INIT): Bump version number to 1.11.5.
* m4/amversion.m4 (AM_AUTOMAKE_VERSION): Likewise (autoupdated
by ./bootstrap).
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Fri, 13 Apr 2012 12:35:18 +0000 (14:35 +0200)]
Merge branch 'maint' into branch-1.11
* maint:
install: shell parameter expansions can be used in directory names
Stefano Lattarini [Fri, 13 Apr 2012 12:16:29 +0000 (14:16 +0200)]
Merge branch 'fix-pr11232' into maint
* fix-pr11232:
install: shell parameter expansions can be used in directory names
Dmitry V. Levin [Thu, 12 Apr 2012 16:24:23 +0000 (16:24 +0000)]
install: shell parameter expansions can be used in directory names
Fixes automake bug#11232.
GNU automake used to support shell parameter expansion and command
substitutions in installation directories, but that was inadvertently
broken by commit v1.11-759-g368f1c4 "install: don't create empty dirs
when an empty 'foo_PRIMARY' is used" of 18-03-2012, where shell quoting
of generated MKDIR_P command was changed from double to single quotes
in 3 places, while some 21 other places still use double quotes for
generated MKDIR_P commands.
* lib/am/data.am: Use double quotes for generated "mkdir -p" commands.
* lib/am/libs.am: Likewise.
* lib/am/ltlib.am: Likewise.
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 12 Apr 2012 15:49:26 +0000 (17:49 +0200)]
news: document fixes for bug#11222 and bug#11229
* NEWS (Bugs fixed in 1.11.5): New, documenting the fixes.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 12 Apr 2012 15:47:36 +0000 (17:47 +0200)]
Merge branch 'maint' into branch-1.11
* maint:
vala: fix distcheck with c/vala mixed projects
vala: fix vapi files handling
vala: test vapi files handling (still failing)
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 12 Apr 2012 12:14:04 +0000 (14:14 +0200)]
Merge branches 'vala-fix-pr11222' and 'vala-fix-pr11229' into maint
* vala-fix-pr11222:
vala: fix vapi files handling
vala: test vapi files handling (still failing)
* vala-fix-pr11229:
vala: fix distcheck with c/vala mixed projects
Marc-Antoine Perennou [Thu, 12 Apr 2012 11:32:58 +0000 (13:32 +0200)]
vala: fix distcheck with c/vala mixed projects
Fixes automake bug#11229.
* automake.in (lang_vala_finish_target): Return early if the
current '_SOURCES' variable does not contain any '.vala' nor
'.vapi' source. Otherwise, the vala compiler will be called
without arguments, causing an error.
* tests/vala-mix.test: Enhance to catch the fixed bug.
Copyright-paperwork-exempt: yes
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Marc-Antoine Perennou [Wed, 11 Apr 2012 09:18:31 +0000 (11:18 +0200)]
vala: fix vapi files handling
Fixes automake bug#11222.
Issue introduced in commit 'v1.11-696-g51f61df' of 27-02-2012,
"vala: fix 'valac' calls for projects with mixed Vala/C", which
fixed automake bug#10894.
* automake.in (lang_vala_finish_target): Also recognize '.vapi'
as an extension for vala input files.
* tests/list-of-tests.mk (XFAIL_TESTS): Remove 'vala-vapi.test'.
Copyright-paperwork-exempt: yes
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 11 Apr 2012 22:40:34 +0000 (00:40 +0200)]
vala: test vapi files handling (still failing)
Exposes automake bug#11222.
* tests/vala-vapi.test: New test, still failing.
* tests/list-of-tests.mk (handwritten_TESTS): Add it.
(XFAIL_TESTS): Likewise.
* THANKS: Update.
Copyright-paperwork-exempt: yes
Co-authored-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 2 Apr 2012 12:09:01 +0000 (14:09 +0200)]
release: stable maintenance release 1.11.4
* configure.ac (AC_INIT): Bump version number to 1.11.4.
* NEWS: Likewise.
* m4/amversion.m4 (AM_AUTOMAKE_VERSION): Likewise (autoupdated
by ./bootstrap).
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 31 Mar 2012 16:37:01 +0000 (18:37 +0200)]
Merge branch 'maint' into branch-1.11
* maint:
docs: deprecate 'cygnus' mode, help the transition
Stefano Lattarini [Sat, 31 Mar 2012 09:04:41 +0000 (11:04 +0200)]
docs: deprecate 'cygnus' mode, help the transition
Support for "Cygnus-style" trees (so far enabled by the 'cygnus'
option) will be deprecated in one release of the next major series
(1.12.x) and removed in the next major release after that (1.13).
Better to start warning about this in the manual.
* docs/automake.texi: Warn about the oncoming deprecation of the
'cygnus' mode. Suggest some idioms that can be used to retain some
effects of the 'cygnus' option.
* THANKS: Update.
From a suggestion by Joseph S. Myers in automake bug#11034.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 28 Mar 2012 20:22:06 +0000 (22:22 +0200)]
Merge branch 'maint' into branch-1.11
* maint:
cosmetics: don't make the generated Config.pm executable
maint: reduce use of recursion in automake build system
Stefano Lattarini [Wed, 28 Mar 2012 15:12:36 +0000 (17:12 +0200)]
cosmetics: don't make the generated Config.pm executable
* lib/Makefile.am (Automake/Config.pm): Don't make this executable,
there's not need for it to be (it's a perl module, not a script).
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 28 Mar 2012 15:03:25 +0000 (17:03 +0200)]
maint: reduce use of recursion in automake build system
Recursive make-based build systems tend to be slower, more fragile
and less faithful than "flat" ones. See Peter Miller's article
"Recursive Make Considered Harmful" for more a more in-depth
discussion:
<http://miller.emu.id.au/pmiller/books/rmch/>
While in the case of automake this isn't a big problem (given the
small size of its build systems), it still creates occasional
glitches and annoyances. So, with this change, we start making
less use of make recursion in the Automake's own build system
(future changes will reduce it even more).
* lib/am/Makefile.am, lib/Automake/Makefile.am: Removed, their
content merged ...
* lib/Makefile.am: ... here, with required adjustments.
* configure.ac (AC_CONFIG_FILES): Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Tue, 27 Mar 2012 20:05:39 +0000 (22:05 +0200)]
Merge branch 'maint' into branch-1.11
* NEWS: Minor tweakings and reorderings of the new entries.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Tue, 27 Mar 2012 15:55:07 +0000 (17:55 +0200)]
depcomp: support tcc (Tiny C Compiler)
This change fixes automake bug#11007.
Since git commit
0c928da9 of 21-06-2010, "tcc: Draft suppoprt for
-MD/-MF options" (sic, with typo in summary line), tcc has supported
automatic dependency generation with a command-line interface
similar to what old (pre-8.0) Intel compilers did. This caused
Automake-generated code for automatic dependency tracking to
recognize tcc dependency style as "icc". However, the format of
the dependency files generated by tcc is apparently different enough
from that of icc to cause spurious failures in the post-processing
operated by our 'depcomp' script on such files.
The failure was exposed with the development version of tcc 0.9.26
(as installed with debian package "tcc 0.9.26~git20120104.83d") by
test case 'depcomp-auto.tap' (available only in the master branch).
* lib/depcomp (icc): Cater to tcc as well. Update comments
accordingly.
* NEWS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 26 Mar 2012 13:26:46 +0000 (15:26 +0200)]
tests: workaround for automatic linker determination and conditionals
See automake bug#11089.
Automake is not very smart in automatically determining the command
to be used to link a program whose source files' languages are
conditionally defined. For example, an input like:
if HAVE_CXX
foo_SOURCES = more.c++
else
foo_SOURCES = less.c
endif
will cause the build rules for 'foo' to *unconditionally* use the
C++ compiler for linking, even when the 'HAVE_CXX' conditional
evaluates to false (which might mean that no C++ compiler is
available).
This behaviour is not really correct, but it's easy enough to work
around, and it's only relevant for fringe use cases (at best). So
let's just test that the workaround really works.
* tests/link_cond.test: New test.
* tests/list-of-tests.mk: Add it.
* THANKS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Tue, 27 Mar 2012 11:10:16 +0000 (13:10 +0200)]
info: allow user to inhibit pruning of '${infodir}/dir'
This should have ideally been part of commit 'v1.11-519-g1ec1668'
of 23-11-2011 "info: allow user to inhibit creation/update of
'${infodir}/dir'". Well, better late than never.
* lib/am/texinfos.am (uninstall-info-am): Don't look anymore at the
output of "install-info --version" to decide whether to use it to
update the '${infodir}/dir' or not; instead, honour the environment
variable 'AM_UPDATE_INFO_DIR'. To avoid code duplication with ...
(install-info-am): ... the recipe of this target, move common code
out to ...
(am__can_run_installinfo): ... this new internal variable.
* tests/install-info-dir.test: Enhance.
* doc/automake.texi (Texinfo): Update.
* NEWS: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Bruno Haible [Mon, 26 Mar 2012 12:44:05 +0000 (14:44 +0200)]
vala tests: fix spurious failures with older valac (<= 0.7.2)
See automake bug#11093.
The Vala compiler before the 0.7.3 release does not support the
'--profile' option. But some of our tests were relying on it, so
skip those tests if the detected Vala compiler is too old.
* tests/vala-vpath.test, tests/vala-mix.test, tests/vala-mix2.test
(configure.in): Require vala version >= 0.7.3 in AM_PROG_VALAC call.
Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 20 Feb 2012 13:04:46 +0000 (14:04 +0100)]
tests: fix a timestamp issue, and other minor buglets
Cherry picked from commit v1.11-1988-g82616f0 of 21-02-2012.
Reported by Panther Martin in automake bug#10848. See also
automake bug#11093.
* tests/conffile-leading-dot.test: Add a proper '$sleep' invocation,
to avoid spurious failures on fast systems without sub-second
timestamp resolutions. Add other minor related and unrelated
improvements and fixlets since we are at it.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 16 Feb 2012 09:58:03 +0000 (10:58 +0100)]
tests: fix spurious failure with older autoconf
Cherry picked from commit v1.11-1950-gba5a89b of 16-02-2012.
* tests/conffile-leading-dot.test: Relax grepping of 'config.status'
stderr, to cater for older autoconf. Issue revealed by a failure
with autoconf 2.63 on Cygwin 1.5.25. See also automake bug#11093.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 25 Mar 2012 14:55:48 +0000 (16:55 +0200)]
maint: post-release version bump
* configure.ac, NEWS, m4/amversion.m4: Bump version to 1.11.3c,
as per HACKING suggestion.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 25 Mar 2012 14:36:12 +0000 (16:36 +0200)]
Beta release 1.11.3b (will become 1.11.4)
* configure.ac (AC_INIT): Bump version number to 1.11.3b.
* NEWS: Likewise.
* m4/amversion.m4: Likewise (autoupdated by ./bootstrap).
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 24 Mar 2012 15:35:23 +0000 (16:35 +0100)]
Merge branch 'maint' into branch-1.11
* maint:
build: remove duplicated entries in $(TESTS)
Stefano Lattarini [Sat, 24 Mar 2012 15:30:10 +0000 (16:30 +0100)]
build: remove duplicated entries in $(TESTS)
* tests/list-of-tests.mk (handwritten_TESTS): Remove duplicated
entries for test cases 'extra-portability*.test'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Wed, 21 Mar 2012 19:33:00 +0000 (20:33 +0100)]
Merge branch 'maint' into branch-1.11
* maint:
maint: move definition of XFAIL_TESTS near TESTS
Stefano Lattarini [Wed, 21 Mar 2012 19:30:52 +0000 (20:30 +0100)]
maint: move definition of XFAIL_TESTS near TESTS
The $(TESTS) variable is defined in file 'tests/list-of-tests.mk',
while the $(XFAIL_TESTS) variable is defined in 'tests/Makefile.am'.
This means that when a new xfailing test is to be added, two files
must be touched; this is suboptimal and slightly confusing.
* tests/Makefile.am (XFAIL_TESTS): Definition moved ...
* tests/list-of-tests.mk: ... here.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 18 Mar 2012 21:25:13 +0000 (22:25 +0100)]
Merge branch 'maint' into branch-1.11
* maint:
install-mans: avoid spurious failure with NetBSD make
Stefano Lattarini [Sun, 18 Mar 2012 21:19:45 +0000 (22:19 +0100)]
install-mans: avoid spurious failure with NetBSD make
* lib/am/mans.am: After the changes introduced by previous commit
v1.11-759-g368f1c4, some manpage installation recipes started to
fail spuriously on NetBSD 5.1 make. Apparently, the system make
there eats backslashes used to escape whitespace characters in the
relevant recipes. Revert to slightly slower but safer idioms that
avoid the need of such escaping.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 18 Mar 2012 19:23:33 +0000 (20:23 +0100)]
news: fix botched merges, some cleanups
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 18 Mar 2012 18:32:19 +0000 (19:32 +0100)]
Merge branch 'maint' into branch-1.11
* maint:
install: don't create empty dirs when an empty 'foo_PRIMARY' is used
Stefano Lattarini [Fri, 16 Mar 2012 22:48:53 +0000 (23:48 +0100)]
install: don't create empty dirs when an empty 'foo_PRIMARY' is used
Fixes automake bug#11030 and bug#10997.
An empty declaration of "foo_PRIMARY" in a Makefile.am used to
cause the generated install rules to create the directory $(foodir)
anyway, even if nothing was to be installed there.
While this could be seen as a convenient way to create a $(foodir)
directory upon "make install" (respecting $(DESTDIR) settings and
such), it also caused problems with conditionals; for example, an
input of:
if FALSE
pgkdata_DATA = something
endif
caused the generated install rules to unconditionally create the
$(pkgdatadir) directory (see automake bug#10997).
Also, a user wanting to create an empty directory upon installation
can easily do so with a custom install hook, as in:
installdirs-local:
$(MKDIR_P) $(DESTDIR)$(foodir)
install-data-hook: installdirs-local
On the other hand, the old behavior of "always create $(foodir),
even if 'foo_PRIMARY' is empty" was harder and more tricky to
override.
Thus, from now on, an empty declaration of "foo_PRIMARY" will not
cause the directory $(foodir) to be created upon "make install"
anymore.
* lib/am/data.am, lib/am/java.am, lib/am/libs.am, lib/am/lisp.am,
lib/am/ltlib.am, lib/am/mans.am, lib/am/progs.am, lib/am/python.am,
lib/am/scripts.am, lib/am/texinfos.am: Adjust install rules to avoid
creating an installation directory if no files are actually to be
installed there.
* tests/instdir-empty.test: Remove, it was testing a semantic
opposite to the one we now want and implement.
* tests/instdir-no-empty.test: New test, check the new semantic.
* tests/instdir-cond.test: Enhance. Move the still-failing part
of the test ...
* tests/instdir-cond2.test: ... here.
* tests/list-of-tests.mk, tests/Makefile.am (XFAIL_TESTS): Update.
* tests/java3.test: Adjust to avoid spurious failures.
* HACKING, NEWS, THANKS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 17 Mar 2012 08:54:35 +0000 (09:54 +0100)]
Merge branch 'maint' into branch-1.11
* maint:
aclocal: remove a couple of useless imports
aclocal: create local directory where to install m4 files
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 17 Mar 2012 08:43:35 +0000 (09:43 +0100)]
aclocal: remove a couple of useless imports
* aclocal.in (File::stat, Cwd): Remove these imports, they are not
really required.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 15 Mar 2012 15:50:40 +0000 (16:50 +0100)]
aclocal: create local directory where to install m4 files
Fixes automake bug#8168 and bug#10816.
A call like "aclocal -I m4 --install" used to fail if the 'm4'
directory wasn't pre-existing. This could be particularly
annoying when running in a checked-out version from a VCS like
git, which doesn't allow empty directories to be tracked.
* aclocal.in (File::Path): New import.
(scan_m4_dirs): Don't die if the first directory of type FT_USER
doesn't exist and the '--install' option was given; that directory
will be created later ...
(install_file): ... here. Change signature of this function: now
it takes as second argument the destination directory rather than
the destination file. Crate the destination directory if it
doesn't already exist. In verbose mode, tell what is being copied
where.
(write_aclocal): Update to the changes in 'install_file'.
* NEWS, THANKS: Update.
* tests/aclocal-install-fail.test: New test.
* tests/aclocal-install-mkdir.test: Likewise.
* tests/aclocal-no-install-no-mkdir.test: Likewise.
* tests/aclocal-verbose-install.test: Likewise.
* tests/list-of-tests.mk: Add them.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 15 Mar 2012 08:20:09 +0000 (09:20 +0100)]
Merge branch 'maint' into branch-1.11
* maint:
python: avoid failures due to $(am__py_compile) being undefined
python: expose automake bug#10995
tests: avoid spurious failures in get-sysconf.test
scripts: bump the depcomp scriptversion
sync: some auxiliary files synced from upstream
coverage: an empty foo_PRIMARY should create directory $(foodir)
coverage: make sure am__py_compile is defined when needed
coverage: expose automake bug#10997
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Steven Drake [Thu, 15 Mar 2012 08:12:00 +0000 (09:12 +0100)]
python: avoid failures due to $(am__py_compile) being undefined
Fixes automake bug#10995, introduced in commit v1.11-372-gb46debf.
* lib/am/python.am: Move the definition of 'am__py_compile' to
ensure it is always emitted in the output Makefile.in. Previously,
this wouldn't have happened if the input Makefile.am contained a
'noinst_PYTHON' declaration before a 'python_PYTHON' one.
* tests/Makefile.am (XFAIL_TESTS): Remove 'python-pr10995.test' and
'python.test'.
* NEWS: Update.
Copyright-paperwork-exempt: yes
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Thu, 15 Mar 2012 08:00:12 +0000 (09:00 +0100)]
python: expose automake bug#10995
* tests/python.test: Expose the bug in grepping tests.
* tests/python-noinst.test: New functional test to expose the
bug.
* tests/list-of-tests.mk: Add it.
* tests/Makefile.am (XFAIL_TESTS): Add the new test and the
extended one.
* THANKS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sat, 10 Mar 2012 07:49:55 +0000 (08:49 +0100)]
tests: avoid spurious failures in get-sysconf.test
This change fixes the last bit of automake bug#10866.
* tests/get-sysconf.test: When Homebrew spawns a build, even if
from a project's VCS, it stages the files in a new temporary
directory, instead of building directly from a VCS checkout.
This behaviour was causing a spurious failure in this test, which
expected to find either a ChangeLog file or a .git directory in
the source directory (the former happening when the test was run
from a distribution tarball, the latter when it was run from a
git checkout). The Homebrew issue shows that these expectations
are not truly warranted, so relax the test to just give a warning,
not a failure, in case they do not hold. Since we are at it, fix
an unrelated weakness in the displaying of the git log, which
could have failed when the builddir was not a subdirectory of the
srcdir.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Peter Rosin [Mon, 12 Mar 2012 15:58:55 +0000 (16:58 +0100)]
scripts: bump the depcomp scriptversion
* lib/depcomp (scriptversion): Bump, to account for recent changes.
Stefano Lattarini [Mon, 12 Mar 2012 14:10:39 +0000 (15:10 +0100)]
sync: some auxiliary files synced from upstream
* lib/texinfo.tex: Synced from upstream, by "make fetch".
* lib/config.guess: Likewise.
* lib/config.sub: Likewise.
* lib/gnupload: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 12 Mar 2012 13:41:04 +0000 (14:41 +0100)]
coverage: an empty foo_PRIMARY should create directory $(foodir)
For example, a Makefile.am containing the definition:
pkgdata_DATA =
should cause the 'install' rule of the generated Makefile.in to
create the '$(pkgdatadir)' directory (respecting any DESTDIR
setting as well).
Suggestion by Peter Breitenlohner in automake bug#10997.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Mon, 12 Mar 2012 11:15:47 +0000 (12:15 +0100)]
coverage: make sure am__py_compile is defined when needed
See automake bug#10995.
* tests/python.test: Also make sure 'am__py_compile' is defined
correctly in the generated Makefile.in.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Daiki Ueno [Mon, 12 Mar 2012 10:46:04 +0000 (11:46 +0100)]
coverage: expose automake bug#10997
* tests/instdir-cond.test: New test.
* tests/list-of-tests.mk: Add it.
* tests/Makefile.am (XFAIL_TESTS): Likewise.
Copyright-paperwork-exempt: yes
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini [Sun, 11 Mar 2012 18:38:05 +0000 (19:38 +0100)]
Merge branch 'maint' into branch-1.11
* maint:
coverage: expose automake bug#10975
getopt: relax version requirement for perl
Stefano Lattarini [Fri, 9 Mar 2012 20:35:04 +0000 (21:35 +0100)]
coverage: expose automake bug#10975
* tests/dist-pr10975.test: New test.
* tests/list-of-tests.mk: Add it.
* tests/Makefile.am (XFAIL_TESTS): Likewise.
Stefano Lattarini [Wed, 7 Mar 2012 22:26:24 +0000 (23:26 +0100)]
getopt: relax version requirement for perl
* lib/Automake/Getopt.pm: Require perl 5.6.0, not 5.6.2: the former
is enough. See also commit 'v1.11-2054-g7df05a0' on master (dated
04-03-2012).
Stefano Lattarini [Wed, 7 Mar 2012 21:18:35 +0000 (22:18 +0100)]
Merge branch 'maint' into branch-1.11
* maint:
cosmetics: fix repeated changelog entry heading
Stefano Lattarini [Wed, 7 Mar 2012 21:14:47 +0000 (22:14 +0100)]
cosmetics: fix repeated changelog entry heading
Peter Rosin [Wed, 7 Mar 2012 20:08:07 +0000 (21:08 +0100)]
Merge branch 'maint' into branch-1.11
Peter Rosin [Wed, 7 Mar 2012 20:08:06 +0000 (21:08 +0100)]
Merge branch 'msvc' into maint
This merge remedies the confusing situation that some changes
destined for both the master branch and the release branch (a.k.a.
branch-1.11) currently needs to be made on the non-obvious msvc
branch and not on the more natural maint branch. This has caused
a seemingly endless string of less than optimal commits.
The reason for the confusion stems from the fact that the changes made
on the msvc branch became too radical and was considered only suitable
for the master branch, and was thus written in a form suitable for
master and then merged there. Later, the msvc branch was merged
directly into branch-1.11, in order to rush the new features to the
market and to keep the released scripts (lib/ar-lib, lib/compile and
lib/depcomp) consistent with those on the master branch. However,
some changes had to be made to the features added by the msvc branch
in order for them to fit the requirements of branch-1.11, notably that
the warnings issued in the extra-portability class cannot be enabled
by -Wall in the 1.11.x maintenance releases.
In retrospect, it would have been better to not merge msvc directly
into branch-1.11, but instead do it via the maint branch (followed up
with a dummy merge from maint into master) the moment it was decided
that the msvc changes should make it into branch-1.11.
All in all, this merge is going to affect neither the master branch
nor branch-1.11, since it is followed up with dummy merges masking all
changes. The merge is made to maintain the sanity of the poor
developers, who wishes to once again have a working maint branch.
Discussion about merging the msvc branch into branch-1.11:
http://lists.gnu.org/archive/html/automake/2011-10/msg00030.html
Discussion about why this merge hasn't happened before:
http://lists.gnu.org/archive/html/automake/2011-12/msg00051.html
Extra edits below.
* lib/Automake/ChannelDefs.pm: Use the version from branch-1.11.
* tests/ar-lib3.test: Likewise.
* tests/ar-lib4.test: Likewise.
* tests/extra-portability.test: Likewise.
* tests/extra-portability2.test: Likewise.
* tests/extradep.test: Likewise.
* tests/extradep2.test: Likewise.
* tests/list-of-tests.mk: Likewise.
* HACKING: Backport the version from branch-1.11 while at it (as the
change on branch-1.11 is also present on master via an unrelated
commit), even though this change has nothing to do with the changes
on the msvc branch.
Stefano Lattarini [Wed, 7 Mar 2012 07:24:18 +0000 (08:24 +0100)]
Merge branch 'msvc' into branch-1.11 (dummy merge)
Stefano Lattarini [Wed, 7 Mar 2012 07:20:26 +0000 (08:20 +0100)]
Merge branch 'maint' into msvc
* maint:
news: describe recently-fixed bug in vala support
depcomp: add support for IBM xlc/xlC compilers
Stefano Lattarini [Tue, 6 Mar 2012 20:48:36 +0000 (21:48 +0100)]
Merge branch 'maint' into branch-1.11
* maint:
news: describe recently-fixed bug in vala support
Stefano Lattarini [Tue, 6 Mar 2012 20:44:57 +0000 (21:44 +0100)]
news: describe recently-fixed bug in vala support
* NEWS (Long-standing bugs): Document fix for bug#10894, fixed
by commit 'v1.11-696-g51f61df' of 27-02-2012.
Stefano Lattarini [Tue, 6 Mar 2012 20:04:48 +0000 (21:04 +0100)]
Merge branch 'maint' into branch-1.11
* maint:
depcomp: add support for IBM xlc/xlC compilers
Michael Hofmannm [Mon, 5 Mar 2012 19:05:37 +0000 (20:05 +0100)]
depcomp: add support for IBM xlc/xlC compilers
* lib/depcomp (xlc): New depmode.
* NEWS, THANKS: Update.
Copyright-paperwork-exempt: yes
Peter Rosin [Tue, 6 Mar 2012 08:24:49 +0000 (09:24 +0100)]
Merge branch 'msvc' into branch-1.11
* msvc:
scripts: support -I <dir> -L <dir> and -l <lib> for cl in compile
Peter Rosin [Tue, 6 Mar 2012 08:14:50 +0000 (09:14 +0100)]
scripts: support -I <dir> -L <dir> and -l <lib> for cl in compile
POSIX mandates that the compiler accepts a space between the -I,
-l and -L options and their respective arguments. See
http://pubs.opengroup.org/onlinepubs/
000095399/utilities/c99.html
* lib/compile (func_cl_dashl): New function with factored out code
for implementing the -l option for the cl wrapper.
(func_cl_dashL): New function with factored out code implementing
the -L option for the cl wrapper.
(func_cl_wrapper): Use func_cl_dashl to implement both -l <lib>
and -l<lib>, and func_cl_dashL to implement both -L <dir> and
-L<dir>. Also add support for -I <dir>.
(scriptversion): Update.
* tests/compile3.test: Test both with and without a space between
-I, -l and -L and their respective arguments.
* tests/compile5.test: Likewise.
* tests/compile6.test: Likewise.
* tests/compile3.test: Likewise.
* NEWS: Update.
Peter Rosin [Fri, 2 Mar 2012 15:31:32 +0000 (16:31 +0100)]
Merge branch 'msvc' into branch-1.11
* msvc:
news: add entry about recent 'ar-lib' changes
scripts: recognize the "q", "s" and "S" actions/modifiers in ar-lib
vala: fix 'valac' calls for projects with mixed Vala/C
vala: expose automake bug#10894
dryrun: $(am__dry_run) not confused by metachars in $(MAKEFLAGS)
update-copyright: don't touch files synced from external packages
fixup: distribute 'lib/update-copyright'
maint: add a rule to use gnulib's update-copyright
fixup: do not tickle makefile-deps.test with the make_dryrun code
Peter Rosin [Fri, 2 Mar 2012 15:27:31 +0000 (16:27 +0100)]
news: add entry about recent 'ar-lib' changes
* NEWS: Add information about recent 'ar-lib' changes.
Peter Rosin [Fri, 2 Mar 2012 12:04:13 +0000 (13:04 +0100)]
Merge branch 'fix-vala-test-for-branch-1.11' into branch-1.11
* fix-vala-test-for-branch-1.11:
tests: fix (harmless) botched merge
Peter Rosin [Fri, 2 Mar 2012 11:59:55 +0000 (12:59 +0100)]
tests: fix (harmless) botched merge
Commit v1.11.2-114-g693557c of 2012-01-16 (Merge branch 'maint'
into branch-1.11) reordered the macro calls so that AM_PROG_AR
ended up after AC_PROG_LIBTOOL, which is not allowed. This
error went by undetected since AC_PROG_LIBTOOL was redefined,
but that also removed the ordering requirement making the error
benign.
* tests/vala.test: Put AM_PROG_AR before AC_PROG_LIBTOOL.
Peter Rosin [Thu, 1 Mar 2012 08:30:45 +0000 (09:30 +0100)]
scripts: recognize the "q", "s" and "S" actions/modifiers in ar-lib
* lib/ar-lib: Implement the "q" (quick) action as a synonym
for "r" (replace). Ignore "s" (symbol index) and "S" (no symbol
index) when used as modifiers and "s" when used as a command,
there is simply no way for Microsoft lib to not update the
symbol table index in the archive.
(scriptversion): Update.
* tests/ar-lib.test: Check the added behavior. Also add checks
for the recently added "u" (update) and "v" (verbose) modifiers.
Peter Rosin [Fri, 2 Mar 2012 10:04:05 +0000 (11:04 +0100)]
Merge branch 'maint' into msvc
Stefano Lattarini [Mon, 27 Feb 2012 20:48:03 +0000 (21:48 +0100)]
vala: fix 'valac' calls for projects with mixed Vala/C
Fixes automake bug#10894.
* automake.in (lang_vala_finish_target): Strip non-vala files
from the dependencies of vala stamps, and from the invocation
of valac compiler. Related refactorings.
* tests/Makefile.am (XFAIL_TESTS): Remove 'vala-mix2.test'.
Stefano Lattarini [Mon, 27 Feb 2012 20:16:22 +0000 (21:16 +0100)]
vala: expose automake bug#10894
* tests/vala-mix2.test: New test.
* tests/list-of-tests.mk: Add it.
* tests/Makefile.am (XFAIL_TESTS): Likewise.
* THANKS: Update.
Stefano Lattarini [Fri, 17 Feb 2012 10:52:13 +0000 (11:52 +0100)]
dryrun: $(am__dry_run) not confused by metachars in $(MAKEFLAGS)
* lib/am/header-vars.am (am__make_dryrun): Be smarter and more
correct in handling shell metacharacters in $(MAKEFLAGS).
Stefano Lattarini [Thu, 16 Feb 2012 09:33:30 +0000 (10:33 +0100)]
update-copyright: don't touch files synced from external packages
* Makefile.am (update-copyright): Do not update copyright years of
files synced from external packages, as given by the '$(FETCHFILES)'
variable. Silence the recipe since we are at it.
Stefano Lattarini [Wed, 15 Feb 2012 18:00:10 +0000 (19:00 +0100)]
fixup: distribute 'lib/update-copyright'
While the 'update-copyright' script shouldn't be needed by final
users, that's not a good reason to keep it out by the distribution,
as doing so might be unhelpful toward occasional but curious users
interested in peeking into the automake build system.
* lib/Makefile.am (EXTRA_DIST): Distribute 'update-copyright'.
Jim Meyering [Sun, 12 Feb 2012 15:57:42 +0000 (16:57 +0100)]
maint: add a rule to use gnulib's update-copyright
* lib/update-copyright: New file, from gnulib.
* Makefile.am (FETCHFILES): Add update-copyright to the list.
(fetch): Fetch it.
(update-copyright): New rule.
Peter Rosin [Tue, 14 Feb 2012 11:55:32 +0000 (12:55 +0100)]
fixup: do not tickle makefile-deps.test with the make_dryrun code
* lib/am/header-vars.am (am__make_dryrun): Avoid code matching
'^ *:' in the Makefile, as that tickles makefile-deps.test.
Stefano Lattarini [Tue, 14 Feb 2012 12:37:05 +0000 (13:37 +0100)]
Merge branch 'maint' into branch-1.11
* maint:
gitattributes: custom merge driver for ChangeLog not needed anymore
gitattributes: use "union" merge driver for NEWS
tests: fix a timestamp-related spurious failures
dryrun: fix regression with '$(am__make_dryrun)'
test defs: function 'is_newest' now works also with directories
refactor: new variable telling whether make is running in "dry mode"
tests: do not clobber the modified CC
tests: put AM_PROG_CC_C_O before AC_OUTPUT to help losing compilers
Stefano Lattarini [Tue, 14 Feb 2012 12:25:35 +0000 (13:25 +0100)]
gitattributes: custom merge driver for ChangeLog not needed anymore
* .gitattributes: We don't maintain a version-controlled ChangeLog
file anymore, so we have no need to specify a custom merge driver
for it anymore. Update accordingly.
Stefano Lattarini [Tue, 14 Feb 2012 12:21:26 +0000 (13:21 +0100)]
gitattributes: use "union" merge driver for NEWS
This should help in reducing the spurious merge conflicts for the
NEWS file, which have already caused a great deal of confusion and
wasted time.
Suggestion by Eric Blake:
http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00119.html
* .gitattributes (NEWS): Use the "union" merge driver.
Stefano Lattarini [Thu, 9 Feb 2012 17:07:13 +0000 (18:07 +0100)]
Merge branch 'dryrun-fix' into maint
* dryrun-fix:
dryrun: fix regression with '$(am__make_dryrun)'
Peter Rosin [Wed, 8 Feb 2012 14:10:42 +0000 (15:10 +0100)]
Merge branch 'msvc' into branch-1.11
* msvc:
depcomp: try to prevent whitespace regressions
depcomp: recognize tabs as whitespace in the dashmstdout mode
depcomp: quote 'like this', not `like this'
Peter Rosin [Fri, 3 Feb 2012 15:10:52 +0000 (16:10 +0100)]
depcomp: try to prevent whitespace regressions
Suggested by Stefano Lattarini.
* lib/depcomp: Add $tab and $nl variables and use them
throughout.
Peter Rosin [Fri, 3 Feb 2012 07:54:49 +0000 (08:54 +0100)]
depcomp: recognize tabs as whitespace in the dashmstdout mode
Commit Release-1-7-2b-2-gf03ceab "Cope with DOS filenames in
dependencies." inadvertedly converted tabs into spaces.
* lib/depcomp (dashmstdout): Add a tab character to all sets
matching whitespace.
Peter Rosin [Wed, 8 Feb 2012 13:40:15 +0000 (14:40 +0100)]
depcomp: quote 'like this', not `like this'
Cherry-picked from recent changes from master.
* lib/depcomp: Quote 'like this', not `like this'.
Stefano Lattarini [Tue, 7 Feb 2012 18:53:49 +0000 (19:53 +0100)]
tests: fix a timestamp-related spurious failures
Fixes automake bug#10737. Report from Larry Daniel.
See also automake bug#8365 and commit 'v1.11-329-gd4df619' of
30-03-2011, "tests: fix timestamp-related failures".
* tests/aclocal5.test: Sleep before modifying m4 files that should
trigger remake rules. This fixes an hard-to-hit timestamp-related
race condition.
* THANKS: Update.
Stefano Lattarini [Tue, 7 Feb 2012 10:12:59 +0000 (11:12 +0100)]
dryrun: fix regression with '$(am__make_dryrun)'
In commit v1.11-683-gda0964e of 05-02-2012, we introduced a new
variable '$(am__make_dryrun)' that could be used in recipes to
determine whether make is running in dry mode (e.g., as with
"make -n"). Unfortunately, the idiom we used fails to take into
account the case in which $(MAKEFLAGS) contains one or more variable
definitions whose value is a whitespace-separated list; for example,
if we invoke make as:
make check TESTS="n1.test n2.test"
then the better make implementations out there (at least modern
GNU make and BSD make) will export MAKEFLAGS to the following
value:
TESTS=n1.test\ n2.test
So a shell loop like the one we used in $(am__make_dryrun):
for flag in $$MAKEFLAGS; do ...
won't behave as expected: the shell word-splitting rules will break
up the entry for TESTS into the two distinct entries "TESTS=n1.test\"
and "n2.test", and this second entry will goad our $(am__make_dryrun)
code into thinking that make is performing a dry run!
So now we simply loop over the expanded value of $(MAKEFLAGS).
This solves the regression, but alas, is more brittle in case the
users passes on the command line a macro value containing unbalanced
" or ' quotes, or shell metacharacters like, say, '`' or '('. This
should almost never happen though, so we don't worry about it now;
we will revisit the issue only when and if we receive bug reports in
this area.
* lib/am/header-vars.am (am__make_dryrun): Fix.
* tests/make-dryrun.test: New test.
* tests/list-of-tests.mk: Add it.
Stefano Lattarini [Sat, 23 Jul 2011 11:55:20 +0000 (13:55 +0200)]
test defs: function 'is_newest' now works also with directories
Reported by Jim Meyering against automake master (see bug#9147) and
by Adam Sampson against automake 1.11.3 (see bug#10730).
* tests/defs (is_newest): Call 'find' with the '-prune' option,
so that it won't descend in the directories (which could cause
spurious results).
* THANKS: Update.
Backported from commit v1.11-914-gb6a40fa (originally on master).
Stefano Lattarini [Mon, 23 Jan 2012 20:02:05 +0000 (21:02 +0100)]
refactor: new variable telling whether make is running in "dry mode"
We define a new variable '$(am__make_dryrun)', that can be used
in recipes to determine whether make is running in "dry mode" (as
with "make -n") or not. This is useful in rules that invoke make
recursively, and are thus executed also with "make -n" -- either
because they are declared as dependencies to '.MAKE' (NetBSD make)
or because their recipes contain the "$(MAKE)" string (GNU and
Solaris make).
* lib/am/header-vars.am (am__make_dryrun): New variable.
* lib/am/check.am (check-TESTS recheck): Use it, and simplify
recipe accordingly.
* lib/am/distdir.am (distdir): Likewise.
* lib/am/lisp.am ($(am__ELCFILES)): Likewise.
Peter Rosin [Thu, 2 Feb 2012 20:08:46 +0000 (21:08 +0100)]
tests: do not clobber the modified CC
If CC is originally a losing compiler, AM_PROG_CC_C_O will
modify CC. "$MAKE -e" will then clobber this modified CC
and reintroduce the raw losing compiler causing the test
to fail, as subdir-objects is in effect.
tests/check8.test: Drop -e from the $MAKE invocation, since
AM_COLOR_TESTS is not specified in the Makefile and -e is
therefore not needed.
Peter Rosin [Wed, 1 Feb 2012 14:47:45 +0000 (15:47 +0100)]
tests: put AM_PROG_CC_C_O before AC_OUTPUT to help losing compilers
When AM_PROG_CC_C_O is after AC_OUTPUT, the compile script
is not used even if needed, causing testsuite fails if
libtool is not used.
* tests/depcomp8a.test: Uncomment the AM_PROG_CC_C_O macro
in its correct location, as indicated...
(configure.in): ...with this comment.
* tests/depcomp8b.test: Sync with tests/depcomp8a.test.
Stefano Lattarini [Wed, 1 Feb 2012 11:21:16 +0000 (12:21 +0100)]
maint: post-release version bump
* configure.ac, NEWS, m4/amversion.m4: Bump version to 1.11.3a,
as per HACKING suggestion.
Stefano Lattarini [Wed, 1 Feb 2012 10:37:49 +0000 (11:37 +0100)]
release: stable release 1.11.3
* configure.ac (AC_INIT): Bump version number to 1.11.3.
* NEWS: Likewise.
* m4/amversion.m4 (AM_AUTOMAKE_VERSION): Likewise.
* doc/automake.texi (Release Statistics): Update, as suggested
by "make release-stats".
Stefano Lattarini [Wed, 1 Feb 2012 10:33:15 +0000 (11:33 +0100)]
Merge branch 'maint' into branch-1.11
* maint:
cleanup: remove unused .am file
Peter Rosin [Wed, 1 Feb 2012 09:27:59 +0000 (10:27 +0100)]
tests: add AM_PROG_AR to help losing archivers
Without AM_PROG_AR, using Microsoft lib as the archiver causes
testsuite failures.
* tests/extradep.test (configure.in): Add AM_PROG_AR.
* tests/extradep2.test (configure.in): Likewise.
Stefano Lattarini [Tue, 31 Jan 2012 11:52:24 +0000 (12:52 +0100)]
cleanup: remove unused .am file
* lib/am/comp-vars.am: Remove. This file has stopped being useful
since commit 'Release-1-4d-206-g3334f9a' of 09-04-2001, and should
have been removed back then. But apparently only its contents were
removed, leaving the file empty but still present in the repository.
Or maybe this situation is the consequence of a minor blunder in
the conversion from CVS to Git; either way, this is not a big deal.
Stefano Lattarini [Tue, 31 Jan 2012 07:14:05 +0000 (08:14 +0100)]
Merge branches 'msvc' and 'maint' into branch-1.11
* msvc:
ar-lib: ignore the verbose modifier instead of erroring out
scripts: cherry-pick recent changes from master
* maint:
tests: do not assume the object file extension is .o
Peter Rosin [Mon, 30 Jan 2012 22:19:03 +0000 (23:19 +0100)]
ar-lib: ignore the verbose modifier instead of erroring out
* lib/ar-lib: A number of tests uses the v modifier when listing
the archive content, ignore it to make them pass.
Peter Rosin [Mon, 30 Jan 2012 22:16:37 +0000 (23:16 +0100)]
scripts: cherry-pick recent changes from master
* lib/ar-lib: prefer the term "Windows" over "Win32" and quote
'like this', not `like this'.
* lib/compile: Likewise.
Peter Rosin [Mon, 30 Jan 2012 19:57:12 +0000 (20:57 +0100)]
tests: do not assume the object file extension is .o
* tests/specflg7.test: Dig out the object file extension from the
OBJEXT makefile variable.
* tests/substref.test: Likewise.
* tests/specflg8.test: Likewise. Also check that the false-true
object is created instead of checking the true-true object twice.
* tests/suffix8.test: Add a chain rule for the case where the
object file extension is .obj.
Stefano Lattarini [Sat, 28 Jan 2012 13:09:56 +0000 (14:09 +0100)]
Merge branch 'maint' into branch-1.11
* maint:
tests: avoid spurious failure of 'transform2.test' on Cygwin
tests: avoid spurious failure of deleted-am.test with FreeBSD make
tests: avoid possibly undeserved PASS from check8.test
warnings: more precise category and message for one warning
release: revamp rules to tag and upload the releases
amversion: add missing dependency
hacking: update advice w.r.t. synced files
hacking: don't reference ChangeLog anymore