summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2017-08-08 20:44:36 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-08-09 10:52:09 +0100
commite4c6ca9440f63761560b49bbe12654441f54687e (patch)
tree4dd0c8a9c65193d329c4acbb836284e282c5ba10
parent923d5567be6fd9969ca74c166f36817ec09305e3 (diff)
downloadbitbake-contrib-e4c6ca9440f63761560b49bbe12654441f54687e.tar.gz
bitbake-contrib-e4c6ca9440f63761560b49bbe12654441f54687e.tar.bz2
bitbake-contrib-e4c6ca9440f63761560b49bbe12654441f54687e.zip
cooker/siggen: Reset siggen when reparsing
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@linuxfoundation.org>
-rw-r--r--lib/bb/cooker.py1
-rw-r--r--lib/bb/siggen.py3
2 files changed, 4 insertions, 0 deletions
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 81027db265..3740c61dc6 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 f71190ad4b..4380760e77 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: