Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Jul 2013 19:16:15 +0300
From:      Panagiotis Christias <p.christias@noc.ntua.gr>
To:        Tijl Coosemans <tijl@coosemans.org>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: WITHOUT_NLS precedence over {UNIQUENAME}_SET or OPTIONS_FILE_SET?
Message-ID:  <51F14F4F.1050807@noc.ntua.gr>
In-Reply-To: <20130725153310.170c2be6@kalimero.tijl.coosemans.org>
References:  <20130724215812.GA85865@noc.ntua.gr> <20130725153310.170c2be6@kalimero.tijl.coosemans.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 25/7/2013 4:33 μμ, Tijl Coosemans wrote:
> On Thu, 25 Jul 2013 00:58:12 +0300 Panagiotis Christias wrote:
>> in my servers I add all global and per port build options in the
>> /etc/make.conf file, like this:
>>
>>    # Global options
>>    WITHOUT_NLS=yes
>>    [etc..]
>>
>>    # Per port options
>>    .if $(.CURDIR:M*/mail/mailman)
>>    mailman_SET+=MTA SENDMAIL NLS
>>    .endif
>>
>>    .if $(.CURDIR:M*/sysutils/coreutils)
>>    coreutils_SET+=NLS
>>    .endif
>>
>>    [etc..]
>>
>> In the above example, I was under the impression that
>> "mailman_SET+=NLS" or "coreutils_SET+=NLS" options would override
>> the global WITHOUT_NLS=yes definition but according to "make
>> showconfig" I was wrong.
>>
>> Is this the correct behavior? To me at least it doesn't seem right.
>>
>> To make things even more weird the following configuration works as
>> expected:
>>
>>    # Global options
>>    WITHOUT_NLS=yes
>>
>>    # Per port options
>>    .if $(.CURDIR:M*/mail/mailman)
>>    mailman_SET+=MTA SENDMAIL
>>    OPTIONS_FILE_SET+=NLS
>>    .endif
>>
>>    .if $(.CURDIR:M*/sysutils/coreutils)
>>    OPTIONS_FILE_SET+=NLS
>>    .endif
>>
>> That is, OPTIONS_FILE_SET+=NLS takes precedence over WITHOUT_NLS=yes
>> but {UNIQUENAME}_SET+=NLS doesn't.
>
> WITH_* and WITHOUT_* style variables are still supported for backward
> compatibility but they are deprecated. There's some documentation in
> Mk/bsd.options.mk on how to set options in make.conf and in what order
> all option lists are processed. In your case you can do something like
> this:
>
>     # Global options
>     OPTIONS_UNSET=NLS
>
>     # Per port options
>     mail_mailman_SET=MTA SENDMAIL NLS
>     sysutils_coreutils_SET=NLS

Great info! Everything looks clearer now.

Thank you,
Panagiotis

-- 
Panagiotis J. Christias    Network Management Center
p.christias@noc.ntua.gr    National Technical Univ. of Athens, GREECE



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