Bug #244947 - Add repoman support for checking masked and forced flags when
authorZac Medico <zmedico@gentoo.org>
Fri, 31 Oct 2008 04:29:51 +0000 (04:29 -0000)
committerZac Medico <zmedico@gentoo.org>
Fri, 31 Oct 2008 04:29:51 +0000 (04:29 -0000)
verifying USE deps. Thanks to Brian Harring for reporting.

svn path=/main/trunk/; revision=11762

pym/portage/dbapi/__init__.py

index 0900fcfa8013a430d3567e6afb3764ea8c54f2fe..89810eb2f4e0858079d5af364a2baaf097bea94f 100644 (file)
@@ -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):