aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@qt.io>2021-11-03 16:00:40 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-11-05 12:38:35 +0000
commitaa8acf7d24737629bfd83b063aedc62c735c0824 (patch)
tree37d23c746050d84fdefb5ab7718fb2f89ae034b9
parent5ac1ac7a6565fc7af1623bcd9a20f0bf9f77073e (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.bbclass9
-rw-r--r--meta-boot2qt/classes/populate_b2qt_sdk.bbclass61
-rw-r--r--meta-boot2qt/classes/qbsp.bbclass6
-rw-r--r--meta-boot2qt/files/qbsp/toolchain_package.xml1
-rwxr-xr-xscripts/upload.sh2
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 \