From: Paul Eggleton Date: Tue, 13 Dec 2016 07:07:13 +0000 (+1300) Subject: bitbake: siggen: add means of ignoring basehash mismatch X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d856bce542b2d9dded904e2ee395c5a655080295;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git bitbake: siggen: add means of ignoring basehash mismatch If you run the setVariable command to set variables then you end up causing the basehash to not match the previously computed values, which triggers error messages. These mismatches are expected, so add a means of disabling them. (Bitbake rev: 5a80c0e210f26526afbe8f266b7b1a9c03334967) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py index fa8a6b1623f..b20b9cf7719 100644 --- a/bitbake/lib/bb/siggen.py +++ b/bitbake/lib/bb/siggen.py @@ -101,6 +101,7 @@ class SignatureGeneratorBasic(SignatureGenerator): def _build_data(self, fn, d): + ignore_mismatch = ((d.getVar("BB_HASH_IGNORE_MISMATCH", True) or '') == '1') tasklist, gendeps, lookupcache = bb.data.generate_dependencies(d) taskdeps = {} @@ -135,7 +136,7 @@ class SignatureGeneratorBasic(SignatureGenerator): data = data + str(var) datahash = hashlib.md5(data.encode("utf-8")).hexdigest() k = fn + "." + task - if k in self.basehash and self.basehash[k] != datahash: + if not ignore_mismatch and k in self.basehash and self.basehash[k] != datahash: bb.error("When reparsing %s, the basehash value changed from %s to %s. The metadata is not deterministic and this needs to be fixed." % (k, self.basehash[k], datahash)) self.basehash[k] = datahash taskdeps[task] = alldeps