summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe/sstatesig.py
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:25:35 +0000
commit26559c581695f60861483691e08eee06f524287f (patch)
tree3f2fe378ef6b2f8e1acba5d9903b744e9f990557 /meta/lib/oe/sstatesig.py
parent3a5ab77e8e29c9e2929185acb13e7fdae53dea18 (diff)
downloadpoky-26559c581695f60861483691e08eee06f524287f.tar.gz
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. (From OE-Core rev: 80b065ff46322ec0cad039dfd9eb2d010168dba6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oe/sstatesig.py')
-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):
11 def isKernel(fn): 11 def isKernel(fn):
12 inherits = " ".join(dataCache.inherits[fn]) 12 inherits = " ".join(dataCache.inherits[fn])
13 return inherits.find("module-base.bbclass") != -1 or inherits.find("linux-kernel-base.bbclass") != -1 13 return inherits.find("module-base.bbclass") != -1 or inherits.find("linux-kernel-base.bbclass") != -1
14 def isPackageGroup(fn):
15 inherits = " ".join(dataCache.inherits[fn])
16 return "packagegroup.bbclass" in inherits
14 17
15 # Always include our own inter-task dependencies 18 # Always include our own inter-task dependencies
16 if recipename == depname: 19 if recipename == depname:
@@ -27,6 +30,10 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCache):
27 30
28 # Only target packages beyond here 31 # Only target packages beyond here
29 32
33 # packagegroups are assumed to have well behaved names which don't change between architecures/tunes
34 if isPackageGroup(fn):
35 return False
36
30 # Drop native/cross/nativesdk dependencies from target recipes 37 # Drop native/cross/nativesdk dependencies from target recipes
31 if isNative(depname) or isCross(depname) or isNativeSDK(depname): 38 if isNative(depname) or isCross(depname) or isNativeSDK(depname):
32 return False 39 return False