[SOLVED] Re: optionsng ignores /var/db/ports/<portname>/options

Greg Larkin glarkin at FreeBSD.org
Mon Jun 4 20:01:36 UTC 2012

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 
>>>> 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
>>> 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 Larkin

http://www.FreeBSD.org/           - The Power To Serve
http://www.sourcehosting.net/     - Ready. Set. Code.
http://twitter.com/cpucycle/      - Follow you, follow me
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/


More information about the freebsd-questions mailing list