summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-10-31 04:29:51 +0000
committerZac Medico <zmedico@gentoo.org>2008-10-31 04:29:51 +0000
commit677a4b93c62040b04fc240ae7f891b4c3ec70534 (patch)
treecc7acec67ec86b7ee81756b85d6792eb2be91209
parentd0ad77f85ea7f55f2ff4f4cf580999b1308e4df1 (diff)
downloadportage-677a4b93c62040b04fc240ae7f891b4c3ec70534.tar.gz
portage-677a4b93c62040b04fc240ae7f891b4c3ec70534.tar.bz2
portage-677a4b93c62040b04fc240ae7f891b4c3ec70534.zip
Bug #244947 - Add repoman support for checking masked and forced flags when
verifying USE deps. Thanks to Brian Harring for reporting. svn path=/main/trunk/; revision=11762
-rw-r--r--pym/portage/dbapi/__init__.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/pym/portage/dbapi/__init__.py b/pym/portage/dbapi/__init__.py
index 0900fcfa8..89810eb2f 100644
--- a/pym/portage/dbapi/__init__.py
+++ b/pym/portage/dbapi/__init__.py
@@ -169,6 +169,26 @@ class dbapi(object):
continue
if atom.use.disabled.intersection(use):
continue
+ else:
+ # Check masked and forced flags for repoman.
+ mysettings = getattr(self, "mysettings", None)
+ if mysettings is not None and not mysettings.local_config:
+
+ usemask = mysettings.usemask
+ conditional = atom.use.conditional
+ if usemask.intersection(atom.use.enabled):
+ continue
+ if conditional is not None and \
+ usemask.intersection(conditional.enabled):
+ continue
+
+ useforce = mysettings.useforce.difference(usemask)
+ if useforce.intersection(atom.use.disabled):
+ continue
+ if conditional is not None and \
+ useforce.intersection(conditional.disabled):
+ continue
+
yield cpv
def invalidentry(self, mypath):