Index: bin/emerge =================================================================== --- bin/emerge (revision 3806) +++ bin/emerge (working copy) @@ -764,6 +764,12 @@ edepend["RDEPEND"]=string.join(mytbz2.getelements("RDEPEND")," ") edepend["PDEPEND"]=string.join(mytbz2.getelements("PDEPEND")," ") edepend["SLOT"] =mytbz2.getfile("SLOT",mypkgparts[2]) + elif mytype=="installed": + myfoo = self.trees[myroot]["vartree"].dbapi.aux_get( + mykey, ["RDEPEND","PDEPEND"]) + edepend["DEPEND"] = "" + edepend["RDEPEND"] = myfoo[0] + edepend["PDEPEND"] = myfoo[1] elif mytype=="ebuild": try: mymeta = ["DEPEND","RDEPEND","PDEPEND"] @@ -1025,6 +1031,22 @@ else: #We are not processing a blocker but a normal dependency myeb=None + + vdb_match = portage.best( + self.trees[myroot]["vartree"].dbapi.match(x)) + + if vdb_match: + myk = ["installed", myroot, + self.trees[myroot]["vartree"].getebuildpath(vdb_match), "nomerge"] + if myparent: + #we are a dependency, so we want to be unconditionally added + if self.create(myk,myparent,myuse=binpkguseflags): + return 1 + elif self.create(myk, myparent, + "--onlydeps" not in self.myopts, + myuse=binpkguseflags): + return 1 + myeb_matches = portdb.xmatch("match-visible", x) if "--usepkgonly" not in self.myopts: myeb=portage.best(myeb_matches)