From owner-freebsd-ports-bugs@FreeBSD.ORG Sat Jul 16 16:10:12 2011 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ACBC9106564A for ; Sat, 16 Jul 2011 16:10:12 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 81ADB8FC0C for ; Sat, 16 Jul 2011 16:10:12 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p6GGACBx071429 for ; Sat, 16 Jul 2011 16:10:12 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p6GGACIk071428; Sat, 16 Jul 2011 16:10:12 GMT (envelope-from gnats) Date: Sat, 16 Jul 2011 16:10:12 GMT Message-Id: <201107161610.p6GGACIk071428@freefall.freebsd.org> To: freebsd-ports-bugs@FreeBSD.org From: Stephen Montgomery-Smith Cc: Subject: Re: ports/158179: some packages do not fully honor -P dir option in pkg_add(1) X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Stephen Montgomery-Smith List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Jul 2011 16:10:12 -0000 The following reply was made to PR ports/158179; it has been noted by GNATS. From: Stephen Montgomery-Smith To: Chris Rees Cc: "current@freebsd.org" , "freebsd@sopwith.solgatos.com" , "bug-followup@freebsd.org" , Stefan Bethke Subject: Re: ports/158179: some packages do not fully honor -P dir option in pkg_add(1) Date: Sat, 16 Jul 2011 11:04:48 -0500 On 07/16/2011 10:53 AM, Chris Rees wrote: > > On 16 Jul 2011 16:38, "Stephen Montgomery-Smith" > wrote: > > > > On 07/16/2011 04:26 AM, Stefan Bethke wrote: > >> > >> Am 16.07.2011 um 04:43 schrieb Stephen Montgomery-Smith: > >> > >>> I was looking through the source code of pkg_add. Personally I > don't see how the "-P" or "-p" option could be made to work with > pkg_add. Many of the installation commands involve scripts which have > ${PREFIX} hard coded into them. ${PREFIX} is often hard coded when trhe > package is created by the port. In my opinion, the options "-p" and > "-P" should be removed from pkg_add. > >>> > >>> Either that, or provide the port a way to access "@cwd" in any > scripts it installs. But this would require a major overhaul of the > whole ports system, and probably much of the software it installs as well. > >>> > >>> Am I missing something? > >> > >> > >> Yes. Not honoring the prefix is a bug in the port. If you do need > to do prefix-specific things during install, use pkg-install, see > http://www.freebsd.org/doc/en/books/porters-handbook/pkg-install.html > >> > >> I suspect that many ports are not well tested outside of > "/usr/local", but the infrastructure is there and available. > > > > > > You are correct, this needs to be done on a port by port basis. In > some ports this is going to be a big job, because in some cases the > "/usr/local" is hard coded into certain binaries. > > > > For example, suppose the C source code contains something like: > > char applications_dir = "/usr/local/share/applications"; > > and this is filled in by the ./configure script. > > > > How is that handled? > > > > It's not. > > Remember what a package is, literally the files from the plist tarred > with some magic +FILEs and the pkg-*install files- if paths are > hardcoded in objects that's how it'll be installed. What if some of the installation programs are binaries, and "/usr/local" is hard coded into installation binaries or scripts provided by the software itself. > Don't touch the -p option! It's only useful for.... um.... someone help > here? I am thinking the same thing!