summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/depgraph.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-05-22 11:53:41 -0700
committerZac Medico <zmedico@gentoo.org>2011-05-25 21:19:08 -0700
commit3aa1e1568f61e0975dd65f933a496b991093c37e (patch)
treec2e1db11525ccfb8ce8ece8e5228185effda0fe6 /pym/_emerge/depgraph.py
parent4d77cd685678879d114603196787e2c796df9b2e (diff)
downloadportage-3aa1e1568f61e0975dd65f933a496b991093c37e.tar.gz
portage-3aa1e1568f61e0975dd65f933a496b991093c37e.tar.bz2
portage-3aa1e1568f61e0975dd65f933a496b991093c37e.zip
Package: add new _gen_hash_key method
Diffstat (limited to 'pym/_emerge/depgraph.py')
-rw-r--r--pym/_emerge/depgraph.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index d0409a416..6c126e1d6 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -3744,18 +3744,20 @@ class depgraph(object):
failures for some reason (package does not exist or is
corrupt).
"""
- operation = "merge"
- if installed or onlydeps:
- operation = "nomerge"
+
# Ensure that we use the specially optimized RootConfig instance
# that refers to FakeVartree instead of the real vartree.
root_config = self._frozen_config.roots[root_config.root]
pkg = self._frozen_config._pkg_cache.get(
- (type_name, root_config.root, cpv, operation))
+ Package._gen_hash_key(cpv=cpv, type_name=type_name,
+ root_config=root_config,
+ installed=installed, onlydeps=onlydeps))
if pkg is None and onlydeps and not installed:
# Maybe it already got pulled in as a "merge" node.
pkg = self._dynamic_config.mydbapi[root_config.root].get(
- (type_name, root_config.root, cpv, 'merge'))
+ Package._gen_hash_key(cpv=cpv, type_name=type_name,
+ root_config=root_config,
+ installed=installed, onlydeps=False))
if pkg is None:
tree_type = self.pkg_tree_map[type_name]