depgraph: check unevaluated USE dep IUSE earlier
authorZac Medico <zmedico@gentoo.org>
Sat, 27 Nov 2010 06:30:19 +0000 (22:30 -0800)
committerZac Medico <zmedico@gentoo.org>
Sat, 27 Nov 2010 06:30:19 +0000 (22:30 -0800)
pym/_emerge/depgraph.py

index e2d16453ee33247c15d122743fca4cba3072d40d..f2039e4e0e435816a9f2e79328d47fe31d491aad 100644 (file)
@@ -2964,6 +2964,13 @@ class depgraph(object):
                                        if not installed and myarg:
                                                found_available_arg = True
 
+                                       if atom.unevaluated_atom.use:
+                                               #Make sure we don't miss a 'missing IUSE'.
+                                               if pkg.iuse.get_missing_iuse(atom.unevaluated_atom.use.required):
+                                                       # Don't add this to packages_with_invalid_use_config
+                                                       # since IUSE cannot be adjusted by the user.
+                                                       continue
+
                                        if atom.use:
                                                if pkg.iuse.get_missing_iuse(atom.use.required):
                                                        # Don't add this to packages_with_invalid_use_config
@@ -3017,13 +3024,6 @@ class depgraph(object):
                                                if not use_match:
                                                        continue
 
-                                       elif atom.unevaluated_atom.use:
-                                               #Make sure we don't miss a 'missing IUSE'.
-                                               if pkg.iuse.get_missing_iuse(atom.unevaluated_atom.use.required):
-                                                       # Don't add this to packages_with_invalid_use_config
-                                                       # since IUSE cannot be adjusted by the user.
-                                                       continue
-
                                        #check REQUIRED_USE constraints
                                        if not pkg.built and pkg.metadata["REQUIRED_USE"] and \
                                                eapi_has_required_use(pkg.metadata["EAPI"]):