-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 12/08/15 11:08 AM, Ulrich Mueller wrote: >>>>>> On Wed, 12 Aug 2015, Alexis Ballier wrote: > >> i.e. something that really tells the PM how to automate the >> choice: - 'qt5 -> !qt4' is rather straightforward to solve and >> tells the PM how (note that it is not equivalent to 'qt4 -> >> !qt5') - '^^ ( qt5 qt4 )' requires the PM to make a choice in >> order to automate it > > I was thinking about some syntax like this: > > REQUIRED_USE="|| ( +foo bar ) ^^ ( +qt5 -qt4 )" > > The package manager would first evaluate each group in > REQUIRED_USE with the original set of USE flags. If that doesn't > evaluate to true, retry with flags changed as indicated by the + > and - signs. > > Ulrich >
Having the ability for REQUIRED_USE to provide a default resolution path should definitely help with things; I assume this is meant to do its work via --autounmask-write or similar, ie to help users adjust their config files? Or was the thought to allow PMs to override USE immediately? Questions: 1 - how does +foo in REQUIRED_USE relate to use-defaults set in IUSE? 2 - is there a particular reasoning for the - in front of qt4 here? I only ask because it would seem that a single default-enable should suffice in lists like this to indicate a resolution path, no? That is, '^^ ( +flag1 -flag2 -flag3 -flag4 )' to me seems like it would be the same as '^^ ( +flag1 flag2 flag3 flag4 )' 3 - will having REQUIRED_USE be able to force flags on (and others off) likely result in abuse of profiles and other use defaults? I forsee this being a way, for instance, for a dev to get around users setting USE="-*" in make.conf to ensure a default use flag setting is honoured. 4 - Will a change to which flag the '+' is on likely to require a revbump for VDB updates? For something like '^^ ( +qt4 qt5 )' I could see maintainers wanting to switch which flag is default across a bunch of packages at once when, say, the qt team wants qt5 to become the de-facto default. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iF4EAREIAAYFAlXLZp8ACgkQAJxUfCtlWe0NcgEAzt6FjitYEyk6h2HufX4WiKko tldpUk71Wnj+y5ejB38A/R23oq0E4PakpXg5ML8pqG8gPnyXJmIN8Fuh6Gj1Y+6Y =UaQK -----END PGP SIGNATURE-----