summaryrefslogtreecommitdiffstats
path: root/meta/classes-recipe/populate_sdk_base.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes-recipe/populate_sdk_base.bbclass')
-rw-r--r--meta/classes-recipe/populate_sdk_base.bbclass17
1 files changed, 14 insertions, 3 deletions
diff --git a/meta/classes-recipe/populate_sdk_base.bbclass b/meta/classes-recipe/populate_sdk_base.bbclass
index 81896d808f..16013d5872 100644
--- a/meta/classes-recipe/populate_sdk_base.bbclass
+++ b/meta/classes-recipe/populate_sdk_base.bbclass
@@ -4,9 +4,16 @@
4# SPDX-License-Identifier: MIT 4# SPDX-License-Identifier: MIT
5# 5#
6 6
7SDK_CLASSES += "${@bb.utils.contains("IMAGE_CLASSES", "testimage", "testsdk", "", d)}"
8inherit_defer ${SDK_CLASSES}
9
7PACKAGES = "" 10PACKAGES = ""
8 11
9inherit image-postinst-intercepts image-artifact-names 12# This exists as an optimization for SPDX processing to only run in image and
13# SDK processing context. This class happens to be common to these usages.
14SPDX_MULTILIB_SSTATE_ARCHS = "${@all_multilib_tune_values(d, 'SSTATE_ARCHS')}"
15
16inherit image-postinst-intercepts image-artifact-names nopackages
10 17
11# Wildcards specifying complementary packages to install for every package that has been explicitly 18# Wildcards specifying complementary packages to install for every package that has been explicitly
12# installed into the rootfs 19# installed into the rootfs
@@ -75,7 +82,8 @@ SDK_ARCHIVE_TYPE ?= "tar.xz"
75SDK_XZ_COMPRESSION_LEVEL ?= "-9" 82SDK_XZ_COMPRESSION_LEVEL ?= "-9"
76SDK_XZ_OPTIONS ?= "${XZ_DEFAULTS} ${SDK_XZ_COMPRESSION_LEVEL}" 83SDK_XZ_OPTIONS ?= "${XZ_DEFAULTS} ${SDK_XZ_COMPRESSION_LEVEL}"
77SDK_ZIP_OPTIONS ?= "-y" 84SDK_ZIP_OPTIONS ?= "-y"
78 85SDK_7ZIP_OPTIONS ?= "-mx=9 -mm=BZip2"
86SDK_7ZIP_TYPE ?= "7z"
79 87
80# To support different sdk type according to SDK_ARCHIVE_TYPE, now support zip and tar.xz 88# To support different sdk type according to SDK_ARCHIVE_TYPE, now support zip and tar.xz
81python () { 89python () {
@@ -84,6 +92,9 @@ python () {
84 # SDK_ARCHIVE_CMD used to generate archived sdk ${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} from input dir ${SDK_OUTPUT}/${SDKPATH} to output dir ${SDKDEPLOYDIR} 92 # SDK_ARCHIVE_CMD used to generate archived sdk ${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} from input dir ${SDK_OUTPUT}/${SDKPATH} to output dir ${SDKDEPLOYDIR}
85 # recommand to cd into input dir first to avoid archive with buildpath 93 # recommand to cd into input dir first to avoid archive with buildpath
86 d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; zip -r ${SDK_ZIP_OPTIONS} ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} .') 94 d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; zip -r ${SDK_ZIP_OPTIONS} ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} .')
95 elif d.getVar('SDK_ARCHIVE_TYPE') == '7zip':
96 d.setVar('SDK_ARCHIVE_DEPENDS', 'p7zip-native')
97 d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; 7za a -r ${SDK_7ZIP_OPTIONS} ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_7ZIP_TYPE} .')
87 else: 98 else:
88 d.setVar('SDK_ARCHIVE_DEPENDS', 'xz-native') 99 d.setVar('SDK_ARCHIVE_DEPENDS', 'xz-native')
89 d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; tar ${SDKTAROPTS} -cf - . | xz ${SDK_XZ_OPTIONS} > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}') 100 d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; tar ${SDKTAROPTS} -cf - . | xz ${SDK_XZ_OPTIONS} > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}')
@@ -381,6 +392,6 @@ do_populate_sdk[file-checksums] += "${TOOLCHAIN_SHAR_REL_TMPL}:True \
381do_populate_sdk[dirs] = "${PKGDATA_DIR} ${TOPDIR}" 392do_populate_sdk[dirs] = "${PKGDATA_DIR} ${TOPDIR}"
382do_populate_sdk[depends] += "${@' '.join([x + ':do_populate_sysroot' for x in d.getVar('SDK_DEPENDS').split()])} ${@d.getVarFlag('do_rootfs', 'depends', False)}" 393do_populate_sdk[depends] += "${@' '.join([x + ':do_populate_sysroot' for x in d.getVar('SDK_DEPENDS').split()])} ${@d.getVarFlag('do_rootfs', 'depends', False)}"
383do_populate_sdk[rdepends] = "${@' '.join([x + ':do_package_write_${IMAGE_PKGTYPE} ' + x + ':do_packagedata' for x in d.getVar('SDK_RDEPENDS').split()])}" 394do_populate_sdk[rdepends] = "${@' '.join([x + ':do_package_write_${IMAGE_PKGTYPE} ' + x + ':do_packagedata' for x in d.getVar('SDK_RDEPENDS').split()])}"
384do_populate_sdk[recrdeptask] += "do_packagedata do_package_write_rpm do_package_write_ipk do_package_write_deb" 395do_populate_sdk[recrdeptask] += "do_packagedata do_package_write_rpm do_package_write_ipk do_package_write_deb do_package_qa"
385do_populate_sdk[file-checksums] += "${POSTINST_INTERCEPT_CHECKSUMS}" 396do_populate_sdk[file-checksums] += "${POSTINST_INTERCEPT_CHECKSUMS}"
386addtask populate_sdk 397addtask populate_sdk