From: Zac Medico <zmedico@gentoo.org>
Date: Mon, 4 Sep 2006 21:29:04 +0000 (-0000)
Subject: Only apply USE masks in dep_check when called by repoman with use="all".
X-Git-Tag: v2.1.1~18
X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=9aa0e5d0bb3d697fd9fdf0fc7349f1d0ac1f0d35;p=portage.git

Only apply USE masks in dep_check when called by repoman with use="all".

svn path=/main/trunk/; revision=4405
---

diff --git a/pym/portage.py b/pym/portage.py
index 600c9cd71..c9ad04a88 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -3451,10 +3451,15 @@ def dep_check(depstring, mydbapi, mysettings, use="yes", mode=None, myuse=None,
 
 	if mysettings:
 		mymasks = set()
-		mymasks.update(mysettings.usemask)
-		mymasks.update(mysettings.pusemask)
-		mymasks.update(mysettings.archlist())
-		mymasks.discard(mysettings["ARCH"])
+		if use == "all":
+			# These masks are only for repoman.  In other cases, relevant masks
+			# should have already been applied via config.regenerate().  Also,
+			# binary or installed packages may have been built with flags that
+			# are now masked, and it would be inconsistent to mask them now.
+			mymasks.update(mysettings.usemask)
+			mymasks.update(mysettings.pusemask)
+			mymasks.update(mysettings.archlist())
+			mymasks.discard(mysettings["ARCH"])
 		mysplit = portage_dep.use_reduce(mysplit,uselist=myusesplit,masklist=mymasks,matchall=(use=="all"),excludeall=[mysettings["ARCH"]])
 	else:
 		mysplit = portage_dep.use_reduce(mysplit,uselist=myusesplit,matchall=(use=="all"))