summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage/package/ebuild/config.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py
index 9e55cc883..3ba8cc311 100644
--- a/pym/portage/package/ebuild/config.py
+++ b/pym/portage/package/ebuild/config.py
@@ -1714,10 +1714,19 @@ class config(object):
"""
cp = cpv_getkey(cpv)
- mask_atoms = self.pmaskdict.get(cp)
+ c, p = catsplit(cp)
+ mask_atoms = []
+ mask_atoms.extend(self.pmaskdict.get("*/*", []))
+ mask_atoms.extend(self.pmaskdict.get(c+"/*", []))
+ mask_atoms.extend(self.pmaskdict.get("*/"+p, []))
+ mask_atoms.extend(self.pmaskdict.get(cp, []))
if mask_atoms:
pkg_list = ["%s:%s" % (cpv, metadata["SLOT"])]
- unmask_atoms = self.punmaskdict.get(cp)
+ unmask_atoms = []
+ unmask_atoms.extend(self.punmaskdict.get("*/*", []))
+ unmask_atoms.extend(self.punmaskdict.get(c+"/*", []))
+ unmask_atoms.extend(self.punmaskdict.get("*/"+p, []))
+ unmask_atoms.extend(self.punmaskdict.get(cp, []))
for x in mask_atoms:
if not match_from_list(x, pkg_list):
continue