aboutsummaryrefslogtreecommitdiffstats
path: root/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-12-14 11:49:07 +0100
committerLiang Qi <liang.qi@qt.io>2017-12-14 11:49:07 +0100
commitdef11da274cc4af1ba15bdc43fe7aac74bb40d49 (patch)
tree65523361f6e2371f135abb0c0b7c40a9f808b05f /coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64
parent44eaaf374a2c4cc0e370f84c561a7aaaa23f4096 (diff)
parenteccfaf1f506ceb46016e385c1a2707461811def2 (diff)
Merge remote-tracking branch 'origin/5.10' into dev
Conflicts: coin/platform_configs/qt5.txt Change-Id: I9ad5a004544bf2f368ee1aaad247c4db3b36b162
Diffstat (limited to 'coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64')
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh39
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-qemu.sh14
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/004-yocto.sh89
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/030-fbx.sh4
4 files changed, 123 insertions, 23 deletions
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh
index f07be55a..9b71f935 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh
@@ -50,40 +50,42 @@ try
echo "Installing packages"
# Git is not needed by builds themselves, but is nice to have
# immediately as one starts debugging
- sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install git || throw $ExceptionAPT
+ yes | sudo aptdcon --hide-terminal --install git || throw $ExceptionAPT
# 7zip is a needed decompressing tool
- sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install p7zip || throw $ExceptionAPT
+ yes | sudo aptdcon --hide-terminal --install p7zip || throw $ExceptionAPT
# libssl-dev provides headers for OpenSSL
- sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libssl-dev || throw $ExceptionAPT
+ yes | sudo aptdcon --hide-terminal --install libssl-dev || throw $ExceptionAPT
# Needed libraries for X11 support accordingly to https://wiki.qt.io/Building_Qt_5_from_Git
- sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev || throw $ExceptionAPT
+ yes | sudo aptdcon --hide-terminal --install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev || throw $ExceptionAPT
# Enable linking to system dbus
- sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libdbus-1-dev || throw $ExceptionAPT
+ yes | sudo aptdcon --hide-terminal --install libdbus-1-dev || throw $ExceptionAPT
# Needed libraries for WebEngine
- sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libudev-dev libegl1-mesa-dev libfontconfig1-dev libxss-dev || throw $ExceptionAPT
+ yes | sudo aptdcon --hide-terminal --install libudev-dev libegl1-mesa-dev libfontconfig1-dev libxss-dev || throw $ExceptionAPT
# Common event loop handling
- sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libglib2.0-dev || throw $ExceptionAPT
+ yes | sudo aptdcon --hide-terminal --install libglib2.0-dev || throw $ExceptionAPT
# MySQL support
- sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libmysqlclient-dev || throw $ExceptionAPT
+ yes | sudo aptdcon --hide-terminal --install libmysqlclient-dev || throw $ExceptionAPT
# PostgreSQL support
- sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libpq-dev || throw $ExceptionAPT
+ yes | sudo aptdcon --hide-terminal --install libpq-dev || throw $ExceptionAPT
# SQLite support
- sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libsqlite3-dev || throw $ExceptionAPT
+ yes | sudo aptdcon --hide-terminal --install libsqlite3-dev || throw $ExceptionAPT
# ODBC support
- sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install unixodbc-dev || throw $ExceptionAPT
+ yes | sudo aptdcon --hide-terminal --install unixodbc-dev || throw $ExceptionAPT
# Support for FreeType font engine
- sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libfreetype6-dev || throw $ExceptionAPT
+ yes | sudo aptdcon --hide-terminal --install libfreetype6-dev || throw $ExceptionAPT
# Enable the usage of system jpeg libraries
- sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libjpeg-dev || throw $ExceptionAPT
+ yes | sudo aptdcon --hide-terminal --install libjpeg-dev || throw $ExceptionAPT
# Enable support for printer driver
- sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libcups2-dev || throw $ExceptionAPT
+ yes | sudo aptdcon --hide-terminal --install libcups2-dev || throw $ExceptionAPT
# Install libraries needed for QtMultimedia to be able to support all plugins
- sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libasound2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev || throw $ExceptionAPT
- sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev || throw $ExceptionAPT
+ yes | sudo aptdcon --hide-terminal --install libasound2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev || throw $ExceptionAPT
+ yes | sudo aptdcon --hide-terminal --install libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev || throw $ExceptionAPT
# Support for cross-building to x86 (needed by WebEngine boot2qt builds)
- sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install g++-multilib || throw $ExceptionAPT
+ yes | sudo aptdcon --hide-terminal --install g++-multilib || throw $ExceptionAPT
# python3 development package
- sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install python3-dev python3-pip python3-virtualenv || throw $ExceptionAPT
+ yes | sudo aptdcon --hide-terminal --install python3-dev python3-pip python3-virtualenv || throw $ExceptionAPT
+ # Automates interactive applications (Needed by RTA to automate configure testing)
+ yes | sudo aptdcon --hide-terminal --install expect || throw $ExceptionAPT
)
catch || {
case $ex_code in
@@ -101,4 +103,3 @@ catch || {
;;
esac
}
-
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-qemu.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-qemu.sh
index 20fb83ad..74ef2b4e 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-qemu.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-qemu.sh
@@ -32,18 +32,18 @@
##
#############################################################################
-set -e
+set -ex
# build latest qemu to usermode
sudo apt-get -y install automake autoconf libtool
-tempDir=$(mktemp -d) || echo "Failed to create temporary directory"
+tempDir=$(mktemp -d)
git clone git://git.qemu.org/qemu.git "$tempDir"
cd "$tempDir"
#latest commit from the master proven to work
git checkout c7f1cf01b8245762ca5864e835d84f6677ae8b1f
git submodule update --init pixman
-./configure --target-list=arm-linux-user --static
+./configure --target-list=arm-linux-user,aarch64-linux-user --static
make
sudo make install
rm -rf "$tempDir"
@@ -51,13 +51,19 @@ rm -rf "$tempDir"
# Enable binfmt support
sudo apt-get -y install binfmt-support
-# Install qemu binfmt
+# Install qemu binfmt for 32bit and 64bit arm architectures
sudo update-binfmts --package qemu-arm --install arm \
/usr/local/bin/qemu-arm \
--magic \
"\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00" \
--mask \
"\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"
+sudo update-binfmts --package qemu-aarch64 --install aarch64 \
+/usr/local/bin/qemu-aarch64 \
+--magic \
+"\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00" \
+--mask \
+"\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"
# First test using QFont fails if fonts-noto-cjk is installed. This happens because
# running fontcache for that font takes > 5 mins when run on QEMU. Running fc-cache
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/004-yocto.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/004-yocto.sh
new file mode 100755
index 00000000..ad4e25a9
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/004-yocto.sh
@@ -0,0 +1,89 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## 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 http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script installs the Yocto toolchain
+
+set -e
+
+source "${BASH_SOURCE%/*}/../common/DownloadURL.sh"
+
+echo "Installing Yocto toolchain for 32-bit b2qt..."
+
+versionARM="2.3.1"
+package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarmv7-41b0b46.sh"
+PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/pyro/$package"
+AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/pyro/$package"
+SHA1="f17cce550c9d2148f11ae5c760f43a67e9813a45"
+yoctoInstaller="/tmp/yocto-toolchain-ARMv7.sh"
+yoctoLocationARMv7="/opt/yocto-armv7"
+sysrootARMv7="sysroots/armv7ahf-neon-poky-linux-gnueabi"
+crosscompileARMv7="sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-"
+
+DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
+chmod +x "$yoctoInstaller"
+
+/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARMv7"
+rm -rf "$yoctoInstaller"
+
+echo "Installing Yocto toolchain for 64-bit b2qt..."
+
+versionARM64="2.3.1"
+package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarm64-41b0b46.sh"
+PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/pyro/$package"
+AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/pyro/$package"
+SHA1="b49d7ec8a6339dda5a82815dc31fed1fae00851d"
+yoctoInstaller="/tmp/yocto-toolchain-ARM64.sh"
+yoctoLocationARM64="/opt/yocto-arm64"
+sysrootARM64="sysroots/aarch64-poky-linux"
+crosscompileARM64="sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-"
+
+DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
+chmod +x "$yoctoInstaller"
+
+/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARM64"
+rm -rf "$yoctoInstaller"
+
+if [ -e "$yoctoLocationARMv7/$sysrootARMv7" -a -e "$yoctoLocationARMv7/${crosscompileARMv7}g++" -a -e "$yoctoLocationARM64/$sysrootARM64" -a -e "$yoctoLocationARM64/${crosscompileARM64}g++" ]; then
+ echo "export QEMUARMV7_TOOLCHAIN_SYSROOT=$yoctoLocationARMv7/$sysrootARMv7" >> ~/.profile
+ echo "export QEMUARMV7_TOOLCHAIN_CROSS_COMPILE=$yoctoLocationARMv7/$crosscompileARMv7" >> ~/.profile
+ echo "export QEMUARM64_TOOLCHAIN_SYSROOT=$yoctoLocationARM64/$sysrootARM64" >> ~/.profile
+ echo "export QEMUARM64_TOOLCHAIN_CROSS_COMPILE=$yoctoLocationARM64/$crosscompileARM64" >> ~/.profile
+else
+ echo "Error! Couldn't find installation paths for Yocto toolchain. Aborting provisioning." 1>&2
+ exit 1
+fi
+
+echo "Yocto ARMv7 toolchain = $versionARM" >> ~/versions.txt
+echo "Yocto ARM64 toolchain = $versionARM64" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/030-fbx.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/030-fbx.sh
new file mode 100755
index 00000000..7c5fadcb
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/030-fbx.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+BASEDIR=$(dirname "$0")
+$BASEDIR/../common/fbx_linux.sh