[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
From: |
alexandre schenberg |
Subject: |
Re: RFC: Bump minimum Perl to 5.18.0 for next major release of both Autoconf and Automake |
Date: |
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
unlikely.
18.02.2021, 22:14, "Nick Bowler" <nbowler@draconx.ca>:
Hi Zack,
On 2021-02-17, Zack Weinberg <[1]zackw@panix.com> wrote:
On Fri, Jan 29, 2021 at 5:54 PM Karl Berry
<[2]karl@freefriends.org> wrote:
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
doesn't
work", unless there are true requirements such that nothing at all
would
work without 5.18.0 -- which seems unlikely (and undesirable,
IMHO).
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
autoconf-2.69.
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
impact
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
IMO.
Interoperability is always "best effort": nobody can test every
possible
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)
and
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
is
the oldest perl that shipped Digest::SHA, which I have a specific
need
for in autom4te;
... on the topic of of reasons to break things, the perl 5.8
installation
in question does seem to have Digest::SHA available to it. So for
this
dependency I would suggest Autoconf should be following the Autoconf
philosophy and "you must have the Digest::SHA perl module" is
different
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
compatibility
but "state" could be.
Cheers,
Nick
References
1. mailto:zackw@panix.com
2. mailto:karl@freefriends.org