diff options
author | Liang Qi <liang.qi@qt.io> | 2018-01-06 09:08:20 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2018-01-06 09:08:20 +0100 |
commit | 2a39f8e5fe113cf96b3b11848ead1bf4011f1966 (patch) | |
tree | 49b1305970567c66026a0531300f195ee55eeacd /coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64 | |
parent | d3c2de907d299481c942f96ab84c627761dbb446 (diff) | |
parent | 89d4dec81886a5e2d1e7537195f8677146666c85 (diff) |
Merge remote-tracking branch 'origin/5.9' into 5.10
Change-Id: I7119e6e1853b0eef2b695fb8165518e90b18d250
Diffstat (limited to 'coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64')
-rwxr-xr-x | coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh (renamed from coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-systemsetup.sh) | 21 | ||||
-rwxr-xr-x | coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh (renamed from coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh) | 104 | ||||
-rwxr-xr-x | coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/03-qemu.sh (renamed from coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-qemu.sh) | 0 | ||||
-rwxr-xr-x | coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-yocto.sh (renamed from coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/004-yocto.sh) | 4 | ||||
-rwxr-xr-x | coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/10-openssl_for_android_linux.sh | 40 | ||||
-rwxr-xr-x | coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/30-fbx.sh (renamed from coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/030-fbx.sh) | 4 | ||||
-rwxr-xr-x | coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-android_linux.sh | 38 | ||||
-rwxr-xr-x | coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-cmake.sh | 5 |
8 files changed, 189 insertions, 27 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..f245c90c 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 ############################################################################# ## @@ -36,7 +36,11 @@ # This script modifies system settings for automated use # shellcheck source=../common/try_catch.sh + +set -ex + source "${BASH_SOURCE%/*}/../common/try_catch.sh" +source "${BASH_SOURCE%/*}/../common/check_and_set_proxy.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 980da2ca..acf92779 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,6 +35,8 @@ # Install required packages with APT +set -ex + source "${BASH_SOURCE%/*}/../common/try_catch.sh" ExceptionAPTUpdate=100 @@ -49,47 +51,103 @@ try sudo systemctl stop $service sudo systemctl disable $service done - echo "Running update for apt" - sudo apt-get update - 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 + installPackages+=(git) # 7zip is a needed decompressing tool - sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install p7zip || throw $ExceptionAPT + installPackages+=(p7zip) # libssl-dev provides headers for OpenSSL - sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libssl-dev || throw $ExceptionAPT + installPackages+=(libssl-dev) # 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 + 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 - sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libdbus-1-dev || throw $ExceptionAPT + installPackages+=(libdbus-1-dev) # Needed libraries for WebEngine - sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y 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 - sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libglib2.0-dev || throw $ExceptionAPT + installPackages+=(libglib2.0-dev) # MySQL support - sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libmysqlclient-dev || throw $ExceptionAPT + installPackages+=(libmysqlclient-dev) # PostgreSQL support - sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libpq-dev || throw $ExceptionAPT + installPackages+=(libpq-dev) # SQLite support - sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libsqlite3-dev || throw $ExceptionAPT + installPackages+=(libsqlite3-dev) # ODBC support - sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install unixodbc-dev || throw $ExceptionAPT + installPackages+=(unixodbc-dev) # Support for FreeType font engine - sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libfreetype6-dev || throw $ExceptionAPT + installPackages+=(libfreetype6-dev) # Enable the usage of system jpeg libraries - sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libjpeg-dev || throw $ExceptionAPT + installPackages+=(libjpeg-dev) # Enable support for printer driver - sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libcups2-dev || throw $ExceptionAPT + installPackages+=(libcups2-dev) # 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 + 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) - sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install g++-multilib || throw $ExceptionAPT + installPackages+=(g++-multilib) # python3 development package - sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y 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) - sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y 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/004-yocto.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-yocto.sh index ad4e25a9..dd6acd39 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,7 +35,7 @@ # This script installs the Yocto toolchain -set -e +set -ex source "${BASH_SOURCE%/*}/../common/DownloadURL.sh" 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..af7d7c13 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/10-openssl_for_android_linux.sh @@ -0,0 +1,40 @@ +#!/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$ +## +############################################################################# + +source /opt/rh/devtoolset-4/enable + +set -ex + +source "${BASH_SOURCE%/*}/../common/openssl_for_android_linux.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/30-fbx.sh index 7c5fadcb..7e39935b 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/030-fbx.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/30-fbx.sh @@ -1,4 +1,6 @@ -#!/bin/bash +#!/usr/bin/env bash + +set -ex BASEDIR=$(dirname "$0") $BASEDIR/../common/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..5808a45c --- /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/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..ddfc88a6 --- /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/cmake_linux.sh + |