diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-05-22 11:53:41 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-05-22 11:53:41 -0700 |
commit | d0a8b0bdfeeb406f459ee460f0df3b1b3360ddf1 (patch) | |
tree | 428301ec445b9116dffb8fa6f9880225b394fd45 /pym/_emerge/Scheduler.py | |
parent | 9f4e7fa99017888ffed7414a6238961165b6d4e6 (diff) | |
download | portage-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.py | 24 |
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 |