diff options
author | Joni Jäntti <joni.jantti@qt.io> | 2017-11-23 13:44:19 +0200 |
---|---|---|
committer | Tony Sarajärvi <tony.sarajarvi@qt.io> | 2017-12-29 13:16:32 +0000 |
commit | fcc0feaacb91ab5aefb212d351dcea7c728eefa5 (patch) | |
tree | 2d78a43ab042a2863dccb6e3373ff3bf96e1ee1a | |
parent | d29192ad3f499bd09da0e811d03f60d6a7aa6476 (diff) |
Add clean Ubuntu 16.04 provisioning
Currently Ubuntu 16.04 template has stuff installed on its tier 1. We
want to have a clean installed tier 1 and install everything on it
during provisioning. This will save some disk space on our hosts.
Task-number: QTQAINFRA-1574
Change-Id: Ia7e6df62835a8e31943c00996f12ac70c6c71aed
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
10 files changed, 165 insertions, 31 deletions
diff --git a/coin/platform_configs/default.txt b/coin/platform_configs/default.txt index 5cb2bff5..805b32e9 100644 --- a/coin/platform_configs/default.txt +++ b/coin/platform_configs/default.txt @@ -7,8 +7,8 @@ qtci-windows-10-x86_64-10 x86 MSVC2015 qtci-windows-10-x86_64-10 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic qtci-windows-10-x86_64-10 WinRT_10 x86 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests qtci-windows-10-x86_64-10 WinRT_10 armv7 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests -qtci-linux-Ubuntu-16.04-x86_64-1 GCC NoWidgets ForceDebugInfo -qtci-linux-Ubuntu-16.04-x86_64-1 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace BuildExamples Documentation +qtci-linux-Ubuntu-16.04-x86_64-2 GCC NoWidgets ForceDebugInfo +qtci-linux-Ubuntu-16.04-x86_64-2 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace BuildExamples Documentation qtci-linux-openSUSE-42.3-x86_64 GCC DeveloperBuild NoPch qtci-linux-openSUSE-42.3-x86_64 ICC_18 DeveloperBuild NoPch DisableTests qtci-linux-RHEL-6.6-x86_64 GCC Release ForceDebugInfo @@ -18,8 +18,8 @@ qtci-osx-10.11-x86_64-3 Clang qtci-osx-10.10-x86_64 Clang Release NoFramework DisableTests qtci-macos-10.12-x86_64-8 IOS_ANY x86_64 Clang Release DisableTests Static qtci-linux-RHEL-7.4-x86_64 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker -qtci-linux-Ubuntu-16.04-x86_64-1 QEMU armv7 GCC Release -qtci-linux-Ubuntu-16.04-x86_64-1 QEMU arm64 GCC Release -qtci-linux-Ubuntu-16.04-x86_64-1 GCC TestOnly LicenseCheck +qtci-linux-Ubuntu-16.04-x86_64-2 QEMU armv7 GCC Release +qtci-linux-Ubuntu-16.04-x86_64-2 QEMU arm64 GCC Release +qtci-linux-Ubuntu-16.04-x86_64-2 GCC TestOnly LicenseCheck qtci-linux-RHEL-6.6-x86_64 QNX_660 armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker qtci-linux-RHEL-7.4-x86_64 INTEGRITY_11_04 armv7 GCC Release DisableTests OpenGLES2 NoUseGoldLinker diff --git a/coin/platform_configs/qtdeclarative.txt b/coin/platform_configs/qtdeclarative.txt index 3139af8b..9d321d40 100644 --- a/coin/platform_configs/qtdeclarative.txt +++ b/coin/platform_configs/qtdeclarative.txt @@ -1,4 +1,4 @@ Template Target OS Target arch Compiler Features --------------------------------- ------------------- ----------- ----------- ------------------------------------------------------------------------------------- -qtci-linux-Ubuntu-16.04-x86_64-1 QEMU armv7 GCC DeveloperBuild -qtci-linux-Ubuntu-16.04-x86_64-1 QEMU arm64 GCC DeveloperBuild +qtci-linux-Ubuntu-16.04-x86_64-2 QEMU armv7 GCC DeveloperBuild +qtci-linux-Ubuntu-16.04-x86_64-2 QEMU arm64 GCC DeveloperBuild diff --git a/coin/provisioning/common/android_linux.sh b/coin/provisioning/common/android_linux.sh index ee3008c1..232326b7 100644 --- a/coin/provisioning/common/android_linux.sh +++ b/coin/provisioning/common/android_linux.sh @@ -79,8 +79,11 @@ try rm "$toolsTargetFile" || throw $ExceptionRmTools echo "Changing ownership of Android files." - sudo chown -R qt:wheel "$targetFolder" - + if uname -a |grep -q "el6\|el7"; then + sudo chown -R qt:wheel "$targetFolder" + else + sudo chown -R qt:users "$targetFolder" + fi echo "Running SDK manager for platforms;$sdkApiLevel, tools, platform-tools and build-tools;$sdkBuildToolsVersion." echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" || throw $ExceptionSdkManager 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 c9484698..c9484698 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 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 7c332aed..d6e53954 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 @@ -51,47 +51,100 @@ 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) + + 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 1382b279..1382b279 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 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 b121d604..b121d604 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 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" |