deps: A: || ( A-1 A-2 ) B: B-1 B-1: u? ( C ) @randomset: A B status: installed are A-1, B-1[-u] USE="u" emerge -N @randomset actual result: A-2, B-1[u], C get installed expected result: A-1 is left as it is, B-1[u], C get installed solution: prefer installed packages over highest visible for -N (and not -u) new problem: deps: A: || ( A-1 A-2 ) B: B-1 B-1: u? ( A-2 ) @randomset: A B status: installed are A-1, B-1[-u] USE="u" emerge -N @randomset 2 possible outcomes: 1) B is handled first: leads to B-1[u] and A-2 installed 2) A is handled first leads to A-1 and A-2 pulled into the graph, since A selects the installed A-1 and B-1[u] selects A-2. solution: Don't pull installed packages into the graph, but process their deps. Is this possible with the current implementation? If not, it's bug 1343.
Everyone interested in this should have a look at bug 275945.
Sebastian, what's the status of this bug. Is it still relevant with all the subslot and EAPI changes?