diff options
Diffstat (limited to 'bitbake/lib/bb/siggen.py')
-rw-r--r-- | bitbake/lib/bb/siggen.py | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py index bc912032664..bc8bdeeceab 100644 --- a/bitbake/lib/bb/siggen.py +++ b/bitbake/lib/bb/siggen.py @@ -525,29 +525,33 @@ class SignatureGeneratorUniHashMixIn(object): except OSError: pass - def report_unihash_equiv(self, tid, oldunihash, newunihash, datacaches): + def report_unihash_equiv(self, tid, taskhash, wanted_unihash, current_unihash, datacaches): try: extra_data = {} - data = self.client().report_unihash_equiv(newunihash, self.method, oldunihash, extra_data) - bb.note('Reported task %s as unihash %s to %s (%s)' % (tid, newunihash, self.server, str(data))) + data = self.client().report_unihash_equiv(taskhash, self.method, wanted_unihash, extra_data) + bb.note('Reported task %s as unihash %s to %s (%s)' % (tid, wanted_unihash, self.server, str(data))) if data is None: bb.warn("Server unable to handle unihash report") - return + return False finalunihash = data['unihash'] - if newunihash != finalunihash: - bb.note('Task %s unihash changed %s -> %s (%s)' % (tid, newunihash, finalunihash, oldunihash)) + if finalunihash == current_unihash: + bb.note('Task %s unihash %s unchanged by server' % (tid, finalunihash)) + elif finalunihash == wanted_unihash: + bb.note('Task %s unihash changed %s -> %s as wanted' % (tid, current_unihash, finalunihash)) self.set_unihash(tid, finalunihash) return True else: - bb.note('Task %s unihash %s unchanged by server' % (tid, finalunihash)) - return False + # TODO: What to do here? + bb.note('Task %s unihash reported as unwanted hash %s' % (tid, finalunihash)) except hashserv.client.HashConnectionError as e: bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e))) + return False + # # Dummy class used for bitbake-selftest # |