When checking for conflicts between packages inside depgraph._greedy_slots(),
authorZac Medico <zmedico@gentoo.org>
Mon, 12 Jan 2009 16:47:01 +0000 (16:47 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 12 Jan 2009 16:47:01 +0000 (16:47 -0000)
never double-check any of the pairs.

svn path=/main/trunk/; revision=12486

pym/_emerge/__init__.py

index dc1d932a2464fb95e2415f38d82089c367b32370..9120cf8045b4da3016fa652aa3a04930c3ba6118 100644 (file)
@@ -5701,14 +5701,14 @@ class depgraph(object):
                # If two packages conflict, discard the lower version.
                discard_pkgs = set()
                greedy_pkgs.sort(reverse=True)
-               for pkg1 in greedy_pkgs:
+               for i in xrange(len(greedy_pkgs) - 1):
+                       pkg1 = greedy_pkgs[i]
                        if pkg1 in discard_pkgs:
                                continue
-                       for pkg2 in greedy_pkgs:
+                       for j in xrange(i + 1, len(greedy_pkgs)):
+                               pkg2 = greedy_pkgs[j]
                                if pkg2 in discard_pkgs:
                                        continue
-                               if pkg1 is pkg2:
-                                       continue
                                if blockers[pkg1].findAtomForPackage(pkg2) or \
                                        blockers[pkg2].findAtomForPackage(pkg1):
                                        # pkg1 > pkg2