summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-09-04 21:29:04 +0000
committerZac Medico <zmedico@gentoo.org>2006-09-04 21:29:04 +0000
commit9aa0e5d0bb3d697fd9fdf0fc7349f1d0ac1f0d35 (patch)
tree05c3e039ea4b80e1ae5161382d11c208596f7dbd /pym
parentb616d9ce842fcda526d1c5cc07f61f2a888058ea (diff)
downloadportage-9aa0e5d0bb3d697fd9fdf0fc7349f1d0ac1f0d35.tar.gz
portage-9aa0e5d0bb3d697fd9fdf0fc7349f1d0ac1f0d35.tar.bz2
portage-9aa0e5d0bb3d697fd9fdf0fc7349f1d0ac1f0d35.zip
Only apply USE masks in dep_check when called by repoman with use="all".
svn path=/main/trunk/; revision=4405
Diffstat (limited to 'pym')
-rw-r--r--pym/portage.py13
1 files changed, 9 insertions, 4 deletions
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"))