diff options
Diffstat (limited to 'coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64')
-rw-r--r-- | coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-suppress-shutdown-indicator.sh | 4 | ||||
-rwxr-xr-x | coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-systemsetup.sh | 87 | ||||
-rwxr-xr-x | coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh | 102 | ||||
-rw-r--r-- | coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-apt-update.sh | 2 | ||||
-rwxr-xr-x[-rw-r--r--] | coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-qemu.sh (renamed from coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/006-qt-build-dependencies.sh) | 36 |
5 files changed, 214 insertions, 17 deletions
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-suppress-shutdown-indicator.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-suppress-shutdown-indicator.sh deleted file mode 100644 index f11263b7..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-suppress-shutdown-indicator.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env sh - -# Disable questions on shutdown. -gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown true 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/001-systemsetup.sh new file mode 100755 index 00000000..1881ae0b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-systemsetup.sh @@ -0,0 +1,87 @@ +#!/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 modifies system settings for automated use + +# shellcheck source=../common/try_catch.sh +source "${BASH_SOURCE%/*}/../common/try_catch.sh" + +NTS_IP=10.212.2.216 + +ExceptionGsettings1=100 +ExceptionGsettings2=101 +ExceptionGsettings3=102 +ExceptionNTS=103 +ExceptionDISPLAY=104 + +try +( + 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." + gsettings set org.gnome.desktop.screensaver lock-enabled false || throw $ExceptionGsettings2 + echo "Disable questions on shutdown." + gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown true || throw $ExceptionGsettings3 + + 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 + echo "Set DISPLAY" + echo 'export DISPLAY=":0"' >> ~/.bashrc || throw $ExceptionDISPLAY +) +catch || { + case $ex_code in + $ExceptionGsettings1) + echo "Failed to disable black screen." + exit 1; + ;; + $ExceptionGsettings2) + echo "Failed to prevent screen lock." + exit 1; + ;; + $ExceptionGsettings3) + echo "Failed to disable questions on shutdown." + exit 1; + ;; + $ExceptionNTS) + echo "Failed to set network teset server address into /etc/hosts." + exit 1; + ;; + $ExceptionDISPLAY) + echo "Failed to set DISPLAY into ~/.bashrc." + 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/002-apt.sh new file mode 100755 index 00000000..8b28c981 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh @@ -0,0 +1,102 @@ +#!/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$ +## +############################################################################# + +# Install required packages with APT + +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 + echo "Running update for apt" + sudo apt 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 -q -y install git || throw $ExceptionAPT + # 7zip is a needed decompressing tool + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install p7zip || throw $ExceptionAPT + # libssl-dev provides headers for OpenSSL + sudo DEBIAN_FRONTEND=noninteractive apt -q -y 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 -q -y install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev || throw $ExceptionAPT + # Enable linking to system dbus + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libdbus-1-dev || throw $ExceptionAPT + # Needed libraries for WebEngine + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libudev-dev libegl1-mesa-dev libfontconfig1-dev libxss-dev || throw $ExceptionAPT + # Common event loop handling + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libglib2.0-dev || throw $ExceptionAPT + # MySQL support + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libmysqlclient-dev || throw $ExceptionAPT + # PostgreSQL support + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libpq-dev || throw $ExceptionAPT + # SQLite support + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libsqlite3-dev || throw $ExceptionAPT + # ODBC support + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install unixodbc-dev || throw $ExceptionAPT + # Support for FreeType font engine + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libfreetype6-dev || throw $ExceptionAPT + # Enable the usage of system jpeg libraries + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libjpeg-dev || throw $ExceptionAPT + # Enable support for printer driver + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libcups2-dev || throw $ExceptionAPT + # Install libraries needed for QtMultimedia to be able to support all plugins + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libasound2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev || throw $ExceptionAPT + sudo DEBIAN_FRONTEND=noninteractive apt -q -y 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 -q -y install g++-multilib || 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 +} + diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-apt-update.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-apt-update.sh deleted file mode 100644 index 2f7e2e47..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-apt-update.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env bash -sudo apt-get update diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/006-qt-build-dependencies.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-qemu.sh index 30a6caad..bd71bbe2 100644..100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/006-qt-build-dependencies.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-qemu.sh @@ -1,11 +1,10 @@ #!/usr/bin/env bash - ############################################################################# ## -## Copyright (C) 2016 The Qt Company Ltd. +## Copyright (C) 2017 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## -## This file is part of the test suite of the Qt Toolkit. +## This file is part of the provisioning scripts of the Qt Toolkit. ## ## $QT_BEGIN_LICENSE:LGPL21$ ## Commercial License Usage @@ -33,14 +32,29 @@ ## ############################################################################# -sudo apt-get -y build-dep qt5-default +set -e +# build latest qemu to usermode +sudo apt-get -y install automake autoconf libtool + +tempDir=$(mktemp -d) || echo "Failed to create temporary directory" +git clone git://git.qemu.org/qemu.git "$tempDir" +cd "$tempDir" -# qtbase -sudo apt-get -y install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev -sudo apt-get -y install libxcb-xinerama0-dev libdbus-1-dev libatspi2.0-dev +#latest commit from the master proven to work +git checkout c7f1cf01b8245762ca5864e835d84f6677ae8b1f +git submodule update --init pixman +./configure --target-list=arm-linux-user --static +make +sudo make install +rm -rf "$tempDir" -# qtmultimedia -sudo apt-get -y install libasound2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev +# Enable binfmt support +sudo apt-get -y install binfmt-support -# qtwebengine -sudo apt-get -y install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libfontconfig1-dev libcap-dev libxtst-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libxss-dev libegl1-mesa-dev gperf bison +# Install qemu binfmt +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" |