summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-03-23 21:36:31 +0000
committerZac Medico <zmedico@gentoo.org>2009-03-23 21:36:31 +0000
commit803a5da8fbf72f9eaa9a1ffd143098160b04ce2f (patch)
tree3270375eaed6f0a4b0c176a34836b5fcb53d0064
parentAdd support for FEATURES=parse-eapi-ebuild-head, which is similar to GLEP 55 (diff)
downloadportage-multirepo-803a5da8fbf72f9eaa9a1ffd143098160b04ce2f.tar.gz
portage-multirepo-803a5da8fbf72f9eaa9a1ffd143098160b04ce2f.tar.bz2
portage-multirepo-803a5da8fbf72f9eaa9a1ffd143098160b04ce2f.zip
If a package is masked by EAPI then don't show any other masking reasons.
svn path=/main/trunk/; revision=13174
-rw-r--r--pym/_emerge/__init__.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index 76acb8a1..4a673e19 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -1441,9 +1441,15 @@ def get_mask_info(root_config, cpv, pkgsettings,
if metadata is None:
mreasons = ["corruption"]
else:
- pkg = Package(type_name=pkg_type, root_config=root_config,
- cpv=cpv, built=built, installed=installed, metadata=metadata)
- mreasons = get_masking_status(pkg, pkgsettings, root_config)
+ eapi = metadata['EAPI']
+ if eapi[:1] == '-':
+ eapi = eapi[1:]
+ if not portage.eapi_is_supported(eapi):
+ mreasons = ['EAPI %s' % eapi]
+ else:
+ pkg = Package(type_name=pkg_type, root_config=root_config,
+ cpv=cpv, built=built, installed=installed, metadata=metadata)
+ mreasons = get_masking_status(pkg, pkgsettings, root_config)
return metadata, mreasons
def show_masked_packages(masked_packages):