From f2d3f3a9b71c2de5c7dfb219dbe690705e595e1c Mon Sep 17 00:00:00 2001 From: Markus Lehtonen Date: Fri, 19 Feb 2016 15:21:33 +0200 Subject: SignatureGenerator: make checksum_cache arg of get_taskhash() mandatory Drop support for the "old" API. Now anyone extending SignatureGenerator by overriding get_taskhash() has to use the new function prototype. Signed-off-by: Markus Lehtonen --- lib/bb/runqueue.py | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) (limited to 'lib/bb/runqueue.py') diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index 73567408c1..27bf6893cf 100644 --- a/lib/bb/runqueue.py +++ b/lib/bb/runqueue.py @@ -231,16 +231,10 @@ class RunQueueData: self.stampwhitelist = cfgData.getVar("BB_STAMP_WHITELIST", True) or "" self.multi_provider_whitelist = (cfgData.getVar("MULTI_PROVIDER_WHITELIST", True) or "").split() - # Check if get_taskhash implements the new API. If so, use our own file - # checksum cache - self.checksum_cache = None - if 'checksum_cache' in inspect.getargspec(bb.parse.siggen.get_taskhash).args: - checksum_cache_file = cfgData.getVar("BB_HASH_CHECKSUM_CACHE_FILE", True) - self.checksum_cache = FileChecksumCache() - self.checksum_cache.init_cache(cfgData, checksum_cache_file) - else: - logger.warn("%s implements deprecated API of get_taskhash(), " - "missing the 'checksum_cache' argument" % bb.parse.siggen.__class__.__name__) + checksum_cache_file = cfgData.getVar("BB_HASH_CHECKSUM_CACHE_FILE", True) + self.checksum_cache = FileChecksumCache() + self.checksum_cache.init_cache(cfgData, checksum_cache_file) + self.reset() def reset(self): @@ -908,18 +902,10 @@ class RunQueueData: procdep = [] for dep in self.runq_depends[task]: procdep.append(self.taskData.fn_index[self.runq_fnid[dep]] + "." + self.runq_task[dep]) - if self.checksum_cache: - self.runq_hash[task] = bb.parse.siggen.get_taskhash(self.taskData.fn_index[self.runq_fnid[task]], self.runq_task[task], procdep, self.dataCache, self.checksum_cache) - else: - self.runq_hash[task] = bb.parse.siggen.get_taskhash(self.taskData.fn_index[self.runq_fnid[task]], self.runq_task[task], procdep, self.dataCache) + self.runq_hash[task] = bb.parse.siggen.get_taskhash(self.taskData.fn_index[self.runq_fnid[task]], self.runq_task[task], procdep, self.dataCache, self.checksum_cache) # Write out checksum cache onto disk - if self.checksum_cache: - self.checksum_cache.save_extras() - self.checksum_cache.save_merge() - else: - # This relies on the "knowledge" that siggen uses cache of bb.fetch2 - bb.fetch2.fetcher_parse_save() - bb.fetch2.fetcher_parse_done() + self.checksum_cache.save_extras() + self.checksum_cache.save_merge() return len(self.runq_fnid) -- cgit 1.2.3-korg