From e8b54b0363cc180d16191bf1d9d476f8ed21fa5d Mon Sep 17 00:00:00 2001 From: Markus Lehtonen Date: Fri, 19 Feb 2016 14:57:02 +0200 Subject: Move file checksum cache out of SignatureGenerator Just utilize the checksum cache in bb.fetch2 as it is not used for anything else. Signed-off-by: Markus Lehtonen --- lib/bb/fetch2/__init__.py | 2 +- lib/bb/runqueue.py | 5 ++++- lib/bb/siggen.py | 24 +----------------------- 3 files changed, 6 insertions(+), 25 deletions(-) diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index 6ef0c6fe7a..7e246555d1 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -510,7 +510,7 @@ def fetcher_init(d): else: raise FetchError("Invalid SRCREV cache policy of: %s" % srcrev_policy) - _checksum_cache.init_cache(d) + _checksum_cache.init_cache(d, d.getVar("BB_HASH_CHECKSUM_CACHE_FILE", True)) for m in methods: if hasattr(m, "init"): diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index e1b9b2e661..747ea484e3 100644 --- a/lib/bb/runqueue.py +++ b/lib/bb/runqueue.py @@ -897,7 +897,10 @@ class RunQueueData: procdep.append(self.taskData.fn_index[self.runq_fnid[dep]] + "." + self.runq_task[dep]) self.runq_hash[task] = bb.parse.siggen.get_taskhash(self.taskData.fn_index[self.runq_fnid[task]], self.runq_task[task], procdep, self.dataCache) - bb.parse.siggen.writeout_file_checksum_cache() + # Write out checksum cache onto disk + # This relies on the "knowledge" that siggen uses cache of bb.fetch2 + bb.fetch2.fetcher_parse_save() + bb.fetch2.fetcher_parse_done() return len(self.runq_fnid) def dump_data(self, taskQueue): diff --git a/lib/bb/siggen.py b/lib/bb/siggen.py index 5e2c29dd33..9d2c0b6b18 100644 --- a/lib/bb/siggen.py +++ b/lib/bb/siggen.py @@ -46,10 +46,6 @@ class SignatureGenerator(object): def get_taskhash(self, fn, task, deps, dataCache): return "0" - def writeout_file_checksum_cache(self): - """Write/update the file checksum cache onto disk""" - return - def stampfile(self, stampbase, file_name, taskname, extrainfo): return ("%s.%s.%s" % (stampbase, taskname, extrainfo)).rstrip('.') @@ -90,12 +86,6 @@ class SignatureGeneratorBasic(SignatureGenerator): self.basewhitelist = set((data.getVar("BB_HASHBASE_WHITELIST", True) or "").split()) self.taskwhitelist = None self.init_rundepcheck(data) - checksum_cache_file = data.getVar("BB_HASH_CHECKSUM_CACHE_FILE", True) - if checksum_cache_file: - self.checksum_cache = FileChecksumCache() - self.checksum_cache.init_cache(data, checksum_cache_file) - else: - self.checksum_cache = None def init_rundepcheck(self, data): self.taskwhitelist = data.getVar("BB_HASHTASK_WHITELIST", True) or None @@ -200,10 +190,7 @@ class SignatureGeneratorBasic(SignatureGenerator): self.runtaskdeps[k].append(dep) if task in dataCache.file_checksums[fn]: - if self.checksum_cache: - checksums = self.checksum_cache.get_checksums(dataCache.file_checksums[fn][task], recipename) - else: - checksums = bb.fetch2.get_file_checksums(dataCache.file_checksums[fn][task], recipename) + checksums = bb.fetch2.get_file_checksums(dataCache.file_checksums[fn][task], recipename) for (f,cs) in checksums: self.file_checksum_values[k].append((f,cs)) if cs: @@ -227,15 +214,6 @@ class SignatureGeneratorBasic(SignatureGenerator): self.taskhash[k] = h return h - def writeout_file_checksum_cache(self): - """Write/update the file checksum cache onto disk""" - if self.checksum_cache: - self.checksum_cache.save_extras() - self.checksum_cache.save_merge() - else: - bb.fetch2.fetcher_parse_save() - bb.fetch2.fetcher_parse_done() - def dump_sigtask(self, fn, task, stampbase, runtime): k = fn + "." + task -- cgit 1.2.3-korg