diff options
author | Sebastian Luther <SebastianLuther@gmx.de> | 2010-03-24 08:22:58 +0100 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-08-13 20:16:40 -0700 |
commit | 5e39119d80433d9333fac70d12cf7c6b6ca61afe (patch) | |
tree | 7383c8fd7b5d0089a6565b2c6cef0017d512bcc9 /pym/portage/dbapi/__init__.py | |
parent | 12e38fd2fe321c64c90a8f8863f271994d4e235d (diff) | |
download | portage-5e39119d80433d9333fac70d12cf7c6b6ca61afe.tar.gz portage-5e39119d80433d9333fac70d12cf7c6b6ca61afe.tar.bz2 portage-5e39119d80433d9333fac70d12cf7c6b6ca61afe.zip |
Implement use dependency defaults
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. |