path: root/meta/classes/populate_sdk_ext.bbclass
diff options
authorRandy Witt <randy.e.witt@linux.intel.com>2016-02-24 15:27:42 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-02-28 11:32:38 +0000
commit6eb75df1000ce1905e83840204adb614659d25cf (patch)
treea9e547976b9977d1fd32ed30f996fb6c3522639c /meta/classes/populate_sdk_ext.bbclass
parentc5a402bcd0ebf0238f7f7f8bcc08a0790cba7a67 (diff)
populate_sdk_ext: Add images to SDK_INSTALL_TARGETS
When running ext-sdk-prepare.py during sdk installation a check is done to make sure no tasks would run that aren't provided by the "leaf" recipes specified in SDK_INSTALL_TARGETS. However sometimes an image recipe can cause other images to be created such as an initramfs. So make sure those additional images are recognized by ext-sdk-prepare.py and don't flag an error. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'meta/classes/populate_sdk_ext.bbclass')
1 files changed, 9 insertions, 1 deletions
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
index a6badb84c6..9e2fc61699 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes/populate_sdk_ext.bbclass
@@ -40,12 +40,17 @@ def get_sdk_install_targets(d):
if d.getVar('SDK_EXT_TYPE', True) != 'minimal':
sdk_install_targets = d.getVar('SDK_TARGETS', True)
+ depd = d.getVar('BB_TASKDEPDATA', False)
+ for v in depd.itervalues():
+ if v[1] == 'do_image_complete':
+ 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'
return sdk_install_targets
-SDK_INSTALL_TARGETS = "${@get_sdk_install_targets(d)}"
OE_INIT_ENV_SCRIPT ?= "oe-init-build-env"
# The files from COREBASE that you want preserved in the COREBASE copied
@@ -344,12 +349,15 @@ SDK_POST_INSTALL_COMMAND_task-populate-sdk-ext = "${sdk_ext_postinst}"
SDK_POSTPROCESS_COMMAND_prepend_task-populate-sdk-ext = "copy_buildsystem; install_tools; "
fakeroot python do_populate_sdk_ext() {
# FIXME hopefully we can remove this restriction at some point, but uninative
# currently forces this upon us
if d.getVar('SDK_ARCH', True) != d.getVar('BUILD_ARCH', True):
bb.fatal('The extensible SDK can currently only be built for the same architecture as the machine being built on - SDK_ARCH is set to %s (likely via setting SDKMACHINE) which is different from the architecture of the build machine (%s). Unable to continue.' % (d.getVar('SDK_ARCH', True), d.getVar('BUILD_ARCH', True)))
+ d.setVar('SDK_INSTALL_TARGETS', get_sdk_install_targets(d))
bb.build.exec_func("do_populate_sdk", d)