[Koha-devel] Perl version requirement

dcook at prosentient.com.au dcook at prosentient.com.au
Fri Jun 26 01:31:00 CEST 2020


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> 
Sent: Friday, 26 June 2020 12:02 AM
To: Kyle Hall <kyle.m.hall at gmail.com>
Cc: David Cook <dcook at prosentient.com.au>; Koha Devel <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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.koha-community.org/pipermail/koha-devel/attachments/20200626/2d27870d/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 484 bytes
Desc: not available
URL: <http://lists.koha-community.org/pipermail/koha-devel/attachments/20200626/2d27870d/attachment-0001.sig>


More information about the Koha-devel mailing list