Re: PORTS_MODULES fix

From: Chris Rees <crees_at_FreeBSD.org>
Date: Sat, 9 Jun 2012 18:26:53 +0100
On 9 June 2012 18:15, Doug Barton <dougb_at_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
Received on Sat Jun 09 2012 - 15:27:25 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:27 UTC