On Fri, Jun 20, 2025 at 8:46 PM Frederic Berat <fbe...@redhat.com> wrote:

>
>
> On Fri, Jun 20, 2025 at 6:07 PM Karl Berry <k...@freefriends.org> wrote:
>
>> 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.)
>>
>>
> Thanks, I'll make a mass rebuild during the weekend to see how it goes
> with that.
>

So, I re-built Fedora packages and found that the patch I mentioned above
is actually creating  a new dependency on packages that use automake:

/builddir/build/BUILD/libextractor-1.13-build/libextractor-1.13/build-aux/missing:
line 85: makeinfo: command not found
WARNING: 'makeinfo' is missing on your system.
         You should only need it if you modified a '.texi' file, or
         any other file indirectly affecting the aspect of the manual.
         You might want to install the Texinfo package:
         <https://www.gnu.org/software/texinfo/>
         The spurious makeinfo call might also be the consequence of
         using a buggy 'make' (AIX, DU, IRIX), in which case you might
         want to install GNU make:
         <https://www.gnu.org/software/make/>
make[1]: *** [Makefile:456: libextractor.info] Error 127

If I revert `b78b70612b83632d9f1256e4fa4c69c33f81a5f8` this requirement is
not there and these packages build fine.

The list of affected packages:
 enscript
 guile30
 libextractor
 libtasn1
 make
 msmtp


>
>>
>> -----------------------------------------------------------------------------
>> 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`
>>
> There is a bug here, it should probably be:

result=`./mdate-sh /irrelevant`

In my standardized environment `mdate-sh` wasn't found. I modified the line
as described above to get the test to pass.

+  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
>>
>>

Reply via email to