Openembedded Core Discussions
 help / color / mirror / Atom feed
From: "Richard Purdie" <richard.purdie@linuxfoundation.org>
To: Peter Kjellerstedt <peter.kjellerstedt@axis.com>,
	 "openembedded-core@lists.openembedded.org"
	<openembedded-core@lists.openembedded.org>
Subject: Re: [OE-core] [RFC PATCH] package_ipk/deb/rpm: Drop recursive do_build task dependencies
Date: Sun, 19 Sep 2021 19:36:56 +0100	[thread overview]
Message-ID: <da6e756775ab97030299f02ee5a9060ee18e8a0e.camel@linuxfoundation.org> (raw)
In-Reply-To: <3a4c07ef7cfa4b918680ad8f560d2c29@axis.com>

On Sun, 2021-09-19 at 18:06 +0000, Peter Kjellerstedt wrote:
> > -----Original Message-----
> > From: openembedded-core@lists.openembedded.org <openembedded-
> > core@lists.openembedded.org> On Behalf Of Richard Purdie
> > Sent: den 19 september 2021 13:03
> > To: openembedded-core@lists.openembedded.org
> > 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 <richard.purdie@linuxfoundation.org>
> > > ---
> > >  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.

The patch does need a fix highlighted in autobuilder testing so I'll send v2
soon.

Cheers,

Richard


  reply	other threads:[~2021-09-19 18:37 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <16A633F8E639735E.6604@lists.openembedded.org>
2021-09-19 11:03 ` [OE-core] [RFC PATCH] package_ipk/deb/rpm: Drop recursive do_build task dependencies Richard Purdie
2021-09-19 18:06   ` Peter Kjellerstedt
2021-09-19 18:36     ` Richard Purdie [this message]
2021-09-20  7:45       ` Quentin Schulz
2021-09-20  8:55         ` Richard Purdie
2021-09-19 10:57 Richard Purdie
2021-09-20 13:27 ` [OE-core] " Joshua Watt
2021-09-20 13:54   ` Richard Purdie
2021-09-21 14:56     ` Saul Wold

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=da6e756775ab97030299f02ee5a9060ee18e8a0e.camel@linuxfoundation.org \
    --to=richard.purdie@linuxfoundation.org \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=peter.kjellerstedt@axis.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox