From owner-freebsd-ports@FreeBSD.ORG Sun Jan 30 12:26:40 2005 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E7A2A16A4CE; Sun, 30 Jan 2005 12:26:39 +0000 (GMT) Received: from pi.codefab.com (pi.codefab.com [199.103.21.227]) by mx1.FreeBSD.org (Postfix) with ESMTP id 71DFD43D41; Sun, 30 Jan 2005 12:26:39 +0000 (GMT) (envelope-from cswiger@mac.com) Received: from localhost (localhost [127.0.0.1]) by pi.codefab.com (Postfix) with ESMTP id CB59A5EF6; Sun, 30 Jan 2005 07:26:38 -0500 (EST) Received: from pi.codefab.com ([127.0.0.1]) by localhost (pi.codefab.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 56700-08; Sun, 30 Jan 2005 07:26:37 -0500 (EST) Received: from [192.168.1.3] (pool-68-161-114-38.ny325.east.verizon.net [68.161.114.38]) by pi.codefab.com (Postfix) with ESMTP id 07AA95DC4; Sun, 30 Jan 2005 07:26:36 -0500 (EST) Message-ID: <41FCD276.2000002@mac.com> Date: Sun, 30 Jan 2005 07:26:30 -0500 From: Chuck Swiger Organization: The Courts of Chaos User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041217 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Holger Kipp 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> <20050130111025.GB30800@intserv.int1.b.intern> In-Reply-To: <20050130111025.GB30800@intserv.int1.b.intern> X-Enigmail-Version: 0.90.0.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: amavisd-new at codefab.com cc: perl@freebsd.org cc: freebsd-stable@freebsd.org cc: freebsd-ports@freebsd.org Subject: Re: [HEADS UP] perl symlinks in /usr/bin will be gone X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Jan 2005 12:26:40 -0000 Holger Kipp wrote: > On Sun, Jan 30, 2005 at 05:31:21AM -0500, Chuck Swiger wrote: >>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" If "we" means FreeBSD-4, OK. Otherwise, I remember using a /usr/local/bin/perl-4.036 several years before vendors started shipping Perl with the system in /usr/bin. >> 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/ That is one solution, but it is not the only available choice. >> 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) As I said to Kris, I'm perfectly willing to change existing software or write my own to suit my preferences. If other people want to do something else which pleases them better, fine, that's up to them. >>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. Or I could not bother and simply let env deal with finding the right version of perl. Works for me. >> 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. There is a conflict between installing perl to /usr/local/bin and expecting to invoke perl from /usr/bin. Perhaps you've decided to live with it and are happy with symlinks so that both paths work. > Get real. Oh, I am. Mostly. :-) > Removing the symlinks permanently is causing lots of trouble. For some people, agreed. It doesn't matter one bit to other people... > Not removing them is fine with me and at least most other users. Leaving the symlinks as they are now is probably the least intrusive way of dealing with the current mess that Perl script invocation has become. Fortunately, people doing Python seemed to have learned from these problems, as a quick check via GoogleFight suggests that the majority of Python scripts use env rather than hardcoding a path. -- -Chuck