diff options
Diffstat (limited to 'coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh')
-rwxr-xr-x | coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh new file mode 100755 index 00000000..acf92779 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh @@ -0,0 +1,167 @@ +#!/usr/bin/env 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$ +## +############################################################################# + +# Install required packages with APT + +set -ex + +source "${BASH_SOURCE%/*}/../common/try_catch.sh" + +ExceptionAPTUpdate=100 +ExceptionAPT=101 +ExceptionSED=102 + +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 + 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 + installPackages+=(git) + # 7zip is a needed decompressing tool + installPackages+=(p7zip) + # libssl-dev provides headers for OpenSSL + installPackages+=(libssl-dev) + # Needed libraries for X11 support accordingly to https://wiki.qt.io/Building_Qt_5_from_Git + 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 + installPackages+=(libdbus-1-dev) + # Needed libraries for WebEngine + installPackages+=(libudev-dev) + installPackages+=(libegl1-mesa-dev) + installPackages+=(libfontconfig1-dev) + installPackages+=(libxss-dev) + # Common event loop handling + installPackages+=(libglib2.0-dev) + # MySQL support + installPackages+=(libmysqlclient-dev) + # PostgreSQL support + installPackages+=(libpq-dev) + # SQLite support + installPackages+=(libsqlite3-dev) + # ODBC support + installPackages+=(unixodbc-dev) + # Support for FreeType font engine + installPackages+=(libfreetype6-dev) + # Enable the usage of system jpeg libraries + installPackages+=(libjpeg-dev) + # Enable support for printer driver + installPackages+=(libcups2-dev) + # Install libraries needed for QtMultimedia to be able to support all plugins + 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) + installPackages+=(g++-multilib) + # python3 development package + installPackages+=(python3-dev) + installPackages+=(python3-pip) + installPackages+=(python3-virtualenv) + # Automates interactive applications (Needed by RTA to automate configure testing) + 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 + $ExceptionAPTUpdate) + echo "Failed to run APT update." + exit 1; + ;; + $ExceptionAPT) + echo "Failed to install package." + exit 1; + ;; + $ExceptionSED) + echo "Failed to disable auto update." + exit 1; + ;; + esac +} |