dep_check_composite_db: return early from cp_list
authorZac Medico <zmedico@gentoo.org>
Wed, 11 May 2011 04:03:02 +0000 (21:03 -0700)
committerZac Medico <zmedico@gentoo.org>
Wed, 11 May 2011 04:03:02 +0000 (21:03 -0700)
Since this implementation is only intended to check for existence of
new-style virtuals, it's a waste of time to return more than one cpv.

pym/_emerge/depgraph.py

index 6c79819d26feb1f0088d69788ceee43246e84843..b8089ae96067ede86a036d203471d13c5dceb104 100644 (file)
@@ -6051,7 +6051,9 @@ class _dep_check_composite_db(dbapi):
        def cp_list(self, cp):
                """
                Emulate cp_list just so it can be used to check for existence
-               of new-style virtuals.
+               of new-style virtuals. Since it's a waste of time to return
+               more than one cpv for this use case, a maximum of one cpv will
+               be returned.
                """
                if isinstance(cp, Atom):
                        atom = cp
@@ -6062,6 +6064,7 @@ class _dep_check_composite_db(dbapi):
                        self._depgraph._frozen_config.roots[self._root], atom):
                        if pkg.cp == cp:
                                ret.append(pkg.cpv)
+                               break
 
                return ret