diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-10-31 04:29:51 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-10-31 04:29:51 +0000 |
commit | 677a4b93c62040b04fc240ae7f891b4c3ec70534 (patch) | |
tree | cc7acec67ec86b7ee81756b85d6792eb2be91209 | |
parent | d0ad77f85ea7f55f2ff4f4cf580999b1308e4df1 (diff) | |
download | portage-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__.py | 20 |
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): |