diff options
-rw-r--r-- | pym/_emerge/depgraph.py | 7 |
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: |