-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Hey all.. So, putting aside for now how much of a mess this would be to implement in the virtuals' ebuilds themselves, what do people think of changing the virtuals so that they contain an entry in IUSE for each provider that can satisfy it?
The idea here is that the package satisfying a virtual could be optionally explicitly-chosen through package.use (or USE= in make.conf, perhaps) instead of having an entry in @world, that way if nothing depends on the virtual then it and the provider can be - --depclean'ed from the system. The idea is specifically NOT to have rdeps depend on these flags, that would undermine the whole purpose of the virtual; it would just be for end-users to set if they so chose. This may also help with getting portage to peg a virtual's provider to a specific package instead of constantly trying to switch from one to another, ie, how systemd kept getting pulled in, in relation to the upower virtual. Note - I haven't done any tests to determine if this actually helps with such issues tho (or even attempted to reproduce them, as i was apparently one of the lucky ones that it didn't happen to). I don't know if this would aid heavy binpkg users or not. For completion, here's one of those rather messy examples: - --- virtual/krb5-0.ebuild 2013-06-28 09:04:47.000000000 -0400 +++ virtual/krb5-0.ebuild.new 2014-07-25 14:47:48.000000000 -0400 @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/virtual/krb5/krb5-0.ebuild,v 1.2 2013/06/27 20:42:55 aballier Exp $ - -EAPI=3 +EAPI=5 DESCRIPTION="Virtual for Kerberos V implementation" HOMEPAGE="" @@ -11,7 +11,12 @@ LICENSE="" SLOT="0" KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" - -IUSE="" +IUSE="heimdal mit-krb5" DEPEND="" - -RDEPEND="|| ( app-crypt/mit-krb5 app-crypt/heimdal )" +RDEPEND="!mit-krb5? ( !heimdal? ( || ( app-crypt/mit-krb5 app-crypt/heimdal ) ) ) + mit-krb5? ( app-crypt/mit-krb5 ) + heimdal? ( app-crypt/heimdal )" + +REQUIRED_USE="heimdal? ( !mit-krb5 ) + mit-krb5? ( !heimdal )" Thoughts? -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iF4EAREIAAYFAlPSpsgACgkQ2ugaI38ACPCBGwD6A7Dlras5l/L9Fc1SA8K8oR3K LQKY5g/vbdvYFKtooDoBAKdLiFySl24mHKA0O2YScxmr4g5tvusVAd3dxWTIjnat =gSFT -----END PGP SIGNATURE-----