From 4511c049634c26a3235f3c2d0e519ab01f950371 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 26 Sep 2010 22:37:04 -0700 Subject: Revert slot conflict behavior backtracking behavior changes from bug #337178 and comment about reasoning for behavior. We always mask existing_node since _select_package tries to avoid slot conflicts when possible and therefore a conflict typically means that existing_node was a poor choice. --- pym/_emerge/depgraph.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 6c38806fa..54e412a50 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -892,10 +892,11 @@ class depgraph(object): self._add_parent_atom(pkg, parent_atom) self._process_slot_conflicts() - if pkg > existing_node: - to_be_masked = pkg - else: - to_be_masked = existing_node + # NOTE: We always mask existing_node since + # _select_package tries to avoid slot conflicts when + # possible and therefore a conflict typically means + # that existing_node was a poor choice. + to_be_masked = existing_node parent_atoms = \ self._dynamic_config._parent_atoms.get(to_be_masked, set()) @@ -904,7 +905,7 @@ class depgraph(object): if conflict_atoms: parent_atoms = conflict_atoms - if pkg.cpv == existing_node.cpv: + if pkg >= existing_node: # We only care about the parent atoms # when they trigger a downgrade. parent_atoms = set() -- cgit v1.2.3-1-g7c22