summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorPatrick Ohly <patrick.ohly@intel.com>2017-05-05 12:25:25 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-01-07 17:07:57 +0000
commit88e11f329561a5f865b88919f1487439a233341c (patch)
treed546b148b7dc65c87e3862bcf72fde1e861e46cd /meta/classes
parent1e59fd509f54a41dbe042a61cae14ded7b3ebf4b (diff)
downloadpoky-88e11f329561a5f865b88919f1487439a233341c.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) (From OE-Core rev: 201c634946d07c8d0ab6d486e5031b4479eb6707) (From OE-Core rev: 81a6623592c3c496b16f0dc2c0ad04c16b0baf29) 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/classes')
-rw-r--r--meta/classes/archiver.bbclass5
1 files changed, 4 insertions, 1 deletions
diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass
index 0938c992de..05a7996676 100644
--- a/meta/classes/archiver.bbclass
+++ b/meta/classes/archiver.bbclass
@@ -442,7 +442,10 @@ do_deploy_all_archives() {
442} 442}
443 443
444python () { 444python () {
445 # Add tasks in the correct order, specifically for linux-yocto to avoid race condition 445 # Add tasks in the correct order, specifically for linux-yocto to avoid race condition.
446 # sstatesig.py:sstate_rundepfilter has special support that excludes this dependency
447 # so that do_kernel_configme does not need to run again when do_unpack_and_patch
448 # gets added or removed (by adding or removing archiver.bbclass).
446 if bb.data.inherits_class('kernel-yocto', d): 449 if bb.data.inherits_class('kernel-yocto', d):
447 bb.build.addtask('do_kernel_configme', 'do_configure', 'do_unpack_and_patch', d) 450 bb.build.addtask('do_kernel_configme', 'do_configure', 'do_unpack_and_patch', d)
448} 451}