summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/siggen.py
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-03 22:50:17 +0100
commit47e9e125d7378139de1d9180a8b24aa9d088f4f6 (patch)
treeaf0d42cf6031bc2924b770e6bd535287a6d0ae2f /bitbake/lib/bb/siggen.py
parent80336270f3ccecd8504590714428db68dd68f651 (diff)
downloadpoky-47e9e125d7378139de1d9180a8b24aa9d088f4f6.tar.gz
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 <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/siggen.py')
-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 2f0fb71c78..1fa7b09272 100644
--- a/bitbake/lib/bb/siggen.py
+++ b/bitbake/lib/bb/siggen.py
@@ -38,6 +38,7 @@ class SignatureGenerator(object):
38 self.taskhash = {} 38 self.taskhash = {}
39 self.runtaskdeps = {} 39 self.runtaskdeps = {}
40 self.file_checksum_values = {} 40 self.file_checksum_values = {}
41 self.taints = {}
41 42
42 def finalise(self, fn, d, varient): 43 def finalise(self, fn, d, varient):
43 return 44 return
@@ -65,10 +66,10 @@ class SignatureGenerator(object):
65 return 66 return
66 67
67 def get_taskdata(self): 68 def get_taskdata(self):
68 return (self.runtaskdeps, self.taskhash, self.file_checksum_values) 69 return (self.runtaskdeps, self.taskhash, self.file_checksum_values, self.taints)
69 70
70 def set_taskdata(self, data): 71 def set_taskdata(self, data):
71 self.runtaskdeps, self.taskhash, self.file_checksum_values = data 72 self.runtaskdeps, self.taskhash, self.file_checksum_values, self.taints = data
72 73
73 74
74class SignatureGeneratorBasic(SignatureGenerator): 75class SignatureGeneratorBasic(SignatureGenerator):
@@ -543,7 +544,10 @@ def calc_taskhash(sigdata):
543 data = data + c[1] 544 data = data + c[1]
544 545
545 if 'taint' in sigdata: 546 if 'taint' in sigdata:
546 data = data + sigdata['taint'] 547 if 'nostamp:' in sigdata['taint']:
548 data = data + sigdata['taint'][8:]
549 else:
550 data = data + sigdata['taint']
547 551
548 return hashlib.md5(data).hexdigest() 552 return hashlib.md5(data).hexdigest()
549 553