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

git at git.openembedded.org git at git.openembedded.org
Thu Jan 2 16:46:03 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 b4f13d8d48541eb560e262302c19289e6fe35d50
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 | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index ca3c6df..e5e3e01 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -184,8 +184,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:
@@ -198,6 +197,10 @@ 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]
+
     def get_unihash(self, tid):
         if tid in self.lockedhashes and self.lockedhashes[tid]:
             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