[oe-commits] [openembedded-core] 01/01: sstatesig: Avoid resetting taskhash within siggen for locked sigs

git at git.openembedded.org git at git.openembedded.org
Fri Jan 3 08:40:23 UTC 2020


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit 18df2b6f04e88e3d281a6eb981cc751736c7e493
Author: Richard Purdie <richard.purdie at linuxfoundation.org>
AuthorDate: Thu Jan 2 16:37:58 2020 +0000

    sstatesig: Avoid resetting taskhash within siggen for locked sigs
    
    Since get_unihash uses taskhash as a key internally, changing it means
    different bebahour when locked sigs are active verses not active. Under
    corner cases this leads to a signature mismatch.
    
    Avoid this by by adding a wrapper for the place its externally exposed
    and then not changing the internals.
    
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 meta/lib/oe/sstatesig.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index acccf93..ba17790 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -190,8 +190,7 @@ class SignatureGeneratorOEBasicHashMixIn(object):
                 h_locked = self.lockedsigs[recipename][task][0]
                 var = self.lockedsigs[recipename][task][1]
                 self.lockedhashes[tid] = h_locked
-                unihash = super().get_unihash(tid)
-                self.taskhash[tid] = h_locked
+                unihash = self.get_unihash(tid)
                 #bb.warn("Using %s %s %s" % (recipename, task, h))
 
                 if h != h_locked and h_locked != unihash:
@@ -204,6 +203,11 @@ class SignatureGeneratorOEBasicHashMixIn(object):
         #bb.warn("%s %s %s" % (recipename, task, h))
         return h
 
+    def get_stampfile_hash(self, tid):
+        if tid in self.lockedhashes and self.lockedhashes[tid]:
+            return self.lockedhashes[tid]
+        return super().get_stampfile_hash(tid)
+
     def get_unihash(self, tid):
         if tid in self.lockedhashes and self.lockedhashes[tid] and not self._internal:
             return self.lockedhashes[tid]

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list