summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/emerge6
-rw-r--r--pym/portage.py18
2 files changed, 12 insertions, 12 deletions
diff --git a/bin/emerge b/bin/emerge
index 8f37ac580..7cd5b58ef 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -745,7 +745,7 @@ class depgraph:
if "empty" not in self.myparams or self.target_root != "/":
for pkg in vardb.cpv_all():
myslot = vardb.aux_get(pkg, ["SLOT"])[0]
- fakedb.cpv_inject(pkg, myslot=myslot)
+ fakedb.cpv_inject(pkg, metadata={"SLOT":myslot})
if self.target_root != "/":
self.mydbapi[self.target_root] = \
portage.fakedbapi(settings=settings)
@@ -754,7 +754,7 @@ class depgraph:
if "empty" not in self.myparams:
for pkg in vardb.cpv_all():
myslot = vardb.aux_get(pkg, ["SLOT"])[0]
- fakedb.cpv_inject(pkg, myslot=myslot)
+ fakedb.cpv_inject(pkg, metadata={"SLOT":myslot})
if "--usepkg" in self.myopts:
trees["/"]["bintree"].populate(
"--getbinpkg" in self.myopts, "--getbinpkgonly" in self.myopts)
@@ -887,7 +887,7 @@ class depgraph:
if addme:
myslot = mydbapi.aux_get(mykey, ["SLOT"])[0]
- self.mydbapi[myroot].cpv_inject(mykey, myslot=myslot)
+ self.mydbapi[myroot].cpv_inject(mykey, metadata={"SLOT":myslot})
""" This section determines whether we go deeper into dependencies or not.
We want to go deeper on a few occasions:
diff --git a/pym/portage.py b/pym/portage.py
index 23f51c50d..44e99d7eb 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -4236,10 +4236,13 @@ class fakedbapi(dbapi):
def cpv_all(self):
return self.cpvdict.keys()
- def cpv_inject(self, mycpv, myslot=None):
+ def cpv_inject(self, mycpv, metadata=None):
"""Adds a cpv from the list of available packages."""
mycp=cpv_getkey(mycpv)
- self.cpvdict[mycpv] = myslot
+ self.cpvdict[mycpv] = metadata
+ myslot = None
+ if metadata:
+ myslot = metadata.get("SLOT", None)
if myslot and mycp in self.cpdict:
# If necessary, remove another package in the same SLOT.
for cpv in self.cpdict[mycp]:
@@ -4276,13 +4279,10 @@ class fakedbapi(dbapi):
def aux_get(self, mycpv, wants):
if not self.cpv_exists(mycpv):
raise KeyError(mycpv)
- values = []
- for x in wants:
- if x == "SLOT":
- values.append(self.cpvdict[mycpv])
- else:
- values.append("")
- return values
+ metadata = self.cpvdict[mycpv]
+ if not metadata:
+ return ["" for x in wants]
+ return [metadata.get(x, "") for x in wants]
class bindbapi(fakedbapi):
def __init__(self, mybintree=None, settings=None):