summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/_emerge/depgraph.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index ef4d1f02d..d6c74e4c7 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2363,6 +2363,7 @@ class depgraph(object):
selected_parent = None
parent_arg = None
parent_merge = None
+ parent_unsatisfied = None
for parent in self._dynamic_config.digraph.parent_nodes(node):
if parent in traversed_nodes:
@@ -2381,12 +2382,14 @@ class depgraph(object):
if parent is ppkg:
atom_set = InternalPackageSet(initial_atoms=(atom,))
if not atom_set.findAtomForPackage(start_node):
- selected_parent = parent
+ parent_unsatisfied = parent
break
else:
selected_parent = parent
- if parent_merge is not None:
+ if parent_unsatisfied is not None:
+ selected_parent = parent_unsatisfied
+ elif parent_merge is not None:
# Prefer parent in the merge list (bug #354747).
selected_parent = parent_merge
elif parent_arg is not None: