diff options
author | Sebastian Luther <SebastianLuther@gmx.de> | 2010-08-14 08:43:34 +0200 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-08-13 23:51:35 -0700 |
commit | 1e69471d3eac6d0e2a01878ed3f0031783f57671 (patch) | |
tree | 2bdca931d8285942adfd5f7d1cb6022387004ba7 /pym/_emerge | |
parent | 8389b036914d3be02da85ee2d4d8166e729c347f (diff) | |
download | portage-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.py | 5 | ||||
-rw-r--r-- | pym/_emerge/resolver/slot_collision.py | 9 |
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 |