]> git.ipfire.org Git - thirdparty/automake.git/log
thirdparty/automake.git
8 months agoautomake: require ABOUT-NLS only at gnits strictness. master
Gavin Smith [Sun, 20 Oct 2024 21:34:39 +0000 (14:34 -0700)] 
automake: require ABOUT-NLS only at gnits strictness.

From https://lists.gnu.org/archive/html/automake/2024-10/msg00006.html.

* bin/automake.in (handle_gettext): In require_file for ABOUT-NLS,
change strictness level from GNU to GNITS.
* NEWS: Add notice.

8 months agodoc: doubled words in source comments.
Karl Berry [Wed, 16 Oct 2024 21:34:11 +0000 (14:34 -0700)] 
doc: doubled words in source comments.

Fixes https://bugs.gnu.org/73828 and https://bugs.gnu.org/73829.

* lib/Automake/Item.pm: repeated "that".
* lib/Automake/Variable.pm: repeated "by".
Reports from Bjarni Ingi Gislason.
Other English fixes en passant.

9 months agoautomake: recognize all-numeric MAJ.MIN.MICROa.ALPHA versions better.
Karl Berry [Tue, 10 Sep 2024 22:44:57 +0000 (15:44 -0700)] 
automake: recognize all-numeric MAJ.MIN.MICROa.ALPHA versions better.

* HACKING: more doc on version numbers.
* configure.ac (AC_INIT): 1.17.0.91, since we want (I guess)
to retain odd numbers for development and even numbers for pretests.
* m4/amversion.m4 (AM_AUTOMAKE_VERSION): 1.17.0.91 (auto-update).
(AM_SET_CURRENT_AUTOMAKE_VERSION): likewise.
* lib/Automake/Options.pm (_process_option_list): recognize
four-part numeric versions as Automake options.
* lib/Automake/Version.pm (split): recognize four-part numeric
versions.
* t/pm/Version.pl (@tests, @bad_versions): update test
to check (not reject) four-part numeric versions.

9 months agom4: align removal after compilation with autoconf.
Eric Gallager [Sat, 7 Sep 2024 17:15:38 +0000 (10:15 -0700)] 
m4: align removal after compilation with autoconf.

From https://bugs.gnu.org/72225, and
fixes https://bugs.gnu.org/72852.

* m4/prog-cc-c-o.m4: remove conftest[12]*.dSYM, and don't remove core.
* THANKS: add Eric.

11 months agomaint: it seems APIVERSION only changes for minor/major releases.
Karl Berry [Sun, 14 Jul 2024 15:39:46 +0000 (08:39 -0700)] 
maint: it seems APIVERSION only changes for minor/major releases.

* configure.ac (APIVERSION): back to 1.17 (from 1.17.0.90).
* m4/amversion.m4: likewise (auto-updated).

11 months agomaint: post-release version bump to 1.17.0.90
Jim Meyering [Fri, 12 Jul 2024 05:52:32 +0000 (22:52 -0700)] 
maint: post-release version bump to 1.17.0.90

* configure.ac (AC_INIT): 1.17.0.90.
* m4/amversion.m4: likewise (auto-updated).
* HACKING: Fix typo in version example.

11 months agomaint: prepare for 1.17 release. v1.17
Karl Berry [Wed, 10 Jul 2024 22:15:04 +0000 (15:15 -0700)] 
maint: prepare for 1.17 release.

* configure.ac (AC_INIT): 1.17.
(APIVERSION): also 1.17. (Yikes.)
* m4/amversion.m4: likewise (auto-updated).
* HACKING: tweak release info some more.

11 months agomaint: ignore all *.out in .gitignore.
Karl Berry [Wed, 10 Jul 2024 17:39:21 +0000 (10:39 -0700)] 
maint: ignore all *.out in .gitignore.

* .gitignore (*.out): ignore all at top level; common temp files.

11 months agotest: explanation of MTIME_RESOLUTION resetting.
Karl Berry [Tue, 9 Jul 2024 22:35:13 +0000 (15:35 -0700)] 
test: explanation of MTIME_RESOLUTION resetting.

* t/ax/test-defs.in (MTIME_RESOLUTION): separate the case
where am_cv_filesystem_timestamp_resolution is not set for
more explanations, but still reset MTIME_RESOLUTION to 1
even if it is already set. Which it should be when running
tests, because config.status is sourced. But it's too late in
the release process to change this now; after the release,
can try keeping a non-empty MTIME_RESOLUTION.

11 months agoautomake: info about Automake and Libtool being in different prefixes.
Karl Berry [Mon, 8 Jul 2024 22:04:48 +0000 (15:04 -0700)] 
automake: info about Automake and Libtool being in different prefixes.

In response to https://bugs.gnu.org/71847.

* doc/automake.texi (Libtool library used but LIBTOOL is undefined):
new node. Tweak aclocal section.
* lib/Automake/Variable.pm (require_variables): refer to the
new node in the message for LT_INIT.
* maintainer/maint.mk (announcement) <AO>: new fn; use it
to output a link to the new node for test releases only.
* HACKING: mention M-x texinfo-master-menu, et al.
* doc/amhello/README: mention that the package is named amhello.

11 months agomaint: secondary updates from make fetch.
Karl Berry [Mon, 8 Jul 2024 17:18:16 +0000 (10:18 -0700)] 
maint: secondary updates from make fetch.

* lib/gendocs.sh: update with make fetch.
* lib/gitlog-to-changelog: likewise.
* lib/gnupload: likewise.
* lib/update-copyright: likewise.

12 months agodoc: tweak announce-gen invocation HACKING.
Karl Berry [Wed, 3 Jul 2024 15:33:59 +0000 (08:33 -0700)] 
doc: tweak announce-gen invocation HACKING.

* HACKING: generalize gnulib/build-aux/announce-gen invocation.

12 months agoautomake: display whether sleep supports fractional seconds as yes/no.
Bruno Haible [Wed, 3 Jul 2024 15:27:02 +0000 (08:27 -0700)] 
automake: display whether sleep supports fractional seconds as yes/no.

https://lists.gnu.org/archive/html/automake/2024-07/msg00003.html

* m4/sanity.m4 (_AM_SLEEP_FRACTIONAL_SECONDS): Set
am_cv_sleep_fractional_seconds to yes/no, not true/false,
for consistency with other results.
Also "quote" this and other $am_cv values.
(_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): Test for yes/no.
* t/ax/test-defs.in: Set am_cv_sleep_fractional_seconds to 'no',
not 'false'.

12 months agodoc: tweak release info in HACKING.
Karl Berry [Mon, 1 Jul 2024 15:31:40 +0000 (08:31 -0700)] 
doc: tweak release info in HACKING.

* HACKING: mention gnulib/build-aux/announce-gen, etc.

12 months agoautomake: avoid Perl-level warning on empty variable $().
Karl Berry [Sun, 30 Jun 2024 20:26:51 +0000 (13:26 -0700)] 
automake: avoid Perl-level warning on empty variable $().

https://lists.gnu.org/archive/html/automake/2024-06/msg00085.html

* lib/Automake/Variable.pm (scan_variable_expansions): recognize
and do nothing if the variable name is empty: $().
* t/varempty.sh: new test.
* t/list-of-tests.mk (handwritten_TESTS): add it.

12 months agoautomake: test $MAKE if that's defined.
Karl Berry [Sat, 29 Jun 2024 17:24:57 +0000 (10:24 -0700)] 
automake: test $MAKE if that's defined.

https://lists.gnu.org/archive/html/automake/2024-06/msg00051.html

* m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): test $MAKE
if it's defined, else "make".

12 months agomaint: post-release: bump version to 1.16.93
Jim Meyering [Fri, 21 Jun 2024 05:12:53 +0000 (22:12 -0700)] 
maint: post-release: bump version to 1.16.93

* configure.ac (AC_INIT): Post-release version bump to 1.16.93.
* am/amversion.m4: Update by running ./bootstrap.

12 months agotest-driver: rm spurious blank line. v1.16.92
Karl Berry [Thu, 20 Jun 2024 20:34:46 +0000 (13:34 -0700)] 
test-driver: rm spurious blank line.

* lib/test-driver (print_usage): remove spurious blank line.
Report from Bruno,
https://lists.gnu.org/archive/html/automake/2024-06/msg00075.html

12 months agomaint: prepare for 1.16.92 pretest.
Karl Berry [Thu, 20 Jun 2024 17:15:21 +0000 (10:15 -0700)] 
maint: prepare for 1.16.92 pretest.

* configure.ac (AC_INIT): 1.16.92.
* m4/amversion.m4: likewise (auto-updated).

12 months agomaint: wording tweaks for announcement.
Karl Berry [Thu, 20 Jun 2024 17:14:06 +0000 (10:14 -0700)] 
maint: wording tweaks for announcement.

* NEWS: Automake 2.0 may not happen.
* maintainer/maint.mk (announcement): missed newline.

12 months agotest: sync list-of-tests.
Karl Berry [Thu, 20 Jun 2024 17:04:55 +0000 (10:04 -0700)] 
test: sync list-of-tests.

* t/list-of-tests.mk (handwritten_TESTS): add back t/instdir-ltlib.sh;
turns out all tests need to be listed there, XFAIL_TESTS is not
included, and that seems ok.
* t/CheckListOfTests.am (maintainer-check-list-of-tests): only
delete temp files if result is successful.

12 months agoautomake: insane typo * instead of 2.
Karl Berry [Wed, 19 Jun 2024 17:02:39 +0000 (10:02 -0700)] 
automake: insane typo * instead of 2.

* m4/sanity.m4 (AM_SANITY_CHECK): managed to replace 2 with *
in ls -t test. Clearly I have gone insane.

12 months agomaint: secondary updates from make fetch.
Karl Berry [Wed, 19 Jun 2024 16:43:18 +0000 (09:43 -0700)] 
maint: secondary updates from make fetch.

* lib/gendocs.sh: update with make fetch.
* lib/gitlog-to-changelog: likewise.

12 months agodoc: rewrite subsecond NEWS entry, sanity.m4 "make" testing wrong, etc.
Karl Berry [Wed, 19 Jun 2024 16:41:22 +0000 (09:41 -0700)] 
doc: rewrite subsecond NEWS entry, sanity.m4 "make" testing wrong, etc.

* m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): mention
that testing of "make" is wrong here; but $(MAKE) is not available?
Do some special pleading that it won't matter in practice; we'll see.
https://lists.gnu.org/archive/html/automake/2024-06/msg00051.html
(AM_SANITY_CHECK): use $[]* instead of $[*]2 to avoid
the confusing apparent (but not) use of shell arrays; the square
brackets are parsed off by m4.
* lib/am/check.am (output_system_information): en passant, mention
that $(AWK) should always be defined since AC_PROG_AWK is part of
AM_INIT_AUTOMAKE nowadays.
* NEWS: rewrite subsecond NEWS entry:workaround, more references.

12 months agodoc: original purpose of $sleep is when AC_OUTPUT is not used.
Karl Berry [Wed, 19 Jun 2024 16:01:51 +0000 (09:01 -0700)] 
doc: original purpose of $sleep is when AC_OUTPUT is not used.

* t/ax/test-defs.in (sleep): mention original purpose of $sleep,
namely when AC_OUTPUT is not used and hence the sleep done in
AC_CONFIG_COMMANDS_* is not done:
  https://lists.gnu.org/archive/html/bug-automake/2010-10/msg00000.html
Discovered by Bruno in his rearch on the "sleep" history:
  https://lists.gnu.org/archive/html/automake/2024-06/msg00054.html

12 months agolib scripts: add "(GNU Automake)" to --version output, etc.
Karl Berry [Wed, 19 Jun 2024 15:59:18 +0000 (08:59 -0700)] 
lib scripts: add "(GNU Automake)" to --version output, etc.

* lib/ar-lib: add "(GNU Automake)" to --version output,
and the "Report bugs" block to --help.
* lib/compile: likewise.
* lib/depcomp: likewise.
* lib/install-sh: likewise.
* lib/mdate-sh: likewise.
* lib/missing: likewise.
* lib/mkinstalldirs: likewise.
* lib/py-compile: likewise.
* lib/tap-driver.sh: likewise.
* lib/test-driver: likewise.
* lib/ylwrap: likewise.
* t/py-compile-usage.sh: update --version pattern.

12 months agoaclocal: add --aclocal-path option to override ACLOCAL_PATH envvar.
Mike Frysinger [Tue, 18 Jun 2024 17:32:09 +0000 (10:32 -0700)] 
aclocal: add --aclocal-path option to override ACLOCAL_PATH envvar.

From https://lists.gnu.org/archive/html/automake-patches/2022-01/msg00029.html
(plus wording tweaks from Karl; and thanks to Bogdan for research).

* bin/aclocal.in (usage): relabel output of m4 search path
components to be somewhat more correct (Karl), although it's still
a mess.
(parse_arguments): add new option --aclocal-path=s.
(parse_ACLOCAL_PATH): use $aclocal_path instead of hardwiring envvar.
* doc/automake.texi (aclocal Options): document it.
(dirlist): new anchor so we can reference it.
(Modifying the Macro Search Path: @file{ACLOCAL_PATH}): mention
the option.
(Possible future incompatibility): tone down; it might never happen.
* t/aclocal-path-precedence.sh: test the option.
* NEWS: mention the new option.

12 months agodoc: preserve old node name.
Karl Berry [Tue, 18 Jun 2024 15:54:27 +0000 (08:54 -0700)] 
doc: preserve old node name.

Following 4981e5997 (doc: modernize version control doc).

* doc/automake.texi (CVS): insert @anchor{CVS} so this (prior)
node name will still work, e.g., in HTML. Reflow surrounding source.

12 months agoautomake: omit 1s test in _AM_FILESYSTEM_TIMESTAMP_RESOLUTION, for speed.
Bruno Haible [Mon, 17 Jun 2024 22:38:11 +0000 (15:38 -0700)] 
automake: omit 1s test in _AM_FILESYSTEM_TIMESTAMP_RESOLUTION, for speed.

From https://lists.gnu.org/archive/html/automake/2024-06/msg00055.html
plus https://lists.gnu.org/archive/html/automake/2024-06/msg00054.html.

* m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): Don't test
whether 1 sec works; instead just accept the 2 sec delay in the
Automake test $sleep in exchange for not incurring the 2s delay of
running the test for all packages on 1s-resolution platforms.
Platforms that support subsecond mtimes will still use them.

12 months agotest: Improve output of system information in test-suite.log.
Collin Funk [Mon, 17 Jun 2024 21:44:28 +0000 (14:44 -0700)] 
test: Improve output of system information in test-suite.log.

Fixes https://bugs.gnu.org/71421.

* lib/am/check.am ($(TEST_SUITE_LOG): Use $(AWK) instead of 'awk'.
Remove an extra space in uname output.  Start the line with
"System information", and other sections with "Distribution
information".
* NEWS: add reference to #71421.

12 months agoautomake: allow omitting logs of skipped tests from test-suite.log.
Bruno Haible [Mon, 17 Jun 2024 17:06:25 +0000 (10:06 -0700)] 
automake: allow omitting logs of skipped tests from test-suite.log.

* doc/automake.texi (Parallel Test Harness): Describe the contents of
test-suite.log. Mention IGNORE_SKIPPED_LOGS.
(Command-line arguments for test drivers): Document the
--collect-skipped-logs option.
* lib/test-driver (print_usage): Document --collect-skipped-logs.
(collect_skipped_logs): New variable.
(gcopy): Use collect_skipped_logs.
* lib/am/check.am (am__common_driver_flags): Add the contents of
am__collect_skipped_logs.
(am__check_pre): Set am__collect_skipped_logs.
* t/parallel-tests-without-skipped-logs.sh: New file, based on
t/parallel-tests-no-color-in-log.sh.
* t/list-of-tests.mk (handwritten_TESTS): Add it.
* NEWS: Mention the change.

12 months agodoc: more subsecond references.
Karl Berry [Mon, 17 Jun 2024 16:50:57 +0000 (09:50 -0700)] 
doc: more subsecond references.

* NEWS: add the original commit reference: 720a11531,
        https://lists.gnu.org/archive/html/automake-commit/2022-02/msg00009.html

12 months agotest: Accommodate C23 compilers.
Collin Funk [Sun, 16 Jun 2024 16:40:49 +0000 (09:40 -0700)] 
test: Accommodate C23 compilers.

From https://bugs.gnu.org/71425.

* t/yacc-deleted-headers.sh: Declare yyparse before use.
* t/yacc-depend.sh: Likewise.
* t/yacc-mix-c-cxx.sh: Likewise.
* t/yacc-d-basic.sh: Likewise. Use void instead of empty parameter
list.
* t/yacc-depend2.sh: Likewise.
* NEWS: mention this.
* THANKS: add Collin.

12 months agotest: the instdir-ltlib test is expected to fail.
Karl Berry [Sun, 16 Jun 2024 16:20:29 +0000 (09:20 -0700)] 
test: the instdir-ltlib test is expected to fail.

Discussed in https://bugs.gnu.org/71596.

* t/list-of-tests.mk (handwritten_TESTS): move t/instdir-ltlib.sh
(XFAIL_TESTS): to here. It previously worked by accident
because lib_LTLIBRARIES was misspelled as lib_LTIBRARIES;
Paul Eggert fixed that on June 7,
commit 1d35638b23e95fe6f41c828a3442f6d7f242f4c4, and the
test started failing as a result.

* t/instdir-ltlib.sh: add some doc.
* t/all.sh: likewise. (Another xfail test, which is mysterious to me.)

12 months agoaclocal: path separator is ; on OS/2 and Windows.
Karl Berry [Sun, 16 Jun 2024 15:41:06 +0000 (08:41 -0700)] 
aclocal: path separator is ; on OS/2 and Windows.

Adapted from and fixes https://bugs.gnu.org/71534.

* bin/aclocal.in (parse_ACLOCAL_PATH): use $^O to recognize OS/2
and Windows for the environment path element separator.
* NEWS: mention this.

12 months agoautomake: sort keys for reproducibility.
Yves Orton [Sun, 16 Jun 2024 01:18:35 +0000 (18:18 -0700)] 
automake: sort keys for reproducibility.

Fixes https://bugs.gnu.org/25629.

* bin/aclocal.in: sort keys for reproducibility.
* bin/automake.in: likewise.
* contrib/tap-driver.pl: likewise.
* lib/Automake/Channels.pm: likewise.
* lib/Automake/Condition.pm: likewise.
* lib/Automake/DisjConditions.pm: likewise.
* lib/Automake/Getopt.pm: likewise.
* lib/Automake/Rule.pm: likewise.
* THANKS: Add Yves.
* NEWS: mention this.

12 months agoautomake: omit make subsecond tests if at one-second resolution.
Karl Berry [Thu, 13 Jun 2024 01:24:14 +0000 (18:24 -0700)] 
automake: omit make subsecond tests if at one-second resolution.

Partially ameliorates report from Bruno Haible, thread at
https://lists.gnu.org/archive/html/automake/2024-06/msg00015.html

* m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): if
resolution is only one second, assume make works, to
avoid several sleeps.

12 months agodoc: typo in t/color-tests2.sh comment.
Karl Berry [Wed, 12 Jun 2024 17:20:15 +0000 (10:20 -0700)] 
doc: typo in t/color-tests2.sh comment.

* t/color-tests2.sh: "a working a working".

12 months agodoc: modernize version control doc
Paul Eggert [Fri, 7 Jun 2024 17:23:59 +0000 (10:23 -0700)] 
doc: modernize version control doc

Be more generic about version control instead of saying “CVS”.
In the specific examples, use Git instead of CVS.

12 months agomaint: spelling and whitespace fixes
Paul Eggert [Fri, 7 Jun 2024 15:41:45 +0000 (08:41 -0700)] 
maint: spelling and whitespace fixes

Most of these spelling fixes are just to comments and documentation.
However, some affect tests as follows:
* t/cond36.sh (tparse.h): Fix misspelling of dependency.
* t/disthook.sh: Fix misspelling of file.
* t/help3.sh: Fix misspelling of long option.
* t/instdir-ltlib.sh: Fix misspellings of macro names.
This causes the test to fail, so someone with libtool
expertise needs to look into this.
* t/tap-no-spurious-numbers.sh (highno): Fix misspelling of shell var.

12 months agomaint: fix version mismatch
Paul Eggert [Fri, 7 Jun 2024 14:56:25 +0000 (07:56 -0700)] 
maint: fix version mismatch

* m4/amversion.m4 (AM_AUTOMAKE_VERSION)
(AM_SET_CURRENT_AUTOMAKE_VERSION): Bump to 1.16.91 (auto-updated).

13 months agomaint: post-release: bump version to 1.16.91
Jim Meyering [Thu, 6 Jun 2024 13:53:52 +0000 (06:53 -0700)] 
maint: post-release: bump version to 1.16.91

* configure.ac (AC_INIT): Post-release version bump to 1.16.91.

13 months agotests: work also with v2.72-9-g7a6347d1 and newer v1.16.90
Jim Meyering [Mon, 3 Jun 2024 01:02:41 +0000 (18:02 -0700)] 
tests: work also with v2.72-9-g7a6347d1 and newer

* t/dist-missing-m4.sh: Accommodate a slightly different diagnostic
("undefined or overquoted macro" rather than "possibly undefined macro")
in autoconf as of v2.72-9-g7a6347d1.

13 months agomaint: support test releases numbered from .90 for announcements.
Karl Berry [Sun, 2 Jun 2024 17:47:20 +0000 (10:47 -0700)] 
maint: support test releases numbered from .90 for announcements.

* maintainer/maint.mk (beta_version_rx, alpha_version_rx):
update to use MAJOR.MINOR.90, .92, ..., for "beta" (test) releases,
and .91, .93, ... for "alpha" (development). Follows the
2024-01-21 change.
* HACKING: typo en passant.

13 months agomaint: secondary updates from make fetch.
Karl Berry [Fri, 31 May 2024 15:58:23 +0000 (08:58 -0700)] 
maint: secondary updates from make fetch.

* doc/help2man: restore copyright list as in upstream.
* lib/gendocs.sh: update with make fetch.
* lib/texinfo.tex: likewise.

13 months agomaint: prepare for next pretest.
Karl Berry [Fri, 31 May 2024 15:55:10 +0000 (08:55 -0700)] 
maint: prepare for next pretest.

* HACKING: typo, tweak release info.
* maintainer/maint.mk: typo.
* maintainer/syntax-checks.mk: typo, and exclude test-defs.sh
(actually .in) from the `...` test because I can't figure out how
to get the same results with $(...).

13 months agomissing: shellcheck disable=SC2006,SC2268
Karl Berry [Thu, 30 May 2024 01:16:01 +0000 (18:16 -0700)] 
missing: shellcheck disable=SC2006,SC2268

From Jacob Bachmeyer, in thread around
https://lists.gnu.org/archive/html/automake-patches/2022-01/msg00014.html

* lib/missing: disable shellcheck warnings about `...`.
We must support pre-POSIX shells in Automake.
(scriptversion=2024-05-29.18)

13 months agotest: check that subsecond mtime works with make.
Karl Berry [Mon, 27 May 2024 19:34:35 +0000 (12:34 -0700)] 
test: check that subsecond mtime works with make.

Trying to fix https://bugs.gnu.org/68808.

* m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): check
that make works with subsecond mtimes, as well as sleep and ls.
(Known to fail with the make 3.81 that ships with macOS.)
* configure.ac (MTIME_RESOLUTION): notice if it erroneously
expands to the empty string, i.e., fall back to 1 if
$am_cv_filesystem_timestamp_resolution ended up being unset.
* t/ax/test-defs.in (MTIME_RESOLUTION): also fall back to 1
if the variable to not set, with a message.
Fix other typos en passant.
* HACKING: tweak.

13 months agotest: objc tests on openbsd.
Bogdan [Sun, 26 May 2024 22:35:58 +0000 (15:35 -0700)] 
test: objc tests on openbsd.

Fixes https://bugs.gnu.org/68179.

* t/objcxx-deps.sh: test for objc_getProperty and other
functions in the objc library.
* t/objcxx-minidemo.sh: likewise.
* t/strip2.sh (STRIP): use -x instead of --verbose to test
strip with multiple words, to work with openbsd (and aix) strip.

13 months agodoc: test-driver option args are separate words.
Mark Wooding [Tue, 21 May 2024 16:54:35 +0000 (09:54 -0700)] 
doc: test-driver option args are separate words.

For https://bugs.gnu.org/70638.

As now mentioned in the manual, the description of the
test-driver command-line interface has been wrong since 2011
when it was first added. The manual, and the driver usage
messages themselves, have consistently shown option arguments
joined to the option name with `=' characters, while the
implementation of Automake has always provided option arguments
in the following argument word, and the provided test drivers
only accepted option arguments in the following argument word.

Because Automake has never used the `=' syntax, there can't
possibly be a working driver which actually follows the
specification as written, so, despite the fierce language of the
manual, we agreed that changing the specification was the right
approach. The `test-driver' program's usage message has already
been fixed (#22445), but the full extent of the problem wasn't
noticed at that time.

* doc/automake.texi (Command-line arguments for test drivers): Fix the
table of options to show arguments passed as separate words; add
footnote explaining this rather sorry situation.
* doc/automake.texi (Use TAP with the Automake test harness):
Remove `=' from documentation of `--diagnostic-string', because
that was never acceptable either.
* lib/tap-driver.sh: Fix usage message.
* contrib/tap-driver.pl: Change usage message to match the defined
protocol.  (This implementation parses options using Perl's
`Getopt::Long' module, so it accepts the `=' syntax as specified, but
this program isn't actually used.)

13 months agodoc: NEWS subsecond reference.
Karl Berry [Tue, 21 May 2024 16:48:18 +0000 (09:48 -0700)] 
doc: NEWS subsecond reference.

* NEWS: another subsecond reference.

14 months agodoc: update Vala documentation
Reuben Thomas [Mon, 6 May 2024 15:16:40 +0000 (08:16 -0700)] 
doc: update Vala documentation

From https://bugs.gnu.org/70557#29.

* doc/automake.texi (Vala Support): Update the URL for Vala.
Drop the mention of a version requirement, as no current system
  will have a too-old version of Vala.
Note the restriction on conditional inclusion of source files in
  *_SOURCES.

14 months agodoc: typos in test file.
Reuben Thomas [Tue, 30 Apr 2024 01:21:50 +0000 (18:21 -0700)] 
doc: typos in test file.

From https://bugs.gnu.org/70557#23.

* t/vala-vapi.sh: typos.

14 months agodoc: Vala-related typo in automake.in
Reuben Thomas [Sat, 27 Apr 2024 16:34:15 +0000 (09:34 -0700)] 
doc: Vala-related typo in automake.in

From https://bugs.gnu.org/70557.

* bin/automake.in (lang_vala_finish_target): typo.

16 months agotest: protect more yacc declarations against C vs. C++ linkage.
Bogdan [Wed, 7 Feb 2024 22:56:25 +0000 (14:56 -0800)] 
test: protect more yacc declarations against C vs. C++ linkage.

Fix for more of https://bugs.gnu.org/68832.

* t/yacc-clean-cxx.sh: more #ifdef of yylex, etc., following
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62886,
now for OpenIndiana. Specifically:
#if (defined __cplusplus) && ((!defined __sun) || (defined __EXTERN_C__))
* t/yacc-cxx.sh: likewise.
* t/yacc-d-cxx.sh: likewise.
* t/yacc-mix-c-cxx.sh: likewise.

17 months agotest: make bug-reporting message on test failure more explicit.
Karl Berry [Sat, 3 Feb 2024 16:38:49 +0000 (08:38 -0800)] 
test: make bug-reporting message on test failure more explicit.

From https://bugs.gnu.org/68855.

* NEWS: mention this.
* lib/am/check.am ($(TEST_SUITE_LOG)) <please_report>: new fn,
new wording.
* t/ax/test-defs.in (failure_footer_text): new wording.
(failure_footer_text_colorized): add red.
* t/ax/tap-summary-aux.sh (failure_footer): use failure_footer_text*.
* t/tap-doc2.sh: change grep.
* t/testsuite-summary-color.sh: likewise.
* t/testsuite-summary-count-many.sh: likewise.
* t/testsuite-summary-count.sh: likewise.
* t/testsuite-summary-reference-log.sh: likewise.

17 months agodoc: mention pyenv.
Karl Berry [Tue, 30 Jan 2024 23:10:21 +0000 (15:10 -0800)] 
doc: mention pyenv.

* HACKING: mention pyenv as a way to test different Python versions.

17 months agotest: elide leading spaces within case for macOS sh.
Karl Berry [Mon, 29 Jan 2024 22:16:01 +0000 (14:16 -0800)] 
test: elide leading spaces within case for macOS sh.

Yet another fix in https://bugs.gnu.org/68119.

* t/py-compile-basedir.sh: sed away the leading spaces
from wc -l output within the case statement.

17 months agotest: another check for PEP-3147 induced by Python 3.12.1.
Bogdan [Mon, 29 Jan 2024 02:12:50 +0000 (18:12 -0800)] 
test: another check for PEP-3147 induced by Python 3.12.1.

Fix for more of https://bugs.gnu.org/68119.

* t/ax/am-test-lib.sh (python_has_pep3147) <am_pep3147_tag>:
check sys.implementation.cache_tag as well as the (old)
imp.get_tag. For Python 3.12.1.

17 months agotest: more rerunning autotools, C++ std:: portability.
Karl Berry [Sun, 28 Jan 2024 15:45:25 +0000 (07:45 -0800)] 
test: more rerunning autotools, C++ std:: portability.

Trying to fix more of https://bugs.gnu.org/68119.

* t/aclocal-deleted-header-aclocal-amflags.sh: $sleep
before file modifications.
* t/aclocal-deleted-header.sh: likewise.
* t/aclocal-deps.sh: likewise.
* t/subdir-add2-pr46.sh: likewise.
* t/yacc-mix-c-cxx.sh: #include <cstdlib> before using std::...,
following yacc-cxx and yacc-d-cxx tests.

17 months agotest: output system information after summary report.
Karl Berry [Sun, 28 Jan 2024 02:07:48 +0000 (18:07 -0800)] 
test: output system information after summary report.

From https://bugs.gnu.org/68746.

* lib/am/check.am ($(TEST_SUITE_LOG)) <output_system_information>:
new shell fn, called inline to write basic os information
into test-suite.log.
Also, question (do not change) the ".. contents:: :depth: 2"
line; what is this for?

17 months agomaint: secondary updates from make fetch.
Karl Berry [Sat, 27 Jan 2024 18:59:15 +0000 (10:59 -0800)] 
maint: secondary updates from make fetch.

* INSTALL: updated from make distcheck.
* maintainer/maint.mk (fetch): update top-level INSTALL
if we update lib/INSTALL.
* lib/gendocs.sh: update with make fetch.

17 months agomaint: Update files from upstream with 'make fetch'.
Karl Berry [Wed, 24 Jan 2024 23:47:59 +0000 (15:47 -0800)] 
maint: Update files from upstream with 'make fetch'.

* lib/INSTALL: update with make fetch.
* lib/config.guess: likewise.
* lib/config.sub: likewise.
* lib/gitlog-to-changelog: likewise.
* lib/update-copyright: likewise.

17 months agodoc: typo for Channels.pm, mention files for which we are the master.
Karl Berry [Wed, 24 Jan 2024 23:43:24 +0000 (15:43 -0800)] 
doc: typo for Channels.pm, mention files for which we are the master.

* HACKING: mention files for which we are the master.
* lib/Automake/ChannelDefs.pm: typo for Automake::Channels;
mention that we hold the master copy of this.
* lib/Automake/Channels.pm: update/add text for master copy notice.
* lib/Automake/Configure_ac.pm: likewise.
* lib/Automake/FileUtils.pm: likewise.
* lib/Automake/Getopt.pm: likewise.
* lib/Automake/XFile.pm: likewise.

17 months agodoc: more about pretest numbering.
Karl Berry [Wed, 24 Jan 2024 23:34:29 +0000 (15:34 -0800)] 
doc: more about pretest numbering.

* HACKING: mention change to numbered pretests.
* configure.ac: and hence am_beta_version_rx won't match any more.
Let's just call all pretests development snapshots.

17 months agoautomake: recommend autoreconf -f with version mismatches.
Karl Berry [Tue, 23 Jan 2024 16:53:18 +0000 (08:53 -0800)] 
automake: recommend autoreconf -f with version mismatches.

From https://bugs.gnu.org/68674.

* bin/automake.in (scan_autoconf_traces): change error
to suggest running autoreconf -f. The version mismatch is
most likely to happen due to the cache files, which
aclocal && automake (the previous recommendation) does not delete.
(scan_autoconf_files): likewise.
* doc/automake.texi (Auto-generating aclocal.m4): mention autoreconf.
Other minor wording changes.

17 months agomaint: use 1.xx.90-style pretest versions.
Karl Berry [Sun, 21 Jan 2024 16:57:50 +0000 (08:57 -0800)] 
maint: use 1.xx.90-style pretest versions.

In response to https://bugs.gnu.org/54412.

* configure.ac (AC_INIT): 1.16.90.
* m4/amversion.m4: Likewise (auto-updated).

17 months agopython: use deb_system instead of posix_local if prefix = /usr.
Karl Berry [Sat, 20 Jan 2024 22:33:14 +0000 (14:33 -0800)] 
python: use deb_system instead of posix_local if prefix = /usr.

Continuing with https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54412.

* m4/python.m4 (AM_PATH_PYTHON) <am_python_setup_scheme>:
factor out common scheme-related code to this new variable.
If the scheme is posix_local and the prefix is /usr,
use deb_system (for Debian package builds).
* NEWS: more explanations (and unrelated references, en passant).

17 months agopython: use posix_prefix instead of posix_local on Debian.
Gianfranco Costamagna [Wed, 17 Jan 2024 22:48:13 +0000 (14:48 -0800)] 
python: use posix_prefix instead of posix_local on Debian.

From https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54412#17.
(Patch slightly adapted by Bogdan from original by Gianfranco,
as posted by Stefano Rivera in message#14.)

* m4/python.m4 (AM_PATH_PYTHON): replace Debian's posix_local
scheme with posix_prefix.
* doc/automake.texi (Python) <pythondir>: say a bit more.
* NEWS: mention this.

17 months agoautomake: a millisecond is too fast for subsecond-mtime.
Karl Berry [Wed, 17 Jan 2024 17:51:40 +0000 (09:51 -0800)] 
automake: a millisecond is too fast for subsecond-mtime.

This patch is from https://bugs.gnu.org/68325.

* m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): don't try
for a millisecond; make a hundredth of a second the fastest we'll go.

Apparently there are plenty of systems which supposedly support
subsecond-mtimes down to the millisecond and yet randomly
fail parallelized tests. For example:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=68119#18
Maybe the tests themselves need fixing. (The ones that run
autotools multiple times in succession.) A work in progress.

17 months agodoc: mention debian python 3.10 changes; master menu; etc.
Karl Berry [Wed, 17 Jan 2024 17:44:49 +0000 (09:44 -0800)] 
doc: mention debian python 3.10 changes; master menu; etc.

* doc/automake.texi (Creating amhello): mention libtool too.
(FAQ): remove spurious leftover "Errors with distclean" menu entry.
(Top): Regenerate master menu (M-x texinfo-master-menu).

17 months agopython: add 3.20 - 3.16 to the version search list.
Mike Frysinger [Sun, 14 Jan 2024 02:09:02 +0000 (18:09 -0800)] 
python: add 3.20 - 3.16 to the version search list.

* m4/python.m4: Add python3.20 - python3.16.
* NEWS: Mention these versions too.

18 months agomaint: make update-copyright
Paul Eggert [Mon, 1 Jan 2024 19:29:06 +0000 (11:29 -0800)] 
maint: make update-copyright

18 months agomaint: make fetch
Paul Eggert [Mon, 1 Jan 2024 19:27:31 +0000 (11:27 -0800)] 
maint: make fetch

18 months agodoc: overview of autotools ordering.
Karl Berry [Mon, 1 Jan 2024 02:28:10 +0000 (18:28 -0800)] 
doc: overview of autotools ordering.

* doc/automake.texi (Creating amhello): briefly mention the order
in which to run the autotools, a la autoreconf. A couple other tweaks.

18 months agotest: don't hang waiting for Solaris lex/yacc to read from stdin.
Bruno Haible [Sun, 31 Dec 2023 23:27:15 +0000 (15:27 -0800)] 
test: don't hang waiting for Solaris lex/yacc to read from stdin.

From https://bugs.gnu.org/68165.

* t/get-sysconf.sh: Don't let $LEX or $YACC read from stdin when
trying --version and --help. Only lex --version hangs, but may
as well avoid it in general.

18 months agodist: Use -9 instead of --best, and only for gzip, to pacify Alpine.
Bruno Haible [Sat, 30 Dec 2023 23:37:05 +0000 (15:37 -0800)] 
dist: Use -9 instead of --best, and only for gzip, to pacify Alpine.

From https://bugs.gnu.org/68151.

* lib/am/distdir.am (GZIP_ENV): Set to -9, not --best, since
Alpine does not support --best.
(distcheck): Don't use GZIP_ENV when invoking gzip for decompression,
since Alpine does not support -1..-9 with decompression.
* doc/automake.texi (The Types of Distributions): Document the change.
* NEWS: mention this. (En passant, add more change links.)

18 months agomaint: avoid a false-positive syntax-check failure
Jim Meyering [Wed, 27 Dec 2023 15:48:17 +0000 (07:48 -0800)] 
maint: avoid a false-positive syntax-check failure

* maintainer/syntax-checks.mk (sc_tests_plain_sleep): This would match
the "sleep 1" in a comment.  So filter out shell-style comments before
matching.

18 months agomaint: avoid a racy distcheck failure
Jim Meyering [Wed, 27 Dec 2023 14:52:50 +0000 (06:52 -0800)] 
maint: avoid a racy distcheck failure

* lib/am/distdir.am (am__remove_distdir): Use ";" not "&&" after
the chmod-running find, so that a failing find doesn't cause the
entire rule to fail.  This could happen when a directory like
doc/automake.t2d being processed by find is concurrently deleted
by another rule.

18 months agodoc: typos in NEWS.
Hans Ulrich Niedermann [Tue, 26 Dec 2023 22:26:20 +0000 (14:26 -0800)] 
doc: typos in NEWS.

From https://lists.gnu.org/archive/html/automake/2023-12/msg00037.html.

* NEWS: typos.

18 months agotest: silent-defaults.sh rerun autotools each time.
Karl Berry [Mon, 25 Dec 2023 23:42:34 +0000 (15:42 -0800)] 
test: silent-defaults.sh rerun autotools each time.

Follow-up to https://bugs.gnu.org/32868.

* t/silent-defaults.sh: rerun $ACLOCAL && $AUTOMAKE for each trial,
else test failed. (Why it has always succeeded before now, and/or
what has changed, I don't know.) Remake the cache for each trial,
for reliability. Echo trial description.
* doc/automake.texi (Silent Rules): tweak text.
(Unsilencing Automake): new node.  Mention
make --debug=p to completely unsilence rules.

18 months agotest: self-announce leading installcheck/protocol/PATH information.
Karl Berry [Mon, 25 Dec 2023 23:40:25 +0000 (15:40 -0800)] 
test: self-announce leading installcheck/protocol/PATH information.

* t/ax/am-test-lib.sh (am_extra_info): self-announce where the
initial reports on installcheck, test protocol, and PATH
come from. Apparently this doesn't disturb the tests.
If other people don't like the extra verbiage, no problem to remove.

18 months agotest: force long sleep with explicit cache variable setting.
Karl Berry [Mon, 25 Dec 2023 23:38:15 +0000 (15:38 -0800)] 
test: force long sleep with explicit cache variable setting.

From https://bugs.gnu.org/67670.

* t/ax/test-defs.in: when MTIME_RESOLUTION is set to 1
because automake/autom4te do not support subsecond-mtime,
also set am_cv_sleep_fractional_seconds=false. Otherwise
the random parallel test failures from given bug and others return.
* m4/sanity.m4 (_AM_SLEEP_FRACTIONAL_SECONDS): reformat.
(_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): elide "the" in AC_CACHE_CHECK.
* t/amassign.sh: end with :.
* HACKING: more on debugging tests.
* NEWS: update.

18 months agodoc: typos from codespell.
Dimitri Papadopoulos [Sun, 24 Dec 2023 23:02:30 +0000 (15:02 -0800)] 
doc: typos from codespell.

Report and patch: https://bugs.gnu.org/68003.

* bin/automake.in: typo from codespell.
* configure.ac: likewise.
* t/dist-auxdir-many-subdirs.sh: likewise.
* t/instmany-mans.sh: likewise.
* t/instmany-python.sh: likewise.
* t/instmany.sh: likewise.
* t/nostdinc.sh: likewise.
* t/parallel-tests-fork-bomb.sh: likewise.
* t/rm-f-probe.sh: likewise.
* t/tap-basic.sh: likewise.
* t/test-driver-custom-multitest.sh: likewise.
* t/txinfo-vtexi3.sh: likewise.

18 months agodoc: update location of FETCHFILES variable.
Dimitri Papadopoulos [Sun, 24 Dec 2023 22:56:50 +0000 (14:56 -0800)] 
doc: update location of FETCHFILES variable.

Report and patch: https://bugs.gnu.org/68004.

* HACKING: FETCHFILES has been moved: Makefile.am ->
maintainer/maint.mk.

18 months agomaint: email in THANKS for Zack Weinberg.
Karl Berry [Sun, 24 Dec 2023 16:56:30 +0000 (08:56 -0800)] 
maint: email in THANKS for Zack Weinberg.

* THANKS (Zack Weinberg): update from zackw@panix.com to
zack@owlfolio.org, per Zack.

18 months agotest: do not leave files as mode zero.
Karl Berry [Sun, 24 Dec 2023 16:55:04 +0000 (08:55 -0800)] 
test: do not leave files as mode zero.

Follows up on https://bugs.gnu.org/67868.

* t/dist-with-unreadable-makefile-fails.sh: chmod u+rw at end.
Also follow usual pattern of ending tests with :, not explicit exit.
* t/tap-bad-prog.tap: chmod u+r at end (since only r removed).

18 months agowarn: avoid "only used once" warning for subsecond_mtime.
Karl Berry [Sun, 24 Dec 2023 16:45:50 +0000 (08:45 -0800)] 
warn: avoid "only used once" warning for subsecond_mtime.

* bin/automake.in (version): uselessly use
$Automake::FileUtils::subsecond_mtime a second time to
avoid Perl warning.

18 months agodoc: more on help2man and "Errors with distclean".
Karl Berry [Sat, 23 Dec 2023 18:44:03 +0000 (10:44 -0800)] 
doc: more on help2man and "Errors with distclean".

This fixes (the rest of) https://bugs.gnu.org/67891.

* doc/automake.texi (Errors with distclean): make a subsection of
"Checking the Distribution". Contrast help2man usage examples of
Autoconf (includes man pages in distribution) and
Automake (no man pages, distributes the help2man script instead).
(Checking the Distribution): convert subheadings to subsections.
* doc/local.mk: also mention autoconf vs. automake approaches here,
and point to the manual.
(checklinkx): en passant, remove unused checklinkx exclude.

18 months agomaint: sync autoconf Channels.pm and ChannelsDefs.pm.
Zack Weinberg [Fri, 22 Dec 2023 23:52:26 +0000 (15:52 -0800)] 
maint: sync autoconf Channels.pm and ChannelsDefs.pm.

Patch from https://bugs.gnu.org/67971.

The changes address <https://savannah.gnu.org/support/?110872>,
about m4_warn code/documentation consistency.
It should be impossible to reach report_bad_channel from code in
Automake.

* lib/Automake/Channels.pm (msg): If the channel argument is invalid,
don't crash; report the mistake and use the `syntax' channel.
(report_bad_channel): New function for reporting invalid channels.

* lib/Automake/ChannelDefs.pm (usage): Clarify that the list of
warning categories is exhaustive, and that ``all'', ``none'',
``no-CATEGORY'', and ``error'' are not warning categories.

18 months agomaint: tweak announcement text again.
Karl Berry [Fri, 22 Dec 2023 02:19:36 +0000 (18:19 -0800)] 
maint: tweak announcement text again.

* maintainer/maint.mk (announcement):
"(instead of replying to this mail),"

18 months agoautomake: avoid unnecessary use of \K.
Karl Berry [Thu, 21 Dec 2023 23:46:43 +0000 (15:46 -0800)] 
automake: avoid unnecessary use of \K.

This fixes (part of) https://bugs.gnu.org/67891
and follows up on https://bugs.gnu.org/55025.

* bin/automake.in (generate_makefile) <posix>: avoid use of
\K when removing comment and blank lines before a .POSIX target,
since Solaris 10 has perl 5.8.4, and \K was added in 5.10.

18 months agodoc: typo in tap-driver.sh.
Dave Hart [Wed, 20 Dec 2023 22:12:34 +0000 (14:12 -0800)] 
doc: typo in tap-driver.sh.

* lib/tap-driver.sh: to not too.

18 months agomaint: post-release administrivia.
Karl Berry [Wed, 20 Dec 2023 16:20:26 +0000 (08:20 -0800)] 
maint: post-release administrivia.

* configure.ac (AC_INIT): now 1.16j, since 1.16i pretest was
released (on 2023-12-18).
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

18 months agomaint: announcement text tweaks.
Karl Berry [Mon, 18 Dec 2023 22:20:55 +0000 (14:20 -0800)] 
maint: announcement text tweaks.

* HACKING: mention DEVEL_SNAPSHOT=1 for us.
* NEWS: tweak text.
* maintainer/maint.mk (announcement): tweak text,
ls -l ./announcement as a clue as to where the result is.

18 months agodist: more forcefully deal with mode 0 directories created by tests. v1.16i
karl [Sun, 17 Dec 2023 16:42:35 +0000 (08:42 -0800)] 
dist: more forcefully deal with mode 0 directories created by tests.

From https://bugs.gnu.org/67868.

* lib/am/distdir.am (am__remove_distdir): make directories
readable and searchable, not just writable. (Also typo.)
* t/local.mk (clean-local-check): ensure directories are
at least mode 700
* t/uninstall-fail.sh: restore reasonable permissions of
the mode 0 $inst/share directory at the end.

18 months agodoc: checklinkx tweaks.
Karl Berry [Wed, 13 Dec 2023 18:17:49 +0000 (10:17 -0800)] 
doc: checklinkx tweaks.

* HACKING: mention checklinkx to check for broken links.
* contrib/checklinkx: mention us in version info;
use warnings instead of -w.

18 months agomaint: Update files from upstream with 'make fetch'.
Karl Berry [Mon, 11 Dec 2023 17:08:37 +0000 (09:08 -0800)] 
maint: Update files from upstream with 'make fetch'.

* lib/INSTALL: update with make fetch.
* lib/config.guess: Update.
* lib/config.sub: Likewise.
* lib/gendocs.sh: Likewise.
* lib/gendocs_template: Likewise.
* lib/texinfo.tex: Likewise.
* lib/update-copyright: Likewise.

18 months agodoc: add advice to list Yacc/Lex generated sources in BUILT_SOURCES.
Reuben Thomas [Sun, 10 Dec 2023 23:12:00 +0000 (15:12 -0800)] 
doc: add advice to list Yacc/Lex generated sources in BUILT_SOURCES.

For https://bugs.gnu.org/62791.

* doc/automake.texi (Yacc and Lex): it seems to be necessary to
list the generated C source file for a Yacc/Lex file, as well as the
header file, in BUILT_SOURCES.

18 months agodoc: NEWS entry for OBJC[XX] tags.
Karl Berry [Sun, 10 Dec 2023 23:05:40 +0000 (15:05 -0800)] 
doc: NEWS entry for OBJC[XX] tags.

This helps https://bugs.gnu.org/67539.

* NEWS: update; forgot to commit with prior code change.