summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-06-29 14:38:57 +1200
committerPaul Eggleton <paul.eggleton@linux.intel.com>2016-06-29 15:13:00 +1200
commitaa9884cb82fc31f73b9f37907a59fdd106338b08 (patch)
treee5b9a9e2a90a3115caea056119edfcb6569dfb03
parentee31a5dbc1f2fe6e7d8e459865c18d6c0f4267d8 (diff)
downloadopenembedded-core-contrib-paule/esdk-initramfs-fixes.tar.gz
openembedded-core-contrib-paule/esdk-initramfs-fixes.tar.bz2
openembedded-core-contrib-paule/esdk-initramfs-fixes.zip
classes/populate_sdk_ext: exclude initramfs images from locked signaturespaule/esdk-initramfs-fixes
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]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-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 f68cee6a13..23dedaef38 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes/populate_sdk_ext.bbclass
@@ -39,7 +39,7 @@ SDK_UPDATE_URL ?= ""
SDK_TARGETS ?= "${PN}"
-def get_sdk_install_targets(d):
+def get_sdk_install_targets(d, images_only=False):
sdk_install_targets = ''
if d.getVar('SDK_EXT_TYPE', True) != 'minimal':
sdk_install_targets = d.getVar('SDK_TARGETS', True)
@@ -50,8 +50,9 @@ def get_sdk_install_targets(d):
if v[0] not in sdk_install_targets:
sdk_install_targets += ' {}'.format(v[0])
- if d.getVar('SDK_INCLUDE_PKGDATA', True) == '1':
- sdk_install_targets += ' meta-world-pkgdata:do_allpackagedata'
+ if not images_only:
+ if d.getVar('SDK_INCLUDE_PKGDATA', True) == '1':
+ sdk_install_targets += ' meta-world-pkgdata:do_allpackagedata'
return sdk_install_targets
@@ -280,7 +281,7 @@ python copy_buildsystem () {
f.write('\n')
# Filter the locked signatures file to just the sstate tasks we are interested in
- excluded_targets = d.getVar('SDK_TARGETS', True)
+ excluded_targets = get_sdk_install_targets(d, images_only=True)
sigfile = d.getVar('WORKDIR', True) + '/locked-sigs.inc'
lockedsigs_pruned = baseoutpath + '/conf/locked-sigs.inc'
oe.copy_buildsystem.prune_lockedsigs([],