diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-08-29 00:38:12 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-08-29 00:38:12 -0700 |
commit | f76b983e95d022d6f377e3efd599dd8efbd30b3d (patch) | |
tree | 7095aee7f42d2f0011baf9a9ad046d35b42e70f8 /pym/portage/dbapi/__init__.py | |
parent | 1db6048f29dad8da5c74da3143901edd006fc10a (diff) | |
download | portage-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__.py | 9 |
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: |