diff options
author | Sebastian Luther <SebastianLuther@gmx.de> | 2010-04-27 22:33:02 +0200 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-04-27 14:17:59 -0700 |
commit | fa25599654c32a6c72810fda98b9c665a673f12e (patch) | |
tree | 063b114c0396970070b1f82ec4148d2db90d707e /pym/_emerge | |
parent | dd512c0e119eb1e07053ec1bb349f044e465d44e (diff) | |
download | portage-fa25599654c32a6c72810fda98b9c665a673f12e.tar.gz portage-fa25599654c32a6c72810fda98b9c665a673f12e.tar.bz2 portage-fa25599654c32a6c72810fda98b9c665a673f12e.zip |
--update: don't ignore higher versions because of missing IUSE
Diffstat (limited to 'pym/_emerge')
-rw-r--r-- | pym/_emerge/depgraph.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 65df15c55..4214abdfc 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -2442,7 +2442,7 @@ class depgraph(object): if want_reinstall and matched_packages: continue - for pkg in self._iter_match_pkgs(root_config, pkg_type, atom, + for pkg in self._iter_match_pkgs(root_config, pkg_type, atom.without_use, onlydeps=onlydeps): if pkg in self._dynamic_config._runtime_pkg_mask: # The package has been masked by the backtracking logic @@ -2459,6 +2459,17 @@ class depgraph(object): if higher_version_rejected: continue + if atom.use: + for x in atom.use.required: + if x not in pkg.iuse.all and \ + pkg.root_config.settings.iuse_implicit_re.match(x) is None: + missing_iuse = True + break + if missing_iuse: + if not pkg.installed: + packages_with_invalid_use_config.append(pkg) + continue + cpv = pkg.cpv # Make --noreplace take precedence over --newuse. if not pkg.installed and noreplace and \ |