Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Jun 2012 12:02:12 -0700
From:      Garrett Cooper <yanegomi@gmail.com>
To:        Doug Barton <dougb@freebsd.org>
Cc:        Chris Rees <crees@freebsd.org>, Matthew Seaman <m.seaman@infracaninophile.co.uk>, freebsd-current <freebsd-current@freebsd.org>
Subject:   Re: PORTS_MODULES fix
Message-ID:  <CAGH67wT9udEOyZwcgbgHMpZitVD0d6FoMfxUnXCgK-uBP817yg@mail.gmail.com>
In-Reply-To: <4FD39099.3000208@FreeBSD.org>
References:  <4FD384B5.3050709@FreeBSD.org> <CADLo839AsqtRiDZt3HJatBy=0Peu6W2Bu7XrsfiMes3RewTtPg@mail.gmail.com> <4FD38A71.8070601@infracaninophile.co.uk> <4FD39099.3000208@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jun 9, 2012 at 11:06 AM, Doug Barton <dougb@freebsd.org> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: RIPEMD160
>
> On 06/09/2012 10:40, Matthew Seaman wrote:
>> On 09/06/2012 18:26, Chris Rees wrote:
>>> 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.
>>>
>>
>> Shouldn't you be looking for LOCALBASE rather than PREFIX in this
>> context?
>
> Both good points. New and improved attached.

    Looks like my patch, only with LOCALBASE being tunable and with
with ${LOCALBASE}/sbin (in short I found a few different bugs from you
a few months ago):
http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/161452 .
Thanks!
-Garrett



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