summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2016-04-03 15:48:30 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-04-03 22:50:17 +0100
commitaf5f423887d1c41cf7279f6e537077726ae13082 (patch)
treeb79c6e819583504bc00362ba49106cc2ae4e0094 /bitbake/lib/bb
parent47e9e125d7378139de1d9180a8b24aa9d088f4f6 (diff)
downloadpoky-af5f423887d1c41cf7279f6e537077726ae13082.tar.gz
bitbake: siggen: Ensure tainted stamps are accounted for with writing custom stamps
sstate.bbclass for example writes siginfo files to a separate location but we need to read taint data from the standard path. (Bitbake rev: da444c9761ee15a59ea8880e3f812a5d3f1a1aaa) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r--bitbake/lib/bb/siggen.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py
index 1fa7b09272..88fc0f1d5c 100644
--- a/bitbake/lib/bb/siggen.py
+++ b/bitbake/lib/bb/siggen.py
@@ -238,9 +238,12 @@ class SignatureGeneratorBasic(SignatureGenerator):
238 bb.fetch2.fetcher_parse_done() 238 bb.fetch2.fetcher_parse_done()
239 239
240 def dump_sigtask(self, fn, task, stampbase, runtime): 240 def dump_sigtask(self, fn, task, stampbase, runtime):
241
241 k = fn + "." + task 242 k = fn + "." + task
242 if runtime == "customfile": 243 referencestamp = stampbase
244 if isinstance(runtime, str) and runtime.startswith("customfile"):
243 sigfile = stampbase 245 sigfile = stampbase
246 referencestamp = runtime[11:]
244 elif runtime and k in self.taskhash: 247 elif runtime and k in self.taskhash:
245 sigfile = stampbase + "." + task + ".sigdata" + "." + self.taskhash[k] 248 sigfile = stampbase + "." + task + ".sigdata" + "." + self.taskhash[k]
246 else: 249 else:
@@ -271,7 +274,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
271 data['runtaskhashes'][dep] = self.taskhash[dep] 274 data['runtaskhashes'][dep] = self.taskhash[dep]
272 data['taskhash'] = self.taskhash[k] 275 data['taskhash'] = self.taskhash[k]
273 276
274 taint = self.read_taint(fn, task, stampbase) 277 taint = self.read_taint(fn, task, referencestamp)
275 if taint: 278 if taint:
276 data['taint'] = taint 279 data['taint'] = taint
277 280
@@ -341,7 +344,8 @@ def dump_this_task(outfile, d):
341 import bb.parse 344 import bb.parse
342 fn = d.getVar("BB_FILENAME", True) 345 fn = d.getVar("BB_FILENAME", True)
343 task = "do_" + d.getVar("BB_CURRENTTASK", True) 346 task = "do_" + d.getVar("BB_CURRENTTASK", True)
344 bb.parse.siggen.dump_sigtask(fn, task, outfile, "customfile") 347 referencestamp = bb.build.stamp_internal(task, d, None, True)
348 bb.parse.siggen.dump_sigtask(fn, task, outfile, "customfile:" + referencestamp)
345 349
346def clean_basepath(a): 350def clean_basepath(a):
347 b = a.rsplit("/", 2)[1] + a.rsplit("/", 2)[2] 351 b = a.rsplit("/", 2)[1] + a.rsplit("/", 2)[2]