summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-03-26 20:09:35 +0000
committerZac Medico <zmedico@gentoo.org>2007-03-26 20:09:35 +0000
commitdcac7221498c1091d436ef67d40431a133f36121 (patch)
tree8c30ced4d88e7e779f3c889f6f42976f73a461f3
parentf9e13b22dcaa881f2b6b0cb6267157828b13e3e8 (diff)
downloadportage-dcac7221498c1091d436ef67d40431a133f36121.tar.gz
portage-dcac7221498c1091d436ef67d40431a133f36121.tar.bz2
portage-dcac7221498c1091d436ef67d40431a133f36121.zip
Continue to support profile masking at least until bug #170697 is settled.
svn path=/main/trunk/; revision=6292
-rw-r--r--pym/portage/dbapi/porttree.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/pym/portage/dbapi/porttree.py b/pym/portage/dbapi/porttree.py
index af14499d6..11182d1c1 100644
--- a/pym/portage/dbapi/porttree.py
+++ b/pym/portage/dbapi/porttree.py
@@ -622,6 +622,19 @@ class portdbapi(dbapi):
except ValueError:
pass
+ profile_atoms = self.mysettings.prevmaskdict.get(mycp)
+ if profile_atoms:
+ for x in profile_atoms:
+ #important: only match against the still-unmasked entries...
+ #notice how we pass "newlist" to the xmatch() call below....
+ #Without this, ~ deps in the packages files are broken.
+ mymatches=self.xmatch("match-list",x,mylist=newlist)
+ if mymatches is None:
+ #error in packages file; print warning and continue:
+ print "emerge: visible(): profile packages entry \""+x+"\" is invalid, ignoring..."
+ continue
+ newlist = [cpv for cpv in newlist if cpv in mymatches]
+
return newlist
def gvisible(self,mylist):