Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 30 Jan 2005 05:31:21 -0500
From:      Chuck Swiger <cswiger@mac.com>
To:        Edwin Groothuis <edwin@mavetju.org>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: [HEADS UP] perl symlinks in /usr/bin will be gone
Message-ID:  <41FCB779.7030902@mac.com>
In-Reply-To: <20050130050110.GC1209@k7.mavetju>
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>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

tobez@ is in the unenviable position of trying to support a language that was 
added and then removed from the base system.  He can produce a port that 
respects $PREFIX by not changing anything outside of /usr/local, or one that 
provides backwards compatibility with Perl being part of the base system at 
the cost of creating extra symlinks and spamming /etc/make.conf.

Since the decision to remove Perl from FreeBSD's base was not accompanied by 
universal recognition and acceptance that scripts should not hardcode a path 
to /usr/bin/perl, there exists a conflict which is not going to go away until 
either Perl gets added back to the base system, or the Perl scripts are fixed.

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.

I don't want perl scripts to assume that Perl is in /usr/bin, or 
/usr/local/bin, or any other specific place.

I don't want to have perl symlinked between /usr/bin and /usr/local/bin.

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.

-- 
-Chuck



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41FCB779.7030902>