[OE-core] [RFC][PATCH] packagegroup.bbclass: Drop build-time dependencies

Paul Eggleton paul.eggleton at linux.intel.com
Fri Nov 1 19:06:33 UTC 2013


On Friday 01 November 2013 18:14:03 Richard Purdie wrote:
> On Fri, 2013-11-01 at 13:37 +0000, Paul Eggleton wrote:
> > On Friday 01 November 2013 13:12:12 Martin Jansa wrote:
> > > * RFC because:
> > >   packagegroup.bbclass inherits allarch and by default sets
> > >   PACKAGE_ARCH = "all", but then it has runtime-dependency on
> > >   TUNE_PKGARCH packages and different signatures, so instead
> > >   of setting INHIBIT_DEFAULT_DEPS in addition to inherit allarch
> > >   I would like to drop default allarch completely.
> > 
> > The fix looks OK, but I don't think we should be going further and
> > removing the inherit. To my mind, the question of dependencies comes down
> > to whether or not the packagegroup output changes depending on
> > TUNE_PKGARCH, which in the general case it should not do.
> > 
> > If we need to do some optimisation to avoid the packagegroup recipe
> > rebuilding when it shouldn't due to packages it "contains" changing, we
> > can certainly look at that.
> 
> A better idea might be something like:
> 
> diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
> index 852fb7e..23e28f0 100644
> --- a/meta/lib/oe/sstatesig.py
> +++ b/meta/lib/oe/sstatesig.py
> @@ -11,6 +11,8 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep,
> depname, dataCache): def isKernel(fn):
>          inherits = " ".join(dataCache.inherits[fn])
>          return inherits.find("module-base.bbclass") != -1 or
> inherits.find("linux-kernel-base.bbclass") != -1 
> +    def isPackageGroup(x):
> +        return "packagegroup-" in x

OK, but I think we can rely on checking inheritance for this. It didn't used 
to be the case but after my task -> packagegroup cleanup some time ago all of 
these recipes inherit the packagegroup class.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the Openembedded-core mailing list