diff options
author | Zac Medico <zmedico@gentoo.org> | 2013-01-23 17:18:10 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2013-01-23 17:18:10 -0800 |
commit | f75b03c8f14c484f5016696e48241f8932353c91 (patch) | |
tree | e3172c14d8347271c6e9ddd825a41a3053f29eab /pym/_emerge/resolver | |
parent | 7b51d8519556124f3fcd99195741ef437d02f432 (diff) | |
download | portage-f75b03c8f14c484f5016696e48241f8932353c91.tar.gz portage-f75b03c8f14c484f5016696e48241f8932353c91.tar.bz2 portage-f75b03c8f14c484f5016696e48241f8932353c91.zip |
Add debug output for cases like bug #453400.
Diffstat (limited to 'pym/_emerge/resolver')
-rw-r--r-- | pym/_emerge/resolver/slot_collision.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/pym/_emerge/resolver/slot_collision.py b/pym/_emerge/resolver/slot_collision.py index f07b01a44..f8e1e4ecd 100644 --- a/pym/_emerge/resolver/slot_collision.py +++ b/pym/_emerge/resolver/slot_collision.py @@ -317,6 +317,26 @@ class slot_conflict_handler(object): #Use conditionals not met. violated_atom = atom.violated_conditionals(_pkg_use_enabled(other_pkg), \ other_pkg.iuse.is_valid_flag) + if violated_atom.use is None: + # Something like bug #453400 caused the + # above findAtomForPackage call to + # to return None unexpectedly. + msg = ("\n\n!!! BUG: Detected " + "USE dep match inconsistency:\n" + "\tppkg: %s\n" + "\tviolated_atom: %s\n" + "\tatom: %s unevaluated: %s\n" + "\tother_pkg: %s IUSE: %s USE: %s\n" % + (ppkg, + violated_atom, + atom, + atom.unevaluated_atom, + other_pkg, + sorted(other_pkg.iuse.all), + sorted(_pkg_use_enabled(other_pkg)))) + writemsg(msg, noiselevel=-2) + raise AssertionError( + 'BUG: USE dep match inconsistency') for flag in violated_atom.use.enabled.union(violated_atom.use.disabled): atoms = collision_reasons.get(("use", flag), set()) atoms.add((ppkg, atom, other_pkg)) |