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?
signature.asc
Description: This is a digitally signed message part.