Re: [OE-core] [PATCH v4 3/5] sstatesig: add a new info level for SIGGEN_LOCKEDSIGS_TASKSIG_CHECK

Richard Purdie
2023-08-11T15:19:53Z

On Wed, 2023-08-02 at 16:24 +0200, Julien Stephan wrote:
> as of now, SIGGEN_LOCKEDSIGS_TASKSIG_CHECK can take 2 values: "warn" and
> "error", displaying respectively a warning or a fatal error message
> only when a task is locked and the task signature is different from
> the locked one.
>
> The "info" level is introduced to add a "note" message to remind the
> user that a recipe is locked even if the signature is equivalent to the
> locked one.
>
> The "warn" and "error" level display the warn/error message for each
> task having a mismatch of the signature. Doing this with the "info"
> level would result in very verbose output if there are several tasks
> locked, so the info level will only print once the list of recipes that
> have locked signature.
>
> Signed-off-by: Julien Stephan <jstephan@baylibre.com>
> ---
> meta/lib/oe/sstatesig.py | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
> index f943df181e6..90002f67550 100644
> --- a/meta/lib/oe/sstatesig.py
> +++ b/meta/lib/oe/sstatesig.py
> @@ -104,6 +104,7 @@ class SignatureGeneratorOEBasicHashMixIn(object):
> self.lockedhashfn = {}
> self.machine = data.getVar("MACHINE")
> self.mismatch_msgs = []
> + self.lockedsigs_msgs = ""
> self.unlockedrecipes = (data.getVar("SIGGEN_UNLOCKED_RECIPES") or
> "").split()
> self.unlockedrecipes = { k: "" for k in self.unlockedrecipes }
> @@ -264,6 +265,12 @@ class SignatureGeneratorOEBasicHashMixIn(object):
> warn_msgs = []
> error_msgs = []
> sstate_missing_msgs = []
> + info_msgs = None
> +
> + if self.lockedsigs:
> + 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:

How about something like:

if len(pn) > 10:
print "There are XX locked recipes (XX matching and XX not matching
parsing)"

so that in the case where lots of things are locked you get a summary
instead showing the amount of match/mismatch?

Cheers,

Richard