On Mon, Jun 11, 2012 at 12:34:16PM +0100, Matthew Seaman wrote: > On 11/06/2012 11:32, Baptiste Daroussin wrote: > >> 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 > >> > settings. > > > Well this is the right thing to do but looking at bsd.port.mk and the > > changes > > needed I get bored and gave up :( > > I haven't looked at what would be necessary to fix UNIQUENAME collisions > in any great detail, but I think a number are due to setting PORTNAME to > something basically incorrect.
In fact there are 3 majors guilty: - bsd.python.mk - bsd.ruby.mk - bsd.apache.mk 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 name is set to ${PKGNAMEPREFIX}${PORTNAME} with PKGNAMEPREFIX being expanded to nothing and once bsd.$guilty.mk is included ${PKGNAMEPREFIX} expands to something and so UNIQUENAME is changed. (btw also break the options framework (old and new) with the ports because OPTIONSFILE is created using the ${UNIQUENAME} second problem is that uniquename can potentially be shared between ports for example nginx and nginx-devel and in general all the -devel ports > > >> > 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 > > bootstrap :) > > Hmmm... so there just has to be pkg.txz at some predictable URL(s) on > the FBSD mirrors? That doesn't sound like enough to justify keeping > LATEST_LINK related bits in the ports tree. Once pkg_install is gone then LATEST_LINK can go away > I think I see. You're thinking of packages that install the same files, > but maybe in a different location (eg. SITE_PERL) or that register > run-time dependencies on a number of different possible providers. > > Couldn't that boil down to having several alternate .MANIFEST files in > the pkg? Plus some sort of final-location-independent way of naming the > files to be installed by the package? > > On the matter of having alternate RUN_DEPENDS to be set at install time? > I've wanted to do something like that with databases/phpmyadmin for > ages. Most of the optional dependencies there are autodetected by the > PHP code at run-time, so it should be possible to just ask the user > which of them they want to have during pkg installation. That is over complicated imho, and I don't like much the interactive installers, most of people would want to automated the whole installing process. regards, Bapt
pgpJJzV8oR0gm.pgp
Description: PGP signature