summaryrefslogtreecommitdiff
path: root/meta
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-11-05 22:15:22 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-11-08 17:24:51 +0000
commit80b065ff46322ec0cad039dfd9eb2d010168dba6 (patch)
tree8f27bcb207c69177258dee321ba69567786ab7fc /meta
parentb536824ea64b8d6729b830738bce637fc815e832 (diff)
downloadopenembedded-core-80b065ff46322ec0cad039dfd9eb2d010168dba6.tar.gz
openembedded-core-80b065ff46322ec0cad039dfd9eb2d010168dba6.tar.bz2
openembedded-core-80b065ff46322ec0cad039dfd9eb2d010168dba6.zip
lib/oe/sstatesig: Ensure packagegroups don't continually rebuild
packagegroups are allarch and shouldn't change depending on the target or machine selected. In general they should have good stable namespaces for their dependencies. As such we can exclude them from rebuilding when dependency checksums change. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta')
-rw-r--r--meta/lib/oe/sstatesig.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index 852fb7e64a..33ff8929b3 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -11,6 +11,9 @@ 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(fn):
+ inherits = " ".join(dataCache.inherits[fn])
+ return "packagegroup.bbclass" in inherits
# Always include our own inter-task dependencies
if recipename == depname:
@@ -27,6 +30,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(fn):
+ return False
+
# Drop native/cross/nativesdk dependencies from target recipes
if isNative(depname) or isCross(depname) or isNativeSDK(depname):
return False