[bitbake-devel] [PATCH 5/9] siggen/runqueue: Fix signature mismatch issues

Joshua Watt jpewhacker at gmail.com
Fri Sep 27 13:35:44 UTC 2019


On 9/27/19 7:33 AM, Richard Purdie wrote:
> We need to set the setscene tasklist before we call into the
> taskhash/unihash code else the behaviour is inconsistent.
>
> Avoid reporting hashes for non setscene tasks since we'd never
> query that.
>
> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
> ---
>   lib/bb/runqueue.py | 3 ++-
>   lib/bb/siggen.py   | 6 +++++-
>   2 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
> index 65169931f1..29bfd65e0b 100644
> --- a/lib/bb/runqueue.py
> +++ b/lib/bb/runqueue.py
> @@ -1162,6 +1162,8 @@ class RunQueueData:
>   
>           self.init_progress_reporter.next_stage()
>   
> +        bb.parse.siggen.set_setscene_tasks(self.runq_setscene_tids)
> +
>           # Iterate over the task list and call into the siggen code
>           dealtwith = set()
>           todeal = set(self.runtaskentries)
> @@ -1173,7 +1175,6 @@ class RunQueueData:
>                       self.prepare_task_hash(tid)
>   
>           bb.parse.siggen.writeout_file_checksum_cache()
> -        bb.parse.siggen.set_setscene_tasks(self.runq_setscene_tids)
>   
>           #self.dump_data()
>           return len(self.runtaskentries)
> diff --git a/lib/bb/siggen.py b/lib/bb/siggen.py
> index 71fa018227..6207cbca30 100644
> --- a/lib/bb/siggen.py
> +++ b/lib/bb/siggen.py
> @@ -455,7 +455,11 @@ class SignatureGeneratorUniHashMixIn(object):
>           report_taskdata = d.getVar('SSTATE_HASHEQUIV_REPORT_TASKDATA') == '1'
>           tempdir = d.getVar('T')
>           fn = d.getVar('BB_FILENAME')
> -        key = fn + ':do_' + task + ':' + taskhash
> +        tid = fn + ':do_' + task
> +        key = tid + ':' + taskhash
> +
> +        if self.setscenetasks and tid not in self.setscenetasks:
> +            return

Would this be worth of a bb.fatal() (or perhaps a bb.warn()) to try and 
discover issues sooner?


>   
>           # Sanity checks
>           cache_unihash = self.unitaskhashes.get(key, None)


More information about the bitbake-devel mailing list