Fabian Groffen <[email protected]> writes: > On 26-10-2013 10:13:29 +0200, Ruud Koolen wrote: >> On Saturday 26 October 2013 09:41:28 Fabian Groffen wrote: >>> As you may or may not know, the prefix USE-flag is a hack that works in >>> Portage, but violates specifications, because it is never defined in >>> ebuilds that need it. Discussions here go back to not wanting to show >>> elibc_XXX, kernel_XXX in IUSE (because user can't influence them) and >>> prefix likewise. We should still solve this problem. While we're at >>> it, I'd like to tackle bug #473598 [1] at the same time. >> >> Not so! Any USE flags that are globally masked or forced are in the >> implicit-iuse list. Or is that what you meant as the hack? I think it's >> specified somewhere. > > Last thing I understood, forcing it -- making it global -- is a Portage > behaviour, eapi-5 introduced some variable to define it or so. So maybe > my entire comment is moot considering we aim for >=eapi-5.
USE prefix is a separate issue. Let's bring it to dev mailing list afterwards. >> > Anyway, I was thinking more along the lines of using USE_EXPAND. >> > There's also a USE_EXPAND_HIDDEN, and something like this [2] looks >> > good. >> >> USE_EXPAND is fine too, it's just a special case of a USE flag, after >> all. It is perhaps more elegant than plain USE flags, and my plan was >> based on kernel_* and friends anyway. >> >> > In other words, I could think of having EPREFIX="$classic" or >> > EPREFIX_TARGET="$rap", which could default to $classic in >> > base/make.defaults. >> >> It should default to "" in base/make.defaults. Only the prefix profiles >> should >> set it to anything nonempty. > > Have given this some thoughts, and maybe we need the global switch > whether or not prefix is enabled, and an additional features list to > select the variant of prefix (rap in this case). Maybe that's complete > overkill, and your variant's nicer. Anyway, a migration path or > backwards compatability is also important since use prefix is widely > adopted in gx86 nowadays... classic and rap Prefix is matter of libc anyway. How about a new USE flag as elibc_external? it's self-informative. Define it on Linux variants of Prefix classic. Then hacks in the ebuild can be written as if use prefix && use elibc_external then ... The question is whether to define elibc_glibc at the same time, by "grep elibc_glibc -r /usr/portage", one example of elibc_glibc is elibc_glibc? ( sys-libs/glibc ) where elibc_glibc should not be defined (at present we hack by adding sys-libs/glibc:0 into package.provides) but another is $(use !elibc_glibc || echo --without-included-regex) where elibc_glibc should be defined. ... It seems resonable to define elibc_external and elibc_glibc at the same times. Cheers, Benda
