diff options
author | Samuli Piippo <samuli.piippo@qt.io> | 2021-11-03 16:00:40 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-11-05 12:38:35 +0000 |
commit | aa8acf7d24737629bfd83b063aedc62c735c0824 (patch) | |
tree | 37d23c746050d84fdefb5ab7718fb2f89ae034b9 | |
parent | 5ac1ac7a6565fc7af1623bcd9a20f0bf9f77073e (diff) |
sdk: switch mingw toolchain package to tar.xz
Use the default archive type (tar.xz) for the mingw toolchain, as
Qt Installer Framework can now handle more package formats. This
allows us to get rid of the symlink conversion and avoid running
out of memory during the installations.
Move remaining populate_sdk parts into single class, no need to
have two class for the same thing..
Task-number: QTBUG-96576
Fixes: QTBUG-97077
Change-Id: Iea5dff146eeb3f4d0ce3aa275ac2812c20be62a7
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
(cherry picked from commit 4536a9b150cb4f6f7cf656b328cecd1008dda661)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | meta-boot2qt/classes/populate_b2qt_qt6_sdk.bbclass | 9 | ||||
-rw-r--r-- | meta-boot2qt/classes/populate_b2qt_sdk.bbclass | 61 | ||||
-rw-r--r-- | meta-boot2qt/classes/qbsp.bbclass | 6 | ||||
-rw-r--r-- | meta-boot2qt/files/qbsp/toolchain_package.xml | 1 | ||||
-rwxr-xr-x | scripts/upload.sh | 2 |
5 files changed, 11 insertions, 68 deletions
diff --git a/meta-boot2qt/classes/populate_b2qt_qt6_sdk.bbclass b/meta-boot2qt/classes/populate_b2qt_qt6_sdk.bbclass index 964ea185..c3efd8f0 100644 --- a/meta-boot2qt/classes/populate_b2qt_qt6_sdk.bbclass +++ b/meta-boot2qt/classes/populate_b2qt_qt6_sdk.bbclass @@ -1,6 +1,6 @@ ############################################################################ ## -## Copyright (C) 2020 The Qt Company Ltd. +## Copyright (C) 2021 The Qt Company Ltd. ## Contact: https://www.qt.io/licensing/ ## ## This file is part of the Boot to Qt meta layer. @@ -27,7 +27,7 @@ ## ############################################################################ -inherit populate_b2qt_sdk populate_sdk_qt6_base abi-arch siteinfo +inherit populate_sdk populate_sdk_qt6_base abi-arch siteinfo create_sdk_files:append () { @@ -49,3 +49,8 @@ create_qtcreator_configure_script:sdkmingw32 () { # no script available for mingw true } + +quiet_sdk_extraction() { +EXTRA_TAR_OPTIONS="$EXTRA_TAR_OPTIONS --checkpoint=9999999" +} +SDK_PRE_INSTALL_COMMAND = "${quiet_sdk_extraction}" diff --git a/meta-boot2qt/classes/populate_b2qt_sdk.bbclass b/meta-boot2qt/classes/populate_b2qt_sdk.bbclass deleted file mode 100644 index 29c47c94..00000000 --- a/meta-boot2qt/classes/populate_b2qt_sdk.bbclass +++ /dev/null @@ -1,61 +0,0 @@ -############################################################################ -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the Boot to Qt meta layer. -## -## $QT_BEGIN_LICENSE:GPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 3 or (at your option) any later version -## approved by the KDE Free Qt Foundation. The licenses are as published by -## the Free Software Foundation and appearing in the file LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################ - -inherit populate_sdk - -quiet_sdk_extraction() { -EXTRA_TAR_OPTIONS="$EXTRA_TAR_OPTIONS --checkpoint=9999999" -} -SDK_PRE_INSTALL_COMMAND = "${quiet_sdk_extraction}" - -replace_sysroot_symlink() { - SYSROOT=$1 - find ${SYSROOT} -type l | while read SOURCE - do - TARGET=`readlink -m "${SOURCE}"` - #check whether TARGET is inside the sysroot when not prepend the sysroot - TARGET=`echo ${TARGET} | grep "^${SYSROOT}" || echo ${SYSROOT}${TARGET}` - rm "${SOURCE}" - if [ -f "${TARGET}" ]; then - cp "${TARGET}" "${SOURCE}" - elif [ -e "${TARGET}" ]; then - touch "${SOURCE}" - fi - done -} - -do_populate_sdk[depends] += "p7zip-native:do_populate_sysroot" - -fakeroot archive_sdk:sdkmingw32() { - replace_sysroot_symlink ${SDK_OUTPUT}${SDKTARGETSYSROOT} - replace_sysroot_symlink ${SDK_OUTPUT}${SDKPATHNATIVE} - # Package it up - cd ${SDK_OUTPUT}/${SDKPATH} - 7za a ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.7z * -} diff --git a/meta-boot2qt/classes/qbsp.bbclass b/meta-boot2qt/classes/qbsp.bbclass index dafd9d25..194db6bd 100644 --- a/meta-boot2qt/classes/qbsp.bbclass +++ b/meta-boot2qt/classes/qbsp.bbclass @@ -64,7 +64,7 @@ RELEASEDATE = "${@time.strftime('%Y-%m-%d',time.gmtime())}" IMAGE_PACKAGE = "${QBSP_IMAGE_TASK}-${MACHINE}.7z" SDK_NAME = "${DISTRO}-${SDK_MACHINE}-${QBSP_SDK_TASK}-${MACHINE}.${SDK_POSTFIX}" SDK_POSTFIX = "sh" -SDK_POSTFIX:sdkmingw32 = "7z" +SDK_POSTFIX:sdkmingw32 = "tar.xz" REAL_MULTIMACH_TARGET_SYS = "${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}" SDK_MACHINE = "${@d.getVar('SDKMACHINE') or '${SDK_ARCH}'}" @@ -105,8 +105,8 @@ prepare_qbsp() { cp ${WORKDIR}/toolchain_installscript.qs ${COMPONENT_PATH}/meta/installscript.qs patch_installer_files ${COMPONENT_PATH}/meta - if [ "${SDK_POSTFIX}" = "7z" ]; then - cp ${DEPLOY_DIR}/sdk/${SDK_NAME} ${COMPONENT_PATH}/data/toolchain.7z + if [ "${SDK_POSTFIX}" = "${SDK_POSTFIX:sdkmingw32}" ]; then + cp ${DEPLOY_DIR}/sdk/${SDK_NAME} ${COMPONENT_PATH}/data/toolchain.${SDK_POSTFIX} else 7za a -mx=0 ${COMPONENT_PATH}/data/toolchain.7z ${DEPLOY_DIR}/sdk/${SDK_NAME} fi diff --git a/meta-boot2qt/files/qbsp/toolchain_package.xml b/meta-boot2qt/files/qbsp/toolchain_package.xml index ad6d0bb4..fc1667dc 100644 --- a/meta-boot2qt/files/qbsp/toolchain_package.xml +++ b/meta-boot2qt/files/qbsp/toolchain_package.xml @@ -4,7 +4,6 @@ <ReleaseDate>@RELEASEDATE@</ReleaseDate> <DisplayName>@TARGET@ Linux Toolchain</DisplayName> <Description>Toolchain and system root for @TARGET@</Description> - <DownloadableArchives>toolchain.7z</DownloadableArchives> <Dependencies>qt.tools.qtcreator</Dependencies> <Script>installscript.qs</Script> <Default>true</Default> diff --git a/scripts/upload.sh b/scripts/upload.sh index b4f07134..f0df7d55 100755 --- a/scripts/upload.sh +++ b/scripts/upload.sh @@ -36,7 +36,7 @@ UPLOADPATH=QT@ci-files02-hki.intra.qt.io:/srv/jenkins_data/enterprise/b2qt/yocto UPLOADS="\ tmp/deploy/images/${MACHINE}/b2qt-${PROJECT}-qt6-image-${MACHINE}.7z \ tmp/deploy/sdk/b2qt-x86_64-meta-toolchain-b2qt-${PROJECT}-qt6-sdk-${MACHINE}.sh \ - tmp/deploy/sdk/b2qt-${MINGW}-meta-toolchain-b2qt-${PROJECT}-qt6-sdk-${MACHINE}.7z \ + tmp/deploy/sdk/b2qt-${MINGW}-meta-toolchain-b2qt-${PROJECT}-qt6-sdk-${MACHINE}.tar.xz \ tmp/deploy/sdk/b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-${MACHINE}.sh \ tmp/deploy/qbsp/meta-b2qt-${PROJECT}-qbsp-x86_64-${MACHINE}-${RELEASE}.qbsp \ tmp/deploy/qbsp/meta-b2qt-${PROJECT}-qbsp-${MINGW}-${MACHINE}-${RELEASE}.qbsp \ |