Oh that's interesting! Yeah I reckon we just use #!/usr/bin/perl and let 
fix-perl-path.PL sort things out from there.

David Cook
Software Engineer
Prosentient Systems
72/330 Wattle St
Ultimo, NSW 2007
Australia

Office: 02 9212 0899
Online: 02 8005 0595

-----Original Message-----
From: Jonathan Druart <jonathan.dru...@bugs.koha-community.org> 
Sent: Wednesday, 14 October 2020 7:52 PM
To: David Cook <dc...@prosentient.com.au>
Cc: koha-devel <koha-devel@lists.koha-community.org>
Subject: Re: [Koha-devel] Inconsistent Perl shebangs (new coding guideline?)

Robin helped me and found it!
That's the one I had in mind:
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=5617#c7

Le mar. 13 oct. 2020 à 11:09, Jonathan Druart 
<jonathan.dru...@bugs.koha-community.org> a écrit :
>
> I vaguely remember I had this discussion with someone, somewhere.
> And I have been told it was not a good idea.
> But I cannot remember why, who, where...
>
> Le mar. 13 oct. 2020 à 01:19, <dc...@prosentient.com.au> a écrit :
> >
> > Hi all,
> >
> >
> >
> > I was looking at “Bug 20582 - Turn Koha into a Mojolicious application” 
> > when I noticed that some of the scripts were using “#!/usr/bin/env perl” 
> > instead of “#!/usr/bin/perl”. While there is no requirement in the Coding 
> > Guidelines to use “#!/usr/bin/perl”, I thought it would be best for all our 
> > Perl scripts to be consistent.
> >
> >
> >
> > However, now I’m weighing up the options.
> >
> >
> >
> > Conceptually, using “#!/usr/bin/env perl” means that we can use 
> > perlbrew/plenv (or manually provide a different Perl in our $PATH) when 
> > running these scripts, so that we don’t have to use the system Perl located 
> > at /usr/bin/perl.
> >
> >
> >
> > That said, I was concerned about how most CGI scripts have 
> > “#!/usr/bin/perl” in them and the implications that might have if we 
> > invoked Starman/Morbo/Hypnotoad with a different Perl, but looking at 
> > Plack::App::CGIBin, CGI::Emulate::PSGI, Plack::App::WrapCGI, CGI::Compile, 
> > and Koha::App::Plugin::CGIBinKoha makes me think that the shebang in CGI 
> > scripts is ignored when using these Perl application servers, since they’re 
> > just read as Perl code and not handed to the exec() family of kernel 
> > syscalls.
> >
> >
> >
> > Starman/Morbo/Hypnotoad have been installed with /usr/bin/perl shebangs, so 
> > they’ll use the system Perl by default, but I think if they were installed 
> > using plenv and Carton for instance that they’d have their shebangs 
> > rewritten appropriately. We could also invoke Starman/Morbo/Hypnotoad with 
> > the version of Perl that we desire.
> >
> >
> >
> > So ultimately… I suppose the most reasonable thing to do is probably to 
> > mandate “#!/usr/bin/perl” for all Koha Perl scripts? If someone does want 
> > to use a different Perl, I suppose the onus is on them to make sure they 
> > execute Koha Perl scripts with a different Perl binary?
> >
> >
> >
> > Also, do people think there is a point in repairing existing Koha Perl 
> > scripts that have ‘#!/usr/bin/env perl’ instead of ‘#!/usr/bin/perl’?
> >
> >
> >
> > Cheers,
> >
> >
> >
> > David Cook
> >
> > Software Engineer
> >
> > Prosentient Systems
> >
> > 72/330 Wattle St
> >
> > Ultimo, NSW 2007
> >
> > Australia
> >
> >
> >
> > Office: 02 9212 0899
> >
> > Online: 02 8005 0595
> >
> >
> >
> > _______________________________________________
> > Koha-devel mailing list
> > Koha-devel@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@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/

Reply via email to