#! /usr/bin/perl preferred
Stepan Kasal
skasal at redhat.com
Fri Aug 28 20:07:23 UTC 2009
Hello,
let me explain. I was told "they are doing this env clenup
with python scripts don't you want to do it for perl as well?"
My hands were quicker than my brain and I did the search.
Only when I was about to post the results, I realized that I'm
actually not convinced about the issue.
The official reasoning is that if a system tool is written in Python,
we want to "guarantee" that it works, so we would rather run it with
Fedora Python, not with a random experimental Python. Likewise for
Perl; if logrotate or some such were written in perl, it should just
work (modulo Fedora Perl bugs), and the whole system should not crash
just because of a random /usr/local/bin/perl.
Actually, what Chris said seems to support this reasoning:
> [...], especially as we can't replace the system
> Perl as it may have OS implications.
The sentence seems to support what is proposed here: the
Fedora-delivered scripts should have /usr/bin/perl hardcoded, so that
"OS implications" are avoided. Fedora users not satisfied with our
system perl can place #!/usr/bin/env to _their_ scripts, so that the
scripts mutate with every mutation of _their_ local build of perl..
But from this point of view, we should take care that
Fedora-delivered shell script never call "perl"; they should always
use /usr/bin/perl. Taking this to the extreme, one can never know
what is deliberately put in the PATH, so we should carefully call
/usr/bin/gawk, /bin/rm, etc. Or we should mahe sure to sanitize PATH
at the begining of every script...
As I said, I'm not fully convinced by the official reasoning.
At this point of time, I do not see any flaw in Ralf's reasoning.
But I do not want to engage in any war.
Let's forget about this and return to more important issues.
Stepan
More information about the Fedora-perl-devel-list
mailing list