diff options
Diffstat (limited to 'pym/portage/dbapi/__init__.py')
-rw-r--r-- | pym/portage/dbapi/__init__.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/pym/portage/dbapi/__init__.py b/pym/portage/dbapi/__init__.py index 4799b2582..505a4b158 100644 --- a/pym/portage/dbapi/__init__.py +++ b/pym/portage/dbapi/__init__.py @@ -156,15 +156,17 @@ class dbapi(object): iuse = frozenset(x.lstrip('+-') for x in iuse.split()) missing_iuse = False for x in atom.use.required: - if x not in iuse and iuse_implicit_re.match(x) is None: + if x not in iuse and x not in atom.use.missing_enabled \ + and x not in atom.use.missing_disabled and iuse_implicit_re.match(x) is None: missing_iuse = True break if missing_iuse: continue if not self._use_mutable: - if atom.use.enabled.difference(use): + if atom.use.enabled.difference(use).difference(atom.use.missing_enabled): continue - if atom.use.disabled.intersection(use): + if atom.use.disabled.intersection(use) or \ + atom.use.disabled.difference(iuse).difference(atom.use.missing_disabled): continue else: # Check masked and forced flags for repoman. |