On 07/21/2018 12:01 AM, Dennis Schridde wrote: > On Friday, 20 July 2018 08:25:05 CEST Michael Orlitzky wrote: >> On 07/20/2018 02:12 AM, Mart Raudsepp wrote: >>> Ok, I can see that point of view for make.conf. >>> I can't agree with changes in other profiles though, as other profile >>> will fall under the same category in USE_ORDER (in fact, it's the same >>> thing, as the end USE from "defaults" comes from your selected profile >>> and it's "parent" cascade, not taken from linux profile). But maybe you >>> have it tested and know it's a problem. Have you? >> >> Yes, when you set USE=foo in profile A and USE="-foo" in profile A/B, >> the end result is USE="foo -foo" which is the same thing as USE="-foo". >> The default portage USE_ORDER makes the profile flags more important >> than IUSE defaults, so the USE="-foo" from the profile clobbers any >> IUSE="+foo" defaults. >> >> If no default was set in profile A, then no override would be necessary >> in profile A/B, and the resulting USE="" would not override the IUSE >> default. > > It appears to me that the difficulty stems from use flags being tri-state > (enabled, disabled, unset), but us having only operators to enable (+) and > disable (-) them in make.conf and profiles. > > What about adding a third operator, e.g. `^`, that resets a use flag to the > unset state?
Sure, why not? So ^flag would mean that the flag state propagates from the settings in IUSE. It's also conceivable that we could add a way for profiles to modify the effective IUSE defaults, via new operators in package.use or by introducing a new file such as package.use.default. -- Thanks, Zac
signature.asc
Description: OpenPGP digital signature