[bug#61240] [PATCH 0/2] restore support for 5.6 and gracefully degrade timestamps

Jacob Bachmeyer <[email protected]> Tue, 07 Feb 2023 23:28:27 -0600
Newsgroups gmane.comp.sysutils.automake.patches
Message-ID <[email protected]>
Paul Eggert wrote:
> On 2023-02-05 21:43, Jacob Bachmeyer wrote:
>> Should the patch be relative to commit 
>> 6d6fc91c472fd84bd71a1b012fa9ab77bd94efea (before the version 
>> requirement bump) or should it include reverting commit 
>> 4e3744a15c4d8bdb46c11ead2fb56c5f591b714b (the version requirement bump)?
>
> Might as well do it all at once, thanks.

Two patches, generated with git format-patch as requested, follow under 
separate cover.

I had to rework my local repository, where I had previously rolled back 
to before the version requirement bump instead of reverting it.  Using 
"git diff" confirms no differences between the two local branch tips, so 
I am sending in the patch now while tests continue to run here.  Patch 1 
reverts the version requirement bump; patch 2 allows Automake to 
gracefully degrade if Time::HiRes is not available.

While Automake clearly works correctly under Perl 5.6.2 with these 
patches applied, I am still running down some minor testsuite result 
differences between the system Perl 5.34.1 and perlbrew Perl 5.6.2 on 
the machine I am using for the tests.  Should patches to correct these 
issues be sent under this bug or should they be sent separately to 
automake-patches?

Preliminary analysis suggests that the Perl fragment in 
t/ax/am-test-lib.sh:is_blocked_signal needs a few improvements (to 
improve compatibility in both directions; an accessor method was 
introduced in Perl 5.8 and the code fails under Perl 5.6 due to other 
limitations; [*facepalm*]), and t/pm/General.pl appears to be tickling a 
compiler bug in Perl 5.6.2 that produces a false syntax error, but 
Automake itself is unaffected.  The only other differences are 
t/pm/Condition-t.pl and t/pm/DisjConditions-t.pl, which are skipped due 
to a lack of the required thread support in the older Perl.  The failure 
of is_blocked_signal causes ERRORs in t/parallel-tests-interrupt.tap, 
t/self-check-exit.tap, t/self-check-is-blocked-signal.tap, and 
t/tap-signal.tap.  No other tests FAIL with either Perl.

I also found that t/get-sysconf.sh FAILs if libtool is not installed, 
but configure does not detect and complain about the unavailability of 
libtoolize.


-- Jacob