[SOLVED] Re: optionsng ignores /var/db/ports/<portname>/options
Greg Larkin
glarkin at FreeBSD.org
Mon Jun 4 20:01:36 UTC 2012
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 6/4/12 2:32 PM, Roland Smith wrote:
> On Sun, Jun 03, 2012 at 09:10:03PM +0200, Roland Smith wrote:
>> On Sun, Jun 03, 2012 at 07:18:26PM +0100, Matthew Seaman wrote:
>>> On 03/06/2012 17:05, Roland Smith wrote:
>>>> I've used 'make config' to set the PYCAIO option to on;
>>>>
>>>> slackbox# cat /var/db/ports/py27-py-stl/options # This file
>>>> is auto-generated by 'make config'. # Options for
>>>> py27-py-stl-3.1 _OPTIONS_READ=py27-py-stl-3.1
>>>> _FILE_COMPLETE_OPTIONS_LIST=PYCAIRO
>>>> OPTIONS_FILE_SET+=PYCAIRO
>>>>
>>>> But the port seems to ignore it:
>>>>
>>>> slackbox# make showconfig ===> The following configuration
>>>> options are available for py27-py-stl-3.1: PYCAIRO=off: Use
>>>> (py)Cairo to enable stl2pdf ===> Use 'make config' to modify
>>>> these settings
>>>>
>>>> Every time I do 'make config', the PYCAIRO option will be
>>>> unset, even if it shows as set in
>>>> /var/db/ports/<portname>/options!
>>>
>>> What does
>>>
>>> % make -V PORT_OPTIONS
>>
>> slackbox# pwd /usr/ports/graphics/py-stl slackbox# make -V
>> PORT_OPTIONS DOCS EXAMPLES NLS
>>
>>> show? If PYCAIRO is set in PORT_OPTIONS, then the port is
>>> accepting your setting of the option, and you've found a bug
>>> with the showconfig target. (If so, please open a PR.)
>
> Well, it was a bug, but not particularly in showconfig alone, see
> below.
>
>>> If not, then something odd is happening, as your port looks
>>> perfectly OK to me. Are you using a ports tree updated within
>>> about the last 48 hours or so? I know there were some bug
>>> fixes went in to all FOO_DESC lines to contain (brackets) and
>>> other syntactically significant characters.
>>
>> I updated my ports tree this afternoon. The really weird thing is
>> that I tested 'make config' in several other ports where it
>> worked fine...
>>
>>> PS. Asking this on freebsd-ports at ... might be a good idea.
>
> The bad news is that it was a bug in the ports system. It turned
> out that because of the way the unique name of the port was set
> (which happens twice), the options file is not read from the same
> directory that it is written to! Thanks to Baptiste Daroussin for
> clueing me in in this. I've gained a new respect for the people
> maintaining the ports infrastructure. :-) It's kind of amazing it
> works as well as it does.
>
> The good news is that there are several workarounds. For future
> reference, the workaround that I ended up using was to set the
> following variable in the port makefile:
>
> OPTIONSFILE= ${PORT_DBDIR}/py27-${PORTNAME}/options
>
>
> Roland
Hi Roland,
I don't think you want to hardcode the "py27-" in the variable
assignment, since it ties the filename to a specific version of
Python. Check PYTHON_PKGNAMEPREFIX, and it should adjust itself as
the Python version changes.
Hope that helps,
Greg
- --
Greg Larkin
http://www.FreeBSD.org/ - The Power To Serve
http://www.sourcehosting.net/ - Ready. Set. Code.
http://twitter.com/cpucycle/ - Follow you, follow me
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAk/NFBcACgkQ0sRouByUApDtRgCgl0NvUTwexNS1TdZqqXElKWPX
SggAn1b/QRnU8rhwbtu0mebByp+IRB3A
=+ly7
-----END PGP SIGNATURE-----
More information about the freebsd-questions
mailing list