From 47e9e125d7378139de1d9180a8b24aa9d088f4f6 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sat, 2 Apr 2016 23:15:06 +0100 Subject: [PATCH] bitbake: siggen: Fix nostamp taint handling The taint values need to be passed from the server to the workers to ensure they see the same stamp values. Also ensure that the "nostamp:" prefix isn't included in the checksum value to match the server calculation. This ensures the checksums are all consistent. (Bitbake rev: f80ba20e90f3746f7faee3e0ff7f249025fec8ee) Signed-off-by: Richard Purdie --- bitbake/lib/bb/siggen.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py index 2f0fb71c78..1fa7b09272 100644 --- a/bitbake/lib/bb/siggen.py +++ b/bitbake/lib/bb/siggen.py @@ -38,6 +38,7 @@ class SignatureGenerator(object): self.taskhash = {} self.runtaskdeps = {} self.file_checksum_values = {} + self.taints = {} def finalise(self, fn, d, varient): return @@ -65,10 +66,10 @@ class SignatureGenerator(object): return def get_taskdata(self): - return (self.runtaskdeps, self.taskhash, self.file_checksum_values) + return (self.runtaskdeps, self.taskhash, self.file_checksum_values, self.taints) def set_taskdata(self, data): - self.runtaskdeps, self.taskhash, self.file_checksum_values = data + self.runtaskdeps, self.taskhash, self.file_checksum_values, self.taints = data class SignatureGeneratorBasic(SignatureGenerator): @@ -543,7 +544,10 @@ def calc_taskhash(sigdata): data = data + c[1] if 'taint' in sigdata: - data = data + sigdata['taint'] + if 'nostamp:' in sigdata['taint']: + data = data + sigdata['taint'][8:] + else: + data = data + sigdata['taint'] return hashlib.md5(data).hexdigest()