Use a set for masklist inside dep_check.
authorZac Medico <zmedico@gentoo.org>
Mon, 4 Sep 2006 20:56:58 +0000 (20:56 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 4 Sep 2006 20:56:58 +0000 (20:56 -0000)
svn path=/main/trunk/; revision=4404

pym/portage.py

index aba4c224c7942feffd594f2b9c819c3656169754..600c9cd710795e3341b9af0c2e4a699c37d680cc 100644 (file)
@@ -3450,16 +3450,11 @@ def dep_check(depstring, mydbapi, mysettings, use="yes", mode=None, myuse=None,
        mysplit = portage_dep.paren_reduce(depstring)
 
        if mysettings:
-               # XXX: use="all" is only used by repoman. Why would repoman checks want
-               # profile-masked USE flags to be enabled?
-               #if use=="all":
-               #       mymasks=archlist[:]
-               #else:
-               mymasks = mysettings.usemask + list(mysettings.pusemask) + \
-                       mysettings.archlist()
-
-               while mysettings["ARCH"] in mymasks:
-                       del mymasks[mymasks.index(mysettings["ARCH"])]
+               mymasks = set()
+               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"))