summaryrefslogtreecommitdiffstats
path: root/meta/classes/populate_sdk_ext.bbclass
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-07-23 00:38:09 +1200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-07-26 08:56:31 +0100
commit4253e2e0f394f8ef2c30bbfec8672d64b9eb9c54 (patch)
tree9ca7ceac262a6b4316352d46e0dc311ebed82f93 /meta/classes/populate_sdk_ext.bbclass
parentf84b01b289ef281c70b83cb89f7b4c3fdfedf4fc (diff)
downloadpoky-4253e2e0f394f8ef2c30bbfec8672d64b9eb9c54.tar.gz
classes/populate_sdk_ext: allow including toolchain in eSDK on install
If we're to completely replace the standard SDK with the extensible SDK, we need to be able to provide the standard toolchain on install without doing anything other than installing it, so that you can install the SDK and then point your IDE at it. This is particularly applicable to the minimal SDK which normally installs nothing by default. NOTE: enabling this option currently adds ~280MB to the size of the minimal eSDK installer. If we need to reduce this further we would have to look at adjusting the dependencies and/or the sstate_depvalid() function in sstate.bbclass which eliminates dependencies, or look at reducing the size of the artifacts themselves. Implements [YOCTO #9751]. (From OE-Core rev: ed0d8ed72370df694f720cc13897493478dc1de9) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/populate_sdk_ext.bbclass')
-rw-r--r--meta/classes/populate_sdk_ext.bbclass19
1 files changed, 18 insertions, 1 deletions
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
index 720142f822..211a02286e 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes/populate_sdk_ext.bbclass
@@ -21,6 +21,7 @@ SDK_EXT_task-populate-sdk-ext = "-ext"
21# Options are full or minimal 21# Options are full or minimal
22SDK_EXT_TYPE ?= "full" 22SDK_EXT_TYPE ?= "full"
23SDK_INCLUDE_PKGDATA ?= "0" 23SDK_INCLUDE_PKGDATA ?= "0"
24SDK_INCLUDE_TOOLCHAIN ?= "0"
24 25
25SDK_RECRDEP_TASKS ?= "" 26SDK_RECRDEP_TASKS ?= ""
26 27
@@ -54,6 +55,8 @@ def get_sdk_install_targets(d, images_only=False):
54 if not images_only: 55 if not images_only:
55 if d.getVar('SDK_INCLUDE_PKGDATA', True) == '1': 56 if d.getVar('SDK_INCLUDE_PKGDATA', True) == '1':
56 sdk_install_targets += ' meta-world-pkgdata:do_allpackagedata' 57 sdk_install_targets += ' meta-world-pkgdata:do_allpackagedata'
58 if d.getVar('SDK_INCLUDE_TOOLCHAIN', True) == '1':
59 sdk_install_targets += ' meta-extsdk-toolchain:do_populate_sysroot'
57 60
58 return sdk_install_targets 61 return sdk_install_targets
59 62
@@ -309,6 +312,19 @@ python copy_buildsystem () {
309 lockedsigs_pruned, 312 lockedsigs_pruned,
310 lockedsigs_copy) 313 lockedsigs_copy)
311 314
315 if d.getVar('SDK_INCLUDE_TOOLCHAIN', True) == '1':
316 lockedsigs_base = d.getVar('WORKDIR', True) + '/locked-sigs-base2.inc'
317 lockedsigs_toolchain = d.getVar('STAGING_DIR_HOST', True) + '/locked-sigs/locked-sigs-extsdk-toolchain.inc'
318 shutil.move(lockedsigs_pruned, lockedsigs_base)
319 oe.copy_buildsystem.merge_lockedsigs(['do_populate_sysroot'],
320 lockedsigs_base,
321 lockedsigs_toolchain,
322 lockedsigs_pruned)
323 oe.copy_buildsystem.create_locked_sstate_cache(lockedsigs_toolchain,
324 d.getVar('SSTATE_DIR', True),
325 sstate_out, d,
326 fixedlsbstring)
327
312 if d.getVar('SDK_EXT_TYPE', True) == 'minimal': 328 if d.getVar('SDK_EXT_TYPE', True) == 'minimal':
313 if derivative: 329 if derivative:
314 # Assume the user is not going to set up an additional sstate 330 # Assume the user is not going to set up an additional sstate
@@ -486,7 +502,8 @@ do_populate_sdk_ext[dirs] = "${@d.getVarFlag('do_populate_sdk', 'dirs', False)}"
486 502
487do_populate_sdk_ext[depends] = "${@d.getVarFlag('do_populate_sdk', 'depends', False)} \ 503do_populate_sdk_ext[depends] = "${@d.getVarFlag('do_populate_sdk', 'depends', False)} \
488 buildtools-tarball:do_populate_sdk uninative-tarball:do_populate_sdk \ 504 buildtools-tarball:do_populate_sdk uninative-tarball:do_populate_sdk \
489 ${@'meta-world-pkgdata:do_collect_packagedata' if d.getVar('SDK_INCLUDE_PKGDATA', True) == '1' else ''}" 505 ${@'meta-world-pkgdata:do_collect_packagedata' if d.getVar('SDK_INCLUDE_PKGDATA', True) == '1' else ''} \
506 ${@'meta-extsdk-toolchain:do_locked_sigs' if d.getVar('SDK_INCLUDE_TOOLCHAIN', True) == '1' else ''}"
490 507
491do_populate_sdk_ext[rdepends] += "${@' '.join([x + ':do_build' for x in d.getVar('SDK_TARGETS', True).split()])}" 508do_populate_sdk_ext[rdepends] += "${@' '.join([x + ':do_build' for x in d.getVar('SDK_TARGETS', True).split()])}"
492 509