|
@@ -104,6 +104,8 @@ class SignatureGeneratorOEBasicHashMixIn(object):
|
|
|
self.lockedhashfn = {}
|
|
|
self.machine = data.getVar("MACHINE")
|
|
|
self.mismatch_msgs = []
|
|
|
+ self.mismatch_number = 0
|
|
|
+ self.lockedsigs_msgs = ""
|
|
|
self.unlockedrecipes = (data.getVar("SIGGEN_UNLOCKED_RECIPES") or
|
|
|
"").split()
|
|
|
self.unlockedrecipes = { k: "" for k in self.unlockedrecipes }
|
|
@@ -187,6 +189,7 @@ class SignatureGeneratorOEBasicHashMixIn(object):
|
|
|
#bb.warn("Using %s %s %s" % (recipename, task, h))
|
|
|
|
|
|
if h != h_locked and h_locked != unihash:
|
|
|
+ self.mismatch_number += 1
|
|
|
self.mismatch_msgs.append('The %s:%s sig is computed to be %s, but the sig is locked to %s in %s'
|
|
|
% (recipename, task, h, h_locked, var))
|
|
|
|
|
@@ -267,6 +270,15 @@ class SignatureGeneratorOEBasicHashMixIn(object):
|
|
|
warn_msgs = []
|
|
|
error_msgs = []
|
|
|
sstate_missing_msgs = []
|
|
|
+ info_msgs = None
|
|
|
+
|
|
|
+ if self.lockedsigs:
|
|
|
+ if len(self.lockedsigs) > 10:
|
|
|
+ self.lockedsigs_msgs = "There are %s recipes with locked tasks (%s task(s) have non matching signature)" % (len(self.lockedsigs), self.mismatch_number)
|
|
|
+ else:
|
|
|
+ self.lockedsigs_msgs = "The following recipes have locked tasks:"
|
|
|
+ for pn in self.lockedsigs:
|
|
|
+ self.lockedsigs_msgs += " %s" % (pn)
|
|
|
|
|
|
for tid in sq_data['hash']:
|
|
|
if tid not in found:
|
|
@@ -279,7 +291,9 @@ class SignatureGeneratorOEBasicHashMixIn(object):
|
|
|
% (pn, taskname, sq_data['hash'][tid]))
|
|
|
|
|
|
checklevel = d.getVar("SIGGEN_LOCKEDSIGS_TASKSIG_CHECK")
|
|
|
- if checklevel == 'warn':
|
|
|
+ if checklevel == 'info':
|
|
|
+ info_msgs = self.lockedsigs_msgs
|
|
|
+ if checklevel == 'warn' or checklevel == 'info':
|
|
|
warn_msgs += self.mismatch_msgs
|
|
|
elif checklevel == 'error':
|
|
|
error_msgs += self.mismatch_msgs
|
|
@@ -290,6 +304,8 @@ class SignatureGeneratorOEBasicHashMixIn(object):
|
|
|
elif checklevel == 'error':
|
|
|
error_msgs += sstate_missing_msgs
|
|
|
|
|
|
+ if info_msgs:
|
|
|
+ bb.note(info_msgs)
|
|
|
if warn_msgs:
|
|
|
bb.warn("\n".join(warn_msgs))
|
|
|
if error_msgs:
|