summaryrefslogtreecommitdiffstats
path: root/pym/portage/dbapi/__init__.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-08-29 00:38:12 -0700
committerZac Medico <zmedico@gentoo.org>2012-08-29 00:38:12 -0700
commitf76b983e95d022d6f377e3efd599dd8efbd30b3d (patch)
tree7095aee7f42d2f0011baf9a9ad046d35b42e70f8 /pym/portage/dbapi/__init__.py
parent1db6048f29dad8da5c74da3143901edd006fc10a (diff)
downloadportage-f76b983e95d022d6f377e3efd599dd8efbd30b3d.tar.gz
portage-f76b983e95d022d6f377e3efd599dd8efbd30b3d.tar.bz2
portage-f76b983e95d022d6f377e3efd599dd8efbd30b3d.zip
EAPI 5: Profile IUSE injection
See bug #176467 and the PMS patch: http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=d9040ab3482af5f790368bac5d053bf1cd760ba8
Diffstat (limited to 'pym/portage/dbapi/__init__.py')
-rw-r--r--pym/portage/dbapi/__init__.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/pym/portage/dbapi/__init__.py b/pym/portage/dbapi/__init__.py
index 97b425558..f326e6828 100644
--- a/pym/portage/dbapi/__init__.py
+++ b/pym/portage/dbapi/__init__.py
@@ -16,6 +16,7 @@ portage.proxy.lazyimport.lazyimport(globals(),
from portage import os
from portage import auxdbkeys
+from portage.eapi import _get_eapi_attrs
from portage.exception import InvalidData
from portage.localization import _
@@ -181,7 +182,7 @@ class dbapi(object):
2) Check enabled/disabled flag states.
"""
- aux_keys = ["IUSE", "KEYWORDS", "SLOT", "USE", "repository"]
+ aux_keys = ["EAPI", "IUSE", "KEYWORDS", "SLOT", "USE", "repository"]
for cpv in cpv_iter:
try:
metadata = dict(zip(aux_keys,
@@ -195,7 +196,11 @@ class dbapi(object):
yield cpv
def _match_use(self, atom, cpv, metadata):
- iuse_implicit_match = self.settings._iuse_implicit_match
+ eapi_attrs = _get_eapi_attrs(metadata["EAPI"])
+ if eapi_attrs.iuse_effective:
+ iuse_implicit_match = self.settings._iuse_effective_match
+ else:
+ iuse_implicit_match = self.settings._iuse_implicit_match
iuse = frozenset(x.lstrip('+-') for x in metadata["IUSE"].split())
for x in atom.unevaluated_atom.use.required: