diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-11-05 22:15:22 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-11-08 17:25:35 +0000 |
commit | 26559c581695f60861483691e08eee06f524287f (patch) | |
tree | 3f2fe378ef6b2f8e1acba5d9903b744e9f990557 /meta | |
parent | 3a5ab77e8e29c9e2929185acb13e7fdae53dea18 (diff) | |
download | poky-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')
-rw-r--r-- | meta/lib/oe/sstatesig.py | 7 |
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 |