diff options
Diffstat (limited to 'meta/classes-recipe/populate_sdk_base.bbclass')
-rw-r--r-- | meta/classes-recipe/populate_sdk_base.bbclass | 17 |
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 | ||
7 | SDK_CLASSES += "${@bb.utils.contains("IMAGE_CLASSES", "testimage", "testsdk", "", d)}" | ||
8 | inherit_defer ${SDK_CLASSES} | ||
9 | |||
7 | PACKAGES = "" | 10 | PACKAGES = "" |
8 | 11 | ||
9 | inherit 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. | ||
14 | SPDX_MULTILIB_SSTATE_ARCHS = "${@all_multilib_tune_values(d, 'SSTATE_ARCHS')}" | ||
15 | |||
16 | inherit 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" | |||
75 | SDK_XZ_COMPRESSION_LEVEL ?= "-9" | 82 | SDK_XZ_COMPRESSION_LEVEL ?= "-9" |
76 | SDK_XZ_OPTIONS ?= "${XZ_DEFAULTS} ${SDK_XZ_COMPRESSION_LEVEL}" | 83 | SDK_XZ_OPTIONS ?= "${XZ_DEFAULTS} ${SDK_XZ_COMPRESSION_LEVEL}" |
77 | SDK_ZIP_OPTIONS ?= "-y" | 84 | SDK_ZIP_OPTIONS ?= "-y" |
78 | 85 | SDK_7ZIP_OPTIONS ?= "-mx=9 -mm=BZip2" | |
86 | SDK_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 |
81 | python () { | 89 | python () { |
@@ -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 \ | |||
381 | do_populate_sdk[dirs] = "${PKGDATA_DIR} ${TOPDIR}" | 392 | do_populate_sdk[dirs] = "${PKGDATA_DIR} ${TOPDIR}" |
382 | do_populate_sdk[depends] += "${@' '.join([x + ':do_populate_sysroot' for x in d.getVar('SDK_DEPENDS').split()])} ${@d.getVarFlag('do_rootfs', 'depends', False)}" | 393 | do_populate_sdk[depends] += "${@' '.join([x + ':do_populate_sysroot' for x in d.getVar('SDK_DEPENDS').split()])} ${@d.getVarFlag('do_rootfs', 'depends', False)}" |
383 | do_populate_sdk[rdepends] = "${@' '.join([x + ':do_package_write_${IMAGE_PKGTYPE} ' + x + ':do_packagedata' for x in d.getVar('SDK_RDEPENDS').split()])}" | 394 | do_populate_sdk[rdepends] = "${@' '.join([x + ':do_package_write_${IMAGE_PKGTYPE} ' + x + ':do_packagedata' for x in d.getVar('SDK_RDEPENDS').split()])}" |
384 | do_populate_sdk[recrdeptask] += "do_packagedata do_package_write_rpm do_package_write_ipk do_package_write_deb" | 395 | do_populate_sdk[recrdeptask] += "do_packagedata do_package_write_rpm do_package_write_ipk do_package_write_deb do_package_qa" |
385 | do_populate_sdk[file-checksums] += "${POSTINST_INTERCEPT_CHECKSUMS}" | 396 | do_populate_sdk[file-checksums] += "${POSTINST_INTERCEPT_CHECKSUMS}" |
386 | addtask populate_sdk | 397 | addtask populate_sdk |