In depgraph._complete_graph(), use cached Package instances instead
authorZac Medico <zmedico@gentoo.org>
Fri, 2 May 2008 19:03:28 +0000 (19:03 -0000)
committerZac Medico <zmedico@gentoo.org>
Fri, 2 May 2008 19:03:28 +0000 (19:03 -0000)
of constructing new ones. (trunk r10096)

svn path=/main/branches/2.1.2/; revision=10097

bin/emerge

index 28bdbee1d695310567472d4f66a74cf3f2f97596..af42ebfa54491f9a54d642b95c12797309f18687 100755 (executable)
@@ -3241,7 +3241,7 @@ class depgraph(object):
                        # that are initially satisfied.
                        while self._unsatisfied_deps:
                                dep = self._unsatisfied_deps.pop()
-                               matches = vardb.match(dep.atom)
+                               matches = vardb.match_pkgs(dep.atom)
                                if not matches:
                                        # Initially unsatisfied.
                                        continue
@@ -3249,12 +3249,7 @@ class depgraph(object):
                                # Add the installed package to the graph so that it
                                # will be appropriately reported as a slot collision
                                # (possibly solvable via backtracking).
-                               cpv = matches[-1] # highest match
-                               metadata = dict(izip(self._mydbapi_keys,
-                                       vardb.aux_get(cpv, self._mydbapi_keys)))
-                               pkg = Package(type_name="installed", root=root,
-                                       cpv=cpv, metadata=metadata, built=True,
-                                       installed=True)
+                               pkg = matches[-1] # highest match
                                if not self._add_pkg(pkg, dep.parent,
                                        priority=dep.priority, depth=dep.depth):
                                        return 0