If you build an extensible SDK for an image and IMAGE_FSTYPES includes "live" then the extensible SDK will fail to install with a bunch of unexpected task execution errors, matching the missing items required to build the live image. The issue was we were still depending on do_rootfs rather than do_image_complete. The fix was slightly more complicated than just changing the task name as do_image_complete's dependencies are in the form of dependencies on tasks within the same recipe (represented in the "deps" varflag rather than the "depends" varflag).
Fixes [YOCTO #9826]. Signed-off-by: Paul Eggleton <paul.eggle...@linux.intel.com> --- meta/classes/populate_sdk_ext.bbclass | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index b9d9543..f68cee6 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -447,7 +447,13 @@ fakeroot python do_populate_sdk_ext() { } def get_ext_sdk_depends(d): - return d.getVarFlag('do_rootfs', 'depends', True) + ' ' + d.getVarFlag('do_build', 'depends', True) + # Note: the deps varflag is a list not a string, so we need to specify expand=False + deps = d.getVarFlag('do_image_complete', 'deps', False) + pn = d.getVar('PN', True) + deplist = ['%s:%s' % (pn, dep) for dep in deps] + for task in ['do_image_complete', 'do_rootfs', 'do_build']: + deplist.extend((d.getVarFlag(task, 'depends', True) or '').split()) + return ' '.join(deplist) python do_sdk_depends() { # We have to do this separately in its own task so we avoid recursing into -- 2.5.5 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core