Hello all,
In the Gentoo Prefix project we have a special USE flag: 'prefix',
kind of like $ARCH USE flags. I am writing here to ask of the best way
to introduce a global implicit USE flag to gentoo-x86. There has been
some interest from other devs to kill diffs in ebuilds between
gentoo-x86 and prefix overlay. The addition of this USE flag will
allow this to happen in a more staged approach.

We utilize the prefix USE flag for various things, such as (but not limited to):
-Exclude dependencies that the host OS provides (glibc, xorg-server, etc)
-No-op a particular action not appropriate for prefix
-Ensure a particular action that is only needed for prefix

ie.
# unavoidable conditional patch, can't submit upstream either, rare case
use prefix && epatch prefix-search-path.patch
# glibc is provided from the host OS, at least can't install in prefix
!prefix? ( elibc_glibc? ( >=sys-libs/glibc-2.36 ) )
# rarely seen in real life, but something like this is possible.
$(use_enable !prefix some-host-os-feature)

So, my recommendation is to:
1) mask the prefix USE flag in base/use.mask because no one except the
prefix profiles should use this flag.
2) unmask and force the USE flag in prefix profile.
3) add entry to use.desc.
addendum) use.{mask,force} imply that the USE flag is explicit so
there will be no QA warnings.

However, we have toyed with other ideas. One of which is to introduce
IUSE=prefix in prefix.eclass similar to the USE=multilib approach. I
don't really like this idea because it exposes the use flag and we
don't want it exposed to the users.

BTW, the prefix profiles are not in gentoo-x86 yet, discussion will
follow the USE flag introduction.

Thanks,
-Jeremy

Reply via email to