summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2016-04-02 23:15:06 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-04-02 23:34:20 +0100
commitf80ba20e90f3746f7faee3e0ff7f249025fec8ee (patch)
tree0687a4486117216155bbed176cbe0a3203ae2888
parent0f50a18d7a0ea0d68edd8e5217e29111f4b1ea0b (diff)
downloadopenembedded-core-contrib-f80ba20e90f3746f7faee3e0ff7f249025fec8ee.tar.gz
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/siggen.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/bb/siggen.py b/lib/bb/siggen.py
index 2f0fb71c78..1fa7b09272 100644
--- a/lib/bb/siggen.py
+++ b/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()