Preparing to make the next test release...
This failed:
n=50; ( make bootstrap && make -j$n check keep_testdirs=yes && make
maintainer-check && make -j$n distcheck && make -j$n distcheck
AM_TESTSUITE_MAKE="make -j$n" && make -j$n
check-no-trailing-backslash-in-recipes && make -j$n check-cc-no-c-o ) >& makerr
&
With this output around the error:
tardir=automake-1.16j && ${TAR-tar} chof - "$tardir" | XZ_OPT=${XZ_OPT--e} xz
-c >automake-1.16j.tar.xz
tardir=automake-1.16j && ${TAR-tar} chof - "$tardir" | eval GZIP= gzip --best
-c >automake-1.16j.tar.gz
make[2]: Leaving directory '/home/j/w/co/automake/automake-1.16j/_build/sub'
if test -d "automake-1.16j"; then find "automake-1.16j" -type d ! -perm -700
-exec chmod u+rwx {} ';' && rm -rf "automake-1.16j" || { sleep 5 && rm -rf
"automake-1.16j"; }; else :;
fi
make[1]: Leaving directory '/home/j/w/co/automake/automake-1.16j/_build/sub'
make[1]: Entering directory '/home/j/w/co/automake/automake-1.16j/_build/sub'
rm -rf doc/automake.dvi doc/automake.pdf doc/automake.ps doc/automake.html \
doc/automake-history.dvi doc/automake-history.pdf \
doc/automake-history.ps doc/automake-history.html
rm -f bin/automake bin/aclocal bin/aclocal-1.16 bin/automake-1.16
doc/aclocal.1 doc/automake.1 doc/aclocal-1.16.1 doc/automake-1.16.1
lib/Automake/Config.pm t/ax/test-defs.sh t/a
x/shell-no-trail-bslash t/ax/cc-no-c-o runtest t/perf/test-suite.log
announcement
rm -f tests-in-makefile-list.tmp tests-on-filesystem-list.tmp
diff-in-tests-lists.tmp
find . -type d ! -perm -700 -exec chmod u+rwx {} ';'
rm -rf "/home/j/w/co/automake/automake-1.16j/_build/sub/cover_db"
rm -rf doc/automake.t2d doc/automake.t2p doc/automake-history.t2d \
doc/automake-history.t2p
find: ā./doc/automake.t2dā: No such file or directory
rm -f t/get-sysconf.log t/pm/Cond2.log t/pm/Cond3.log t/pm/Condition.log
t/pm/Condition-t.log t/pm/DisjCon2.log t/pm/DisjCon3.log
t/pm/DisjConditions.log t/pm/DisjConditions-t.log
t/pm/General.log t/pm/Version.log t/pm/Version2.log t/pm/Version3.log
t/pm/Wrap.log t/instspc.log t/aclocal.log t/aclocal-I-order-1.log
t/aclocal-I-order-2.log t/aclocal-I-order-3
.log t/aclocal-I-and-install.log t/aclocal-acdir.log ...
I fixed that with the first attached diff. Then ran that command again...
and hit this:
make[2]: Leaving directory '/t/am-release'
make[1]: Leaving directory '/t/am-release'
GEN sc_sanity_gnu_grep
GEN sc_perl_protos
./t/ax/test-defs.sh:# for this whole subsecond-mtime problem. With this set
to "sleep 1",
Do not use "sleep x" in the above tests. Use "$sleep" instead.
make: *** [maintainer/syntax-checks.mk:443: sc_tests_plain_sleep] Error 1
So I adjusted via the second attached change.
Now, I think it will succeed.
After which I'll push them and then build/upload the 1.16j test release.
>From c8fcdede16b034260d779ff3f064b84d55064000 Mon Sep 17 00:00:00 2001
From: Jim Meyering
Date: Wed, 27 Dec 2023 06:52:50 -0800
Subject: [PATCH 1/2] 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.
---
lib/am/distdir.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/am/distdir.am b/lib/am/distdir.am
index 301239de1..0dd3a2e3f 100644
--- a/lib/am/distdir.am
+++ b/lib/am/distdir.am
@@ -24,7 +24,7 @@ top_distdir = $(distdir)
am__remove_distdir = \
if test -d "$(distdir)"; then \
find "$(distdir)" -type d ! -perm -700 -exec chmod u+rwx {} ';' \
- && rm -rf "$(distdir)" \
+ ; rm -rf "$(distdir)" \
## On MSYS (1.0.17) it is not possible to remove a directory that is in
## use; so, if the first rm fails, we sleep some seconds and retry, to
## give pending processes some time to exit and "release" the directory
--
2.41.0.376.gcba07a324d
>From b79e21c53b8e6899ad4616b422d1d1dd32d13d49 Mon Sep 17 00:00:00 2001
From: Jim Meyering
Date: Wed, 27 Dec 2023 07:48:17 -0800
Subject: [PATCH 2/2] 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.
---
maintainer/syntax-checks.mk | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/maintainer/syntax-checks.mk b/maintainer/syntax-checks.mk
index c56313781..40e30d955 100644
--- a/maintainer/syntax-checks.mk
+++ b/maintainer/syntax-checks.mk
@@ -440,7 +440,8 @@ sc_tests_ls_t:
# Use '$sleep' instead. Some file systems (e.g., Windows) have only
# a 2sec resolution.
sc_tests_plain_sleep:
- @if grep -E '\bsleep +[12345]\b' $(xtests); then \
+ @if grep -vE '^[ ]*#' $(xtests) \
+ | grep -E '\bsleep +[12345]\b' | grep .; then \
echo 'Do not use "sleep x" in the above tests. Use