summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/Scheduler.py
diff options
context:
space:
mode:
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