Re: Automake 1.18 regression (?)
Karl Berry <[email protected]> Fri, 20 Jun 2025 10:06:59 -0600
| Newsgroups | gmane.comp.sysutils.automake.general |
|---|---|
| Message-ID | <[email protected]> |
Hi Frederic and all - I pushed the following tweaks to a few
tests. With these changes, I was able to run make distcheck with
SOURCE_DATE_EPOCH=86402 (among other values). Hope it suffices
.. --thanks, karl. (And thanks Carlos for the info.)
-----------------------------------------------------------------------------
test: adapt tests for SOURCE_DATE_EPOCH.
From https://lists.gnu.org/archive/html/automake/2025-06/msg00016.html.
* t/mdate5.sh: allow years 19xx for old SOURCE_DATE_EPOCH.
* t/txinfo-vtexi3.sh: likewise.
* t/txinfo-vtexi4.sh: if SDE is set, use mdate-sh to parse it into
the expected UPDATED and UPDATED-MONTH values.
Report from Frederic Berat.
* NEWS: mention this.
diff --git a/NEWS b/NEWS
index 02581e1d9..ac1930971 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,11 @@
For planned incompatibilities in a possible future Automake 2.0 release,
please see NEWS-future and start following the advice there now.
+* Bugs fixed
+
+ - Keep Automake tests working when SOURCE_DATE_EPOCH is set.
+ (https://lists.gnu.org/archive/html/automake/2025-06/msg00016.html)
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
New in 1.18 (2025-05-25):
diff --git a/t/mdate5.sh b/t/mdate5.sh
index 11be50f13..14c524e9b 100644
--- a/t/mdate5.sh
+++ b/t/mdate5.sh
@@ -29,16 +29,22 @@ echo "$*" # For debugging.
test $# = 3
case $1$3 in *[!0-9]*) exit 1;; esac
test $1 -lt 32
-# Hopefully automake will be obsolete in 80 years ;-)
-case $3 in 20[0-9][0-9]) :;; *) exit 1;; esac
+case $3 in
+ 19[0-9][0-9]) :;; # for old SOURCE_DATE_EPOCH.
+ 20[0-9][0-9]) :;; # Hopefully automake will be obsolete in 80 years ;-)
+ *) exit 1;;
+esac
case $2 in
January|February|March|April|May|June|July|August) ;;
September|October|November|December) ;;
*) exit 1
esac
-# Stricter checks on the year required a POSIX date(1) command.
-if year=$(date +%Y) && test $year -gt 2010; then
+# Stricter checks on the year required a POSIX date(1) command,
+# and that SOURCE_DATE_EPOCH is not set.
+if year=$(date +%Y) \
+ && test -z "$SOURCE_DATE_EPOCH" \
+ && test $year -gt 2010; then
test $year = $3 || exit 1
fi
diff --git a/t/txinfo-vtexi3.sh b/t/txinfo-vtexi3.sh
index d5ca81679..1c91fc547 100644
--- a/t/txinfo-vtexi3.sh
+++ b/t/txinfo-vtexi3.sh
@@ -73,7 +73,9 @@ $AUTOMAKE
day='([1-9]|1[0-9]|2[0-9]|3[01])'
month='(January|February|March|April|May|June|July|August|September|October|November|December)'
-year='20[0-9][0-9]' # Hopefully automake will be obsolete in 80 years ;-)
+year='(20|19)[0-9][0-9]' # Hopefully automake will be obsolete in 80 years ;-)
+ # Allow 19xx for SOURCE_DATE_EPOCH possibilities.
+#
date="$day $month $year"
do_check ()
diff --git a/t/txinfo-vtexi4.sh b/t/txinfo-vtexi4.sh
index 1c76abda7..a69cc46f2 100644
--- a/t/txinfo-vtexi4.sh
+++ b/t/txinfo-vtexi4.sh
@@ -28,11 +28,22 @@ required='makeinfo tex texi2dvi grep-nonprint'
# differ depending on local time.
TZ=UTC0; export TZ
-test $(LC_ALL=C date '+%u') -gt 0 && test $(LC_ALL=C date '+%u') -lt 8 \
- && day=$(LC_ALL=C date '+%d') && test -n "$day" \
- && month=$(LC_ALL=C date '+%B') && test -n "$month" \
- && year=$(LC_ALL=C date '+%Y') && test -n "$year" \
- || skip_ "'date' is not POSIX-compliant enough"
+if test -n "$SOURCE_DATE_EPOCH"; then
+ # use mdate-sh to parse SOURCE_DATE_EPOCH.
+ get_shell_script mdate-sh
+ result=`mdate-sh /irrelevant`
+ echo "result of mdate-sh: $result"
+ day=`echo $result | awk '{print $1}'`
+ month=`echo $result | awk '{print $2}'`
+ year=`echo $result | awk '{print $3}'`
+else
+ test $(LC_ALL=C date '+%u') -gt 0 && test $(LC_ALL=C date '+%u') -lt 8 \
+ && day=$(LC_ALL=C date '+%d') && test -n "$day" \
+ && month=$(LC_ALL=C date '+%B') && test -n "$month" \
+ && year=$(LC_ALL=C date '+%Y') && test -n "$year" \
+ || skip_ "'date' is not POSIX-compliant enough"
+fi
+#
day=$(echo "$day" | sed 's/^0//')
cat > configure.ac << END
compile finished at Fri Jun 20 09:04:52 2025