On Tue, 30 May 2017 00:01:16 +0200 Ulrich Mueller <u...@gentoo.org> wrote: > >>>>> On Mon, 29 May 2017, Michał Górny wrote: > > On pon, 2017-05-29 at 20:00 +0200, Alexis Ballier wrote: > >> Can you provide an efficient algorithm for the above syntax? That > >> is, given a set of +/- useflags forced by user, output the set of > >> effective useflags (or a rant if it is inconsistent). > > > I'd rather leave that to people who are good with algorithms. I find > > the whole thing scary but I don't really see a sane alternative > > here. Worst case, we have to figure out some arbitrary limitations > > to keep things sane. > > IMHO the sanest alternative would be to restrict the syntax to USE > conditional forms which have an obvious solution. One of the many > problems of REQUIRED_USE is that it sometimes requires solving a > Zebra Puzzle.
Solving zebra puzzles isn't really that bad in practice most of the time. The tricky bit is finding the *right* solution, given poor input data that doesn't really let you evaluate what right is. As a simple example, in the olden days, the most obvious and shortest answer to fixing Gnome resolution errors was to set USE=mips because that disabled a whole load of browser dependencies... -- Ciaran McCreesh