public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] portage r11762 - main/trunk/pym/portage/dbapi
@ 2008-10-31  4:29 Zac Medico (zmedico)
  0 siblings, 0 replies; only message in thread
From: Zac Medico (zmedico) @ 2008-10-31  4:29 UTC (permalink / raw
  To: gentoo-commits

Author: zmedico
Date: 2008-10-31 04:29:51 +0000 (Fri, 31 Oct 2008)
New Revision: 11762

Modified:
   main/trunk/pym/portage/dbapi/__init__.py
Log:
Bug #244947 - Add repoman support for checking masked and forced flags when
verifying USE deps. Thanks to Brian Harring for reporting.


Modified: main/trunk/pym/portage/dbapi/__init__.py
===================================================================
--- main/trunk/pym/portage/dbapi/__init__.py	2008-10-31 04:26:06 UTC (rev 11761)
+++ main/trunk/pym/portage/dbapi/__init__.py	2008-10-31 04:29:51 UTC (rev 11762)
@@ -169,6 +169,26 @@
 					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):




^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-10-31  4:29 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-31  4:29 [gentoo-commits] portage r11762 - main/trunk/pym/portage/dbapi Zac Medico (zmedico)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox