summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/FakeVartree.py
diff options
context:
space:
mode:
authorSebastian Luther <SebastianLuther@gmx.de>2010-09-21 20:39:39 +0200
committerZac Medico <zmedico@gentoo.org>2010-09-26 23:50:14 -0700
commitb484ce5218c988151416065ad86af2599838b77f (patch)
tree734d001a3bfed15f3b3b46d49a498cd5e24cfe2d /pym/_emerge/FakeVartree.py
parentde09276c71084e73b955f72ddbf750e5d63d8aa2 (diff)
downloadportage-b484ce5218c988151416065ad86af2599838b77f.tar.gz
portage-b484ce5218c988151416065ad86af2599838b77f.tar.bz2
portage-b484ce5218c988151416065ad86af2599838b77f.zip
reposyntax: Next try at fixing the package cache
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):