summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
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"))