From 3f310733698f98e67d8432204b86d85bb1e57349 Mon Sep 17 00:00:00 2001 From: Fabian Groffen Date: Wed, 6 Dec 2006 20:42:14 +0000 Subject: [PATCH] Merged from trunk 5183:5185 Remove dependence on the vartree api by using equivalent vardbapi calls. Only call calc_changelog if there is an installed version in the same slot. svn path=/main/branches/prefix/; revision=5187 --- bin/emerge | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/bin/emerge b/bin/emerge index e659c9b41..34f160333 100755 --- a/bin/emerge +++ b/bin/emerge @@ -1848,6 +1848,7 @@ class depgraph: pkg_key = x[2] portdb = self.trees[myroot]["porttree"].dbapi bindb = self.trees[myroot]["bintree"].dbapi + vardb = self.trees[myroot]["vartree"].dbapi vartree = self.trees[myroot]["vartree"] pkgsettings = self.pkgsettings[myroot] @@ -1856,7 +1857,8 @@ class depgraph: if x[0]=="blocks": addl=""+red("B")+" "+fetch+" " counters.blocks += 1 - resolved = self.trees[x[1]]["vartree"].resolve_key(x[2]) + resolved = portage.key_expand( + pkg_key, mydb=vardb, settings=pkgsettings) print "["+x[0]+" "+addl+"]",red(resolved), block_parents = self.blocker_parents[" ".join(x)] block_parents = [pnode.split()[2] for pnode in block_parents] @@ -1901,16 +1903,16 @@ class depgraph: #we need to use "--emptrytree" testing here rather than "empty" param testing because "empty" #param is used for -u, where you still *do* want to see when something is being upgraded. myoldbest="" - if self.trees[x[1]]["vartree"].exists_specific(pkg_key): + if vardb.cpv_exists(pkg_key): addl=" "+yellow("R")+fetch+" " if x[3] != "nomerge": counters.reinst += 1 - elif self.trees[x[1]]["vartree"].exists_specific_cat(pkg_key): + elif vardb.match(portage.dep_getkey(pkg_key)): mynewslot = mydbapi.aux_get(pkg_key, ["SLOT"])[0] myoldlist = self.trees[x[1]]["vartree"].dbapi.match( portage.pkgsplit(x[2])[0]) myinslotlist = [inst_pkg for inst_pkg in myoldlist - if mynewslot == vartree.getslot(inst_pkg)] + if mynewslot == vardb.aux_get(inst_pkg, ["SLOT"])[0]] if myinslotlist: myoldbest=portage.best(myinslotlist) addl=" "+fetch @@ -1928,10 +1930,13 @@ class depgraph: counters.newslot += 1 if "--changelog" in self.myopts: - changelogs.extend(self.calc_changelog( - portdb.findname(pkg_key), - self.trees[x[1]]["vartree"].dep_bestmatch( - '/'.join(portage.catpkgsplit(x[2])[:2])), x[2])) + slot_atom = "%s:%s" % (portage.dep_getkey(pkg_key), + mydbapi.aux_get(pkg_key, ["SLOT"])[0]) + inst_matches = vardb.match(slot_atom) + if inst_matches: + changelogs.extend(self.calc_changelog( + portdb.findname(pkg_key), + inst_matches[0], pkg_key)) else: addl=" "+green("N")+" "+fetch+" " counters.new += 1 -- 2.26.2