Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Paul Eggleton <paul.eggleton@linux.intel.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [RFC][PATCH] packagegroup.bbclass: Drop build-time dependencies
Date: Fri, 01 Nov 2013 18:14:03 +0000	[thread overview]
Message-ID: <1383329643.6271.63.camel@ted> (raw)
In-Reply-To: <3227290.SyHHWdF4KT@helios>

On Fri, 2013-11-01 at 13:37 +0000, Paul Eggleton wrote:
> Hi Martin,
> 
> 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
 
     # Always include our own inter-task dependencies
     if recipename == depname:
@@ -27,6 +29,10 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCache):
 
     # Only target packages beyond here
 
+    # packagegroups are assumed to have well behaved names which don't change between architecures/tunes
+    if isPackageGroup(recipename):
+        return False  
+
     # Drop native/cross/nativesdk dependencies from target recipes
     if isNative(depname) or isCross(depname) or isNativeSDK(depname):
         return False

although this is untested and needs more careful thought...

Cheers,

Richard



  reply	other threads:[~2013-11-01 18:14 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-01 12:12 [RFC][PATCH] packagegroup.bbclass: Drop build-time dependencies Martin Jansa
2013-11-01 13:37 ` Paul Eggleton
2013-11-01 18:14   ` Richard Purdie [this message]
2013-11-01 19:06     ` Paul Eggleton
2013-11-17 13:52 ` [PATCH 1/7] allarch: Always inhibit default dependencies and set empty TARGET_PREFIX Martin Jansa
2013-11-17 13:52   ` [PATCH 2/7] packagegroup-core-boot: Drop build-time dependency on virtual/kernel Martin Jansa
2013-11-20  5:57     ` ChenQi
2013-11-17 13:52   ` [PATCH 3/7] xuser-account: Drop allarch inherit Martin Jansa
2013-11-17 13:52   ` [PATCH 4/7] linux-firmware: Drop allarch Martin Jansa
2013-11-18 10:57     ` Richard Purdie
2013-11-17 13:52   ` [PATCH 5/7] ppp-dialin: " Martin Jansa
2013-11-17 13:52   ` [PATCH 6/7] initramfs-framework: " Martin Jansa
2013-11-17 13:52   ` [PATCH 7/7] resolvconf: " Martin Jansa
2013-11-18 12:31   ` [PATCH 1/7] allarch: Always inhibit default dependencies and set empty TARGET_PREFIX Richard Purdie
2013-11-18 15:54     ` Martin Jansa
2013-11-18 15:58       ` Martin Jansa

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=1383329643.6271.63.camel@ted \
    --to=richard.purdie@linuxfoundation.org \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=paul.eggleton@linux.intel.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