summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/Scheduler.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-22 11:53:41 -0700
commitd0a8b0bdfeeb406f459ee460f0df3b1b3360ddf1 (patch)
tree428301ec445b9116dffb8fa6f9880225b394fd45 /pym/_emerge/Scheduler.py
parent9f4e7fa99017888ffed7414a6238961165b6d4e6 (diff)
downloadportage-d0a8b0bdfeeb406f459ee460f0df3b1b3360ddf1.tar.gz
portage-d0a8b0bdfeeb406f459ee460f0df3b1b3360ddf1.tar.bz2
portage-d0a8b0bdfeeb406f459ee460f0df3b1b3360ddf1.zip
Package: add new _gen_hash_key method
Diffstat (limited to 'pym/_emerge/Scheduler.py')
-rw-r--r--pym/_emerge/Scheduler.py24
1 files changed, 4 insertions, 20 deletions
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py
index 74d888a2e..b10439a00 100644
--- a/pym/_emerge/Scheduler.py
+++ b/pym/_emerge/Scheduler.py
@@ -2016,27 +2016,11 @@ class Scheduler(PollScheduler):
corrupt).
"""
- if type_name != "ebuild":
- # For installed (and binary) packages we don't care for the repo
- # when it comes to hashing, because there can only be one cpv.
- # So overwrite the repo_key with type_name.
- repo_key = type_name
- myrepo = None
- elif myrepo is None:
- raise AssertionError(
- "Scheduler._pkg() called without 'myrepo' argument")
- else:
- repo_key = myrepo
-
- if operation is None:
- if installed:
- operation = "nomerge"
- else:
- operation = "merge"
-
# Reuse existing instance when available.
- pkg = self._pkg_cache.get(
- (type_name, root_config.root, cpv, operation, repo_key))
+ pkg = self._pkg_cache.get(Package._gen_hash_key(cpv=cpv,
+ type_name=type_name, repo_name=myrepo, root_config=root_config,
+ installed=installed, operation=operation))
+
if pkg is not None:
return pkg