How can I override global OPTIONS_UNSET for specific port in make.conf? www/xcache
Marco Steinbach
coco at executive-computing.de
Sat Jun 21 10:42:24 UTC 2014
Marco Steinbach wrote on 20.06.2014 02:06:
> Marco Steinbach wrote on 19.06.2014 23:49:
>> Miroslav Lachman schrieb:
>>> I don't need DOCS, EXAMPLES etc. for each port as I normaly do not
>>> use them on servers.
>>> I have this line in make.conf
>>>
>>> OPTIONS_UNSET= X11 GUI CUPS DOCS EXAMPLES NLS
>>>
>>> Now I need www/xcache port installed with EXAMPLES.
>>> I tried following in make.conf:
>>>
>>> xcache_SET= EXAMPLES
>>>
>>> or
>>>
>>> xcache_SET_FORCE= EXAMPLES
>>>
>>> In both cases, xcache is installed without EXAMPLES.
>>>
>>> So how can I have globally disabled EXAMPLES and enable it only for
>>> one specific port?
>>
>> After some testing, I think this could be a bug in the handling of
>> PORTEXAMPLES / PORTDOCS, since flipping EXAMPLES / DOCS options (and
>> any other options I tried) with these switches works as expected.
>>
>> I'll try and have a go at this.
>>
>
> [...]
>
> If a port does not explicitly define an option for a feature in its
> Makefile, then a port specific setting for that option has no effect,
> since it simply doesn't match against the options defined in the ports
> Makefile.
>
> IOW: If a port does not explicity define an EXAMPLES option, then a port
> specific SET or UNSET for the EXAMPLES option in /etc/make.conf has no
> effect.
>
> Consequently, in the case of www/xcache, simply adding a dummy EXAMPLE
> option to OPTIONS_DEFINE makes xcache_SET_FORCE=EXAMPLES work as
> expected: It installs examples, overriding OPTIONS_UNSET_FORCE.
>
>
> Depending on ones point of view, one could say, that this works as
> advertised. But it's confusing and robs us of port specific _FORCE
> flags in certain cases.
>
> One possible solution could be, to have Mk/bsd.options.mk detect the use
> of PORTEXAMPLES and PORTDOCS in a port, and then silently translate
> these into DOCS / EXAMPLES options (adding them to
> ${COMPLETE_OPTIONS_LIST}), if they're not present.
>
> Without them popping up in a dialog, since that would be the maintainers
> domain, and without persisting them, of course.
>
> I'm still trying to wrap my head around these parts of the ports system,
> though, in order to not accidentially break things.
>
> MfG CoCo
> PS: I'm taking bapt@ out of the loop again, until we're either
> completely stuck or are able to produce a patch.
>
>
I think I found a more simple way to do this. Could you please try the
attached patch ?
Thanks.
MfG CoCo
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: bsd.options.mk.patch
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20140621/04007ad0/attachment.ksh>
More information about the freebsd-ports
mailing list