diff options
author | Zac Medico <zmedico@gentoo.org> | 2010-12-03 19:55:18 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-12-03 19:55:18 -0800 |
commit | 8553b7bcb4b0bef2973774c22cc2fa84682c464b (patch) | |
tree | 3e28cab375f5be563822440251ec60450efeacf4 /pym/portage | |
parent | 82ca034fea258098154f7bbb15811efd13745328 (diff) | |
download | portage-8553b7bcb4b0bef2973774c22cc2fa84682c464b.tar.gz portage-8553b7bcb4b0bef2973774c22cc2fa84682c464b.tar.bz2 portage-8553b7bcb4b0bef2973774c22cc2fa84682c464b.zip |
EAPI 4: Support MERGE_TYPE (bug #347351)
Diffstat (limited to 'pym/portage')
-rw-r--r-- | pym/portage/eapi.py | 3 | ||||
-rw-r--r-- | pym/portage/package/ebuild/_config/special_env_vars.py | 5 | ||||
-rw-r--r-- | pym/portage/package/ebuild/config.py | 6 |
3 files changed, 11 insertions, 3 deletions
diff --git a/pym/portage/eapi.py b/pym/portage/eapi.py index eb2809ee8..da5fd8c27 100644 --- a/pym/portage/eapi.py +++ b/pym/portage/eapi.py @@ -28,6 +28,9 @@ def eapi_exports_AA(eapi): def eapi_exports_KV(eapi): return eapi in ("0", "1", "2", "3") +def eapi_exports_merge_type(eapi): + return eapi not in ("0", "1", "2", "3") + def eapi_exports_replace_vars(eapi): return eapi not in ("0", "1", "2", "3") diff --git a/pym/portage/package/ebuild/_config/special_env_vars.py b/pym/portage/package/ebuild/_config/special_env_vars.py index 31b10cd22..561de9cf4 100644 --- a/pym/portage/package/ebuild/_config/special_env_vars.py +++ b/pym/portage/package/ebuild/_config/special_env_vars.py @@ -12,7 +12,8 @@ env_blacklist = frozenset(( "A", "AA", "CATEGORY", "DEPEND", "DESCRIPTION", "EAPI", "EBUILD_PHASE", "ED", "EMERGE_FROM", "EPREFIX", "EROOT", "HOMEPAGE", "INHERITED", "IUSE", - "KEYWORDS", "LICENSE", "PDEPEND", "PF", "PKGUSE", "PORTAGE_BUILDIR_LOCKED", + "KEYWORDS", "LICENSE", "MERGE_TYPE", + "PDEPEND", "PF", "PKGUSE", "PORTAGE_BUILDIR_LOCKED", "PORTAGE_BUILT_USE", "PORTAGE_CONFIGROOT", "PORTAGE_IUSE", "PORTAGE_NONFATAL", "PORTAGE_REPO_NAME", "PORTAGE_SANDBOX_COMPAT_LEVEL", "PORTAGE_USE", "PROPERTIES", "PROVIDE", "RDEPEND", "RESTRICT", @@ -35,7 +36,7 @@ environ_whitelist += [ "EBUILD_FORCE_TEST", "EBUILD_PHASE", "ECLASSDIR", "ECLASS_DEPTH", "ED", "EMERGE_FROM", "EPREFIX", "EROOT", - "FEATURES", "FILESDIR", "HOME", "NOCOLOR", "PATH", + "FEATURES", "FILESDIR", "HOME", "MERGE_TYPE", "NOCOLOR", "PATH", "PKGDIR", "PKGUSE", "PKG_LOGDIR", "PKG_TMPDIR", "PORTAGE_ACTUAL_DISTDIR", "PORTAGE_ARCHLIST", diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py index 335656c31..664075197 100644 --- a/pym/portage/package/ebuild/config.py +++ b/pym/portage/package/ebuild/config.py @@ -27,7 +27,8 @@ from portage.dbapi import dbapi from portage.dbapi.porttree import portdbapi from portage.dbapi.vartree import vartree from portage.dep import Atom, isvalidatom, match_from_list, use_reduce, _repo_separator, _slot_separator -from portage.eapi import eapi_exports_AA, eapi_supports_prefix, eapi_exports_replace_vars +from portage.eapi import eapi_exports_AA, eapi_exports_merge_type, \ + eapi_supports_prefix, eapi_exports_replace_vars from portage.env.loaders import KeyValuePairFileLoader from portage.exception import InvalidDependString, PortageException from portage.localization import _ @@ -2062,6 +2063,9 @@ class config(object): if not eapi_exports_AA(eapi): mydict.pop("AA", None) + if not eapi_exports_merge_type(eapi): + mydict.pop("MERGE_TYPE", None) + # Prefix variables are supported starting with EAPI 3. if phase == 'depend' or eapi is None or not eapi_supports_prefix(eapi): mydict.pop("ED", None) |