summaryrefslogtreecommitdiffstats
path: root/pym/portage/dbapi/__init__.py
diff options
context:
space:
mode:
authorSebastian Luther <SebastianLuther@gmx.de>2010-03-24 08:22:58 +0100
committerZac Medico <zmedico@gentoo.org>2010-08-13 20:16:40 -0700
commit5e39119d80433d9333fac70d12cf7c6b6ca61afe (patch)
tree7383c8fd7b5d0089a6565b2c6cef0017d512bcc9 /pym/portage/dbapi/__init__.py
parent12e38fd2fe321c64c90a8f8863f271994d4e235d (diff)
downloadportage-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__.py8
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.