From: Zac Medico Date: Thu, 26 Aug 2010 16:00:33 +0000 (-0700) Subject: In slot_conflict_handler(), never pass parent_use to X-Git-Tag: v2.2_rc70~61 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=5b8328e3ba5b30c84f8244d75a8d16784aae9f17;p=portage.git In slot_conflict_handler(), never pass parent_use to Atom.violated_conditionals since the USE conditionals should have been evaluated in dep_check() and we don't want to accidentally pass a DependencyArg instance into _pkg_use_enabled(). --- diff --git a/pym/_emerge/resolver/slot_collision.py b/pym/_emerge/resolver/slot_collision.py index 27cad3b99..77f527ffd 100644 --- a/pym/_emerge/resolver/slot_collision.py +++ b/pym/_emerge/resolver/slot_collision.py @@ -257,8 +257,7 @@ class slot_conflict_handler(object): conditional_matches = set() for ppkg, atom, other_pkg in parents: violated_atom = atom.unevaluated_atom.violated_conditionals( \ - _pkg_use_enabled(other_pkg), other_pkg.iuse.is_valid_flag, \ - _pkg_use_enabled(ppkg)) + _pkg_use_enabled(other_pkg), other_pkg.iuse.is_valid_flag) if use in violated_atom.use.enabled.union(violated_atom.use.disabled): hard_matches.add((ppkg, atom)) else: @@ -465,10 +464,10 @@ class slot_conflict_handler(object): #We cannot assume that it's possible to reinstall the package. Do not #check if some of its atom has use.conditional violated_atom = atom.violated_conditionals(_pkg_use_enabled(pkg), \ - pkg.iuse.is_valid_flag, _pkg_use_enabled(ppkg)) + pkg.iuse.is_valid_flag) else: violated_atom = atom.unevaluated_atom.violated_conditionals(_pkg_use_enabled(pkg), \ - pkg.iuse.is_valid_flag, _pkg_use_enabled(ppkg)) + pkg.iuse.is_valid_flag) if pkg.installed and (violated_atom.use.enabled or violated_atom.use.disabled): #We can't change USE of an installed package (only of an ebuild, but that is already