Date: Sun, 30 Jan 2005 12:10:25 +0100 From: Holger Kipp <hk@alogis.com> To: Chuck Swiger <cswiger@mac.com> Cc: freebsd-ports@freebsd.org Subject: Re: [HEADS UP] perl symlinks in /usr/bin will be gone Message-ID: <20050130111025.GB30800@intserv.int1.b.intern> In-Reply-To: <41FCB779.7030902@mac.com> References: <20050129202425.GA56998@heechee.tobez.org> <20050129220905.46ab86ae.lehmann@ans-netz.de> <41FBFDD9.7070605@mac.com> <20050130162753.D9021@a2.scoop.co.nz> <41FC67D8.2020609@mac.com> <20050130050110.GC1209@k7.mavetju> <41FCB779.7030902@mac.com>
index | next in thread | previous in thread | raw e-mail
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
me ;-)
e) comparing #!/usr/bin/env PERL5OPT='-w' perl with
#!/usr/bin/perl -w
=> I'd vote for the simpler second one.
> I don't want to revisit a discussion of whether Perl should be part of base.
ok
> 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.
Regards,
Holger Kipp
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050130111025.GB30800>
