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-02 23:34:20 +0100 |
commit | f80ba20e90f3746f7faee3e0ff7f249025fec8ee (patch) | |
tree | 0687a4486117216155bbed176cbe0a3203ae2888 /lib/bb/siggen.py | |
parent | 0f50a18d7a0ea0d68edd8e5217e29111f4b1ea0b (diff) | |
download | openembedded-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>
Diffstat (limited to 'lib/bb/siggen.py')
-rw-r--r-- | lib/bb/siggen.py | 10 |
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() |