From fa25599654c32a6c72810fda98b9c665a673f12e Mon Sep 17 00:00:00 2001 From: Sebastian Luther Date: Tue, 27 Apr 2010 22:33:02 +0200 Subject: --update: don't ignore higher versions because of missing IUSE --- pym/_emerge/depgraph.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'pym/_emerge') 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 \ -- cgit v1.2.3-1-g7c22