summaryrefslogtreecommitdiffstats
path: root/classes/qbsp-image.bbclass
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@qt.io>2016-11-10 10:06:11 +0200
committerSamuli Piippo <samuli.piippo@qt.io>2016-11-21 08:39:46 +0000
commit1a9ad4899efb2f3054ec0d676e41a85e01d8f806 (patch)
tree0db9018d6d7e3c6caa71fe4710e94e25021e041d /classes/qbsp-image.bbclass
parent3ee5d97e4de4356d416dad28239324ab757ec27a (diff)
downloadmeta-boot2qt-1a9ad4899efb2f3054ec0d676e41a85e01d8f806.tar.gz
Add support for creating QBSP package
QBSP is a Qt specific Board Support Package that can be installed with the Qt SDK or MaintenanceTool and contains a system image and a toolchain. The toolchain is automatically registered to the QtCreator. The recipes used for creating the system image and the toolchain can be configured with QBSP_IMAGE_TASK and QBSP_SDK_TASK. The files wanted for the system image can be further configured with QBSP_IMAGE_CONTENT, with a list of files located in DEPLOY_DIR_IMAGE folder. By default, .img and .conf files are used from the selected image recipe. QBSP_INSTALLER_COMPONENT defines the location in the Qt installer tree where the QBSP is shown and QBSP_VERSION defines the version for the components. The QBSP is installed to path defined by QBSP_INSTALL_PATH. The regular SDK creation can now reuse the same image package .7z, so update upload script to use it instead of creating new package. Task-number: QTBUG-57018 Change-Id: Id1e7cc4ab3998a7d450f23ed603b8e676b314d63 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Teemu Holappa <teemu.holappa@qt.io>
Diffstat (limited to 'classes/qbsp-image.bbclass')
-rw-r--r--classes/qbsp-image.bbclass53
1 files changed, 53 insertions, 0 deletions
diff --git a/classes/qbsp-image.bbclass b/classes/qbsp-image.bbclass
new file mode 100644
index 0000000..c80aa23
--- /dev/null
+++ b/classes/qbsp-image.bbclass
@@ -0,0 +1,53 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30QBSP_IMAGE_CONTENT ??= ""
31
32fakeroot do_qbsp_image () {
33 if [ -z "${QBSP_IMAGE_CONTENT}" ]; then
34 exit 0
35 fi
36
37 mkdir -p ${S}/qbsp
38
39 for item in ${QBSP_IMAGE_CONTENT}; do
40 src=`echo $item | awk -F':' '{ print $1 }'`
41 dst=`echo $item | awk -F':' '{ print $2 }'`
42
43 install -D -m 0755 ${DEPLOY_DIR_IMAGE}/$src ${S}/qbsp/$dst
44 done
45
46 cd ${S}/qbsp
47 7z a ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.7z .
48
49 rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.7z
50 ln -s ${IMAGE_NAME}.7z ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.7z
51}
52
53IMAGE_POSTPROCESS_COMMAND += "do_qbsp_image;"