On Tue, Jul 24, 2018 at 2:32 PM Ian Stakenvicius <[email protected]> wrote: > > I don't think the process needs to be simplified much more than this; > each layer above has its purpose. However I do very much want to > caution on making it more complicated, especially with the addition of > syntax that allows setting or ignoring useflag state changes in a way > that will jumble up these layers. >
I think as long as it is a heirarchy it will be straightforward enough. If we introduce a ^ operator that unsets a flag, the only question is how far that propagates down the layers, and into what kinds of layers: Does a profile ^flag undo an IUSE +flag? Does a make.conf ^flag undo a profile +flag? An IUSE +flag? A profile flag mask? Does a package.use ^flag undo a make.conf +flag? A profile +flag, an IUSE +flag? Etc... This matters more than with +/-, since these just bluntly set the flag to one setting or the other regardless of what happened below (I think - I'd have to check all the different possibilities even for that). When you're just unsetting things the question is how many of these flags do you unset going down how far? Obviously if you unset everything up to that point then it is no different from -flag as we default to off on everything. -- Rich
