summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe
diff options
context:
space:
mode:
authorPatrick Ohly <patrick.ohly@intel.com>2017-05-05 12:25:25 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-05-18 14:01:46 +0100
commit23ecae6d677894326c6aafec2a96a1d0657b0d18 (patch)
tree1d23f95ee5d720e4c2f36efd5d6417d0ccc8e86b /meta/lib/oe
parent3208824ae6c39eacf3941a85c7a5735c4d55be74 (diff)
downloadpoky-23ecae6d677894326c6aafec2a96a1d0657b0d18.tar.gz
archiver.bbclass: do not cause kernel rebuilds
Adding or removing archiver.bbclass from a build configuration causes rebuilds of linux-yocto-based kernels because of the do_kernel_configme->do_unpack_and_patch task dependency. This particular dependency can be ignored for the do_kernel_configme sstate signature calculcation. Idea for the fix from Richard Purdie. Note that building the kernel and adding archiver.bbclass later to archive sources leads to do_unpack_and_patch running after do_kernel_configme (because that already ran in the first build), which might be problematic. This is independent of the change here. The use case in YOCTO #11441 is to removed archiver.bbclass between a production build with archiving enabled and builds via oe-selftests without archiving. That direction is fine. Fixes: YOCTO #11441 (From OE-Core rev: fed0ed82928e6a7846fbad233ac657bd17bcefc7) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oe')
-rw-r--r--meta/lib/oe/sstatesig.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index f087a019e1..b8dd4c869e 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -20,8 +20,12 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCache):
20 def isImage(fn): 20 def isImage(fn):
21 return "/image.bbclass" in " ".join(dataCache.inherits[fn]) 21 return "/image.bbclass" in " ".join(dataCache.inherits[fn])
22 22
23 # Always include our own inter-task dependencies 23 # (Almost) always include our own inter-task dependencies.
24 # The exception is the special do_kernel_configme->do_unpack_and_patch
25 # dependency from archiver.bbclass.
24 if recipename == depname: 26 if recipename == depname:
27 if task == "do_kernel_configme" and dep.endswith(".do_unpack_and_patch"):
28 return False
25 return True 29 return True
26 30
27 # Quilt (patch application) changing isn't likely to affect anything 31 # Quilt (patch application) changing isn't likely to affect anything