diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-04-02 23:15:06 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-04-03 22:50:17 +0100 |
commit | 47e9e125d7378139de1d9180a8b24aa9d088f4f6 (patch) | |
tree | af0d42cf6031bc2924b770e6bd535287a6d0ae2f /bitbake/lib/bb/siggen.py | |
parent | 80336270f3ccecd8504590714428db68dd68f651 (diff) | |
download | poky-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.py | 10 |
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 | ||
74 | class SignatureGeneratorBasic(SignatureGenerator): | 75 | class 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 | ||