summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/siggen.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/siggen.py')
-rw-r--r--bitbake/lib/bb/siggen.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py
index e19812b17c..edf10105f9 100644
--- a/bitbake/lib/bb/siggen.py
+++ b/bitbake/lib/bb/siggen.py
@@ -525,6 +525,32 @@ class SignatureGeneratorUniHashMixIn(object):
525 except OSError: 525 except OSError:
526 pass 526 pass
527 527
528 def report_unihash_equiv(self, tid, taskhash, wanted_unihash, current_unihash, datacaches):
529 try:
530 extra_data = {}
531 data = self.client().report_unihash_equiv(taskhash, self.method, wanted_unihash, extra_data)
532 bb.note('Reported task %s as unihash %s to %s (%s)' % (tid, wanted_unihash, self.server, str(data)))
533
534 if data is None:
535 bb.warn("Server unable to handle unihash report")
536 return False
537
538 finalunihash = data['unihash']
539
540 if finalunihash == current_unihash:
541 bb.note('Task %s unihash %s unchanged by server' % (tid, finalunihash))
542 elif finalunihash == wanted_unihash:
543 bb.note('Task %s unihash changed %s -> %s as wanted' % (tid, current_unihash, finalunihash))
544 self.set_unihash(tid, finalunihash)
545 return True
546 else:
547 # TODO: What to do here?
548 bb.note('Task %s unihash reported as unwanted hash %s' % (tid, finalunihash))
549
550 except hashserv.client.HashConnectionError as e:
551 bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e)))
552
553 return False
528 554
529# 555#
530# Dummy class used for bitbake-selftest 556# Dummy class used for bitbake-selftest