lib/am/distdir.am


Log

Author Commit Date CI Message
Paul Eggert 3562e384 2017-09-16T13:03:36 Prefer https: URLs In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to use https:, to discourage man-in-the-middle attacks when downloading software. The attached patch propagates these changes upstream to Automake. This patch does not affect files that Automake is downstream of, which I'll patch separately. Althouth the resources are not secret, plain HTTP is vulnerable to malicious routers that tamper with responses from GNU servers, and this sort of thing is all too common when people in some other countries browse US-based websites. See, for example: Aceto G, Botta A, Pescapé A, Awan MF, Ahmad T, Qaisar S. Analyzing internet censorship in Pakistan. RTSI 2016. https://dx.doi.org/10.1109/RTSI.2016.7740626 HTTPS is not a complete solution here, but it can be a significant help. The GNU project regularly serves up code to users, so we should take some care here.
Mathieu Lirzin d8add592 2017-03-02T18:55:53 maint: Update copyright years to 2017. This update has been made with 'make update-copyright'.
Paul Eggert 749468ac 2016-03-28T19:44:19 automake: port better to future gzip * lib/am/distdir.am (dist-gzip, dist-shar, distcheck): Port better to future versions of gzip, which are planned to deprecate the GZIP environment variable (Bug#20132).
Stefano Lattarini 5de75f07 2015-01-05T22:48:33 maint: update copyright years to 2015 (branch 'micro') Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini bd838a68 2014-12-23T21:15:18 Merge branch 'micro' into minor * micro: dist: fix bug#18286 "distcheck fails to detect missing files" tests: expose automake bug#18286 "distcheck fails to detect missing files" include: fix bug in handling of user-defined makefile fragments generation tests: expose bug in handling of user-defined makefile fragments generation
Stefano Lattarini 6979c8e6 2014-12-23T20:24:46 Merge branch 'distcheck-pr18286' into micro * distcheck-pr18286: dist: fix bug#18286 "distcheck fails to detect missing files" tests: expose automake bug#18286 "distcheck fails to detect missing files"
Stefano Lattarini 01a7a4a7 2014-12-23T18:39:32 dist: fix bug#18286 "distcheck fails to detect missing files" BTW, this issue had been already reported in the past: http://lists.gnu.org/archive/html/automake/2006-09/msg00008.html http://lists.gnu.org/archive/html/automake/2013-01/msg00049.html "make distcheck" could sometimes fail to detect missing files in the distribution tarball, especially in those cases where both the generated files and their dependencies are explicitly in $(srcdir). An important example of this are *generated* makefile fragments included at Automake time in Makefile.am. A basic example: # -*- Makefile.am -*- $(srcdir)/fragment.am: $(srcdir)/data.txt $(srcdir)/preproc.sh cd $(srcdir) && $(SHELL) preproc.sh <data.txt >fragment.am include $(srcdir)/fragment.am ... If the use forgot to add data.txt and/or preproc.sh in the distribution tarball, "make distcheck" would have erroneously succeeded! The reason is that, while $(srcdir)/data.txt does not exist, make also looks in $(srcdir)/$(srcdir)/data.txt, and in the distcheck-issued VPATH build where $(srcdir) is '..', that file exists, as it is part of the original development directory. * t/distdir.am (distcheck): Adjust to have the build directory be '$(distdir)/_build/sub' rather than just '$(distdir)/_build'. Thanks Nicola Fontana for the suggestion. * t/distcheck-pr18286.sh: Enhance and tighten a little. * t/list-of-tests.mk (XFAIL_TESTS): Remove 't/distcheck-pr18286.sh', as it's now passing. * t/subdir-am-cond.sh: Adjust to avoid a fully spurious failure due to the new distcheck semantics. * t/subdir-ac-subst.sh: Likewise. * t/dejagnu-relative-srcdir.sh: Likewise. * t/txinfo-builddir.sh: Likewise. * NEWS: Update. Helped-by: Nicola Fontana <ntd@entidi.it> Helped-by: Peter Johansson <trojkan@gmail.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 88ac92b2 2014-12-22T17:56:22 Merge branch 'micro' into minor * micro: cleanup: refactor code to initialize DIST_COMMON dist: ordering of files in DIST_COMMON is deterministic now tests: refactor some tests on DIST_COMMON maint: make output of 'gen-testsuite-part' deterministic When computing lispdir, don't load emacs site wide init file. PATH: quote $(PATH_SEPARATOR) as well Improve detection of GNU make, avoiding "Arg list too long" errors.
Stefano Lattarini 91238345 2014-12-22T13:39:30 cleanup: refactor code to initialize DIST_COMMON There is not need to make that an Automake variable early, only to later get and munge its contents, and use the new content to redefine the variable. * bin/automake.in (@dist_common): New global variable. (push_dist_common, handle_dist): Use it. (handle_dist): Define am__DIST_COMMON instead of DIST_COMMON directly. (initialize_per_input): Reset it to empty. ($configure_dist_common): Turn this scalar variable ... (@configure_dist_common): ... into this array variable. (handle_dist): Adjust. (required_file_check_or_copy): Update and wrap some comments. * lib/am/distdir.am (DIST_COMMON): Append $(am__DIST_COMMON). * t/distcom2.sh: Tighten a little. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Aharon Robbins 4410ae7f 2014-12-19T11:08:15 dist: adjust warning messages about shar and tarZ deprecation They were swapped. Reported in http://debbugs.gnu.org/19108. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini a78f63c5 2014-04-21T15:10:54 maint: update copyright years We've been in 2014 already for few months now... Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 3a851d64 2014-04-21T10:22:29 Typofixes in warning messages and manual Fixes automake bug#16827 and bug#16997. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 9b156829 2013-10-30T21:41:39 distcheck: don't allow overriding of --prefix and --srcdir by the user Not through AM_DISTCHECK_FLAGS, nor through DISTCHECK_FLAGS. Apparently, some packages got in the habit of relaying all the options passed to the original ./configure invocation through to the configure invocations in "make distcheck". This was causing problems, because it also passed through the original --srcdir and --prefix options. Fixes: expose bug#14991 (relates to 'distcheck') * lib/am/distdir.am (distcheck): Pass the hard-coded --srcdir and --prefix options *after* both the developer-defined options in $(AM_DISTCHECK_FLAGS) and the user-defined options in $(DISTCHECK_FLAGS). * t/list-of-tests.mk (XFAIL_TESTS): Remove the now-passing test 'distcheck-no-destdist-or-srcdir-override.sh'. * doc/automake.texi (Checking the Distribution): Update. * NEWS: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 9892eb78 2013-06-09T11:37:01 Merge branch 'micro' into maint * micro: maint: add a missing copyright notice sync: update config.guess from upstream tests: expose automake bug#13928 comments: fix some out-of-sync refs to test scripts tests: expose automake bug#13940
Stefano Lattarini f7492285 2013-06-08T17:56:34 comments: fix some out-of-sync refs to test scripts Those script has been renamed since those comments where written. * lib/Automake/Rule.pm: Adjust. * lib/am/distdir.am: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 780299d9 2013-05-10T19:22:06 dist: deprecated shar and tar+compress formats See also discussion about automake wishlist bug#13324. * lib/Automake/Options.pm: Give proper warnings in the 'obsolete' category if the 'dist-shar' or 'dist-tarZ' options are used. * lib/distdir.am: When the 'dist-tarZ' or 'dist-shar' targets are invoked, make them give a non-fatal warning. * doc/automake.texi: Report the new deprecations. * t/dist-shar.sh: New test. * t/dist-tarZ.sh: Likewise. * t/lzma.sh: While at it, rename ... * t/dist-lzma.sh: ... like this, and tweak it to keep more in sync with the new tests. * t/dist-formats.tap: Remove references to deprecated formats. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7df8b28c 2012-12-31T18:18:37 maint: update copyright year for 2013 (in branch maint) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini ae1f40f5 2012-08-10T16:51:55 Merge branch 'maint' * maint: automake: remove an unused local variable distcheck: more resilient against possible failures cleanup: remove almost-unused global var 'am_relative_dir'
Stefano Lattarini c1dd6cce 2012-08-10T16:11:04 distcheck: more resilient against possible failures * lib/am/distdir.am (distcheck): Ensure that a failure in the commands making the just-extracted source tree read-only cause the recipe to fail. While at it, save a fork by creating the '_build' and '_inst' subdir with a single mkdir invocation. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini bdb984ba 2012-07-09T19:33:03 Merge branch 'maint' (with fix for CVE-2012-3386) This makes the fix for a locally-exploitable security vulnerability (CVE-2012-3386) available to the Automake master branch. * maint: sync: update files from upstream with "make fetch" news: improve wording in entry about CVE-2012-3386 maint: post-release minor version bump release: stable release 1.12.2 distcheck: never make part of $(distdir) world-writable compat: automake should substitute @mkdir_p@, for backward compatibility fixup: t/README: it's ./runtest, not ./t/ax/runtest Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini bab7065f 2012-07-06T22:43:04 distcheck: never make part of $(distdir) world-writable This fixes a locally-exploitable security vulnerability (CVE-2012-3386). 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. Helped-By: Jim Meyering <jim@meyering.net> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini a22717df 2012-06-15T11:13:00 missing: do not touch timestamps; only warn for out-of-date files Before this change, the missing script had a twofold role: - it warned the user if some required maintainer tools was missing, or too old; - in such a case, it tried to "fix" the timestamp of the files that should have been rebuilt by that tool (without actually updating the file contents, of course), to allow the build to continue. The second capability used to be quite useful in the days when most projects committed files generated by maintainer-only tools in their VCS repository (today the trend is not to keep such generated files VCS-committed anymore). In such a setup, the "timestamp-fixing" capability of 'missing' was quite useful, in that it allowed users lacking some required maintainer tool to build from a VCS checkout in the face of skewed timestamps (as could have been caused by "cvs update" or "git checkout"). But then, when the automatic remake rules kicked in due to the generated files being *actually out-of-date* (e.g., because the user had modified 'configure.ac' but lacked a modern-enough autoconf to rebuild it), that behaviour of 'missing' caused the same problem that plagued AM_MAINTAINER_MODE; i.e., the user would get non-dependable builds and inconsistent statuses of the build tree -- changes to source files don't reflect on generated files, and this can be very confusing and cause hard-to-spot errors). So we now believe that the best approach to deal with timestamp-related issues is not to have 'missing' to "automagically" try to resolve them (with all the risk and brittleness entailed), but rather to suggest those projects still keeping generated files committed in their VCS to provide a proper (say) 'fix-timestamp.sh' script that touches the timestamp of the checked-out files, to ensure no spurious rebuild will be triggered. As a bonus, such a script can be more aware of the particularities, nooks and corner cases of a project, and thus more reliable than the old 'missing' script. An example of this approach is offered by GNU awk (release 4.0.1, Git tag 'gawk-4.0.1', commit b85b04e8). The GNU awk maintainers commit the Autotools-generated files (configure, Makefile.in, etc.) and other generated in the project's Git repository, but offer a useful script 'bootstrap.sh' that fixes the timestamps of those files, to ensure no useless remake is triggered in a freshly cloned repository: #! /bin/sh # bootstrap.sh --- touch relevant files to avoid out-of-date issues # in Git sandboxes touch aclocal.m4 find awklib -type f -print | xargs touch sleep 1 touch configure sleep 2 touch configh.in sleep 1 touch test/Maketests find . -name Makefile.in -print | xargs touch touch doc/*.info touch po/*.gmo touch po/stamp-po touch awkgram.c touch command.c touch version.c A similar, simplified script is also reported as an example in the manual. * NEWS: Update. * doc/automake.texi (Auxiliary Programs, maintainer-mod): Update. (CVS): Do not suggest that 'missing' can "automagically" fix botched timestamp due to a "cvs update"; this isn't true anymore. Give an example of a custom 'fix-timestamp.sh' script that can be used to obtain the same effect (in a slightly more laborious but also more explicit and less brittle way). Fix some minor typos and improper wordings while we are at it. * lib/missing: Basically rewritten to implement the new semantics. As a side effect (one of the several), the '--run' option is no more required nor recognized. * m4/missing.m4 (AM_MISSING_HAS_RUN): Enhance the test on '$MISSING' to ensure it actually provides the new semantics (by trying the new "witness" option '--is-lightweight'). * lib/am/distdir.am (distdir): No need anymore to check for "bad" distributed man pages that were actually dummy stubs generated by the 'missing' script. * t/missing4.sh: Rename ... * t/remake-aclocal-version-mismatch.sh: ... like this. * t/missing2.sh: Rename ... * t/missing-version-mismatch.sh: ... like this, and adjust to the new semantics. * t/missing3.sh: Adjust to the new semantics. * t/man4.sh: Remove as obsolete. * t/missing.sh: Likewise. * t/missing5.sh: Likewise. * t/txinfo30.sh: Likewise. * t/man6.sh: Adjust grepping checks. * t/remake6.sh: Likewise. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini a1241883 2012-05-03T17:30:56 dist: don't bother putting README first in $(DIST_COMMON) Comments on some of our automake-time pre-processing of $(DIST_COMMON) said that it was done in order to "put README first because it then becomes easier to make a Usenet-compliant shar file". But such a format is hardly relevant anymore, and not worth the (albeit small) added complexity. * automake.in (handle_dist): Don't sort @dist_common. (for_dist_common): Delete this function, is not used anymore. * lib/am/distdir.am (DISTFILES): Remove obsolete comment. * t/distcom4.sh: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini de58d25e 2012-02-23T15:15:26 am: do not quote `like this', as per GCS recommendation This patch converts the automake-provided '*.am' fragments, and related files, to the use of new quoting format 'like this' or "like this" rather than `like this'. * lib/am/check.am: Update quoting format throughout, in comments and diagnostic. Some related rewordings, reformatting, and removal of redundant commands since we are at it. * lib/am/configure.am: Likewise. * lib/am/dejagnu.am: Likewise. * lib/am/depend2.am: Likewise. * lib/am/distdir.am: Likewise. * lib/am/inst-vars.am: Likewise. * lib/am/install.am: Likewise. * lib/am/lang-compile.am: Likewise. * lib/am/lisp.am: Likewise. * lib/am/ltlib.am: Likewise. * lib/am/mans.am: Likewise. * lib/am/progs.am: Likewise. * lib/am/remake-hdr.am: Likewise. * lib/am/subdirs.am: Likewise. * lib/am/tags.am: Likewise. * lib/am/texi-vers.am: Likewise. * lib/am/texibuild.am: Likewise. * lib/am/texinfos.am: Likewise. * lib/am/yacc.am: Likewise.
Stefano Lattarini 641a5a4b 2012-02-16T10:46:23 maint: run "make update-copyright"
Stefano Lattarini d2d18dca 2012-02-05T18:37:45 Merge branch 'maint' * maint: refactor: new variable telling whether make is running in "dry mode" tests: do not clobber the modified CC
Stefano Lattarini da0964eb 2012-01-23T21:02:05 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.
Stefano Lattarini a23d5bdc 2012-01-13T13:20:34 Merge branch 'maint' * maint: dist: avoid $(distdir) removal failure on MSYS/MinGW tests: fix spurious failure of 'get-sysconf.test' coverage: expose automake bug#10470 (distcheck-related) tests: make 'aclocal-install-absdir.test' executable tests: require GNU make in 'vala-vapth.test' vala: fix VPATH builds tests: fix some bugs in the vala-vpath test
Stefano Lattarini dfb5e52f 2012-01-11T18:09:07 dist: avoid $(distdir) removal failure on MSYS/MinGW This change fixes automake bug#10470. On MSYS (1.0.17) it is not possible to remove a directory that is in use, and this, together with timing issues, could cause spurious failures in the cleanup code of the "distcheck" recipe. In fact, it should be noted that assuming a directory can be removed while it the CWD of a running process is a POSIX violation: "If the directory is the root directory or the current working directory of any process, it is unspecified whether the function succeeds, or whether it shall fail and set errno to [EBUSY]." * lib/am/distdir.am (am__remove_distdir): If rm fails, sleep some seconds and retry, to give potential "pending" processes some time to exit and "release" the directory. * tests/Makefile.am (XFAIL_TESTS): Remove 'distcheck-pr10470.test'. Report and suggestions by Peter Rosin and Eric Blake.
Stefano Lattarini 96fef7a3 2012-01-06T23:37:09 dist: distdir not unconditionally removed anymore for xz and lzip This change fixes automake bug#10444 a.k.a. bug#10448. The 'dist-xz' and 'dist-lzip' recipes were erroneously using '$(am__remove_distdir)' instead of '$(am__post_remove_distdir)' to cleanup the '$(distdir)'; so a "make dist" issued in a package using (say) gzip and xz compression would have failed to properly created the gzip tarball, since the distdir was unconditionally removed by "make dist-xz" upon its completion, instead of being left populated for the following "make dist-gzip". The problem with 'dist-xz' was introduced in the merge commit `v1.11-1142-g47587d1', and the problem with 'dist-lzip' was introduced in the merge commit `v1.11-1673-gc1b14e9' * lib/am/distdir.am (dist-xz): Use '$(am__post_remove_distdir)', not '$(am__remove_distdir)'. (dist-lzip): Likewise.
Stefano Lattarini 02e90723 2012-01-01T13:23:19 dist: remove support for lzma (superseded by xz and lzip) See also commit `v1.11-611-ge637fa2' (from maint), where support for lzma compression of distribution archive had been deprecated. * NEWS: Update. * lib/Automake/Options.pm: Error out if the `dist-lzma' option is used. * lib/am/distdir.am: Remove all support for the creation of a lzma-compressed distribution archive. * tests/lzma.test: Update.
Stefano Lattarini c1b14e96 2012-01-01T11:14:27 Merge branch 'maint' * maint: tests: make 'lzip.test' executable dist: obsolete support for lzma (superseded by xz and lzip) test defs: more granular overriding of the make program docs: fix a couple broken anchors dist: add support for lzip compression docs: fix paragraph names for automake and aclocal invocations tests: fix spurious failure due to autom4te caching fix: last entry in ChangeLog tests: tweak tests on silent-rules for makes without nested vars silent-rules: fallback for makes without nested vars
Antonio Diaz Diaz 0878bd34 2011-12-30T14:35:18 dist: add support for lzip compression * NEWS: Update. * automake.in (handle_dist): Recognize dist-lzip. (make_paragraphs): Map LZIP to dist-lzip. * doc/automake.texi (Dist, Options): Describe dist-lzip. * lib/Automake/Options.pm (_process_option_list): Recognize `dist-lzip'. * lib/am/distdir.am (dist-lzip): New target. (DIST_ARCHIVES) [?LZIP?]: Add `dist-lzip'. (dist, dist-all) [?LZIP?]: Add command to create an lzip-compressed tarball. (distcheck): Handle lzip-compressed tarballs just like the others. * tests/lzip.test: New test. * tests/Makefile.am (TESTS): Add it.
Stefano Lattarini 8d3466c8 2011-12-10T00:58:13 Merge branch 'master' into testsuite-work
Stefano Lattarini 47587d15 2011-12-10T00:46:13 Merge branch 'maint' Commits merged from maint: dist-xz, dist-bzip2: don't hard-code -9, honor envvar settings news: fix typos, grammaros and suboptimal wording maint: sync auxiliary files from upstream tests: fix spurious failures due to missing 'yywrap()' function depcomp: spelling fix tests: fix 'distcheck-override-infodir.test' on Cygwin cosmetics: typofix in comments coverage: undistributed '.am' and '.m4' files are diagnosed coverage: required but missing '.am' and '.m4' files are diagnosed coverage: expose automake bug#10111 in the testsuite fix: regenerate doc/Makefile texinfo: work around Solaris 10 xpg4 shell bug in install rules configure: report perl version in config.log tests: fix spurious failure with older install-info maintcheck: fix spurious failure in 'color2.test' tests: fix spurious error in 'uninstall-fail.test' on Solaris tests: fix typo in 'uninstall-fail.test' Extra edits: * ChangeLog: Remove mention of commit 6da46f31 (2010-10-05), which has been superseded by commit c8e01d58 (2011-12-09). Fix entry relative to that commit, to adapt to differences between maint and master.
Jim Meyering c8e01d58 2011-12-09T23:17:18 dist-xz, dist-bzip2: don't hard-code -9, honor envvar settings Before the present change, automake-generated `dist-xz' rule used a hard-coded `xz -9'. That was a problem because on this front, xz differs from gzip and bzip2. While the latter two don't incur any run-time decompression penalty for using a higher compression level, specifying -9 with xz imposes a potentially fatal virtual memory requirement on any client that wants to decompress your tar.xz file. People have complained that a tarball compressed with -9 cannot be uncompressed in a low-memory environment (wrt-based embedded). Hence, instead of defaulting to -9, which is useful only for very large tarballs, it defaults to -e (equivalent to -6e). This limits the default memory requirements imposed on decompressors, yet still gives very good compression ratios. * lib/am/distdir.am (dist-xz): Do not hard-code xz's -9: that made it impossible to override. Actually don't default to -9, either, since that induced inordinately large virtual memory usage when merely decompressing. Instead, use its XZ_OPT envvar, defaulting to -e if not defined. Suggested by Lasse Collin. (dist, dist-all) [?XZ?]: Likewise (dist-bzip2): Similarly, do not hard-code -9, but do continue to use -9 by default. Honor the BZIP2 envvar. (dist, dist-all) [?BZIP2?]: Likewise * NEWS: Update. * doc/automake.texi (The Types of Distributions): Describe the newly enabled environment variables. This is inspired to commit v1.11-389-g6da46f3, with additional changes to reflect that the xz compression level should default to -e, not -9.
Stefano Lattarini 326ecba2 2011-09-30T12:12:43 dist: auxiliary files can be distributed from subdir Makefiles With this change, we make it possible for a subdir Makefile.am to distribute files in the config auxdir; while this means that some files might be copied multiple times, it simplify some logic in the automake script, and fix at least one important bug. In fact, before this change, the auxiliary script `test-driver' was not being distributed as expected when TESTS was defined only in a subdir Makefile (which is a pretty common setup indeed). Now this does not happen anymore: so the present change fixes automake bug#9546. Another welcome collateral effect is that `dist-auxfile-2.test' now passes. OTOH, the present changes *breaks threaded automake*. The reason is that automake needs to serialize file installations spawned by `--add-missing' (this isn't for cosmetic reasons, but is really needed to avoid possible race conditions and botched output files). Currently the code that installs required files is intertwined with the code that declares the DIST_COMMON variables; so, upon de-serialization, the definition of DIST_COMMON might get emitted in the wrong Makefile.in. Some follow-up refactoring in automake will soon take care of remedying this situation. For the moment, we just declare some "parallel-am" tests as xfailing. * automake.in (maybe_push_required_file): Add ad-hoc handling for the case where the directory part of the required file is different from the subdir where the current Makefile.am resides, but is equal to the "config-aux directory" ($config_auxdir). This is needed to allow a construct in a non-top-level Makefile.am to require a file in the config-aux directory. * tests/test-driver-is-distributed.test: Extend and adjust. This test now passes. * tests/java-compile-run-nested.test: Call automake with the `-a' option to ensure that the `test-driver' auxiliary script gets correctly installed. This test now passes. * tests/distcom-subdir.test: New test. * tests/dist-readonly.test: Likewise. * tests/dist-repeated.test: Likewise. * tests/dist-auxdir-many-subdirs.test: Likewise. * tests/distcom7.test: Removed, it's obsolete now. * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
Stefano Lattarini 30eb17ff 2011-10-06T21:42:06 Merge branch 'maint'
Stefano Lattarini 0773a998 2011-10-06T16:10:40 maintcheck: fix spurious failure * lib/am/distdir.am: Use `$(infodir)', not `${infodir}', to avoid complaints from the `sc_no_brace_variable_expansions' maintainer check.
Stefano Lattarini 8b27c5b5 2011-10-06T13:56:49 Merge branch 'maint' * maint: fix: make a test script executable coverage: expose automake bug#9651 parallel-tests: automake error our on invalid TEST_EXTENSIONS fix: regenerate Makefile docs: don't suggest installing `.m4' files in hard-coded location distuninstallcheck: fail also when only one file is left installed
Stefano Lattarini a2498fe8 2011-09-23T16:06:59 distuninstallcheck: fail also when only one file is left installed This change fixes automake bug#9579. * lib/am/distdir.am (distuninstallcheck): Be stricter in ignoring a potential `dir' file created by install-info and left installed. Also, be more careful about "this can't happen" kind of errors. (am__distuninstallcheck_listfiles): New internal helper macro. * tests/distcheck-pr9579.test: New test. * tests/distcheck-override-infodir.test: Likewise. * tests/Makefile.am (TESTS): Add them. * NEWS, THANKS: Update. Report by Nick Bowler.
Stefano Lattarini 43d62e07 2011-06-16T16:56:36 Merge branch 'maint' * maint: news: update w.r.t. introduction of AM_DISTCHECK_CONFIGURE_FLAGS tests: optimize tests on primary/prefix mismatch for speed Warnings about primary/prefix mismatch fixed and extended. maintcheck: DISTCHECK_CONFIGURE_FLAGS can be defined on make cmdline distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS docs: better documentation for silent make rules
Stefano Lattarini 97600392 2011-06-10T12:26:42 distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS * doc/automake.texi (Checking the Distribution): Suggest to use AM_DISTCHECK_CONFIGURE_FLAGS, not DISTCHECK_CONFIGURE_FLAGS, to define (in the top-level Makefile.am) extra flags to be passed to configure at "make distcheck" time; DISTCHECK_CONFIGURE_FLAGS should be reserved for the user. Add proper `@vindex' directive. Document that AM_DISTCHECK_CONFIGURE_FLAGS is not honoured in a subpackage Makefile.am, but the flags in it are passed down to the configure script of the subpackage. * lib/am/distdir.am (distcheck): Also pass the flags in $(AM_DISTCHECK_CONFIGURE_FLAGS) to the configure invocation. Update comments. * tests/defs.in.test (AM_DISTCHECK_CONFIGURE_FLAGS, DISTCHECK_CONFIGURE_FLAGS): Unset in case they are exported in the environment, they might improperly influence our testsuite. * tests/distcheck-configure-flags.test: New test. * tests/distcheck-configure-flags-am.test: Likewise. * tests/distcheck-configure-flags-subpkg.test: Likewise. * distcheck-hook.test: Likewise. * distcheck-hook2.test: Likewise. * tests/Makefile.am (TESTS): Update. Closes automake bug#8487.
Jim Meyering 6da46f31 2010-10-02T22:30:02 dist-xz, dist-bzip2: don't hard-code -9: honor envvar settings * lib/am/distdir.am (dist-xz): Do not hard-code xz's -9: that made it impossible to override. Instead, use its XZ_OPT envvar, defaulting to -9 if not defined. Thus no change in behavior when XZ_OPT is not set, and now, this rule honors the setting of that envvar when it is set. Suggested by Lasse Collin. (dist-bzip2): Likewise for it's corresponding envvar: BZIP2. * NEWS (Miscellaneous changes): Mention it. * doc/automake.texi (The Types of Distributions): Describe the newly enabled environment variables.
Eric Blake 35597a75 2010-09-17T14:17:07 Merge branch 'maint'
Eric Blake 978dfcf5 2010-09-17T06:31:33 Avoid triple-space after period. * automake.in (handle_single_transform): Avoid 3 spaces at sentence end. * ChangeLog.03: Likewise. * lib/Automake/ChannelDefs.pm: Likewise. * lib/Automake/Channels.pm (_print_message): Likewise. * lib/Automake/Rule.pm (rule): Likewise. * lib/Automake/Variable.pm (var): Likewise. * lib/am/distdir.am: Likewise. * tests/insthook.test: Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
Ralf Wildenhues b853db4a 2010-04-11T20:04:01 Merge branch 'maint'
Ralf Wildenhues b410859d 2010-04-11T19:43:20 Use -9 for maximum xz compression with dist-xz. * lib/am/distdir.am (dist-xz, dist, dist-all): Pass -9 to xz. * NEWS, THANKS: Update. Report by Pavel Sanda. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 4147afc1 2010-02-24T19:56:26 Merge branch 'lzip-support' * lzip-support: Add lzip compression support.
Antonio Diaz Diaz 3c3ff958 2010-02-24T19:41:59 Add lzip compression support. * automake.in (handle_dist): Recognize dist-lzip. (make_paragraphs): Map LZIP to dist-lzip. * doc/automake.texi (Dist): Add dist-lzip. (Options): Likewise. * lib/Automake/Options.pm (_process_option_list): Add dist-lzip. * lib/am/distdir.am (dist dist-all): Add command to create an lzip-compressed tarball. (distcheck): Handle lzip-compressed tarballs just like the others. * tests/defs.in: Test for lzip, too. * tests/lzip.test: New file, based on nogzip.test. * tests/Makefile.am (TESTS): Add lzip.test. * NEWS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues b3f8778b 2009-12-05T15:11:07 Merge branch 'maint'
Antonio Diaz Diaz 8fa396f2 2009-12-05T14:45:30 Replace unlzma, gunzip, bunzip2 with pack tool -d invocation. * lib/am/distdir.am (distcheck): Use lzma -d, gzip -d, bzip2 -d, instead of the respective un$tool invocation, to avoid depending on another tool. * THANKS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 5480d706 2009-11-30T22:38:23 Merge branch 'maint'
Jim Meyering efb68994 2009-11-28T21:05:33 do not put world-writable directories in distribution tarballs * lib/am/distdir.am (distdir): Do not make all directories group- or world-writable. Instead, use 755. * tests/subpkg4.test (test-distdir-is-readable): Check for new, more restricted permissions.
Ralf Wildenhues 1333390c 2009-10-17T08:00:02 dist: allow running several compressors in parallel. * lib/am/distdir.am (am__post_remove_distdir): New internal variable. (DIST_TARGETS): New variable, set to list of chosen distribution formats. Order formats by expected duration, slowest first, for better parallelism. (dist-gzip, dist-bzip2, dist-lzma, dist-xz, dist-tarZ) (dist-shar, dist-zip): Use $(am__post_remove_distdir). (dist, dist-all): Do not depend on distdir. Instead of replicating each compression command, use a recursive invocation to allow running all $(DIST_TARGETS) in parallel. * NEWS: Update. Report by Peter Breitenlohner. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues fcf2f560 2009-05-17T15:32:40 Revert Automake license to GPLv2+. Automake will move to GPLv3+ once the Exception statement has been rewritten to use the new GPLv3 exception language. This change does not impact the COPYING file that may be installed by `automake --add-missing'. * COPYING: Revert to GPLv2. All uses changed. * NEWS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 0e411a04 2009-05-17T12:03:47 Cope with parallel BSD make -jN semantics. When BSD `make -jN' is used without `-B' which enables backwards compatible semantics, it may reuse the same shell for several commands within a rule; so ensure we do not leave it in a different directory, nor `exit 0' early in a multi-command rule. * lib/am/distdir.am (distcheck): After running `distcleancheck', change back to original working directory. * lib/am/remake-hdr.am (%CONFIG_HIN%): Run autoheader in a subshell. * lib/am/mans.am (uninstall-man%SECTION%): Do not `exit 0' early in a rule that consists of several shell invocations. Parallel NetBSD `make -jN' without `-B' will use only one shell for all commands, but won't respawn one after `exit 0'. Fixes notrans.test failure. * tests/makej2.test: New test. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues b6bebfca 2009-05-03T09:59:21 Fix copyright years in *.am files. * lib/am/check.am, lib/am/check2.am, lib/am/distdir.am, lib/am/program.am, lib/am/tags.am: Fix copyright years. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 553f13a3 2009-05-03T09:47:58 distdir: avoid duplicate `find' traversal with subpackages. * lib/am/distdir.am (distdir) [%?SUBDIRS%]: When recursing, set `am__skip_mode_fix'. [%?TOPDIR_P%]: When `$(am__skip_mode_fix)' is set, avoid tree walk. * tests/subpkg4.test: New test, to ensure that we still walk the whole tree while fixing permissions. We don't ensure it is walked once only. * tests/Makefile.am: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Peter Breitenlohner 3a12ed5e 2009-03-22T10:11:14 DISTFILES containing a directory and files in that directory. For PR automake/533: When the source tree contains non-writable files or directories (as happens during distcheck), and directories or entries thereof are listed multiple times in variables to be distributed, then the corresponding directories below $(distdir) need to be made writable recursively. Since file modes should not change, they need to be copied recursively using `cp -f'. * lib/am/distdir.am: Handle this situation. * tests/distdir.test: Extend test to those cases. * NEWS: Update. Report by Peter Breitenlohner. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 9003cc9b 2009-03-22T09:53:19 Define AM_RECURSIVE_TARGETS, for gnulib's GNUmakefile. This new macro lists all public targets which invoke `make' recursively, or depend on targets which do so. It allows to prevent parallelism selectively, when multiple targets are passed on the `make' command line. * lib/am/distdir.am [%?SUBDIRS%] (AM_RECURSIVE_TARGETS): New macro. * lib/am/subdirs.am (AM_RECURSIVE_TARGETS): Likewise. * lib/am/tags.am [%?SUBDIRS%] (AM_RECURSIVE_TARGETS): Likewise. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 31a0b6b5 2009-03-07T09:00:19 Improve `make -n dist' and `make -n distcheck' for GNU make. Ensure that `make -n dist' and `make -n distcheck' do not change files, due to GNU make executing rules containing `$(MAKE)'. * lib/am/distdir.am (distdir): Separate the creation of `$(distdir)/$$subdir' for `$(DIST_SUBDIRS)' and the recursion into the `$(DIST_SUBDIRS)' in two separate rule commands. (distcheck): Exit recursive rule early when run with `make -n', as detected by a witness file. * tests/maken.test, tests/maken2.test: New tests. * tests/Makefile.am: Update. * NEWS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 55b11a93 2009-03-01T16:47:45 Fix comment typo. * lib/am/distdir.am (distcheck): Fix typo in comment. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 0fb020fa 2008-12-21T22:38:37 Revamp semantics for `missing help2man' and manpage distribution. Previously, `missing help2man' would create a missing man page containing an error message, and exit 1. This does not play well with `make': the next run will see this particular man page as being up to date, and will only error out on the next generated man page, if any; repeat until all pages are done. This patch changes `missing' to exit successfully in this case, but `make dist' will ensure that no such man pages are packaged. * lib/missing: Exit successfully even if we create a replacement page due to missing help2man. * automake.in (make_paragraphs): Define %HAVE-MANS% to be true if this makefile deals with man pages. * lib/am/distdir.am (distdir): If %INSTALL-MAN% and %HAVE-MANS%, check that no man page in $(MANS) contains the replacement text from `missing'. * tests/man4.test: New test. * tests/Makefile.am: Update. * NEWS: Reorder a bit, update. * THANKS: Update. Report by Werner Lemberg and Karl Berry. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Jim Meyering 7e2cfbf0 2008-11-22T12:02:36 Add xz compression support. * NEWS: Mention xz, as well as lzma (xz will displace lzma). * automake.in (handle_dist): Recognize dist-xz. (make_paragraphs): Map XZ to dist-xz. * doc/automake.texi (Dist): Add dist-xz. (Options): Likewise. * lib/Automake/Options.pm (_process_option_list): Accept dist-xz. * lib/am/distdir.am (dist-xz): New rule. (dist dist-all): Add command to create an xz-compressed tarball. (distcheck): Handle xz-compressed tarballs just like the others. * tests/xz.test: New file, based on nogzip.test. * tests/Makefile.am (TESTS): Add xz.test. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 9c0bda62 2008-10-12T22:22:39 Nicer 'make dist' output. * lib/am/distdir.am (distdir): Hide the complex script used for computing the relative subdirs; echo the sub-make command. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 1fb0f1ce 2008-09-04T22:04:37 For all possibly-relative subdirs, use $(am__cd). Up to now, $(am__cd) was only used within backquotes, to avoid extraneous output. This patch also uses it for every `cd' to a relative subdir, to prevent CDPATH from entering an unwanted directory. * Makefile.am (maintainer-check): Fix current check for $(am__cd) within backquotes a bit. Add new check for `cd' to a relative subdir. * automake.in (handle_tags, handle_configure): Adjust rules. * lib/am/ansi2knr.am: Likewise. * lib/am/configure.am: Likewise. * lib/am/distdir.am: Likewise. * lib/am/remake-hdr.am: Likewise. * lib/am/subdirs.am: Likewise. * lib/am/tags.am: Likewise. * lib/am/texibuild.am: Likewise. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues e3acdefa 2007-12-08T11:20:24 Reword the copyright notices to match what's suggested in GPLv3.
Ralf Wildenhues 4a6593e3 2007-12-08T10:33:21 Fix the distdir target to cope with spaces in absolute file names. * lib/am/distdir.am: Quote all instances of $(distdir) and $(top_distdir). They could contain white space, coming from a toplevel package bootstrapped with an older Automake version. (am__relativize): New macro, taken from gnulib code, written by Bruno Haible. (distdir): Use it to compute relative paths to distdir and top_distdir for enclosed subpackages. Also, quote $(distuninstallcheck_dir). * lib/am/texinfos.am: Likewise, quote $(distdir).
Jim Meyering 495b4155 2007-10-09T14:52:20 Add lzma compression support. * NEWS: Mention it. * automake.in (handle_dist): Recognize dist-lzma. (make_paragraphs): Map LZMA to dist-lzma. * doc/automake.texi (Dist): Add dist-lzma. (Options): Likewise. * lib/Automake/Options.pm (_process_option_list): * lib/am/distdir.am (dist-lzma): New rule. (dist dist-all): Add command to create an lzma-compressed tarball. (distcheck): Handle lzma-compressed tarballs just like the others. * tests/defs.in: Test for lzma, too. * tests/lzma.test: New file, based on nogzip.test. * tests/Makefile.am (TESTS): Add lzma.test. * tests/Makefile.in: Regenerate. Suggestion from Karl Berry. Author: Jim Meyering <meyering@redhat.com>
Ralf Wildenhues b9ff055d 2007-07-07T11:23:29 * COPYING, lib/COPYING: Update to GPLv3. All uses changed. * NEWS: Update.
Ralf Wildenhues f5a4a78b 2006-10-15T16:37:22 For PR automake/507: * lib/am/distdir.am (distdir): filename-length-max check is not done in sub-packages. * doc/automake.texi (Options): Document this. * tests/fn99subdir.test: New test. * tests/Makefile.am: Update. * THANKS: Update.
Alexandre Duret-Lutz d5358968 2006-08-19T15:55:53 * Makefile.am (maintainer-check): Check for mkdir_p. * automake.texi (Obsolete macros): Document AM_PROG_MKDIR_P. * lib/am/data.am, lib/am/distdir.am, lib/am/install.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: Use MKDIR_P instead of mkdir_p. * m4/mkdirp.m4 (AM_PROG_MKDIR_P): Define mkdir_p using $MKDIR_P, not as '$(MKDIR_P)', otherwise it will break `Makefile.in's that use mkdir_p without defining MKDIR_P. * tests/distdir.test, tests/instman.test, tests/txinfo21.test: Adjust.
Alexandre Duret-Lutz 2ccd5670 2006-08-04T12:54:30 * automake.in (dist_dirs, fill_dist_dirs): Remove. * lib/am/distdir.am (DISTDIRS): Remove. * tests/distdir.test, tests/pr2.test: Do not grep, use `make distdir' instead.
Ralf Wildenhues e755a2a4 2006-06-24T05:35:44 * m4/mkdirp.m4 (AM_PROG_MKDIR_P): Set `mkdir_p' to `'$(MKDIR_P)'', so that it retains the per-directory value computed by config.status. * lib/am/distdir.am (distdir): do not use `$(mkdir_p)' from a changed directory. Bugs reported by Ralf Menzel. * THANKS: Update.
Ralf Wildenhues 75fc2dc7 2006-06-06T21:10:25 * lib/am/distdir.am: Do not call $(mkdir_p) for each distributed file, collect them and create them in one run, and strip $(srcdir) and $(top_srcdir) all at once. Fix some comment typos.
Ralf Wildenhues 83bec15b 2006-03-19T05:04:29 Allow package trees (packages with subpackages) to share common distributed auxiliary files (and directories) that reside within a subpackage. * lib/am/distdir.am (distdir %?TOPDIR_P%): Do not fail if `$(distdir)' already exists. (%?SUBDIRS%): Set `am__remove_distdir' to `:' to prevent removal of subpackage trees for distribution. * tests/subpkg3.test: New test. * tests/Makefile.am: Update.
Alexandre Duret-Lutz 46b3563d 2006-01-12T21:11:14 * lib/install-sh (dstdir): Don't use semicolons inside { } in sed scripts, as Posix says it's not portable. * lib/missing (file): Likewise. * lib/am/distdir.am (distcheck): Likewise. * tests/comment7.test, tests/comment9.test, tests/confh.test: Likewise * tests/distcom2.test, tests/distcom3.test: Likewise. * tests/distcom4.test, tests/distcom5.test: Likewise. * tests/distcom6.test, tests/include.test, tests/pluseq8.test: Likewise.
Alexandre Duret-Lutz 9bd67a2f 2005-10-03T20:48:59 2005-10-03 Alexandre Duret-Lutz <adl@gnu.org> * tests/nobase.test: Exercise previous patch. 2005-10-03 Peter O'Gorman <peter@pogma.com> (tiny change) * lib/am/distdir.am: Remove $(SHELL) when calling install_sh * m4/strip.m4: Ditto. * m4/install-sh.m4: Add $(SHELL) to the definition of install_sh
Alexandre Duret-Lutz 1183efd3 2005-05-14T20:28:56 * COPYING, ChangeLog, ChangeLog.00, ChangeLog.01, ChangeLog.02, ChangeLog.03, ChangeLog.96, ChangeLog.98, HACKING, Makefile.am, NEWS, README, TODO, aclocal.in, automake.in, bootstrap, configure, configure.ac, doc/Makefile.am, doc/fdl.texi, lib/COPYING, lib/Makefile.am, lib/acinstall, lib/compile, lib/config-ml.in, lib/config.guess, lib/config.sub, lib/depcomp, lib/elisp-comp, lib/gnupload, lib/mdate-sh, lib/missing, lib/py-compile, lib/symlink-tree, lib/texinfo.tex, lib/ylwrap, lib/Automake/ChannelDefs.pm, lib/Automake/Channels.pm, lib/Automake/Condition.pm, lib/Automake/Config.in, lib/Automake/Configure_ac.pm, lib/Automake/DisjConditions.pm, lib/Automake/FileUtils.pm, lib/Automake/General.pm, lib/Automake/Item.pm, lib/Automake/ItemDef.pm, lib/Automake/Location.pm, lib/Automake/Makefile.am, lib/Automake/Options.pm, lib/Automake/Rule.pm, lib/Automake/RuleDef.pm, lib/Automake/Struct.pm, lib/Automake/VarDef.pm, lib/Automake/Variable.pm, lib/Automake/Version.pm, lib/Automake/Wrap.pm, lib/Automake/XFile.pm, lib/Automake/tests/Condition.pl, lib/Automake/tests/DisjConditions.pl, lib/Automake/tests/Makefile.am, lib/Automake/tests/Version.pl, lib/Automake/tests/Wrap.pl, lib/am/Makefile.am, lib/am/ansi2knr.am, lib/am/check.am, lib/am/clean-hdr.am, lib/am/clean.am, lib/am/compile.am, lib/am/configure.am, lib/am/data.am, lib/am/dejagnu.am, lib/am/depend.am, lib/am/depend2.am, lib/am/distdir.am, lib/am/footer.am, lib/am/header-vars.am, lib/am/header.am, lib/am/inst-vars.am, lib/am/install.am, lib/am/java.am, lib/am/lang-compile.am, lib/am/lex.am, lib/am/library.am, lib/am/libs.am, lib/am/libtool.am, lib/am/lisp.am, lib/am/ltlib.am, lib/am/ltlibrary.am, lib/am/mans-vars.am, lib/am/mans.am, lib/am/multilib.am, lib/am/program.am, lib/am/progs.am, lib/am/python.am, lib/am/remake-hdr.am, lib/am/scripts.am, lib/am/subdirs.am, lib/am/tags.am, lib/am/texi-vers.am, lib/am/texibuild.am, lib/am/texinfos.am, lib/am/yacc.am, m4/Makefile.am, tests/aclibobj.test, tests/acloca10.test, tests/acloca11.test, tests/acloca12.test, tests/acloca13.test, tests/acloca14.test, tests/acloca15.test, tests/acloca16.test, tests/acloca17.test, tests/acloca18.test, tests/acloca19.test, tests/aclocal.test, tests/aclocal3.test, tests/aclocal4.test, tests/aclocal5.test, tests/aclocal6.test, tests/aclocal7.test, tests/aclocal8.test, tests/aclocal9.test, tests/acoutbs.test, tests/acoutbs2.test, tests/acoutnoq.test, tests/acoutpt.test, tests/acoutpt2.test, tests/acoutqnl.test, tests/acsilent.test, tests/acsubst.test, tests/acsubst2.test, tests/all.test, tests/alloca.test, tests/alloca2.test, tests/alpha.test, tests/alpha2.test, tests/amassign.test, tests/ammissing.test, tests/ansi.test, tests/ansi10.test, tests/ansi2.test, tests/ansi3.test, tests/ansi3b.test, tests/ansi4.test, tests/ansi5.test, tests/ansi6.test, tests/ansi7.test, tests/ansi8.test, tests/ansi9.test, tests/ar.test, tests/ar2.test, tests/asm.test, tests/autohdr.test, tests/autohdr2.test, tests/autohdr3.test, tests/autohdr4.test, tests/automake.test, tests/auxdir.test, tests/auxdir2.test, tests/auxdir3.test, tests/auxdir4.test, tests/backsl.test, tests/backsl2.test, tests/backsl3.test, tests/backsl4.test, tests/badline.test, tests/badopt.test, tests/badprog.test, tests/block.test, tests/bsource.test, tests/canon.test, tests/canon2.test, tests/canon3.test, tests/canon4.test, tests/canon5.test, tests/ccnoco.test, tests/check.test, tests/check2.test, tests/check3.test, tests/check4.test, tests/checkall.test, tests/clean.test, tests/clean2.test, tests/colneq.test, tests/colneq2.test, tests/colon.test, tests/colon2.test, tests/colon3.test, tests/colon4.test, tests/colon5.test, tests/colon6.test, tests/colon7.test, tests/comment.test, tests/comment2.test, tests/comment3.test, tests/comment4.test, tests/comment5.test, tests/comment6.test, tests/comment7.test, tests/comment8.test, tests/comment9.test, tests/compile.test, tests/compile_f90_c_cxx.test, tests/compile_f_c_cxx.test, tests/cond.test, tests/cond10.test, tests/cond11.test, tests/cond13.test, tests/cond14.test, tests/cond15.test, tests/cond16.test, tests/cond17.test, tests/cond18.test, tests/cond19.test, tests/cond2.test, tests/cond20.test, tests/cond21.test, tests/cond22.test, tests/cond23.test, tests/cond24.test, tests/cond25.test, tests/cond26.test, tests/cond27.test, tests/cond28.test, tests/cond29.test, tests/cond3.test, tests/cond30.test, tests/cond31.test, tests/cond32.test, tests/cond33.test, tests/cond34.test, tests/cond35.test, tests/cond36.test, tests/cond37.test, tests/cond4.test, tests/cond5.test, tests/cond6.test, tests/cond7.test, tests/cond8.test, tests/cond9.test, tests/condd.test, tests/condhook.test, tests/condinc.test, tests/condinc2.test, tests/condlib.test, tests/condman.test, tests/condman2.test, tests/conf2.test, tests/confdeps.test, tests/conff.test, tests/conff2.test, tests/confh.test, tests/confh4.test, tests/confh5.test, tests/config.test, tests/confincl.test, tests/conflnk.test, tests/conflnk2.test, tests/conflnk3.test, tests/confsub.test, tests/confvar.test, tests/confvar2.test, tests/copy.test, tests/ctarget1.test, tests/cxx.test, tests/cxx2.test, tests/cxxansi.test, tests/cxxcpp.test, tests/cxxlibobj.test, tests/cxxlink.test, tests/cxxnoc.test, tests/cxxo.test, tests/cygwin32.test, tests/dash.test, tests/defs.in, tests/defun.test, tests/defun2.test, tests/dejagnu.test, tests/dejagnu2.test, tests/dejagnu3.test, tests/dejagnu4.test, tests/dejagnu5.test, tests/dejagnu6.test, tests/dejagnu7.test, tests/depacl2.test, tests/depcomp.test, tests/depcomp2.test, tests/depcomp3.test, tests/depcomp4.test, tests/depcomp5.test, tests/depdist.test, tests/depend.test, tests/depend2.test, tests/depend3.test, tests/depend4.test, tests/destdir.test, tests/dirforbid.test, tests/dirlist.test, tests/discover.test, tests/distcom2.test, tests/distcom3.test, tests/distcom4.test, tests/distcom5.test, tests/distcom6.test, tests/distcom7.test, tests/distdir.test, tests/distname.test, tests/dollar.test, tests/double.test, tests/dup2.test, tests/else.test, tests/empty.test, tests/empty2.test, tests/empty3.test, tests/empty4.test, tests/exdir.test, tests/exdir2.test, tests/exeext.test, tests/exeext2.test, tests/exeext3.test, tests/exeext4.test, tests/exsource.test, tests/ext.test, tests/ext2.test, tests/extra.test, tests/extra2.test, tests/extra3.test, tests/extra4.test, tests/extra5.test, tests/extra6.test, tests/extra7.test, tests/f90only.test, tests/flibs.test, tests/fn99.test, tests/fnoc.test, tests/fo.test, tests/fonly.test, tests/fortdep.test, tests/fpinst2.test, tests/fpinstall.test, tests/gcj.test, tests/gcj2.test, tests/gcj3.test, tests/gcj4.test, tests/gcj5.test, tests/getopt.test, tests/gettext.test, tests/gettext2.test, tests/gnits.test, tests/gnits2.test, tests/gnits3.test, tests/gnumake.test, tests/gnuwarn.test, tests/gnuwarn2.test, tests/header.test, tests/help.test, tests/hfs.test, tests/hosts.test, tests/implicit.test, tests/include.test, tests/include2.test, tests/info.test, tests/insh2.test, tests/install2.test, tests/installdir.test, tests/instdat.test, tests/instdat2.test, tests/instexec.test, tests/insthook.test, tests/instman.test, tests/instman2.test, tests/instsh.test, tests/instsh2.test, tests/instspc.test, tests/interp.test, tests/interp2.test, tests/java.test, tests/java2.test, tests/java3.test, tests/javaprim.test, tests/javasubst.test, tests/ldadd.test, tests/ldflags.test, tests/lex.test, tests/lex2.test, tests/lex3.test, tests/lex4.test, tests/lex5.test, tests/libobj10.test, tests/libobj11.test, tests/libobj12.test, tests/libobj13.test, tests/libobj14.test, tests/libobj2.test, tests/libobj3.test, tests/libobj4.test, tests/libobj5.test, tests/libobj7.test, tests/libobj8.test, tests/library.test, tests/library2.test, tests/library3.test, tests/libtool.test, tests/libtool2.test, tests/libtool3.test, tests/libtool4.test, tests/libtool5.test, tests/libtool6.test, tests/libtool7.test, tests/libtool8.test, tests/libtool9.test, tests/license.test, tests/link_c_cxx.test, tests/link_dist.test, tests/link_f90_only.test, tests/link_f_only.test, tests/link_fc.test, tests/link_fccxx.test, tests/link_fcxx.test, tests/lisp2.test, tests/lisp3.test, tests/lisp4.test, tests/lisp5.test, tests/lisp6.test, tests/lisp7.test, tests/lisp8.test, tests/listval.test, tests/location.test, tests/longlin2.test, tests/longline.test, tests/ltcond.test, tests/ltcond2.test, tests/ltconv.test, tests/ltdeps.test, tests/ltlibobjs.test, tests/ltlibsrc.test, tests/maintclean.test, tests/make.test, tests/makej.test, tests/makevars.test, tests/man.test, tests/man2.test, tests/mclean.test, tests/mdate.test, tests/mdate2.test, tests/mdate3.test, tests/mdate4.test, tests/missing.test, tests/missing2.test, tests/missing3.test, tests/mkinst2.test, tests/mkinstall.test, tests/mmodely.test, tests/multlib.test, tests/nobase.test, tests/nodef.test, tests/nodef2.test, tests/nodep.test, tests/nodepcomp.test, tests/nodist.test, tests/nodist2.test, tests/nodist3.test, tests/nogzip.test, tests/nogzip2.test, tests/noinst.test, tests/noinstdir.test, tests/nolink.test, tests/nostdinc.test, tests/number.test, tests/obsolete.test, tests/order.test, tests/outdir.test, tests/output.test, tests/output10.test, tests/output11.test, tests/output12.test, tests/output2.test, tests/output3.test, tests/output4.test, tests/output5.test, tests/output6.test, tests/output7.test, tests/output8.test, tests/output9.test, tests/overrid.test, tests/parse.test, tests/percent.test, tests/percent2.test, tests/phony.test, tests/pluseq.test, tests/pluseq10.test, tests/pluseq2.test, tests/pluseq3.test, tests/pluseq4.test, tests/pluseq5.test, tests/pluseq6.test, tests/pluseq7.test, tests/pluseq8.test, tests/pluseq9.test, tests/postproc.test, tests/ppf77.test, tests/pr2.test, tests/pr204.test, tests/pr211.test, tests/pr220.test, tests/pr224.test, tests/pr229.test, tests/pr243.test, tests/pr266.test, tests/pr279-2.test, tests/pr279.test, tests/pr287.test, tests/pr300-lib.test, tests/pr300-ltlib.test, tests/pr300-prog.test, tests/pr307.test, tests/pr401.test, tests/pr401b.test, tests/pr401c.test, tests/pr72.test, tests/pr87.test, tests/pr9.test, tests/prefix.test, tests/primary.test, tests/primary2.test, tests/primary3.test, tests/proginst.test, tests/python.test, tests/python10.test, tests/python11.test, tests/python12.test, tests/python2.test, tests/python3.test, tests/python4.test, tests/python5.test, tests/python6.test, tests/python7.test, tests/python8.test, tests/python9.test, tests/recurs.test, tests/recurs2.test, tests/regex.test, tests/remake.test, tests/remake2.test, tests/remake3.test, tests/remake4.test, tests/remake5.test, tests/req.test, tests/reqd.test, tests/reqd2.test, tests/rulepat.test, tests/scripts.test, tests/seenc.test, tests/sinclude.test, tests/space.test, tests/specflg.test, tests/specflg2.test, tests/specflg3.test, tests/specflg6.test, tests/specflg7.test, tests/specflg8.test, tests/specflg9.test, tests/spell.test, tests/spell2.test, tests/spell3.test, tests/spelling.test, tests/spy.test, tests/srcsub.test, tests/srcsub2.test, tests/stamph2.test, tests/stdlib.test, tests/stdlib2.test, tests/strip.test, tests/subcond.test, tests/subcond2.test, tests/subcond3.test, tests/subdir.test, tests/subdir2.test, tests/subdir3.test, tests/subdir4.test, tests/subdir5.test, tests/subdir6.test, tests/subdir7.test, tests/subdir8.test, tests/subdir9.test, tests/subdirbuiltsources.test, tests/subobj.test, tests/subobj2.test, tests/subobj3.test, tests/subobj4.test, tests/subobj5.test, tests/subobj6.test, tests/subobj7.test, tests/subobj8.test, tests/subobj9.test, tests/subobjname.test, tests/subpkg.test, tests/subpkg2.test, tests/subst.test, tests/subst2.test, tests/substre2.test, tests/substref.test, tests/substtarg.test, tests/suffix.test, tests/suffix10.test, tests/suffix11.test, tests/suffix2.test, tests/suffix3.test, tests/suffix4.test, tests/suffix5.test, tests/suffix6.test, tests/suffix7.test, tests/suffix8.test, tests/suffix9.test, tests/symlink.test, tests/symlink2.test, tests/symlink3.test, tests/syntax.test, tests/tags.test, tests/tagsub.test, tests/tar.test, tests/tar2.test, tests/tar3.test, tests/target-cflags.test, tests/targetclash.test, tests/transform.test, tests/txinfo.test, tests/txinfo10.test, tests/txinfo13.test, tests/txinfo16.test, tests/txinfo17.test, tests/txinfo18.test, tests/txinfo19.test, tests/txinfo2.test, tests/txinfo20.test, tests/txinfo21.test, tests/txinfo22.test, tests/txinfo23.test, tests/txinfo24.test, tests/txinfo25.test, tests/txinfo26.test, tests/txinfo27.test, tests/txinfo28.test, tests/txinfo29.test, tests/txinfo3.test, tests/txinfo4.test, tests/txinfo5.test, tests/txinfo6.test, tests/txinfo7.test, tests/txinfo8.test, tests/txinfo9.test, tests/unused.test, tests/vars.test, tests/vars3.test, tests/vartar.test, tests/version.test, tests/version2.test, tests/version3.test, tests/version4.test, tests/version6.test, tests/version7.test, tests/version8.test, tests/vpath.test, tests/vtexi.test, tests/vtexi2.test, tests/warnopts.test, tests/werror.test, tests/werror2.test, tests/whoami.test, tests/xsource.test, tests/yacc.test, tests/yacc2.test, tests/yacc3.test, tests/yacc4.test, tests/yacc5.test, tests/yacc6.test, tests/yacc7.test, tests/yacc8.test, tests/yaccpp.test, tests/yaccvpath.test: Update FSF postal mail address.
Alexandre Duret-Lutz 5929339c 2004-07-17T10:52:19 * lib/am/distdir.am (distdir): Always use $(DIST_SUBDIRS) now that it is always defined. This is less confusing for users reading the generated Makefiles. * automake.in (handle_dist): Do not substitute DIST_SUBDIR_NAME.
Alexandre Duret-Lutz bf7ab094 2004-05-22T07:19:37 Check directory names for unportable names. Shaking the code to check this also led to the removal of the no-"/"-in-SUBDIRS restriction, and a fix to _do_recursive_traversal. * automake.in (check_directory): New function extracted from handle_subdirs, and augmented to check for reserved W32/DOS name. (check_directories_in_var): New function. (handle_subdirs): Call check_directories_in_var. Doing so also suppress the restriction that SUBDIRS should not contain slashes. (scan_autoconf_traces) <AC_CONFIG_AUX_DIR>: Call check_directory to ensure the argument exists and is safe. * doc/automake.texi (Top level): Do not say that src/subdir cannot be put in SUBDIRS. (Dist): Mention that distdir and top_distdir can be absolute. * lib/Automake/Variable.pm (_do_recursive_traversal) Support undefined $fun_collect, and fix two bugs introduced with skip_ac_subst on 2004-03-07. * lib/am/distdir.am (distdir): Use absolute distdir and top_distdir when recursing, because we can no longer prepend only `..' in case of SUBDIRS with `/'. * tests/auxdir4.test, tests/subdir9.test: New files. * tests/Makefile.am (TESTS): Add auxdir4.test. * tests/cond2.test, tests/subdir7.test: Augment to check location in diagnostics.
Alexandre Duret-Lutz 014ec4f2 2004-04-23T21:57:44 For PR automake/414: Introduce option filename-length-max=99. * doc/automake.texi (Options): Document it. * configure.ac (AM_INIT_AUTOMAKE): Use it. * lib/Automake/Options.pm (_process_option_list): Recognize it. * automake.in (handle_dist): Set FILENAME_FILTER. * lib/am/distdir.am (distdir) [FILENAME_FILTER]: Diagnose long filenames. * tests/fn99.test: New file. * tests/Makefile.am (TESTS): Add fn99.test.
Alexandre Duret-Lutz ae040111 2004-04-19T23:20:08 For PR automake/414: Introduce options tar-v7, tar-ustar, and tar-pax to select tar format. * doc/automake.texi (Options): Document them. * lib/Automake/Options.pm (_process_option_list): Process these new options. * lib/am/distdir.am (dist-gzip, dist-bzip2, dist-tarZ, dist, distcheck): Adjust to use am__tar and am__untar. * m4/tar.m4: New file. * m4/Makefile.am (dist_m4data_DATA): Add tar.m4. * m4/init.m4 (AM_INIT_AUTOMAKE): Support the new options and call _AM_PROG_TAR. * tests/tar.test, tests/tar2.test, tests/tar3.test: New files. * tests/Makefile.am (TESTS): Add them.
Alexandre Duret-Lutz 436193db 2004-04-18T18:36:40 * lib/am/distdir.am (distcheck): Typo in shar decompression.
Alexandre Duret-Lutz a9800a56 2004-02-29T16:26:12 Fix for PR/413: * lib/am/distdir.am (distcheck): Create $dc_destdir with `umask 077 && mkdir' instead of `$(mkdir_p)'. This prevents possible symlink attacks reported by Stefan Nordhausen.
Alexandre Duret-Lutz b5a48a38 2004-01-28T20:50:43 * Makefile.am (maintainer-check): Check for unquoted $(DESTDIR) uses. * lib/am/data.am, lib/am/distdir.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: Quote installation paths in install, uninstall, and installcheck rules, as well as in am__installdirs variables. This is for the sake of paths containing spaces. * lib/am/install.am (installdirs-am, installdirs): Do not try to create "" directories. * test/instspc.test: New file. * test/Makefile.am (TESTS): Add instspc.test. Report from James Amundson.
Alexandre Duret-Lutz 8a894d1d 2003-12-27T01:38:42 * automake.in (maybe_push_required_file): Add $(srcdir) in front a required files outside the current directory or its subdirectories. * lib/am/distdir.am (distdir): Update comment. Report from Nicolas Joly.
Alexandre Duret-Lutz 2a8e1b17 2003-11-10T20:55:33 * automake.in (handle_configure): Distribute and define mkinstalldirs only if it is already present in the package. (scan_autoconf_files): Do not require mkinstalldirs. (require_build_directory): Use $(mkdir_p), not $(mkinstalldirs). * lib/am/data.am, lib/am/distdir.am, lib/am/install.am, lib/am/java.am, lib/am/libs.am, lib/am/lisp.am, lib/am/mans.am, lib/am/progs.am, lib/am/python.am, lib/am/scripts.am, lib/am/texinfos.am: Use $(mkdir_p) instead of $(mkinstalldirs). * m4/mkdirp.m4: New file. * m4/Makefile.am (dist_m4data_DATA): Add mkdirp.m4. * m4/init.m4 (AM_INIT_AUTOMAKE): Call AM_PROG_MKDIR_P. * tests/Makefile.am (TESTS): Remove insh.test. * tests/insh.test: Delete. * tests/defs.in, tests/instsh.test: Do not install mkinstalldirs. * tests/auxdir.test: Install mkinstalldirs. * tests/distdir.test, tests/instman.test, tests/pr2.test: Use $(mkdir_p), not $(mkinstalldirs). * tests/empty.test: Run configure, do not substitute things by hand. * doc/automake.texi (Optional) <AC_CONFIG_FILES>: Take install-sh as an example, not mkinstalldirs. (Auxiliary Programs) <mkinstalldirs>: Update.
Alexandre Duret-Lutz 51216089 2003-10-25T21:49:51 * tests/output7.test: Populate sub/ with a dummy file, so that it is not empty. This fixes a failure reported by Patrick Welche. * lib/am/distdir.am: Add note about tar's `-o' option and empty directories.
Akim Demaille 88f1bd81 2003-07-05T08:23:18 * lib/am/distdir.am: Use ';' as a terminator, not a separator, for sed complex commands, as required by NetBSD sed. Reported by Patrick Welche.
Alexandre Duret-Lutz 3251a5a4 2003-07-02T20:53:07 * lib/am/distdir.am (distcheck): Protect loop of DIST_ARCHIVES from empty DIST_ARCHIVES.
Alexandre Duret-Lutz 7b15b184 2003-06-27T00:03:59 * lib/am/distdir.am (distcheck): Run $(am__remove_distdir) at the end of distcheck. This was mistakenly removed on 2003-06-15. * tests/subpkg.test: Make sure distcheck cleans up after itself.
Alexandre Duret-Lutz 45bb4d83 2003-06-15T17:35:50 2003-06-15 Akim Demaille <akim@epita.fr> * automake.in (&make_paragraphs): Define %GZIP%. (&process_option_list): Accept no-dist-gzip2. (&handle_dist): Complain when no archive format is enabled. * lib/am/distdir.am (DIST_ARCHIVES): New variable. (dist-gzip, dist-bzip2, dist-tarZ, dist-zip): No longer conditioned. (dist): Build $(distdir).tar.gz conditionally. (distcheck): Use DIST_ARCHIVES to find an archive to unpack, and to list built archives. Run $(MAKE) dist instead of dist-gzip. * automake.texi (Options, The types of distributions): Adjust.
Alexandre Duret-Lutz c72520e2 2003-04-15T20:40:31 * lib/am/distdir.am (distuninstallcheck, distcleancheck): Silent these rules, so that we don't confuse users by echoing "echo ERROR:" commands which are not run.
Alexandre Duret-Lutz f840b413 2003-02-19T20:06:39 * lib/am/distdir.am (distcheck): Strip any leading DOS drive from dc_install_base.
Alexandre Duret-Lutz b1fe8738 2003-01-21T18:02:34 * lib/am/distdir.am (top_distdir, distdir): Define these variables only in top level Makefile. Redefine $(top_distdir) as $(distdir). (distdir): Fix passing of $(top_distdir) to sub-makes. * automake.in (handle_dist): Do not define the DISTDIR and TOP_DISTDIR transformations. We don't need them anymore. * automake.texi (Dist): Reorder the dist-hook section, and move the DIST_SUBDIRS paragraph earlier. Document distdir and top_distdir. * tests/subpkg.test: Update to check for $(distdir) and $(top_distdir).
Alexandre Duret-Lutz a17b4312 2003-01-13T14:22:25 * lib/am/distdir.am (distcheck): '=' is not valid in DOS filenames. Use '_build' and '_inst' instead of '=build' and '=inst'. * tests/man2.test: Reflect change automake: check for files in '_build' and '_inst' directories instead of '=build' and '=inst'.
Alexandre Duret-Lutz e8b88ce8 2002-09-30T13:02:08 * lib/am/distdir.am (distdir): Create $dc_destdir right before its use. Reported by Akim Demaille.
Alexandre Duret-Lutz 6f7f6265 2002-09-30T12:32:21 Fix for PR automake/366: * automake.in (handle_dist): Strip $(srcdir) and replace $(top_srcdir) when computing DIST_COMMON directories. * tests/include2.test: Use an obsolute $(srcdir), and check for spurious directories in $(distdir)/sub. * lib/am/distdir.am: Rewrite $(top_srcdir) as $(top_builddir). Reported by Kevin Ryde.