Date: Sun, 13 Jan 2013 19:53:31 -0700 (MST) From: John Hein <jhein@symmetricom.com> To: FreeBSD-gnats-submit@freebsd.org Cc: mezz@freebsd.org Subject: ports/175276: [patch] devel/py-gobject OPTIONSFILE eval order problem Message-ID: <201301140253.r0E2rVv9076794@gromit.timing.com> Resent-Message-ID: <201301140300.r0E300X8092303@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 175276 >Category: ports >Synopsis: [patch] devel/py-gobject OPTIONSFILE eval order problem >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Jan 14 03:00:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: John Hein >Release: >Organization: >Environment: >Description: devel/py-gobject looks for options settings in one filename and then generates an options file of a different name. That is, su -c 'make config' will allow the user to create an options file, but that file is not the one included by bsd.options.mk There is a fundamental evaluation order issue with OPTIONSFILE and UNIQUENAME when using knobs that affect UNIQUENAME such as PKGNAMEPREFIX. In this case, it causes bsd.options.mk to look for gobject/options, but py<ver>-gobject/options to be generated (by do-config in bsd.port.mk). % cd devel/py-gobject % make -V PORTNAME -dd | & grep /options; echo ===; make -V PORTNAME -V OPTIONSFILE Searching for /var/db/ports/gobject/options...Looking for "/var/db/ports/gobject/options"...failed. Returning NULL Searching for /var/db/ports/gobject/options.local...Looking for "/var/db/ports/gobject/options.local"...failed. Returning NULL Searching for /var/db/ports/py27-gobject/options...Looking for "/var/db/ports/py27-gobject/options"...failed. Returning NULL === gobject /var/db/ports/py27-gobject/options This started happening with r309649 (OPTIONSng conversion) on 2012-12-29. But even if that is solved (so PKGNAMEPREFIX is not ignored in the first evaluation of OPTIONSFILE), I think we still want to override the OPTIONSFILE value to remove the python version (e.g., py-gobject/options, not py27-gobject/options). So we want to override the default OPTIONSFILE here. See attached patch which solves both the eval order issue and the removal of <ver> in py<ver>-gobject. >How-To-Repeat: >Fix: Index: Makefile =================================================================== --- Makefile (revision 310148) +++ Makefile (working copy) @@ -35,6 +35,7 @@ CONFLICTS= py*-gtk-0* PLIST_SUB= PYTHON_VER="${PYTHON_VER}" +OPTIONSFILE= ${PORT_DBDIR}/py-${PORTNAME}/options OPTIONS_DEFINE= LIBFFI LIBFFI_DESC= Enable libffi support >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201301140253.r0E2rVv9076794>