summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-07-10 03:40:59 -0700
committerZac Medico <zmedico@gentoo.org>2011-07-10 03:40:59 -0700
commitf085533e820e7dac48c5192aa0ae3b7fb887059d (patch)
tree8129762e38043b457c0cf902f228212a9ec70c53
parent895823111601bb73204daf5cdaf86d401d91983c (diff)
downloadportage-f085533e820e7dac48c5192aa0ae3b7fb887059d.tar.gz
portage-f085533e820e7dac48c5192aa0ae3b7fb887059d.tar.bz2
portage-f085533e820e7dac48c5192aa0ae3b7fb887059d.zip
slot_collision: fix AttributeError for bug 374423
-rw-r--r--pym/_emerge/resolver/slot_collision.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/pym/_emerge/resolver/slot_collision.py b/pym/_emerge/resolver/slot_collision.py
index 00429976a..0069d179d 100644
--- a/pym/_emerge/resolver/slot_collision.py
+++ b/pym/_emerge/resolver/slot_collision.py
@@ -349,6 +349,20 @@ class slot_conflict_handler(object):
_pkg_use_enabled(other_pkg),
other_pkg.iuse.is_valid_flag,
parent_use=parent_use)
+ # It's possible for autounmask to change
+ # parent_use such that the unevaluated form
+ # of the atom now matches, even though the
+ # earlier evaluated form (from before
+ # autounmask changed parent_use) does not.
+ # In this case (see bug #374423), it's
+ # expected that violated_atom.use is None.
+ # Since the atom now matches, we don't want
+ # to display it in the slot conflict
+ # message, so we simply ignore it and rely
+ # on the autounmask display to communicate
+ # the necessary USE change to the user.
+ if violated_atom.use is None:
+ continue
if use in violated_atom.use.enabled or \
use in violated_atom.use.disabled:
unconditional_use_deps.add((ppkg, atom))