[bitbake-devel] [PATCH 1/2] cooker/siggen: Reset siggen when reparsing

Richard Purdie richard.purdie at linuxfoundation.org
Wed Aug 9 09:56:16 UTC 2017


If we don't do this, we get basehash mismatch errors occurring from the reparse
which would then set bitbake's error exit code.

This for example would cause oe-selftest -r bbtests.BitbakeTests.test_bbappend_order
to fail with a non-zero BB_SERVER_TIMEOUT.

Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 lib/bb/cooker.py | 1 +
 lib/bb/siggen.py | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 81027db..3740c61 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -1468,6 +1468,7 @@ class BBCooker:
             self.updateCacheSync()
 
         if self.state != state.parsing and not self.parsecache_valid:
+            bb.parse.siggen.reset(self.data)
             self.parseConfiguration ()
             if CookerFeatures.SEND_SANITYEVENTS in self.featureset:
                 for mc in self.multiconfigs:
diff --git a/lib/bb/siggen.py b/lib/bb/siggen.py
index f71190a..4380760 100644
--- a/lib/bb/siggen.py
+++ b/lib/bb/siggen.py
@@ -94,6 +94,9 @@ class SignatureGeneratorBasic(SignatureGenerator):
         else:
             self.checksum_cache = None
 
+    def reset(self, data):
+        self.__init__(data)
+
     def init_rundepcheck(self, data):
         self.taskwhitelist = data.getVar("BB_HASHTASK_WHITELIST") or None
         if self.taskwhitelist:
-- 
2.7.4




More information about the bitbake-devel mailing list