If a package is masked by EAPI then don't show any other masking reasons.
authorZac Medico <zmedico@gentoo.org>
Mon, 23 Mar 2009 21:36:31 +0000 (21:36 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 23 Mar 2009 21:36:31 +0000 (21:36 -0000)
svn path=/main/trunk/; revision=13174

pym/_emerge/__init__.py

index 76acb8a1666c75507549b0d41b9b195ced505dd0..4a673e19d51b7d571776778e624f6b69f1406b4a 100644 (file)
@@ -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):