summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/siggen.py
diff options
context:
space:
mode:
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>2016-01-26 15:34:32 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-02-18 07:41:16 +0000
commit4f0ab27c6a52cc6061fb9e770b77edc8c9cdd99c (patch)
tree00f9735a176a4e6cf4b0d5279e686613df5692da /bitbake/lib/bb/siggen.py
parent0cdf1934fd218125ab751145329494f662fcd699 (diff)
downloadpoky-4f0ab27c6a52cc6061fb9e770b77edc8c9cdd99c.tar.gz
bitbake: SignatureGeneratorBasic: make checksum cache file configurable
Define a new bitbake configuration variable BB_HASH_CHECKSUM_CACHE_FILE that can be used to define the cache file to use for file checksum cache. (Bitbake rev: a965b390d6240e279c190b92b17c0573e9bd604c) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/siggen.py')
-rw-r--r--bitbake/lib/bb/siggen.py20
1 files changed, 17 insertions, 3 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py
index a7916b29bd..43cf7b6e5a 100644
--- a/bitbake/lib/bb/siggen.py
+++ b/bitbake/lib/bb/siggen.py
@@ -4,6 +4,7 @@ import os
4import re 4import re
5import tempfile 5import tempfile
6import bb.data 6import bb.data
7from bb.checksum import FileChecksumCache
7 8
8logger = logging.getLogger('BitBake.SigGen') 9logger = logging.getLogger('BitBake.SigGen')
9 10
@@ -91,6 +92,12 @@ class SignatureGeneratorBasic(SignatureGenerator):
91 self.basewhitelist = set((data.getVar("BB_HASHBASE_WHITELIST", True) or "").split()) 92 self.basewhitelist = set((data.getVar("BB_HASHBASE_WHITELIST", True) or "").split())
92 self.taskwhitelist = None 93 self.taskwhitelist = None
93 self.init_rundepcheck(data) 94 self.init_rundepcheck(data)
95 checksum_cache_file = data.getVar("BB_HASH_CHECKSUM_CACHE_FILE", True)
96 if checksum_cache_file:
97 self.checksum_cache = FileChecksumCache()
98 self.checksum_cache.init_cache(data, checksum_cache_file)
99 else:
100 self.checksum_cache = None
94 101
95 def init_rundepcheck(self, data): 102 def init_rundepcheck(self, data):
96 self.taskwhitelist = data.getVar("BB_HASHTASK_WHITELIST", True) or None 103 self.taskwhitelist = data.getVar("BB_HASHTASK_WHITELIST", True) or None
@@ -194,7 +201,10 @@ class SignatureGeneratorBasic(SignatureGenerator):
194 self.runtaskdeps[k].append(dep) 201 self.runtaskdeps[k].append(dep)
195 202
196 if task in dataCache.file_checksums[fn]: 203 if task in dataCache.file_checksums[fn]:
197 checksums = bb.fetch2.get_file_checksums(dataCache.file_checksums[fn][task], recipename) 204 if self.checksum_cache:
205 checksums = self.checksum_cache.get_checksums(dataCache.file_checksums[fn][task], recipename)
206 else:
207 checksums = bb.fetch2.get_file_checksums(dataCache.file_checksums[fn][task], recipename)
198 for (f,cs) in checksums: 208 for (f,cs) in checksums:
199 self.file_checksum_values[k][f] = cs 209 self.file_checksum_values[k][f] = cs
200 if cs: 210 if cs:
@@ -221,8 +231,12 @@ class SignatureGeneratorBasic(SignatureGenerator):
221 231
222 def writeout_file_checksum_cache(self): 232 def writeout_file_checksum_cache(self):
223 """Write/update the file checksum cache onto disk""" 233 """Write/update the file checksum cache onto disk"""
224 bb.fetch2.fetcher_parse_save() 234 if self.checksum_cache:
225 bb.fetch2.fetcher_parse_done() 235 self.checksum_cache.save_extras()
236 self.checksum_cache.save_merge()
237 else:
238 bb.fetch2.fetcher_parse_save()
239 bb.fetch2.fetcher_parse_done()
226 240
227 def dump_sigtask(self, fn, task, stampbase, runtime): 241 def dump_sigtask(self, fn, task, stampbase, runtime):
228 k = fn + "." + task 242 k = fn + "." + task