summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-12-13 20:07:13 +1300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-12-14 12:25:07 +0000
commitd856bce542b2d9dded904e2ee395c5a655080295 (patch)
tree0d5b4b7f7c142457fa1e54d8771ecabb2dd989dd
parent8d315820aa2c860bee05175a42360e549601a16f (diff)
downloadpoky-d856bce542b2d9dded904e2ee395c5a655080295.tar.gz
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 <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--bitbake/lib/bb/siggen.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py
index fa8a6b1623..b20b9cf771 100644
--- a/bitbake/lib/bb/siggen.py
+++ b/bitbake/lib/bb/siggen.py
@@ -101,6 +101,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
101 101
102 def _build_data(self, fn, d): 102 def _build_data(self, fn, d):
103 103
104 ignore_mismatch = ((d.getVar("BB_HASH_IGNORE_MISMATCH", True) or '') == '1')
104 tasklist, gendeps, lookupcache = bb.data.generate_dependencies(d) 105 tasklist, gendeps, lookupcache = bb.data.generate_dependencies(d)
105 106
106 taskdeps = {} 107 taskdeps = {}
@@ -135,7 +136,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
135 data = data + str(var) 136 data = data + str(var)
136 datahash = hashlib.md5(data.encode("utf-8")).hexdigest() 137 datahash = hashlib.md5(data.encode("utf-8")).hexdigest()
137 k = fn + "." + task 138 k = fn + "." + task
138 if k in self.basehash and self.basehash[k] != datahash: 139 if not ignore_mismatch and k in self.basehash and self.basehash[k] != datahash:
139 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)) 140 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))
140 self.basehash[k] = datahash 141 self.basehash[k] = datahash
141 taskdeps[task] = alldeps 142 taskdeps[task] = alldeps