[Koha-devel] Perl version requirement

Julian Maurice julian.maurice at biblibre.com
Fri Jun 26 12:30:06 CEST 2020


I added the topic to next dev meeting agenda

https://wiki.koha-community.org/wiki/Development_IRC_meeting_1_July_2020

Le 26/06/2020 à 02:43, dcook at prosentient.com.au a écrit :
> Yeah, I remember when we used to use them, but then removed them due 
> them changing so much.
> 
> Ahh. That does sound pretty well thought out then. Yeah, let’s up it to 
> 5.14, as we definitely require it for 
> Koha/SearchEngine/Elasticsearch/QueryBuilder.pm, and no one should be 
> running a Linux system with < 5.14 these days. Anyone running RHEL 6 
> should really be upgrading.
> 
> Oh, I do a Reply All that includes the author of the previous message. 
> Personally, I filter koha-devel, so if someone replies directly to me, I 
> see it before I check my filtered koha-devel folder. I figure other 
> people do the same so I do the same.
> 
> David Cook
> 
> Systems Librarian
> 
> Prosentient Systems
> 
> 72/330 Wattle St
> 
> Ultimo, NSW 2007
> 
> Australia
> 
> Office: 02 9212 0899
> 
> Online: 02 8005 0595
> 
> *From:*Koha-devel <koha-devel-bounces at lists.koha-community.org> *On 
> Behalf Of *Tomas Cohen Arazi
> *Sent:* Friday, 26 June 2020 10:06 AM
> *To:* koha-devel <koha-devel at lists.koha-community.org>
> *Subject:* Re: [Koha-devel] Perl version requirement
> 
> Smart matches where used a while back but marked as experimental and we 
> removed their only uses.
> 
> 5.10 was required for defined-or, and Julian suggests we need 5.14 
> because of the use of /r.
> 
> PS is it me or the reply-to on this list puts the author of the previous 
> message? It should be the list itself.
> 
> El jue., 25 de junio de 2020 20:31, <dcook at prosentient.com.au 
> <mailto:dcook at prosentient.com.au>> escribió:
> 
>     Those are good points. Personally, I’d like us to specify the Perl
>     version minimum based on actual usage as well. I just wonder how
>     best we determine what the minimum version should be (why 5.14?) and
>     where we specify that.
> 
>     Should we be using “use 5.14.0” in plack.psgi for instance*? Or are
>     we just thinking about specifying the minimum in terms of the Debian
>     packages?
> 
>     I wonder if there is a reliable list of features by Perl version
>     without reading through every delta listed at
>     https://perldoc.perl.org/index-history.html. There is something at
>     https://en.wikipedia.org/wiki/Perl_5_version_history.
> 
>     Looking at “Non-destructive substitution (s///r)”, I see that’s only
>     used 2 (obvious) times and it’s in
>     Koha/SearchEngine/Elasticsearch/QueryBuilder.pm.
> 
>     That said, that Wikipedia list doesn’t include the nuances of the
>     smart match operator, so it doesn’t seem very comprehensive.
> 
>     I know Martin is interested in subroutine signatures but they look
>     experimental even in 5.30.0 according to
>     https://perldoc.perl.org/perlsub.html#Signatures.
> 
>     Thoughts?
> 
>     *https://perldoc.perl.org/functions/use.html
> 
>     David Cook
> 
>     Systems Librarian
> 
>     Prosentient Systems
> 
>     72/330 Wattle St
> 
>     Ultimo, NSW 2007
> 
>     Australia
> 
>     Office: 02 9212 0899
> 
>     Online: 02 8005 0595
> 
>     *From:*Tomas Cohen Arazi <tomascohen at gmail.com
>     <mailto:tomascohen at gmail.com>>
>     *Sent:* Friday, 26 June 2020 12:02 AM
>     *To:* Kyle Hall <kyle.m.hall at gmail.com <mailto:kyle.m.hall at gmail.com>>
>     *Cc:* David Cook <dcook at prosentient.com.au
>     <mailto:dcook at prosentient.com.au>>; Koha Devel
>     <koha-devel at lists.koha-community.org
>     <mailto:koha-devel at lists.koha-community.org>>
>     *Subject:* Re: [Koha-devel] Perl version requirement
> 
>     I agree with Martin we should be requiring newer versions when we
>     need them to (say) get better code or results.
> 
>     And we should be consistent. Right now the minimum should be 5.14
>     and we are not making it clear to the users.
> 
>     External library dependencies might be another reason to shift Perl
>     versions. So all of that is in the mix. And we try to be
>     conservative about this, specially when we pick external libraries
>     and QA should consider this.
> 
>     El jue., 25 jun. 2020 a las 10:55, Kyle Hall (<kyle.m.hall at gmail.com
>     <mailto:kyle.m.hall at gmail.com>>) escribió:
> 
>         I doubt we will need to worry about Perl 7 until it's available
>         in Debian. It's essentially 5.32 with some better defaults ( no
>         need to 'use strict' for example ). There will also be a
>         migration path from Perl 5 to Perl 7 ( but not from Perl 5 to
>         Perl 8 ). Perl 5 is expected to have about 10 years of continued
>         support.
> 
>         ---
> 
>         http://www.kylehall.info
>         ByWater Solutions ( http://bywatersolutions.com )
>         Meadville Public Library ( http://www.meadvillelibrary.org )
>         Crawford County Federated Library System ( http://www.ccfls.org )
> 
>         On Thu, Jun 25, 2020 at 12:21 AM <dcook at prosentient.com.au
>         <mailto:dcook at prosentient.com.au>> wrote:
> 
>             Just to add more fuel to the fire, have people heard about
>             Perl 7? It was just announced yesterday.
> 
>             Unlike Perl 6 (now known as Raku), Perl 7 appears to be an
>             actual backwards compatible successor to Perl 5:
>             https://www.perl.com/article/announcing-perl-7/. If you
>             don't want to read the link, "the bottom line" is "Perl 7 is
>             v5.32 with different settings. Your code should work if it’s
>             not a mess. Expect a user release within a year."
> 
>             --
> 
>             As for Perl 5.x versions, in the past, I've said let's stay
>             at 5.10 because of RHEL 6, but RHEL 6 is being retired
>             November 30, 2020 (with an "Extended Life Cycle Support
>             Add-On" available until June 30, 2024). I really don't think
>             we should be hamstrung by RHEL 6 anymore. RHEL 7 comes with
>             5.16 and RHEL 7's "Software Collections" can be used with
>             Perl 5.20 and Perl 5.24, although I don't think that the
>             RHEL 7 "Software Collections" can be used with the
>             #!/usr/bin/perl shebang (which would be used in CGI and
>             Plack's CGI emulation). That said, RHEL 8 is available now
>             and it comes with Perl 5.26.
> 
>             Maybe we should just focus on Perl versions for supported
>             Debian/Ubuntu OSes, and if people want to use other OSes,
>             then they just need to upgrade to a newer version that
>             supports a newer Perl.
> 
>             I think you can install Docker on RHEL 7, so that's another
>             consideration for people running Koha on non-Debian/Ubuntu
>             OSes. They can always just look at implementing a
>             container-based solution, which leverages Debian/Ubuntu as
>             the container OS.
> 
>             So yeah... let's pick the lowest Perl on our supported
>             Debian/Ubuntu and have that be the minimum supported Perl.
> 
>             David Cook
>             Systems Librarian
>             Prosentient Systems
>             72/330 Wattle St
>             Ultimo, NSW 2007
>             Australia
> 
>             Office: 02 9212 0899
>             Online: 02 8005 0595
> 
>             -----Original Message-----
>             From: Koha-devel
>             <koha-devel-bounces at lists.koha-community.org
>             <mailto:koha-devel-bounces at lists.koha-community.org>> On
>             Behalf Of Paul A
>             Sent: Thursday, 25 June 2020 9:00 AM
>             To: koha-devel at lists.koha-community.org
>             <mailto:koha-devel at lists.koha-community.org>
>             Subject: Re: [Koha-devel] Perl version requirement
> 
>             On 2020-06-24 1:15 p.m., Julian Maurice wrote:
>              > Ah yes, I forgot about Xenial.
>              >
>              > Not sure if it is still supported.
> 
>             Ubuntu 16.04.6 LTS (Xenial Xerus) was released February 28,
>             2019, has an "End of Standard Support" set at April 2021,
>             and "End of Life" of April
>             2024 -- where some package enhancements are ensured up to
>             the first of those dates, and *security* is ensured until
>             the second, i.e nearly another four years from now.
> 
>             I obviously cannot speak for more than the organizations
>             with which I am involved, but basically we are all keeping
>             c++, php and perl based code on 16.04 LTS using Apache, and
>             have moved only python coding to 18.04.
>             However, we do use Nginx on 18.04 as a front end, proxying
>             to the 16.04 back ends. We are beginning to look at 20.04,
>             but first impressions of the transition are slightly painful.
> 
>             As Mark mentions below, Xenial uses Perl 5.22.1-9ubuntu0.6.
>             I understand that the "1-9ubuntu0.6" denotes some fifty
>             patches and fixes on top of "basic 5.22" but not amounting
>             to 5.24. Just for completeness, 18.04 uses perl 5.26, and
>             20.04 comes with perl 5.30.  However, from what I have
>             heard, the perl 5 branch has very few deprecated, let alone
>             removed, details, so backwards compatibility is on a fairly
>             firm footing. In fact, a quick look at 5.22 and 5.26 show
>             very much the same patches, but of course this may not apply
>             to non-core modules.
> 
>             Best -- Paul
> 
> 
> 
>             The thing is, depending on where you
>              > look, you find different informations:
>              >
>              > In the latest release notes:
>              >
>              > - 20.05.01 says that the recommended environments are
>             Debian stretch,
>              > Debian buster or Ubuntu bionic, and requires Perl 5.10
>              > - 19.11.07 says that the recommended environments are
>             Debian jessie,
>              > Debian stretch, Debian buster or Ubuntu bionic and
>             requires Perl 5.10
>              > - 19.05.12 says the the recommended environements are
>             Debian stretch
>              > or Ubuntu bionic, and requires Perl 5.24 (it's strange
>             that an older
>              > version of Koha require a newer version of Perl)
>              >
>              > On Jenkins, there is a "supported" tab that includes
>             Ubuntu xenial,
>              > bionic and focal, and Debian jessie, stretch and buster.
>              >
>              > So it is not very clear.
>              > Maybe we can include that information in Koha's source
>             (in README ?)
>              > and make it the "single source of truth" ?
>              >
>              > Le 24/06/2020 à 18:40, Mark Tompsett a écrit :
>              >> Greetings,
>              >>
>              >> I apologize if this is a dumb question, but do we
>             support Xenial
>              >> (Ubuntu 16.04) still? If so, then Julian Maurice's
>             suggestion is a
>              >> little over. Xenial has Perl 5.22 in it. If we don't
>             support Xenial,
>              >> then +1 for his suggestion of 5.24 as the Perl version
>             to use.
>              >>
>              >> GPML,
>              >> Mark Tompsett
>              >>
>              >> _______________________________________________
>              >> Koha-devel mailing list
>              >> Koha-devel at lists.koha-community.org
>             <mailto:Koha-devel at lists.koha-community.org>
>              >>
>             https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
>              >> website : http://www.koha-community.org/ git :
>              >> http://git.koha-community.org/ bugs :
>             http://bugs.koha-community.org/
>              >>
>              >
> 
>             _______________________________________________
>             Koha-devel mailing list
>             Koha-devel at lists.koha-community.org
>             <mailto:Koha-devel at lists.koha-community.org>
>             https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
>             website : http://www.koha-community.org/ git :
>             http://git.koha-community.org/ bugs :
>             http://bugs.koha-community.org/
> 
>             _______________________________________________
>             Koha-devel mailing list
>             Koha-devel at lists.koha-community.org
>             <mailto:Koha-devel at lists.koha-community.org>
>             https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
>             website : http://www.koha-community.org/
>             git : http://git.koha-community.org/
>             bugs : http://bugs.koha-community.org/
> 
>         _______________________________________________
>         Koha-devel mailing list
>         Koha-devel at lists.koha-community.org
>         <mailto:Koha-devel at lists.koha-community.org>
>         https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
>         website : http://www.koha-community.org/
>         git : http://git.koha-community.org/
>         bugs : http://bugs.koha-community.org/
> 
> 
>     -- 
> 
>     Tomás Cohen Arazi
> 
>     Theke Solutions (http://theke.io <http://theke.io/>)
>     ✆+54 9351 3513384
>     GPG: B2F3C15F
> 
> 
> _______________________________________________
> Koha-devel mailing list
> Koha-devel at lists.koha-community.org
> https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel
> website : http://www.koha-community.org/
> git : http://git.koha-community.org/
> bugs : http://bugs.koha-community.org/
> 

-- 
Julian Maurice
BibLibre


More information about the Koha-devel mailing list