summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/resolver/slot_collision.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-08-26 08:35:25 -0700
committerZac Medico <zmedico@gentoo.org>2010-08-26 08:35:25 -0700
commit66e3bf759c35234527fb2b665be7de1e46d4625c (patch)
treeae9a340bd64a0a7957d0f034fc9e9e12c07b78b5 /pym/_emerge/resolver/slot_collision.py
parentb3dcc71f1304148a19fb840df2e3aad8eaef28f9 (diff)
downloadportage-66e3bf759c35234527fb2b665be7de1e46d4625c.tar.gz
portage-66e3bf759c35234527fb2b665be7de1e46d4625c.tar.bz2
portage-66e3bf759c35234527fb2b665be7de1e46d4625c.zip
Fix slot_conflict_handler._prepare_conflict_msg_and_check_for_specificity()
so that it only passes Package instances (not DependencyArg instances) into _pkg_use_enabled().
Diffstat (limited to 'pym/_emerge/resolver/slot_collision.py')
-rw-r--r--pym/_emerge/resolver/slot_collision.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/pym/_emerge/resolver/slot_collision.py b/pym/_emerge/resolver/slot_collision.py
index 03d7a6a55..decbf9e3b 100644
--- a/pym/_emerge/resolver/slot_collision.py
+++ b/pym/_emerge/resolver/slot_collision.py
@@ -1,6 +1,7 @@
from __future__ import print_function
from _emerge.AtomArg import AtomArg
+from _emerge.Package import Package
from _emerge.PackageArg import PackageArg
from portage.dep import check_required_use
from portage.output import colorize
@@ -216,8 +217,11 @@ class slot_conflict_handler(object):
elif not atom_set.findAtomForPackage(other_pkg, \
modified_use=_pkg_use_enabled(other_pkg)):
#Use conditionals not met.
+ parent_use = None
+ if isinstance(ppkg, Package):
+ parent_use = _pkg_use_enabled(ppkg)
violated_atom = atom.violated_conditionals(_pkg_use_enabled(other_pkg), \
- other_pkg.iuse.is_valid_flag, _pkg_use_enabled(ppkg))
+ other_pkg.iuse.is_valid_flag, parent_use=parent_use)
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))