summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>2016-02-19 14:57:02 +0200
committerMarkus Lehtonen <markus.lehtonen@linux.intel.com>2016-05-10 12:27:12 +0300
commite8b54b0363cc180d16191bf1d9d476f8ed21fa5d (patch)
tree854954f11a69ea24891ae28c4bee4cbad821d788
parentdbe083c15f78a8533e8f2cc8afd64a758cfe93ae (diff)
downloadopenembedded-core-contrib-e8b54b0363cc180d16191bf1d9d476f8ed21fa5d.tar.gz
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 <markus.lehtonen@linux.intel.com>
-rw-r--r--lib/bb/fetch2/__init__.py2
-rw-r--r--lib/bb/runqueue.py5
-rw-r--r--lib/bb/siggen.py24
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