summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-09-26 22:37:04 -0700
committerZac Medico <zmedico@gentoo.org>2010-09-26 22:37:04 -0700
commit4511c049634c26a3235f3c2d0e519ab01f950371 (patch)
tree804f5ce2f978cad5b168055ae61baf02f286931b
parentb8c77a67e0cf6348201dbdca8c58372ebb75b6f0 (diff)
downloadportage-4511c049634c26a3235f3c2d0e519ab01f950371.tar.gz
portage-4511c049634c26a3235f3c2d0e519ab01f950371.tar.bz2
portage-4511c049634c26a3235f3c2d0e519ab01f950371.zip
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.
-rw-r--r--pym/_emerge/depgraph.py11
1 files 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()