diff options
-rw-r--r-- | pym/_emerge/__init__.py | 11 | ||||
-rw-r--r-- | pym/portage/__init__.py | 9 | ||||
-rw-r--r-- | pym/portage/dbapi/porttree.py | 8 |
3 files changed, 21 insertions, 7 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 4926f042d..eb6b855b8 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -1245,11 +1245,14 @@ def visible(pkgsettings, pkg): if pkg.built and not pkg.installed and "CHOST" in pkg.metadata: if not pkgsettings._accept_chost(pkg): return False - if not portage.eapi_is_supported(pkg.metadata["EAPI"]): - return False - if not pkg.installed and \ - pkgsettings._getMissingKeywords(pkg.cpv, pkg.metadata): + eapi = pkg.metadata["EAPI"] + if not portage.eapi_is_supported(eapi): return False + if not pkg.installed: + if portage._eapi_is_deprecated(eapi): + return False + if pkgsettings._getMissingKeywords(pkg.cpv, pkg.metadata): + return False if pkgsettings._getMaskAtom(pkg.cpv, pkg.metadata): return False if pkgsettings._getProfileMaskAtom(pkg.cpv, pkg.metadata): diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index cfeb8942e..2a596fa86 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -4578,10 +4578,15 @@ def _spawn_misc_sh(mysettings, commands, **kwargs): eerror(l, phase=mydo, key=mysettings.mycpv) return rval +_deprecated_eapis = frozenset(["2_pre3", "2_pre2", "2_pre1"]) + +def _eapi_is_deprecated(eapi): + return eapi in _deprecated_eapis + def eapi_is_supported(eapi): eapi = str(eapi).strip() - if eapi in ("2_pre3", "2_pre2", "2_pre1"): + if _eapi_is_deprecated(eapi): return True try: @@ -6758,6 +6763,8 @@ def getmaskingstatus(mycpv, settings=None, portdb=None): eapi = eapi[1:] if not eapi_is_supported(eapi): return ["EAPI %s" % eapi] + elif _eapi_is_deprecated(eapi) and not installed: + return ["EAPI %s" % eapi] egroups = settings.configdict["backupenv"].get( "ACCEPT_KEYWORDS", "").split() mygroups = mygroups.split() diff --git a/pym/portage/dbapi/porttree.py b/pym/portage/dbapi/porttree.py index 8d3700741..41ca19c85 100644 --- a/pym/portage/dbapi/porttree.py +++ b/pym/portage/dbapi/porttree.py @@ -20,7 +20,8 @@ from portage.versions import pkgsplit, catpkgsplit, best, ver_regexp import portage.gpg, portage.checksum from portage import eclass_cache, auxdbkeys, doebuild, flatten, \ - listdir, dep_expand, eapi_is_supported, key_expand, dep_check + listdir, dep_expand, eapi_is_supported, key_expand, dep_check, \ + _eapi_is_deprecated import os, stat from itertools import izip @@ -917,7 +918,10 @@ class portdbapi(dbapi): writemsg("!!! %s\n" % str(e), noiselevel=-1) del e continue - if not eapi_is_supported(metadata["EAPI"]): + eapi = metadata["EAPI"] + if not eapi_is_supported(eapi): + continue + if _eapi_is_deprecated(eapi): continue if self.mysettings._getMissingKeywords(mycpv, metadata): continue |