WITHOUT_NLS precedence over {UNIQUENAME}_SET or OPTIONS_FILE_SET?

Panagiotis Christias p.christias at noc.ntua.gr
Thu Jul 25 16:16:27 UTC 2013


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 at noc.ntua.gr    National Technical Univ. of Athens, GREECE


More information about the freebsd-ports mailing list