Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Jun 2012 15:50:43 +0200
From:      Baptiste Daroussin <bapt@freebsd.org>
To:        Matthew Seaman <m.seaman@infracaninophile.co.uk>
Cc:        ports@freebsd.org
Subject:   Re: ports need a uniq identifier, do you have any suggestion?
Message-ID:  <20120611135043.GX60433@ithaqua.etoilebsd.net>
In-Reply-To: <4FD5EFE1.30200@infracaninophile.co.uk>
References:  <20120611043001.GO60433@ithaqua.etoilebsd.net> <4FD591DF.3060808@infracaninophile.co.uk> <20120611103221.GU60433@ithaqua.etoilebsd.net> <4FD5D7B8.9080504@infracaninophile.co.uk> <20120611115529.GV60433@ithaqua.etoilebsd.net> <4FD5EFE1.30200@infracaninophile.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help

--LmcuB6YxSMQAV95c
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Jun 11, 2012 at 02:17:21PM +0100, Matthew Seaman wrote:
> On 11/06/2012 12:55, Baptiste Daroussin wrote:
> > why because they recommand their user to set PKGNAMEPREFIX to
> > ${BLA_PKGNAMEPREFIX} so that their prefix can be set from bsd.port.mk
> > Which mean that until the said bsd.$guilty.mk is included UNIQUENAME na=
me is set
> > to ${PKGNAMEPREFIX}${PORTNAME} with PKGNAMEPREFIX being expanded to not=
hing
> > and once bsd.$guilty.mk is included ${PKGNAMEPREFIX} expands to somethi=
ng and so
> > UNIQUENAME is changed. (btw also break the options framework (old and n=
ew) with
> > the ports because OPTIONSFILE is created using the ${UNIQUENAME}
>=20
> A light dawns.  Yes.  The value of $OPTIONSFILE cannot depend on
> anything that happens in the port after bsd.port.options.mk is .include'd.
>=20
> How about this (untested):

I tried what you did :) but it doesn't work
because
On first pass (before bsd.port.options.mk:
PORTNAME is test
UNIQUENAME is ${PKGNAMEPREFIX}${PORTNAME}
and PKGNAMEPREFIX is for example ${PYTHON_PKGNAMEPREFIX}
and ${PYTHON_PKGNAMEPREFIX} is empty.

which means after
BLA:=3D	${UNIQUENAME}

Only the first level is expanded and so:
BLA is now ${PYTHON_PKGNAMEPREFIX}test

if use in first pass then it becomes test
when used after bsd.port.pre.mk
PYTHON_PKGNAMEPREFIX become py27-
and so BLA is py27-

The joy of make(1)
>=20
> % cvs diff
> cvs diff: Diffing .
> Index: bsd.options.mk
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> RCS file: /home/ncvs/ports/Mk/bsd.options.mk,v
> retrieving revision 1.13
> diff -u -r1.13 bsd.options.mk
> --- bsd.options.mk	6 Jun 2012 11:47:29 -0000	1.13
> +++ bsd.options.mk	11 Jun 2012 13:03:47 -0000
> @@ -8,8 +8,6 @@
>  # global ones and ending with the ones decided by the maintainer.
>  # Options global to the entire ports tree
>=20
> -OPTIONSFILE?=3D	${PORT_DBDIR}/${UNIQUENAME}/options
> -
>  #ALL_OPTIONS=3D	DOCS \
>  #		NLS
>=20
> Index: bsd.port.mk
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> RCS file: /home/ncvs/ports/Mk/bsd.port.mk,v
> retrieving revision 1.727
> diff -u -r1.727 bsd.port.mk
> --- bsd.port.mk	8 Jun 2012 19:52:39 -0000	1.727
> +++ bsd.port.mk	11 Jun 2012 13:06:35 -0000
> @@ -1268,6 +1268,10 @@
>  UNIQUENAME?=3D	${PKGNAMEPREFIX}${PORTNAME}
>  .endif
>=20
> +.if !defined(OPTIONSFILE)
> +OPTIONSFILE:=3D	${PORT_DBDIR}/${UNIQUENAME}/options
> +.endif
> +
>  .endif
>=20
>  DOS2UNIX_REGEX?=3D	.*
>=20
> So OPTIONSFILE is at least independent of any changes to PKGNAMEPREFIX
> made by bsd.$guilty.mk?
>=20
> Port maintainers wishing to override the default OPTIONSFILE setting
> should obviously do that before the inclusion of bsd.port.options.mk
>=20
> 	Cheers,
>=20
> 	Matthew
>=20
> --=20
> Dr Matthew J Seaman MA, D.Phil.                   7 Priory Courtyard
>                                                   Flat 3
> PGP: http://www.infracaninophile.co.uk/pgpkey     Ramsgate
> JID: matthew@infracaninophile.co.uk               Kent, CT11 9PW
>=20
>=20
>=20



--LmcuB6YxSMQAV95c
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)

iEYEARECAAYFAk/V97MACgkQ8kTtMUmk6ExoywCfSrK2LZ3ZUwDCj/W4YOW6dvho
zf0An2nKh/MGjK/vhope42TK/p1It80G
=CaX5
-----END PGP SIGNATURE-----

--LmcuB6YxSMQAV95c--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120611135043.GX60433>