[bitbake-devel] [PATCH] runqueue: add mc to pending hash index

Richard Purdie richard.purdie at linuxfoundation.org
Thu Nov 28 17:51:51 UTC 2019


On Thu, 2019-11-28 at 17:27 +0800, kai.kang at windriver.com wrote:
> From: Kai Kang <kai.kang at windriver.com>
> 
> When build multiconfig target by following steps in section "Enabling
> Multiple Configuration Build Dependencies" in yocto dev-manual which
> adds dependency between multiconfig targets:
> 
> do_image[mcdepends] = "mc:x86:arm:core-image-minimal:do_rootfs"
> 
> it shows a lot of warnings, such as:
> 
> > WARNING: Deferring
> >   mc:x86:virtual:native:/path/to/meta/recipes-
> > support/nss/nss_3.45.bb:do_populate_sysroot
> >   after
> >   mc:arm:virtual:native:/path/to/meta/recipes-
> > support/nss/nss_3.45.bb:do_populate_sysroot
> 
> In function pending_hash_index it only checks PN, taskname and hash.
> But
> they are same for multiconfig native and allarch packages. Add
> multiconfig
> to pending hash index too to make the index unique.
> 
> Ref:
> https://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#dev-enabling-multiple-configuration-build-dependencies
> 
> Signed-off-by: Kai Kang <kai.kang at windriver.com>

This patch completes defeats the point of this code, disabling it. Its
the wrong thing to do, we want this code to be active.

The bug is that this should not be a warning, probably just a note.

We need it to be a note so that we can tell the mechanism is in action
from build output logs.

Cheers,

Richard

> ---
>  bitbake/lib/bb/runqueue.py | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
> index 485d9341f5..059eb9e283 100644
> --- a/bitbake/lib/bb/runqueue.py
> +++ b/bitbake/lib/bb/runqueue.py
> @@ -69,12 +69,12 @@ def build_tid(mc, fn, taskname):
>      return fn + ":" + taskname
>  
>  # Index used to pair up potentially matching multiconfig tasks
> -# We match on PN, taskname and hash being equal
> +# We match on mc, PN, taskname and hash being equal
>  def pending_hash_index(tid, rqdata):
>      (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
>      pn = rqdata.dataCaches[mc].pkg_fn[taskfn]
>      h = rqdata.runtaskentries[tid].unihash
> -    return pn + ":" + "taskname" + h
> +    return mc + ":" + pn + ":" + "taskname" + h
>  
>  class RunQueueStats:
>      """
> -- 
> 2.17.1
> 



More information about the bitbake-devel mailing list