diff options
author | Liang Qi <liang.qi@qt.io> | 2018-01-12 12:51:53 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2018-01-12 21:13:56 +0100 |
commit | c2d188f225a96ccf409f4dbebd19f6e59caf7da6 (patch) | |
tree | 35d0320171ad60a4e25c41f0718d02016dfd4242 /coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64 | |
parent | ab25cb7af6602a558c84e3d30e8ce1c6e7ca6e73 (diff) | |
parent | 19872ea84352182ee974ff84d2e3872a21427117 (diff) |
Merge remote-tracking branch 'origin/5.10' into dev
Conflicts:
coin/platform_configs/default.txt
coin/platform_configs/qt5.txt
Task-number: QTBUG-65688
Change-Id: I17a303731dab4b967c9ef8a852ee0c1097b88f10
Diffstat (limited to 'coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64')
13 files changed, 204 insertions, 39 deletions
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh index 2498e441..60e637b7 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-systemsetup.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash ############################################################################# ## @@ -35,8 +35,12 @@ # This script modifies system settings for automated use -# shellcheck source=../common/try_catch.sh -source "${BASH_SOURCE%/*}/../common/try_catch.sh" +set -ex + +source "${BASH_SOURCE%/*}/../common/unix/try_catch.sh" +source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" +# shellcheck source=../common/unix/try_catch.sh +source "${BASH_SOURCE%/*}/../common/unix/try_catch.sh" NTS_IP=10.212.2.216 @@ -44,9 +48,12 @@ ExceptionGsettings1=100 ExceptionGsettings2=101 ExceptionGsettings3=102 ExceptionNTS=103 +ExceptionProxy=104 try ( + echo "Set timezone to UTC" || throw $ExceptionTimezone + sudo timedatectl set-timezone Etc/UTC echo "Timeout for blanking the screen (0 = never)" gsettings set org.gnome.desktop.session idle-delay 0 || throw $ExceptionGsettings1 echo "Prevents screen lock when screesaver goes active." @@ -56,9 +63,17 @@ try echo "Set Network Test Server address to $NTS_IP in /etc/hosts" echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts || throw $ExceptionNTS + + if [ "$proxy" != "" ]; then + echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf || throw $ExceptionProxy + fi ) catch || { case $ex_code in + $ExceptionTimezone) + echo "Failed to set timezone to UTC" + exit 1; + ;; $ExceptionGsettings1) echo "Failed to disable black screen." exit 1; @@ -75,6 +90,10 @@ catch || { echo "Failed to set network teset server address into /etc/hosts." exit 1; ;; + $ExceptionProxy) + echo "Failed to set proxy /etc/apt/apt.conf." + exit 1; + ;; esac } 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/02-apt.sh index 9b71f935..ef2b14d0 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash ############################################################################# ## @@ -35,7 +35,9 @@ # Install required packages with APT -source "${BASH_SOURCE%/*}/../common/try_catch.sh" +set -ex + +source "${BASH_SOURCE%/*}/../common/unix/try_catch.sh" ExceptionAPTUpdate=100 ExceptionAPT=101 @@ -45,47 +47,107 @@ try ( echo "Disabling auto update" sudo sed -i 's/APT::Periodic::Update-Package-Lists "1";/APT::Periodic::Update-Package-Lists "0";/' /etc/apt/apt.conf.d/10periodic || throw $ExceptionSED - echo "Running update for apt" - sudo apt-get update - echo "Installing packages" + for service in apt-daily.timer apt-daily-upgrade.timer apt-daily.service apt-daily-upgrade.service; do + sudo systemctl stop $service + sudo systemctl disable $service + done # Git is not needed by builds themselves, but is nice to have # immediately as one starts debugging - yes | sudo aptdcon --hide-terminal --install git || throw $ExceptionAPT + installPackages+=(git) # 7zip is a needed decompressing tool - yes | sudo aptdcon --hide-terminal --install p7zip || throw $ExceptionAPT + installPackages+=(p7zip) # libssl-dev provides headers for OpenSSL - yes | sudo aptdcon --hide-terminal --install libssl-dev || throw $ExceptionAPT + installPackages+=(libssl-dev) # Needed libraries for X11 support accordingly to https://wiki.qt.io/Building_Qt_5_from_Git - yes | sudo aptdcon --hide-terminal --install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev || throw $ExceptionAPT + installPackages+=("^libxcb.*") + installPackages+=(libxkbcommon-dev) + installPackages+=(libxkbcommon-x11-dev) + installPackages+=(libx11-xcb-dev) + installPackages+=(libglu1-mesa-dev) + installPackages+=(libxrender-dev) + installPackages+=(libxi-dev) # Enable linking to system dbus - yes | sudo aptdcon --hide-terminal --install libdbus-1-dev || throw $ExceptionAPT + installPackages+=(libdbus-1-dev) # Needed libraries for WebEngine - yes | sudo aptdcon --hide-terminal --install libudev-dev libegl1-mesa-dev libfontconfig1-dev libxss-dev || throw $ExceptionAPT + installPackages+=(libudev-dev) + installPackages+=(libegl1-mesa-dev) + installPackages+=(libfontconfig1-dev) + installPackages+=(libxss-dev) # Common event loop handling - yes | sudo aptdcon --hide-terminal --install libglib2.0-dev || throw $ExceptionAPT + installPackages+=(libglib2.0-dev) # MySQL support - yes | sudo aptdcon --hide-terminal --install libmysqlclient-dev || throw $ExceptionAPT + installPackages+=(libmysqlclient-dev) # PostgreSQL support - yes | sudo aptdcon --hide-terminal --install libpq-dev || throw $ExceptionAPT + installPackages+=(libpq-dev) # SQLite support - yes | sudo aptdcon --hide-terminal --install libsqlite3-dev || throw $ExceptionAPT + installPackages+=(libsqlite3-dev) # ODBC support - yes | sudo aptdcon --hide-terminal --install unixodbc-dev || throw $ExceptionAPT + installPackages+=(unixodbc-dev) # Support for FreeType font engine - yes | sudo aptdcon --hide-terminal --install libfreetype6-dev || throw $ExceptionAPT + installPackages+=(libfreetype6-dev) # Enable the usage of system jpeg libraries - yes | sudo aptdcon --hide-terminal --install libjpeg-dev || throw $ExceptionAPT + installPackages+=(libjpeg-dev) # Enable support for printer driver - yes | sudo aptdcon --hide-terminal --install libcups2-dev || throw $ExceptionAPT + installPackages+=(libcups2-dev) # Install libraries needed for QtMultimedia to be able to support all plugins - 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 + installPackages+=(libasound2-dev) + installPackages+=(libgstreamer1.0-dev) + installPackages+=(libgstreamer-plugins-base1.0-dev) + installPackages+=(libgstreamer-plugins-good1.0-dev) + installPackages+=(libgstreamer-plugins-bad1.0-dev) # Support for cross-building to x86 (needed by WebEngine boot2qt builds) - yes | sudo aptdcon --hide-terminal --install g++-multilib || throw $ExceptionAPT + installPackages+=(g++-multilib) # python3 development package - yes | sudo aptdcon --hide-terminal --install python3-dev python3-pip python3-virtualenv || throw $ExceptionAPT + installPackages+=(python3-dev) + installPackages+=(python3-pip) + installPackages+=(python3-virtualenv) # Automates interactive applications (Needed by RTA to automate configure testing) - yes | sudo aptdcon --hide-terminal --install expect || throw $ExceptionAPT + installPackages+=(expect) + installPackages+=(mesa-common-dev) + installPackages+=(libgl1-mesa-glx) + installPackages+=(libgl1-mesa-dev) + installPackages+=(libegl1-mesa-dev) + installPackages+=(curl) + installPackages+=(libicu-dev) + installPackages+=(zlib1g-dev) + installPackages+=(zlib1g) + installPackages+=(openjdk-8-jdk) + installPackages+=(libgtk-3-dev) + installPackages+=(ninja-build) + installPackages+=(libssl-dev) + installPackages+=(libxcursor-dev) + installPackages+=(libxcomposite-dev) + installPackages+=(libxdamage-dev) + installPackages+=(libxrandr-dev) + installPackages+=(libfontconfig1-dev) + installPackages+=(libxss-dev) + installPackages+=(libsrtp0-dev) + installPackages+=(libwebp-dev) + installPackages+=(libjsoncpp-dev) + installPackages+=(libopus-dev) + installPackages+=(libminizip-dev) + installPackages+=(libavutil-dev) + installPackages+=(libavformat-dev) + installPackages+=(libavcodec-dev) + installPackages+=(libevent-dev) + installPackages+=(bison) + installPackages+=(flex) + installPackages+=(gperf) + installPackages+=(libasound2-dev) + installPackages+=(libpulse-dev) + installPackages+=(libxtst-dev) + installPackages+=(libnspr4-dev) + installPackages+=(libnss3-dev) + installPackages+=(libopenal-dev) + installPackages+=(libbluetooth-dev) + #VirtualBox for RTA + installPackages+=(virtualbox) + installPackages+=(dkms) + + echo "Running update for apt" + sudo apt-get update + echo "Installing packages" + sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}" || throw $ExceptionAPT ) catch || { case $ex_code in 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/03-qemu.sh index 74ef2b4e..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/03-qemu.sh 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 deleted file mode 100755 index 7c5fadcb..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/030-fbx.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -BASEDIR=$(dirname "$0") -$BASEDIR/../common/fbx_linux.sh diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/004-libclang.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-libclang.sh index abbda212..3d294fef 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/004-libclang.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-libclang.sh @@ -6,4 +6,4 @@ VERSION=$libclang_version URL="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${VERSION//\./}-linux-Rhel7.2-gcc5.3-x86_64.7z" SHA1="bbdbbc0296f42310077539b7247d285386119ef4" -$BASEDIR/../common/libclang.sh "$URL" "$SHA1" "$VERSION" +$BASEDIR/../common/unix/libclang.sh "$URL" "$SHA1" "$VERSION" 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/04-yocto.sh index ad4e25a9..fbd75f22 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/004-yocto.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-yocto.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash ############################################################################# ## @@ -35,9 +35,9 @@ # This script installs the Yocto toolchain -set -e +set -ex -source "${BASH_SOURCE%/*}/../common/DownloadURL.sh" +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" echo "Installing Yocto toolchain for 32-bit b2qt..." diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/10-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/10-openssl_for_android_linux.sh new file mode 100755 index 00000000..0f89e72c --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/10-openssl_for_android_linux.sh @@ -0,0 +1,38 @@ +#!/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$ +## +############################################################################# + +set -ex + +source "${BASH_SOURCE%/*}/../common/linux/openssl_for_android_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/mqtt_broker.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/22-mqtt_broker.sh index e367c20b..04c09770 100644..100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/mqtt_broker.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/22-mqtt_broker.sh @@ -1,4 +1,4 @@ -#!/bin/env bash +#!/usr/bin/env bash ############################################################################# ## @@ -33,4 +33,4 @@ ## ############################################################################# -source "${BASH_SOURCE%/*}/../common/mqtt_broker.sh" +source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/30-fbx.sh new file mode 100755 index 00000000..ca24a70e --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/30-fbx.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +$BASEDIR/../common/linux/fbx_linux.sh diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-android_linux.sh new file mode 100755 index 00000000..6784335a --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-android_linux.sh @@ -0,0 +1,38 @@ +#!/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$ +## +############################################################################# + +set -ex + +source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-cmake.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-cmake.sh new file mode 100755 index 00000000..8f81a7dd --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-cmake.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +BASEDIR=$(dirname "$0") +$BASEDIR/../common/linux/cmake_linux.sh + diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/freeopcua.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/42-freeopcua.sh index a757767f..6570e107 100644..100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/freeopcua.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/42-freeopcua.sh @@ -1,4 +1,4 @@ -#!/bin/env bash +#!/usr/bin/env bash ############################################################################# ## @@ -44,6 +44,7 @@ cd freeopcua git checkout 955cc5b924cf310fc15b376a11f4b7b9db28980b mkdir build cd build +source ~/.profile cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local .. make sudo make install diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/70-qnx700.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/70-qnx700.sh index 6f0f3797..7f24d224 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/70-qnx700.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/70-qnx700.sh @@ -35,4 +35,4 @@ set -ex -source "${BASH_SOURCE%/*}/../common/qnx_700.sh" +source "${BASH_SOURCE%/*}/../common/linux/qnx_700.sh" |