summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/FakeVartree.py
diff options
context:
space:
mode:
Diffstat (limited to 'pym/_emerge/FakeVartree.py')
-rw-r--r--pym/_emerge/FakeVartree.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/pym/_emerge/FakeVartree.py b/pym/_emerge/FakeVartree.py
index 64a39cf4d..b7b089338 100644
--- a/pym/_emerge/FakeVartree.py
+++ b/pym/_emerge/FakeVartree.py
@@ -200,7 +200,11 @@ class FakeVartree(vartree):
mycounter = 0
pkg.metadata["COUNTER"] = str(mycounter)
- self._pkg_cache[pkg] = pkg
+ #For installed (and binary) packages we don't care for the repo when it comes to
+ #caching, because there can only be one cpv. So overwrite the repo key with type_name.
+ #Make sure that .operation is computed.
+ pkg._get_hash_key()
+ self._pkg_cache[(pkg.type_name, pkg.root, pkg.cpv, pkg.operation, pkg.type_name)] = pkg
return pkg
def grab_global_updates(portdb):