From owner-freebsd-ports@FreeBSD.ORG Mon Jun 11 10:32:25 2012 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8B599106564A for ; Mon, 11 Jun 2012 10:32:25 +0000 (UTC) (envelope-from bapt@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 6E6848FC15; Mon, 11 Jun 2012 10:32:25 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q5BAWPXM002948; Mon, 11 Jun 2012 10:32:25 GMT (envelope-from bapt@freebsd.org) Received: (from bapt@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q5BAWO3G002915; Mon, 11 Jun 2012 10:32:24 GMT (envelope-from bapt@freebsd.org) X-Authentication-Warning: freefall.freebsd.org: bapt set sender to bapt@freebsd.org using -f Date: Mon, 11 Jun 2012 12:32:22 +0200 From: Baptiste Daroussin To: Matthew Seaman Message-ID: <20120611103221.GU60433@ithaqua.etoilebsd.net> References: <20120611043001.GO60433@ithaqua.etoilebsd.net> <4FD591DF.3060808@infracaninophile.co.uk> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="ULJ2Z7kCM1hyNsWd" Content-Disposition: inline In-Reply-To: <4FD591DF.3060808@infracaninophile.co.uk> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: ports@freebsd.org Subject: Re: ports need a uniq identifier, do you have any suggestion? X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jun 2012 10:32:25 -0000 --ULJ2Z7kCM1hyNsWd Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Jun 11, 2012 at 07:36:15AM +0100, Matthew Seaman wrote: > On 11/06/2012 05:30, Baptiste Daroussin wrote: > > In the ports tree we lack a unique identifier, while we could live with= out it > > until now, it is more than needed for 2 upcoming features: pkgng and st= age > > directory support. > >=20 > > unique means something that will always be the same what ever the optio= ns are > > and what ever the runtime they use are. But also means unique in term o= f in the > > whole ports no other package will share its identifier. > >=20 > > currently the only equivalent of this in the ports tree is the origin o= f a > > package, which will no more be unique with the upcoming sub package sup= port > > (coming along with stage directory) aka 1 origin to produce n package. > >=20 > > UNIQUENAME and LATEST_LINK fails in that area because they both can cha= nge > > according to the runtime: py27- for example which will become py30- if = you > > change the default python. > > LATEST_LINK by default also append the PKGNAMEPREFIX which some ports c= an be > > really creative with. > >=20 > > should we introduce something new, should we fix one of the above? do y= ou have > > any suggestion? >=20 > I was looking at this. You'ld think from the name that UNIQUENAME is > the appropriate variable here. Yet by my calculations there are 1439 > ports using non-unique UNIQUENAME variables. Fixing that seems like > common sense to me: why call it unique if it isn't? >=20 > UNIQUENAME importance being because the default location for a port's > OPTIONSFILE is derived from it, and non-uniqueness can lead to ports > fighting over control of that file? Which is bad when unintentional, > but can be useful for some related ports to share the same options settin= gs. Well this is the right thing to do but looking at bsd.port.mk and the chang= es needed I get bored and gave up :( >=20 > Does pkgng really need LATEST_LINK at all? As far as I recall, that > only exists so that the user can say: Well no pkgng doesn't need it at all except for pkg itself for the bootstra= p :) >=20 > # pkg_add -r firefox >=20 > without having to look up the version number of the firefox port. But > pkg(1) pretty much already lets you do that, maybe with the aid of '-x' > or '-X' options. Come the pkgng revolution, LATEST_LINK should be one > of the first against the wall. >=20 > I don't see the problem with port prefixes changing UNIQUENAME. Isn't > py27-foo conceptually a different port to py30-foo ? Yes, they are > built from the same port ORIGIN, but you already intend dropping the > one-to-one correspondence between port ORIGINS and packages with the > introduction of sub-ports. Maybe they are different packages, but they have the same options, and from pkgng we should be able to detect it as the same package just a different runtime which is what they are. >=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 --ULJ2Z7kCM1hyNsWd Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iEYEARECAAYFAk/VyTUACgkQ8kTtMUmk6EzhQACfSQ2W9MVYgZ1qzzIgA69i23u5 5eIAnidG4cHg4VaonkRtG7/uMtEIm4NP =YJ1+ -----END PGP SIGNATURE----- --ULJ2Z7kCM1hyNsWd--