diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-05-22 11:53:41 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-05-25 21:19:08 -0700 |
commit | 3aa1e1568f61e0975dd65f933a496b991093c37e (patch) | |
tree | c2e1db11525ccfb8ce8ece8e5228185effda0fe6 /pym/_emerge/depgraph.py | |
parent | 4d77cd685678879d114603196787e2c796df9b2e (diff) | |
download | portage-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.py | 12 |
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] |