On Mon, 2021-09-20 at 09:45 +0200, Quentin Schulz wrote:
> Hi Richard,
> 
> On Sun, Sep 19, 2021 at 07:36:56PM +0100, Richard Purdie wrote:
> > On Sun, 2021-09-19 at 18:06 +0000, Peter Kjellerstedt wrote:
> > > > -----Original Message-----
> > > > From: [email protected] <openembedded-
> > > > [email protected]> On Behalf Of Richard Purdie
> > > > Sent: den 19 september 2021 13:03
> > > > To: [email protected]
> > > > Subject: Re: [OE-core] [RFC PATCH] package_ipk/deb/rpm: Drop recursive
> > > > do_build task dependencies
> > > > 
> > > > On Sun, 2021-09-19 at 11:57 +0100, Richard Purdie via 
> > > > lists.openembedded.org
> > > > wrote:
> > > > > This is a controversial change which removes the recursive 
> > > > > dependencies
> > > > > from the do_build target of packaging tasks of recipes.
> > > > > 
> > > > > Currently this means when you "bitbake <image>" or "bitbake <recipe>",
> > > > > the packaging tasks run for all packaging backends enabled for all 
> > > > > recipes
> > > > > in the dependency chain. The same therefore then applies to images.
> > > > > 
> > > > > We don't actually need that, it is a convinience thing. Removing it
> > > > > massively simplifies the task graph and causes much fewer tasks to 
> > > > > execute
> > > > > in many common scenarios. It also means less sstate is fetched for
> > > > > example when building an image.
> > > > > 
> > > > > Signed-off-by: Richard Purdie <[email protected]>
> > > > > ---
> > > > >  meta/classes/package_deb.bbclass | 2 --
> > > > >  meta/classes/package_ipk.bbclass | 2 --
> > > > >  meta/classes/package_rpm.bbclass | 2 --
> > > > >  3 files changed, 6 deletions(-)
> > > > > 
> > > > > diff --git a/meta/classes/package_deb.bbclass
> > > > > b/meta/classes/package_deb.bbclass
> > > > > index eca43e17876..8f0eadbcd2e 100644
> > > > > --- a/meta/classes/package_deb.bbclass
> > > > > +++ b/meta/classes/package_deb.bbclass
> > > > > @@ -320,5 +320,3 @@ addtask package_write_deb after do_packagedata
> > > > > do_package
> > > > > 
> > > > >  PACKAGEINDEXDEPS += "dpkg-native:do_populate_sysroot"
> > > > >  PACKAGEINDEXDEPS += "apt-native:do_populate_sysroot"
> > > > > -
> > > > > -do_build[recrdeptask] += "do_package_write_deb"
> > > > > diff --git a/meta/classes/package_ipk.bbclass
> > > > > b/meta/classes/package_ipk.bbclass
> > > > > index c3b53854e8b..756744279e1 100644
> > > > > --- a/meta/classes/package_ipk.bbclass
> > > > > +++ b/meta/classes/package_ipk.bbclass
> > > > > @@ -278,5 +278,3 @@ addtask package_write_ipk after do_packagedata
> > > > > do_package
> > > > > 
> > > > >  PACKAGEINDEXDEPS += "opkg-utils-native:do_populate_sysroot"
> > > > >  PACKAGEINDEXDEPS += "opkg-native:do_populate_sysroot"
> > > > > -
> > > > > -do_build[recrdeptask] += "do_package_write_ipk"
> > > > > diff --git a/meta/classes/package_rpm.bbclass
> > > > > b/meta/classes/package_rpm.bbclass
> > > > > index 88d861c0e75..9f415b234de 100644
> > > > > --- a/meta/classes/package_rpm.bbclass
> > > > > +++ b/meta/classes/package_rpm.bbclass
> > > > > @@ -752,5 +752,3 @@ addtask package_write_rpm after do_packagedata
> > > > > do_package
> > > > > 
> > > > >  PACKAGEINDEXDEPS += "rpm-native:do_populate_sysroot"
> > > > >  PACKAGEINDEXDEPS += "createrepo-c-native:do_populate_sysroot"
> > > > > -
> > > > > -do_build[recrdeptask] += "do_package_write_rpm"
> > > > 
> > > > Just to add a bit more context to this, the bigger impact will be on CI
> > > > setups
> > > > including our autobuilder since "bitbake XXX" will no longer do quite 
> > > > what
> > > > it
> > > > did before. I'm starting to think we should move to the new behaviour 
> > > > and
> > > > apapt
> > > > the CI targets as/where needed.
> > > > 
> > > > I have a build running on the autobuilder to see what impact this has 
> > > > on the
> > > > automated tests. I'd welcome other people's thoughts on this.
> > > > 
> > > > FWIW we have removed a lot of these recursive dependencies, this one is 
> > > > one
> > > > of
> > > > the few left on do_build but it has been left as it has the biggest user
> > > > visible
> > > > impact.
> > > > 
> > > > Cheers,
> > > > 
> > > > Richard
> > > 
> > > You write that this is a controversial change with big user visible 
> > > impact.
> > > At the same time you write that we do not need the removed dependencies.
> > > What I don't see in your commit message, nor in the follow up mail, is 
> > > _what_ 
> > > the impact actually is. What will I no longer get when I run `bitbake
> > > <image>`?
> > 
> > For this change, "bitbake <image>" will no longer generate packages you're 
> > not
> > using. So for example if ipk is you main format but you've enabled deb and 
> > rpm
> > as well, only the ipk will be generated after this whilst before, the others
> > would too. That may be a big deal for some CI systems, hopefully less so in 
> > real
> > world use.
> > 
> 
> Does this mean that technically PACKAGE_CLASSES will basically only ever
> make Bitbake use the first one in the list and do nothing with the
> others?

No, "bitbake <recipe>" would build each of the package formats, as would
"bitbake world".

Cheers,

Richard

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156167): 
https://lists.openembedded.org/g/openembedded-core/message/156167
Mute This Topic: https://lists.openembedded.org/mt/85715723/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to