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@... 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
-- 
R.F.Smith                                   http://rsmith.home.xs4all.nl/
[plain text _non-HTML_ PGP/GnuPG encrypted/signed email much appreciated]
pgp: 1A2B 477F 9970 BA3C 2914  B7CE 1277 EFB0 C321 A725 (KeyID: C321A725)

Attachment: pgptSRxbItyLD.pgp
Description: PGP signature

Reply via email to