summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-06-29 15:13:52 +1200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-07-08 09:57:25 +0100
commit23ae622a69d174216461d9570945e21a8aa865ff (patch)
treed6ae5d40f029267663ffe266fb15d5143950b741
parentc7ab9f3ca15f7067e637f8e981b74dc05d7a9a55 (diff)
downloadpoky-23ae622a69d174216461d9570945e21a8aa865ff.tar.gz
classes/populate_sdk_ext: exclude initramfs images from locked signatures
Tasks for image recipes cannot be locked - there's nothing to restore from shared state to cover them and as a result, if you had "live" in IMAGE_FSTYPES the build would fail with "taskhash mismatch" errors for do_rootfs and do_image_complete for the initramfs image recipe, since it had to try to run those. We should probably catch that issue earlier in the build and produce a proper error, but for now at least exclude these signatures from the locked-sigs.inc file so that extensible SDK installers built when IMAGE_FSTYPES includes "live". (It turned out we already had code to find other image tasks in the task list in order to generate the list of install targets.) Follow-up fix for [YOCTO #9826]. (From OE-Core rev: a7133bf6bb650b944d29d01129f36a56282acd2b) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/populate_sdk_ext.bbclass9
1 files changed, 5 insertions, 4 deletions
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
index cddc306514..245adc1559 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes/populate_sdk_ext.bbclass
@@ -39,7 +39,7 @@ SDK_UPDATE_URL ?= ""
39 39
40SDK_TARGETS ?= "${PN}" 40SDK_TARGETS ?= "${PN}"
41 41
42def get_sdk_install_targets(d): 42def get_sdk_install_targets(d, images_only=False):
43 sdk_install_targets = '' 43 sdk_install_targets = ''
44 if d.getVar('SDK_EXT_TYPE', True) != 'minimal': 44 if d.getVar('SDK_EXT_TYPE', True) != 'minimal':
45 sdk_install_targets = d.getVar('SDK_TARGETS', True) 45 sdk_install_targets = d.getVar('SDK_TARGETS', True)
@@ -50,8 +50,9 @@ def get_sdk_install_targets(d):
50 if v[0] not in sdk_install_targets: 50 if v[0] not in sdk_install_targets:
51 sdk_install_targets += ' {}'.format(v[0]) 51 sdk_install_targets += ' {}'.format(v[0])
52 52
53 if d.getVar('SDK_INCLUDE_PKGDATA', True) == '1': 53 if not images_only:
54 sdk_install_targets += ' meta-world-pkgdata:do_allpackagedata' 54 if d.getVar('SDK_INCLUDE_PKGDATA', True) == '1':
55 sdk_install_targets += ' meta-world-pkgdata:do_allpackagedata'
55 56
56 return sdk_install_targets 57 return sdk_install_targets
57 58
@@ -283,7 +284,7 @@ python copy_buildsystem () {
283 f.write('\n') 284 f.write('\n')
284 285
285 # Filter the locked signatures file to just the sstate tasks we are interested in 286 # Filter the locked signatures file to just the sstate tasks we are interested in
286 excluded_targets = d.getVar('SDK_TARGETS', True) 287 excluded_targets = get_sdk_install_targets(d, images_only=True)
287 sigfile = d.getVar('WORKDIR', True) + '/locked-sigs.inc' 288 sigfile = d.getVar('WORKDIR', True) + '/locked-sigs.inc'
288 lockedsigs_pruned = baseoutpath + '/conf/locked-sigs.inc' 289 lockedsigs_pruned = baseoutpath + '/conf/locked-sigs.inc'
289 oe.copy_buildsystem.prune_lockedsigs([], 290 oe.copy_buildsystem.prune_lockedsigs([],