diff options
author | Sebastian Luther <SebastianLuther@gmx.de> | 2010-07-23 12:26:13 +0200 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-07-23 09:47:13 -0700 |
commit | ecf43a2bb0fbed01c55d809a422bd6e70f708670 (patch) | |
tree | 83d5b96d8220257555112d194d9fb78ae5ed6bf3 | |
parent | bd52bd0e2f7dd70508c7d7eea47587c715f4d3c3 (diff) | |
download | portage-ecf43a2bb0fbed01c55d809a422bd6e70f708670.tar.gz portage-ecf43a2bb0fbed01c55d809a422bd6e70f708670.tar.bz2 portage-ecf43a2bb0fbed01c55d809a422bd6e70f708670.zip |
Make atoms with wildcards work in package.mask and package.unmask
-rw-r--r-- | pym/portage/package/ebuild/config.py | 13 |
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 |