Fix confusing messages shown by
authorZac Medico <zmedico@gentoo.org>
Sun, 26 Sep 2010 13:43:17 +0000 (06:43 -0700)
committerZac Medico <zmedico@gentoo.org>
Sun, 26 Sep 2010 13:43:17 +0000 (06:43 -0700)
depgraph._show_missed_update_slot_conflicts() since the fix from
bug #337178.

When depgraph._add_pkg() was fixed to mask the higher version in
4bc78ab0b563697b98527eebcdfe474863383cf0, we didn't adjust the
parent_atoms variable so that it would contain parent atoms from
the versions being masked. This resulted in confusing messages from
depgraph._show_missed_update_slot_conflicts().

pym/_emerge/depgraph.py

index 3670899de6f01468fc4d76dfa5b7446865f3a945..6c38806fa0df40c34a9a4d64332e063875670405 100644 (file)
@@ -892,18 +892,18 @@ 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
+
                                                parent_atoms = \
-                                                       self._dynamic_config._parent_atoms.get(pkg, set())
+                                                       self._dynamic_config._parent_atoms.get(to_be_masked, set())
                                                if parent_atoms:
                                                        conflict_atoms = self._dynamic_config._slot_conflict_parent_atoms.intersection(parent_atoms)
                                                        if conflict_atoms:
                                                                parent_atoms = conflict_atoms
 
-                                               if pkg > existing_node:
-                                                       to_be_masked = pkg
-                                               else:
-                                                       to_be_masked = existing_node
-
                                                if pkg.cpv == existing_node.cpv:
                                                        # We only care about the parent atoms
                                                        # when they trigger a downgrade.