add_pkg_dep_string: fix reversed inst_pkgs order
authorZac Medico <zmedico@gentoo.org>
Fri, 3 Jun 2011 03:47:09 +0000 (20:47 -0700)
committerZac Medico <zmedico@gentoo.org>
Fri, 3 Jun 2011 03:47:09 +0000 (20:47 -0700)
This code was intended to iterate over packages in descending order,
but match_pkgs() returns them in ascending order, so we need to
reverse it.

pym/_emerge/depgraph.py

index 5314b5e50882f33272848f8b0876f36e73dfae74..b71d3648d5a0020e0e880225fcb485ed1942e0ba 100644 (file)
@@ -1488,7 +1488,8 @@ class depgraph(object):
 
                        mypriority = dep_priority.copy()
                        if not atom.blocker:
-                               inst_pkgs = [inst_pkg for inst_pkg in vardb.match_pkgs(atom)
+                               inst_pkgs = [inst_pkg for inst_pkg in
+                                       reversed(vardb.match_pkgs(atom))
                                        if not reinstall_atoms.findAtomForPackage(inst_pkg,
                                                        modified_use=self._pkg_use_enabled(inst_pkg))]
                                if inst_pkgs:
@@ -1574,7 +1575,8 @@ class depgraph(object):
                        if not dep_priority.ignored or \
                                self._dynamic_config._traverse_ignored_deps:
 
-                               inst_pkgs = [inst_pkg for inst_pkg in vardb.match_pkgs(virt_dep.atom)
+                               inst_pkgs = [inst_pkg for inst_pkg in
+                                       reversed(vardb.match_pkgs(virt_dep.atom))
                                        if not reinstall_atoms.findAtomForPackage(inst_pkg,
                                                        modified_use=self._pkg_use_enabled(inst_pkg))]
                                if inst_pkgs:
@@ -1603,7 +1605,8 @@ class depgraph(object):
                                # This is a GLEP 37 virtual, so its deps are all runtime.
                                mypriority = self._priority(runtime=True)
                                if not atom.blocker:
-                                       inst_pkgs = [inst_pkg for inst_pkg in vardb.match_pkgs(atom)
+                                       inst_pkgs = [inst_pkg for inst_pkg in
+                                               reversed(vardb.match_pkgs(atom))
                                                if not reinstall_atoms.findAtomForPackage(inst_pkg,
                                                                modified_use=self._pkg_use_enabled(inst_pkg))]
                                        if inst_pkgs: