Date: Sat, 16 Jun 2012 14:18:16 +0100 From: Chris Rees <crees@FreeBSD.org> To: Matthew Seaman <matthew@freebsd.org> Cc: freebsd-ports <freebsd-ports@freebsd.org> Subject: Re: [CFT] UNIQUENAME patches Message-ID: <CADLo83-Pr5Qqa6oUFKmfbLuuDOCiDQoiLVvjPfvJ1fT8ou0h9g@mail.gmail.com> In-Reply-To: <4FD8AFEC.6070605@FreeBSD.org> References: <4FD8AFEC.6070605@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 13 June 2012 16:21, Matthew Seaman <matthew@freebsd.org> wrote: > > Dear all, > > After recent mention in this list that UNIQUENAME is not actually a > unique name for each port and how obviously non-sensical that is, plus > how it causes various problems with OPTIONS processing and how having a > proper UNIQUENAME will facilitate the new sub-package functionality > currently on the drawing board. > > So, here are some patches: > > =A0 http://people.freebsd.org/~matthew/uniquename/uniquenames.diff > > There's also some data on the effect these have on OPTIONSFILE and > UNIQUENAME values per port in > > =A0 http://people.freebsd.org/~matthew/uniquename/before/* > =A0 http://people.freebsd.org/~matthew/uniquename/after/* > > Summarizing the changes: > > =A0 * UNIQUENAME is now unique per port, and is primarily derived from > =A0 =A0 the port directory name. > > =A0 * Where the port directory name isn't unique (eg. accessibility/orca > =A0 =A0 vs graphics/orca) there is a new UNIQUEPREFIX variable to > =A0 =A0 distinguish the affected ports. =A0This is set for all the LANG > =A0 =A0 specific category ports (arabic, chinese, french, german, hebrew, > =A0 =A0 hungarian, japanese, korean, polish, portuguese, russian, > =A0 =A0 ukranian, vietnamese) to the standard 2 character abbreviation fo= r > =A0 =A0 that LANG. =A0Otherwise it is only set for the specific ports whe= re > =A0 =A0 there is a directory name collision, usually based on the categor= y > =A0 =A0 names. > > =A0 * To avoid accidental non-uniqueness, UNIQUENAME should be treated > =A0 =A0 as a read-only variable by port maintainers. =A0UNIQUEPREFIX shou= ld > =A0 =A0 only be set where necessary to resolve conflicts. =A0All instance= s of > =A0 =A0 ports setting UNIQUENAME have been removed: in the majority of > =A0 =A0 cases, this turned out to be a no-op as the new UNIQUENAME turned > =A0 =A0 out to be the same as what most ports were previously overriding > =A0 =A0 it to. That's great-- though rather than patching colliding-only ports, can't we just add the category to it? .for cat in ${CATEGORIES} UNIQUEPREFIX?=3D ${cat} .endfor (copying the code from PKGCATEGORY; might be better off moving the PKGCATEGORY code up higher and just using that). Chris
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADLo83-Pr5Qqa6oUFKmfbLuuDOCiDQoiLVvjPfvJ1fT8ou0h9g>