Date: Sat, 9 Jun 2012 18:26:53 +0100 From: Chris Rees <crees@FreeBSD.org> To: Doug Barton <dougb@freebsd.org> Cc: freebsd-current <freebsd-current@freebsd.org> Subject: Re: PORTS_MODULES fix Message-ID: <CADLo839AsqtRiDZt3HJatBy=0Peu6W2Bu7XrsfiMes3RewTtPg@mail.gmail.com> In-Reply-To: <4FD384B5.3050709@FreeBSD.org> References: <4FD384B5.3050709@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 9 June 2012 18:15, Doug Barton <dougb@freebsd.org> wrote: > I have recently tried the PORTS_MODULES knob, and found a problem. The > ports tree searches for some dependencies by finding a binary in PATH, > and that fails since by default /usr/local/ isn't there. The attached > patch fixes that problem. > > It would be more robust to use PREFIX there instead of /usr/local > explicitly, but I'm not sure how to unravel the mk maze to get that > value. If anyone has a suggestion for that, I'd be happy to include it. As you mention, PREFIX is only defined in ports/Mk, and it'd definitely be undesirable to be including any of those files :) The most robust (but unpleasant) solution would be one of the following: PREFIX?=/usr/local PORTSMODULESENV=SYSDIR=${SYSDIR} PATH=${PATH}:${PREFIX}/bin:${PREFIX}/sbin or the equivalent (and perhaps cleaner, not leaving PREFIX defined) .if !defined(PREFIX) PORTSMODULESENV=SYSDIR=${SYSDIR} PATH=${PATH}:/usr/local/bin:/usr/local/sbin .else PORTSMODULESENV=SYSDIR=${SYSDIR} PATH=${PATH}:${PREFIX}/bin:${PREFIX}/sbin .endif Both of these will respect make.conf's setting of PREFIX. Chris
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADLo839AsqtRiDZt3HJatBy=0Peu6W2Bu7XrsfiMes3RewTtPg>