[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RFC: Bump minimum Perl to 5.18.0 for next major release of both Auto
Re: RFC: Bump minimum Perl to 5.18.0 for next major release of both Autoconf and Automake
Fri, 19 Feb 2021 00:05:09 +0300
For me it would be good to keep the minimum perl as 5.10, as the 5.18
is newer than the one I have on my system, although to be fair, I am
currently using autoconf 2.69 and do not intent to upgrade it in close
future, unless some software that I need demands it, which seems
18.02.2021, 22:14, "Nick Bowler" <firstname.lastname@example.org>:
On 2021-02-17, Zack Weinberg <email@example.com> wrote:
On Fri, Jan 29, 2021 at 5:54 PM Karl Berry
But, I think it would be wise to give users a way to override the
requirement, of course with the caveat "don't blame us if it
work", unless there are true requirements such that nothing at all
work without 5.18.0 -- which seems unlikely (and undesirable,
2013 is not that long ago, in autotime.
This is a reasonable suggestion but Perl makes it difficult.
What we could do is something like this instead:
use 5.008; # absolute minimum requirement
use if $] >= 5.016, feature => ':5.16'; # enable a number of
desirable features from newer perls
+ documentation that we're only _testing_ with the newer perls.
FWIW, I just checked and I do currently build an Autotest testsuite
on a system where "perl" is perl 5.8.3, which works on
So I suppose if Autoconf required a newer version, and I required a
newer version of Autoconf, then this is a problem. But due to the
nature of Autoconf this is exclusively my problem and does not
downstream users at all. So I'd just solve the problem (perhaps by
running autom4te on an updated setup) and wouldn't be bothered if
things are broken for a reason.
Only testing with new(ish) perl versions is not at all a problem
Interoperability is always "best effort": nobody can test every
system configuration. As long as we don't claim to support systems
that are never ever tested, people who care about particular systems
just have to speak up when things stop working.
I did some more research on perl's version history (notes at end)
I think the right thresholds are 5.10 for absolute minimum and 5.16
for 'we aren't going to test with anything older than this'. 5.10
the oldest perl that shipped Digest::SHA, which I have a specific
for in autom4te;
... on the topic of of reasons to break things, the perl 5.8
in question does seem to have Digest::SHA available to it. So for
dependency I would suggest Autoconf should be following the Autoconf
philosophy and "you must have the Digest::SHA perl module" is
from "you must have perl version 5.10 or newer".
it is also the oldest perl to support `state` variables and the
operator, both of which could be quite useful.
However these new syntactic constructs are obviously unavailable.
I think "//" is not a great reason (by itself) to break
but "state" could be.