automake
[Top][All Lists]
Advanced

[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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]