[HEADS UP] perl symlinks in /usr/bin will be gone
hk at alogis.com
Sun Jan 30 03:10:27 PST 2005
On Sun, Jan 30, 2005 at 05:31:21AM -0500, Chuck Swiger wrote:
> Edwin Groothuis wrote:
> >On Sat, Jan 29, 2005 at 11:51:36PM -0500, Chuck Swiger wrote:
> >>Andrew McNaughton wrote:
> >>#!/usr/bin/env PERL5OPT='-w' perl
> >"#!/usr/bin/perl -w" sounds much easier.
> Sure, assuming there actually was a perl in /usr/bin. I would not choose
> to hardcode the path to perl when env is available to properly locate the
> interpreter for #!-based scripts via the $PATH.
a) we had perl at /usr/bin/perl
=> many scripts are using "#!/usr/bin/perl"
b) we have a symlink now
=> many new scripts are using "#!/usr/bin/perl"
c) many ISPs have even more users who assume "#!/usr/bin/perl" works.
=> removing a symlink to create lots_of_trouble(tm) is not the
freebsd-ish way of live. this single symlink is needed.
d) calling env and then perl increases load unneccessarily
=> don't do that.
=> if you like _YOUR_ scripts to work like that, it is fine with
e) comparing #!/usr/bin/env PERL5OPT='-w' perl with
=> I'd vote for the simpler second one.
> I don't want to revisit a discussion of whether Perl should be part of base.
> I don't want the Perl port to change in a way that breaks existing scripts.
fine, so we must keep the symlink in /usr/bin/
> I don't want perl scripts to assume that Perl is in /usr/bin, or
> /usr/local/bin, or any other specific place.
Your problem. Write your scripts accordingly and be happy. Talk with several
thousand programmers who use perl and assume it is located at /usr/bin/perl
and convince them to write their programs differently. Otherwise, this
breaks POLA. See c)
> I don't want to have perl symlinked between /usr/bin and /usr/local/bin.
Fine, then _you_ can remove the symlink by hand on your systems every time.
> I do want scripts to use a portable mechanism to invoke Perl regardless of
> where the binary happens to be found, but if people are determined to do
> otherwise, well, that's up to them. One solution for those people might be
> to install the Perl port with a $PREFIX of /usr rather than /usr/local.
Huh? It was removed from the base system, so it belongs to /usr/local.
Get real. Removing the symlinks permanently is causing lots of trouble.
Not removing them is fine with me and at least most other users.
More information about the freebsd-stable