Re: [PATCH 2/5] archiver.bbclass: Make do_deploy_archives a recursive dependency

Paul Barker
2020-03-11T11:40:31Z

On Tue, 10 Mar 2020 23:18:33 +0000
Richard Purdie <richard.purdie@linuxfoundation.org> wrote:

> On Mon, 2020-03-09 at 14:21 +0000, Paul Barker wrote:
> > To ensure that archives are captured for all dependencies of a typical
> > bitbake build we add do_deploy_archives to the list of recursive
> > dependencies of do_build. Without this, archives may be missed for
> > recipes such as gcc-source which do not create packages or populate a
> > sysroot.
> >
> > do_deploy_archives is also added to the recursive dependencies of
> > do_populate_sdk so that all sources required for an SDK can be captured.
> >
> > Signed-off-by: Paul Barker <pbarker@konsulko.com>
> > ---
> > meta/classes/archiver.bbclass | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass
> > index fef7ad4f62..c11d36d708 100644
> > --- a/meta/classes/archiver.bbclass
> > +++ b/meta/classes/archiver.bbclass
> > @@ -604,7 +604,9 @@ addtask do_ar_configured after do_unpack_and_patch
> > addtask do_ar_mirror after do_fetch
> > addtask do_dumpdata
> > addtask do_ar_recipe
> > -addtask do_deploy_archives before do_build
> > +addtask do_deploy_archives
> > +do_build[recrdeptask] += "do_deploy_archives"
> > +do_populate_sdk[recrdeptask] += "do_deploy_archives"
>
> We implemented the --runall option to bitbake to try and avoid having
> recrdeptask versions of most tasks. Does that not work here? It should
> also work for the SDK I think?

If the archiver is enabled, its tasks should be in the dependency tree of
whatever you're building so that you don't need to invoke bitbake twice to
produce the required artifacts. For images that's the way the archiver has
always worked, if it's enabled then you just need to do `bitbake image` to
build the image and deploy the source archives. This change just extends that
behaviour to cover other things we can build and ensures that we don't miss
sources for recipes like gcc-source.

--
Paul Barker
Konsulko Group