summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorSebastian Luther <SebastianLuther@gmx.de>2010-07-23 12:26:13 +0200
committerZac Medico <zmedico@gentoo.org>2010-07-23 09:47:13 -0700
commitecf43a2bb0fbed01c55d809a422bd6e70f708670 (patch)
tree83d5b96d8220257555112d194d9fb78ae5ed6bf3 /pym
parentbd52bd0e2f7dd70508c7d7eea47587c715f4d3c3 (diff)
downloadportage-ecf43a2bb0fbed01c55d809a422bd6e70f708670.tar.gz
portage-ecf43a2bb0fbed01c55d809a422bd6e70f708670.tar.bz2
portage-ecf43a2bb0fbed01c55d809a422bd6e70f708670.zip
Make atoms with wildcards work in package.mask and package.unmask
Diffstat (limited to 'pym')
-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