Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Jun 2012 13:55:29 +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:  <20120611115529.GV60433@ithaqua.etoilebsd.net>
In-Reply-To: <4FD5D7B8.9080504@infracaninophile.co.uk>
References:  <20120611043001.GO60433@ithaqua.etoilebsd.net> <4FD591DF.3060808@infracaninophile.co.uk> <20120611103221.GU60433@ithaqua.etoilebsd.net> <4FD5D7B8.9080504@infracaninophile.co.uk>

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

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

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 s=
ettings.
>=20
> > Well this is the right thing to do but looking at bsd.port.mk and the c=
hanges
> > needed I get bored and gave up :(
>=20
> 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 i=
s set
to ${PKGNAMEPREFIX}${PORTNAME} with PKGNAMEPREFIX being expanded to nothing
and once bsd.$guilty.mk is included ${PKGNAMEPREFIX} expands to something a=
nd 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 f=
or
example nginx and nginx-devel and in general all the -devel ports

>=20
> >> > Does pkgng really need LATEST_LINK at all?  As far as I recall, that
> >> > only exists so that the user can say:
>=20
> > Well no pkgng doesn't need it at all except for pkg itself for the boot=
strap :)
>=20
> 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.
>=20
> 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?
>=20
> 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 instal=
lers,
most of people would want to automated the whole installing process.

regards,
Bapt

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

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

iEYEARECAAYFAk/V3LEACgkQ8kTtMUmk6ExkvwCcD/ejJLAUbspCRNhmrEzU4jqq
nvwAn3/bvjpt9kIKUyYjAJfxInzEaPZd
=UqB9
-----END PGP SIGNATURE-----

--Avw2VvEbzfULB0h1--



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