diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2016-06-29 15:13:52 +1200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-07-08 09:57:25 +0100 |
commit | 23ae622a69d174216461d9570945e21a8aa865ff (patch) | |
tree | d6ae5d40f029267663ffe266fb15d5143950b741 | |
parent | c7ab9f3ca15f7067e637f8e981b74dc05d7a9a55 (diff) | |
download | poky-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.bbclass | 9 |
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 | ||
40 | SDK_TARGETS ?= "${PN}" | 40 | SDK_TARGETS ?= "${PN}" |
41 | 41 | ||
42 | def get_sdk_install_targets(d): | 42 | def 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([], |