USE=multislot, xDEPEND-syntax in SLOT and Slot dependencies [Was: Re: [gentoo-dev] [RFC] some global useflags]

2008-10-15 Thread Robin H. Johnson
I'm deliberately starting a new thread here, because this is meandering
well off the original topic of the global useflag proposals.

On Thu, Oct 16, 2008 at 02:18:16AM +0200, Marius Mauch wrote:
 There are also other issues, e.g. it breaks the generation of the
 @installed package set as the installed slots can't be found in the
 tree. As portage-2.2 makes increased use of slot atoms internally for
 vdb handling we got a few bugreports simply due to the cache constraint
 violation by USE=multislot.
Ok, I found bug #174184 on this matter.

kugelfang proposed to include this in EAPI=1, but I don't find it in
there, what happened?

The short-term fix of use.mask just stops current breakage, but we need
a real solution so that we can keep using it where we actually need it.

Ignoring Vapier's tirade against ciaranm there, we need the
xDEPEND-syntax for SLOTS as the real solution, however that still
wouldn't resolve the portion that has CTARGET as part of the SLOT, since
metadata generated on the rsyncmaster with a different CTARGET wouldn't
match on the clients.

I'm also wondering about a bad interaction with slot dependencies even
without having CTARGET:
Say gcc has two variants, SLOT=3.4 and SLOT=3.4.5. 
The language in the approved version of PMS (section 9.2.5) states: A
specification with a named slot dependency matches only if the slot of
the matched package is squal to ths lot specified.

So if package foo/bar-1.0 contains DEPEND=sys-devel/gcc:3.4 it
wouldn't match the other variant of gcc with SLOT=3.4.5 :-(.

-- 
Robin Hugh Johnson
Gentoo Linux Developer  Infra Guy
E-Mail : [EMAIL PROTECTED]
GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85


pgpAf5eX3m8Sz.pgp
Description: PGP signature


Re: USE=multislot, xDEPEND-syntax in SLOT and Slot dependencies [Was: Re: [gentoo-dev] [RFC] some global useflags]

2008-10-15 Thread Marius Mauch
On Wed, 15 Oct 2008 17:20:32 -0700
Robin H. Johnson [EMAIL PROTECTED] wrote:

 Ignoring Vapier's tirade against ciaranm there, we need the
 xDEPEND-syntax for SLOTS as the real solution, however that still
 wouldn't resolve the portion that has CTARGET as part of the SLOT,
 since metadata generated on the rsyncmaster with a different CTARGET
 wouldn't match on the clients.

Are there significant USE cases for conditionals in SLOT that aren't
related to multislot and multiple ABIs? (the whole DEPEND syntax in
SLOT doesn't make sense)

For allowing multiple ABIs for a package to be installed I'm not
convinced that using SLOT is the right solution, this should probably
be considered as part of a more general multilib / cross-compile
support (there have been different designs for that).

And maybe in the (distant) future we can even add real multislot support
(same version of a package installed in multiple slots), but that's
going to need _major_ vdb and portage API changes first.

Marius