]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
siggen: Fix nostamp taint handling
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 2 Apr 2016 22:15:06 +0000 (23:15 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 2 Apr 2016 22:34:20 +0000 (23:34 +0100)
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>
lib/bb/siggen.py

index 2f0fb71c7855dc74c22595de642188fc47c802b5..1fa7b09272c62d8d368d63665049c970dbb0fd14 100644 (file)
@@ -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()