summaryrefslogtreecommitdiffstats
path: root/pym/_emerge
diff options
context:
space:
mode:
authorSebastian Luther <SebastianLuther@gmx.de>2010-08-14 08:43:34 +0200
committerZac Medico <zmedico@gentoo.org>2010-08-13 23:51:35 -0700
commit1e69471d3eac6d0e2a01878ed3f0031783f57671 (patch)
tree2bdca931d8285942adfd5f7d1cb6022387004ba7 /pym/_emerge
parent8389b036914d3be02da85ee2d4d8166e729c347f (diff)
downloadportage-1e69471d3eac6d0e2a01878ed3f0031783f57671.tar.gz
portage-1e69471d3eac6d0e2a01878ed3f0031783f57671.tar.bz2
portage-1e69471d3eac6d0e2a01878ed3f0031783f57671.zip
Atom.violated_conditionals: Use iuse.is_valid_flag instead of iuse.all
Diffstat (limited to 'pym/_emerge')
-rw-r--r--pym/_emerge/depgraph.py5
-rw-r--r--pym/_emerge/resolver/slot_collision.py9
2 files changed, 8 insertions, 6 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index e3a47e8a7..643cc3edf 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2078,7 +2078,7 @@ class depgraph(object):
masked_pkg_instances.add(pkg)
if atom.unevaluated_atom.use:
if not pkg.iuse.is_valid_flag(atom.unevaluated_atom.use.required) \
- or atom.violated_conditionals(self._pkg_use_enabled(pkg), pkg.iuse.all).use:
+ or atom.violated_conditionals(self._pkg_use_enabled(pkg), pkg.iuse.is_valid_flag).use:
missing_use.append(pkg)
if not mreasons:
continue
@@ -2126,7 +2126,8 @@ class depgraph(object):
# Lets see if the violated use deps are conditional.
# If so, suggest to change them on the parent.
mreasons = []
- violated_atom = atom.unevaluated_atom.violated_conditionals(self._pkg_use_enabled(pkg), pkg.iuse.all, myparent.use.enabled)
+ violated_atom = atom.unevaluated_atom.violated_conditionals(self._pkg_use_enabled(pkg), \
+ pkg.iuse.is_valid_flag, myparent.use.enabled)
if not (violated_atom.use.enabled or violated_atom.use.disabled):
#all violated use deps are conditional
changes = []
diff --git a/pym/_emerge/resolver/slot_collision.py b/pym/_emerge/resolver/slot_collision.py
index b11fcb0c7..70f4f7141 100644
--- a/pym/_emerge/resolver/slot_collision.py
+++ b/pym/_emerge/resolver/slot_collision.py
@@ -212,7 +212,7 @@ class slot_conflict_handler(object):
elif not atom_set.findAtomForPackage(other_pkg):
#Use conditionals not met.
violated_atom = atom.violated_conditionals(other_pkg.use.enabled, \
- other_pkg.iuse.all, ppkg.use.enabled)
+ other_pkg.iuse.is_valid_flag, ppkg.use.enabled)
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))
@@ -252,7 +252,7 @@ class slot_conflict_handler(object):
conditional_matches = set()
for ppkg, atom, other_pkg in parents:
violated_atom = atom.unevaluated_atom.violated_conditionals( \
- other_pkg.use.enabled, other_pkg.iuse.all, ppkg.use.enabled)
+ other_pkg.use.enabled, other_pkg.iuse.is_valid_flag, ppkg.use.enabled)
if use in violated_atom.use.enabled.union(violated_atom.use.disabled):
hard_matches.add((ppkg, atom))
else:
@@ -457,10 +457,11 @@ class slot_conflict_handler(object):
if ppkg.installed:
#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.iuse.all, ppkg.use.enabled)
+ violated_atom = atom.violated_conditionals(pkg.use.enabled, \
+ pkg.iuse.is_valid_flag, ppkg.use.enabled)
else:
violated_atom = atom.unevaluated_atom.violated_conditionals(pkg.use.enabled, \
- pkg.iuse.all, ppkg.use.enabled)
+ pkg.iuse.is_valid_flag, ppkg.use.enabled)
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