summaryrefslogtreecommitdiffstats
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
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>
-rw-r--r--classes/qbsp-image.bbclass53
-rw-r--r--classes/qbsp.bbclass151
-rw-r--r--conf/distro/b2qt.conf5
-rw-r--r--conf/distro/include/emulator.conf2
-rw-r--r--conf/distro/include/tegra-t18x.conf5
-rw-r--r--files/qbsp/base_package.xml8
-rw-r--r--files/qbsp/image_package.xml8
-rw-r--r--files/qbsp/toolchain_installscript.qs107
-rw-r--r--files/qbsp/toolchain_package.xml10
-rw-r--r--recipes-qt/images/b2qt-automotive-qt5-image.bb2
-rw-r--r--recipes-qt/images/b2qt-embedded-qt5-image.bb2
-rw-r--r--recipes-qt/meta/meta-b2qt-automotive-qbsp.bb47
-rw-r--r--recipes-qt/meta/meta-b2qt-embedded-qbsp.bb48
-rw-r--r--recipes-qt/qt5-addons/installer-framework_2.0.3.bb48
-rwxr-xr-xscripts/upload.sh34
15 files changed, 504 insertions, 26 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;"
diff --git a/classes/qbsp.bbclass b/classes/qbsp.bbclass
new file mode 100644
index 0000000..6707ce3
--- /dev/null
+++ b/classes/qbsp.bbclass
@@ -0,0 +1,151 @@
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
30inherit meta nopackages abi-arch
31
32FILESEXTRAPATHS_prepend := "${B2QTBASE}/files/qbsp:"
33
34SRC_URI = "\
35 file://base_package.xml \
36 file://image_package.xml \
37 file://toolchain_package.xml \
38 file://toolchain_installscript.qs \
39 "
40
41INHIBIT_DEFAULT_DEPS = "1"
42do_qbsp[depends] += "\
43 installer-framework:do_populate_sysroot \
44 ${QBSP_SDK_TASK}:do_populate_sdk \
45 ${QBSP_IMAGE_TASK}:do_image_complete \
46 "
47
48QBSP_VERSION ?= "${PV}${VERSION_AUTO_INCREMENT}"
49QBSP_INSTALLER_COMPONENT ?= "${MACHINE}"
50QBSP_INSTALL_PATH ?= "/Extras/${MACHINE}"
51
52QBSP_LICENSE_DEPENDENCY ?= ""
53QBSP_LICENSE_DEPENDENCY_imx = "qt.embedded.b2qt.freescalelicense"
54
55VERSION_AUTO_INCREMENT = "-0-${DATETIME}"
56VERSION_AUTO_INCREMENT[vardepsexclude] = "DATETIME"
57
58DEPLOY_CONF_NAME ?= "${MACHINE}"
59RELEASEDATE = "${@time.strftime('%Y-%m-%d',time.gmtime())}"
60
61IMAGE_PACKAGE = "${QBSP_IMAGE_TASK}-${MACHINE}.7z"
62SDK_NAME = "${DISTRO}-${SDK_MACHINE}-${QBSP_SDK_TASK}-${MACHINE}.${SDK_POSTFIX}"
63SDK_POSTFIX = "sh"
64SDK_POSTFIX_sdkmingw32 = "7z"
65REAL_MULTIMACH_TARGET_SYS = "${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}"
66SDK_MACHINE = "${@d.getVar('SDKMACHINE', True) or '${SDK_ARCH}'}"
67
68B = "${WORKDIR}/build"
69
70patch_installer_files() {
71 sed -e 's#@NAME@#${DEPLOY_CONF_NAME}#' \
72 -e 's#@VERSION@#${QBSP_VERSION}#' \
73 -e 's#@RELEASEDATE@#${RELEASEDATE}#' \
74 -e 's#@MACHINE@#${MACHINE}#' \
75 -e 's#@SYSROOT@#${REAL_MULTIMACH_TARGET_SYS}#' \
76 -e 's#@TARGET@#${TARGET_SYS}#' \
77 -e 's#@ABI@#${ABI}#' \
78 -e 's#@INSTALLPATH@#${QBSP_INSTALL_PATH}#' \
79 -e 's#@SDKPATH@#${SDKPATH}#' \
80 -e 's#@SDKFILE@#${SDK_NAME}#' \
81 -e 's#@LICENSEDEPENDENCY@#${QBSP_LICENSE_DEPENDENCY}#' \
82 -i ${1}/*
83}
84
85prepare_qbsp() {
86 # Toolchain component
87 TOOLCHAIN_PATH="${B}/pkg/${QBSP_INSTALLER_COMPONENT}.toolchain"
88 mkdir -p ${TOOLCHAIN_PATH}/meta
89 mkdir -p ${TOOLCHAIN_PATH}/data
90
91 cp ${WORKDIR}/toolchain_package.xml ${TOOLCHAIN_PATH}/meta/package.xml
92 cp ${WORKDIR}/toolchain_installscript.qs ${TOOLCHAIN_PATH}/meta/installscript.qs
93 patch_installer_files ${TOOLCHAIN_PATH}/meta
94
95 mkdir -p ${B}/toolchain/${QBSP_INSTALL_PATH}/toolchain
96 if [ "${SDK_POSTFIX}" == "7z" ]; then
97 7z x ${DEPLOY_DIR}/sdk/${SDK_NAME} -o${B}/toolchain/${QBSP_INSTALL_PATH}/toolchain/
98 else
99 cp ${DEPLOY_DIR}/sdk/${SDK_NAME} ${B}/toolchain/${QBSP_INSTALL_PATH}/toolchain/
100 fi
101
102 cd ${B}/toolchain
103 archivegen ${TOOLCHAIN_PATH}/data/toolchain.7z *
104
105 # Image component
106 IMAGE_PATH="${B}/pkg/${QBSP_INSTALLER_COMPONENT}.system"
107 mkdir -p ${IMAGE_PATH}/meta
108 mkdir -p ${IMAGE_PATH}/data
109
110 cp ${WORKDIR}/image_package.xml ${IMAGE_PATH}/meta/package.xml
111 patch_installer_files ${IMAGE_PATH}/meta
112
113 mkdir -p ${B}/images/${QBSP_INSTALL_PATH}/images
114 7z x ${DEPLOY_DIR_IMAGE}/${IMAGE_PACKAGE} -o${B}/images/${QBSP_INSTALL_PATH}/images/
115
116 cd ${B}/images
117 archivegen ${IMAGE_PATH}/data/image.7z *
118
119 # Base component
120 BASE_PATH="${B}/pkg/${QBSP_INSTALLER_COMPONENT}"
121 mkdir -p ${BASE_PATH}/meta
122
123 cp ${WORKDIR}/base_package.xml ${BASE_PATH}/meta/package.xml
124 patch_installer_files ${BASE_PATH}/meta
125}
126
127create_qbsp() {
128 prepare_qbsp
129
130 # Repository creation
131 repogen -p ${B}/pkg ${B}/repository
132
133 mkdir -p ${DEPLOY_DIR}/qbsp
134 rm -f ${DEPLOY_DIR}/qbsp/${PN}-${MACHINE}.qbsp
135
136 cd ${B}/repository
137 archivegen ${DEPLOY_DIR}/qbsp/${PN}-${SDK_MACHINE}-${MACHINE}.qbsp *
138}
139
140python do_qbsp() {
141 bb.build.exec_func('create_qbsp', d)
142}
143
144addtask qbsp after do_unpack before do_build
145
146do_qbsp[cleandirs] += "${B}"
147
148do_configure[noexec] = "1"
149do_compile[noexec] = "1"
150do_populate_sysroot[noexec] = "1"
151do_populate_lic[noexec] = "1"
diff --git a/conf/distro/b2qt.conf b/conf/distro/b2qt.conf
index de7381e..4a8f73b 100644
--- a/conf/distro/b2qt.conf
+++ b/conf/distro/b2qt.conf
@@ -80,6 +80,11 @@ PACKAGE_EXCLUDE_COMPLEMENTARY ?= "qtquickcompiler"
80IMAGE_FSTYPES = "conf" 80IMAGE_FSTYPES = "conf"
81IMAGE_CLASSES += "image_types_sdcard deploy-conf" 81IMAGE_CLASSES += "image_types_sdcard deploy-conf"
82 82
83QBSP_IMAGE_CONTENT ?= "\
84 ${IMAGE_LINK_NAME}.img \
85 ${IMAGE_LINK_NAME}.conf \
86 "
87
83LICENSE_CREATE_PACKAGE = "1" 88LICENSE_CREATE_PACKAGE = "1"
84COPY_LIC_MANIFEST = "1" 89COPY_LIC_MANIFEST = "1"
85 90
diff --git a/conf/distro/include/emulator.conf b/conf/distro/include/emulator.conf
index d7cb2c3..a5b95b5 100644
--- a/conf/distro/include/emulator.conf
+++ b/conf/distro/include/emulator.conf
@@ -32,6 +32,8 @@ IMAGE_ROOTFS_ALIGNMENT = "1048576"
32ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_BASENAME}-${MACHINE}.ext3" 32ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_BASENAME}-${MACHINE}.ext3"
33IMAGE_FSTYPES = "ext3" 33IMAGE_FSTYPES = "ext3"
34 34
35QBSP_IMAGE_CONTENT = "${IMAGE_LINK_NAME}.hdd"
36
35MACHINE_EXTRA_RRECOMMENDS += "\ 37MACHINE_EXTRA_RRECOMMENDS += "\
36 kernel-module-snd-intel8x0 \ 38 kernel-module-snd-intel8x0 \
37 " 39 "
diff --git a/conf/distro/include/tegra-t18x.conf b/conf/distro/include/tegra-t18x.conf
index ebdb63b..80f4d57 100644
--- a/conf/distro/include/tegra-t18x.conf
+++ b/conf/distro/include/tegra-t18x.conf
@@ -33,6 +33,11 @@ TARGET_CFLAGS += " -DWIN_INTERFACE_CUSTOM"
33DISTRO_FEATURES_DEFAULT += "wayland" 33DISTRO_FEATURES_DEFAULT += "wayland"
34IMAGE_FSTYPES += "tar.gz" 34IMAGE_FSTYPES += "tar.gz"
35 35
36QBSP_IMAGE_CONTENT = "\
37 ${IMAGE_LINK_NAME}.tar.gz \
38 Image \
39 "
40
36KERN_DIR ?= '${@os.path.normpath("${TOPDIR}/../sources/vibrante-t186/kernel")}' 41KERN_DIR ?= '${@os.path.normpath("${TOPDIR}/../sources/vibrante-t186/kernel")}'
37PLATFORM_TOPDIR ?= '${@os.path.normpath("${TOPDIR}/../sources/vibrante-t186")}' 42PLATFORM_TOPDIR ?= '${@os.path.normpath("${TOPDIR}/../sources/vibrante-t186")}'
38NVLAYER_DIR ?= "${TOPDIR}/../sources/nvidia-layer" 43NVLAYER_DIR ?= "${TOPDIR}/../sources/nvidia-layer"
diff --git a/files/qbsp/base_package.xml b/files/qbsp/base_package.xml
new file mode 100644
index 0000000..28261d5
--- /dev/null
+++ b/files/qbsp/base_package.xml
@@ -0,0 +1,8 @@
1<?xml version="1.0"?>
2<Package>
3 <Version>@VERSION@</Version>
4 <ReleaseDate>@RELEASEDATE@</ReleaseDate>
5 <DisplayName>@NAME@</DisplayName>
6 <Description>Boot to Qt for @NAME@ with Embedded Linux baselayer</Description>
7 <Dependencies>@LICENSEDEPENDENCY@</Dependencies>
8</Package>
diff --git a/files/qbsp/image_package.xml b/files/qbsp/image_package.xml
new file mode 100644
index 0000000..1eaf69c
--- /dev/null
+++ b/files/qbsp/image_package.xml
@@ -0,0 +1,8 @@
1<?xml version="1.0"?>
2<Package>
3 <Version>@VERSION@</Version>
4 <ReleaseDate>@RELEASEDATE@</ReleaseDate>
5 <DisplayName>@NAME@ Linux System</DisplayName>
6 <Description>SD-Card image for @NAME@ hardware with Embedded Linux baselayer</Description>
7 <DownloadableArchives>image.7z</DownloadableArchives>
8</Package>
diff --git a/files/qbsp/toolchain_installscript.qs b/files/qbsp/toolchain_installscript.qs
new file mode 100644
index 0000000..bcf9cd1
--- /dev/null
+++ b/files/qbsp/toolchain_installscript.qs
@@ -0,0 +1,107 @@
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
30function Component()
31{
32}
33
34Component.prototype.createOperations = function()
35{
36 component.createOperations();
37
38 var device = "@MACHINE@"
39 var platform = "@NAME@"
40 var sysroot = "@SYSROOT@"
41 var target = "@TARGET@"
42 var abi = "@ABI@"
43 var installPath = "@INSTALLPATH@/toolchain"
44 var sdkPath = "@SDKPATH@"
45 var sdkFile = "@SDKFILE@"
46
47 var path = installer.value("TargetDir") + installPath;
48 if (systemInfo.kernelType !== "winnt") {
49 var script = path + "/" + sdkFile;
50 component.addOperation("Execute", "{0}", "chmod", "+x", script);
51 component.addOperation("Execute", "{0}", script, "-y", "-d", path, "UNDOEXECUTE", "rm", "-rf", path);
52 component.addOperation("Execute", "{0}", "/bin/rm", script);
53 } else {
54 var search = sdkPath;
55 path = path.replace(/\\/g,"/");
56 component.addOperation("Replace",
57 path + "/sysroots/i686-pokysdk-mingw32/usr/bin/qt.conf",
58 search, path);
59 }
60 // qt.embedded.b2qt.xx
61 var baseid = component.name.substring(17,19);
62 var basecomponent = component.name.substring(0, component.name.lastIndexOf("."));
63 var toolchainId = "ProjectExplorer.ToolChain.Gcc:" + component.name;
64 var qtId = basecomponent + ".qt";
65 var icon = installer.value("B2QtDeviceIcon");
66 var executableExt = "";
67 var hostSysroot = "x86_64-pokysdk-linux";
68 if (systemInfo.kernelType === "winnt") {
69 executableExt = ".exe";
70 hostSysroot = "i686-pokysdk-mingw32";
71 }
72 var deviceType = "Boot2Qt.HwDevice"
73
74 component.addOperation("Execute",
75 ["@SDKToolBinary@", "addTC",
76 "--id", toolchainId,
77 "--name", "GCC (Boot2Qt " + platform + ")",
78 "--path", path + "/sysroots/" + hostSysroot + "/usr/bin/" + target + "/" + target + "-g++" + executableExt,
79 "--abi", abi,
80 "UNDOEXECUTE",
81 "@SDKToolBinary@", "rmTC", "--id", toolchainId]);
82
83 component.addOperation("Execute",
84 ["@SDKToolBinary@", "addQt",
85 "--id", qtId,
86 "--name", "Boot2Qt %{Qt:Version} " + platform,
87 "--type", "Boot2Qt.QtVersionType",
88 "--qmake", path + "/sysroots/" + hostSysroot + "/usr/bin/qmake" + executableExt,
89 "UNDOEXECUTE",
90 "@SDKToolBinary@", "rmQt", "--id", qtId]);
91
92 var addKitOperations = ["@SDKToolBinary@", "addKit",
93 "--id", basecomponent,
94 "--name", "Boot2Qt %{Qt:Version} " + platform,
95 "--mkspec", "devices/linux-oe-generic-g++",
96 "--qt", qtId,
97 "--debuggerengine", "1",
98 "--debugger", path + "/sysroots/" + hostSysroot + "/usr/bin/" + target + "/" + target + "-gdb" + executableExt,
99 "--sysroot", path + "/sysroots/" + sysroot,
100 "--devicetype", deviceType,
101 "--toolchain", toolchainId,
102 "--icon", icon];
103
104 addKitOperations.push("UNDOEXECUTE", "@SDKToolBinary@", "rmKit", "--id", basecomponent);
105
106 component.addOperation("Execute", addKitOperations);
107}
diff --git a/files/qbsp/toolchain_package.xml b/files/qbsp/toolchain_package.xml
new file mode 100644
index 0000000..85a2c67
--- /dev/null
+++ b/files/qbsp/toolchain_package.xml
@@ -0,0 +1,10 @@
1<?xml version="1.0"?>
2<Package>
3 <Version>@VERSION@</Version>
4 <ReleaseDate>@RELEASEDATE@</ReleaseDate>
5 <DisplayName>@NAME@ Linux Toolchain</DisplayName>
6 <Description>Toolchain and system root for @NAME@ with Embedded Linux baselayer</Description>
7 <DownloadableArchives>toolchain.7z</DownloadableArchives>
8 <Dependencies>qt.tools.qtcreator</Dependencies>
9 <Script>installscript.qs</Script>
10</Package>
diff --git a/recipes-qt/images/b2qt-automotive-qt5-image.bb b/recipes-qt/images/b2qt-automotive-qt5-image.bb
index d0e13d5..179831a 100644
--- a/recipes-qt/images/b2qt-automotive-qt5-image.bb
+++ b/recipes-qt/images/b2qt-automotive-qt5-image.bb
@@ -42,7 +42,7 @@ IMAGE_FEATURES += "\
42 hwcodecs \ 42 hwcodecs \
43 " 43 "
44 44
45inherit core-image 45inherit core-image qbsp-image
46inherit consistent_timestamps 46inherit consistent_timestamps
47 47
48IMAGE_INSTALL += "\ 48IMAGE_INSTALL += "\
diff --git a/recipes-qt/images/b2qt-embedded-qt5-image.bb b/recipes-qt/images/b2qt-embedded-qt5-image.bb
index 970d30f..4d0bfa4 100644
--- a/recipes-qt/images/b2qt-embedded-qt5-image.bb
+++ b/recipes-qt/images/b2qt-embedded-qt5-image.bb
@@ -42,7 +42,7 @@ IMAGE_FEATURES += "\
42 hwcodecs \ 42 hwcodecs \
43 " 43 "
44 44
45inherit core-image 45inherit core-image qbsp-image
46inherit consistent_timestamps 46inherit consistent_timestamps
47 47
48IMAGE_INSTALL += "\ 48IMAGE_INSTALL += "\
diff --git a/recipes-qt/meta/meta-b2qt-automotive-qbsp.bb b/recipes-qt/meta/meta-b2qt-automotive-qbsp.bb
new file mode 100644
index 0000000..ebd12c5
--- /dev/null
+++ b/recipes-qt/meta/meta-b2qt-automotive-qbsp.bb
@@ -0,0 +1,47 @@
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
30DESCRIPTION = "Meta task for QBSP creation"
31
32LICENSE = "The-Qt-Company-DCLA-2.1"
33LIC_FILES_CHKSUM = "file://${QT_LICENSE};md5=80e06902b5f0e94ad0a78ee4f7fcb74b"
34
35# get Qt version number
36require recipes-qt/qt5/qt5-git.inc
37S = "${WORKDIR}"
38
39inherit qbsp
40
41PV = "1.1"
42
43QBSP_INSTALLER_COMPONENT = "qt.automotive.10.yocto.${MACHINE}"
44QBSP_INSTALL_PATH = "/${QT_MODULE_BRANCH}/Automotive/${MACHINE}"
45
46QBSP_SDK_TASK = "meta-toolchain-b2qt-automotive-qt5-sdk"
47QBSP_IMAGE_TASK = "b2qt-automotive-qt5-image"
diff --git a/recipes-qt/meta/meta-b2qt-embedded-qbsp.bb b/recipes-qt/meta/meta-b2qt-embedded-qbsp.bb
new file mode 100644
index 0000000..56da506
--- /dev/null
+++ b/recipes-qt/meta/meta-b2qt-embedded-qbsp.bb
@@ -0,0 +1,48 @@
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
30DESCRIPTION = "Meta task for QBSP creation"
31
32LICENSE = "The-Qt-Company-DCLA-2.1"
33LIC_FILES_CHKSUM = "file://${QT_LICENSE};md5=80e06902b5f0e94ad0a78ee4f7fcb74b"
34
35# get Qt version number
36require recipes-qt/qt5/qt5-git.inc
37S = "${WORKDIR}"
38
39inherit qbsp
40
41PV := "${@d.getVar('PV', True)[0:5]}"
42
43VERSION_SHORT = "${@d.getVar('QT_MODULE_BRANCH', True).replace('.','')}"
44QBSP_INSTALLER_COMPONENT = "qt.embedded.b2qt.${VERSION_SHORT}.yocto.${MACHINE}"
45QBSP_INSTALL_PATH = "/${QT_MODULE_BRANCH}/Boot2Qt/${MACHINE}"
46
47QBSP_SDK_TASK = "meta-toolchain-b2qt-embedded-qt5-sdk"
48QBSP_IMAGE_TASK = "b2qt-embedded-qt5-image"
diff --git a/recipes-qt/qt5-addons/installer-framework_2.0.3.bb b/recipes-qt/qt5-addons/installer-framework_2.0.3.bb
new file mode 100644
index 0000000..03cba46
--- /dev/null
+++ b/recipes-qt/qt5-addons/installer-framework_2.0.3.bb
@@ -0,0 +1,48 @@
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
30DESCRIPTION = "Qt Installer Framework"
31LICENSE = "The-Qt-Company-DCLA-2.1"
32LIC_FILES_CHKSUM = "file://${QT_LICENSE};md5=80e06902b5f0e94ad0a78ee4f7fcb74b"
33
34inherit bin_package native
35
36SRC_URI = "http://ci-files02-hki.ci.local/packages/jenkins/opensource/ifw/installer-framework/installer-framework-build-stripped-linux-x64.7z"
37
38SRC_URI[md5sum] = "08beb5450c3938fcfd1b380f6aaec75d"
39SRC_URI[sha256sum] = "91bfef896db58f28e4c2c6db437b958101a59e87aa880c38b6ddc40ebe6c38e6"
40
41S = "${WORKDIR}/ifw-pkg"
42
43do_install() {
44 install -d ${D}${bindir}
45 install -m 0755 -t ${D}${bindir} ${S}/bin/*
46}
47
48INSANE_SKIP_${PN} += "already-stripped"
diff --git a/scripts/upload.sh b/scripts/upload.sh
index 5048797..14d45c8 100755
--- a/scripts/upload.sh
+++ b/scripts/upload.sh
@@ -33,28 +33,14 @@ set -e
33 33
34RELEASE=5.8 34RELEASE=5.8
35UPLOADPATH=QT@ci-files02-hki.ci.local:/srv/jenkins_data/enterprise/b2qt/yocto/${RELEASE}/ 35UPLOADPATH=QT@ci-files02-hki.ci.local:/srv/jenkins_data/enterprise/b2qt/yocto/${RELEASE}/
36UPLOADS="\
37 tmp/deploy/images/${MACHINE}/b2qt-${PROJECT}-qt5-image-${MACHINE}.7z \
38 tmp/deploy/sdk/b2qt-x86_64-meta-toolchain-b2qt-${PROJECT}-qt5-sdk-${MACHINE}.sh \
39 tmp/deploy/sdk/b2qt-i686-mingw32-meta-toolchain-b2qt-${PROJECT}-qt5-sdk-${MACHINE}.7z \
40 "
36 41
37if [ -e tmp/deploy/images/${MACHINE}/b2qt-${PROJECT}-qt5-image-${MACHINE}.hdd ]; then 42for f in ${UPLOADS}; do
38 7z a -l b2qt-${PROJECT}-qt5-image-${MACHINE}.7z \ 43 if [ -e ${f} ]; then
39 $PWD/tmp/deploy/images/${MACHINE}/b2qt-${PROJECT}-qt5-image-${MACHINE}.hdd 44 rsync -L ${f} ${UPLOADPATH}/
40elif [ -e tmp/deploy/images/${MACHINE}/b2qt-${PROJECT}-qt5-image-${MACHINE}.img ]; then 45 fi
41 7z a -l b2qt-${PROJECT}-qt5-image-${MACHINE}.7z \ 46done
42 $PWD/tmp/deploy/images/${MACHINE}/b2qt-${PROJECT}-qt5-image-${MACHINE}.img \
43 $PWD/tmp/deploy/images/${MACHINE}/b2qt-${PROJECT}-qt5-image-${MACHINE}.conf
44elif ([ ${MACHINE} = "tegra-x1" ] || [ ${MACHINE} = "tegra-t18x" ]) \
45 && [ -e tmp/deploy/images/${MACHINE}/b2qt-${PROJECT}-qt5-image-${MACHINE}.tar.gz ]; then
46 7z a -l b2qt-${PROJECT}-qt5-image-${MACHINE}.7z \
47 $PWD/tmp/deploy/images/${MACHINE}/b2qt-${PROJECT}-qt5-image-${MACHINE}.tar.gz \
48 $PWD/tmp/deploy/images/${MACHINE}/*Image
49fi
50
51if [ -e b2qt-${PROJECT}-qt5-image-${MACHINE}.7z ]; then
52 rsync b2qt-${PROJECT}-qt5-image-${MACHINE}.7z ${UPLOADPATH}/
53fi
54
55if [ -e tmp/deploy/sdk/b2qt-x86_64-meta-toolchain-b2qt-${PROJECT}-qt5-sdk-${MACHINE}.sh ]; then
56 rsync tmp/deploy/sdk/b2qt-x86_64-meta-toolchain-b2qt-${PROJECT}-qt5-sdk-${MACHINE}.sh ${UPLOADPATH}/
57fi
58if [ -e tmp/deploy/sdk/b2qt-i686-mingw32-meta-toolchain-b2qt-${PROJECT}-qt5-sdk-${MACHINE}.7z ]; then
59 rsync tmp/deploy/sdk/b2qt-i686-mingw32-meta-toolchain-b2qt-${PROJECT}-qt5-sdk-${MACHINE}.7z ${UPLOADPATH}/
60fi