1.16j: test release incoming

Jim Meyering <[email protected]>
Newsgroups gmane.comp.sysutils.automake.general
Message-ID <[email protected]>
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.
maint-tweaks.diff (text/x-patch, 2.2 KB)
From c8fcdede16b034260d779ff3f064b84d55064000 Mon Sep 17 00:00:00 2001
From: Jim Meyering <[email protected]>
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 <[email protected]>
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 "$$sleep" instead.' 1>&2; \
 	  exit 1; \
 	fi
-- 
2.41.0.376.gcba07a324d
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.