diff options
Diffstat (limited to 'coin')
41 files changed, 117 insertions, 491 deletions
diff --git a/coin/platform_configs/default.txt b/coin/platform_configs/default.txt index 8878836c..e4da8523 100644 --- a/coin/platform_configs/default.txt +++ b/coin/platform_configs/default.txt @@ -7,7 +7,6 @@ qtci-windows-10-x86_64-10 MSVC2015 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-windows-10-x86_64-10 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic -qtci-linux-Ubuntu-16.04-x86_64-2 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace BuildExamples qtci-linux-Ubuntu-18.04-x86_64 GCC NoWidgets ForceDebugInfo qtci-linux-Ubuntu-18.04-x86_64 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace BuildExamples Documentation qtci-linux-openSUSE-42.3-x86_64 GCC DeveloperBuild NoPch diff --git a/coin/platform_configs/qt5.txt b/coin/platform_configs/qt5.txt index 5a189f25..3de18a74 100644 --- a/coin/platform_configs/qt5.txt +++ b/coin/platform_configs/qt5.txt @@ -8,9 +8,9 @@ qtci-windows-10-x86_64-10 Mingw73 qtci-windows-10-x86_64-10 WinRT_10 armv7 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests qtci-windows-10-x86_64-10 WinRT_10 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests qtci-linux-RHEL-7.4-x86_64 Android_ANY x86 GCC Clang Packaging Release DisableTests OpenGLES2 NoUseGoldLinker -qtci-windows-7-x86-3 Android_ANY armv7 Mingw73 Clang Packaging Release DisableTests OpenGLES2 -qtci-windows-7-x86-3 Android_ANY arm64 Mingw73 Clang Packaging Release DisableTests OpenGLES2 -qtci-windows-7-x86-3 Android_ANY x86 Mingw73 Clang Packaging Release DisableTests OpenGLES2 +qtci-windows-10-x86_64-10 Android_ANY armv7 Mingw73 Clang Packaging Release DisableTests OpenGLES2 +qtci-windows-10-x86_64-10 Android_ANY arm64 Mingw73 Clang Packaging Release DisableTests OpenGLES2 +qtci-windows-10-x86_64-10 Android_ANY x86 Mingw73 Clang Packaging Release DisableTests OpenGLES2 qtci-macos-10.13-x86_64-2 Android_ANY armv7 Clang Clang Packaging Release DisableTests OpenGLES2 qtci-macos-10.13-x86_64-2 Android_ANY arm64 Clang Clang Packaging Release DisableTests OpenGLES2 qtci-macos-10.13-x86_64-2 Android_ANY x86 Clang Clang Packaging Release DisableTests OpenGLES2 diff --git a/coin/provisioning/common/linux/docker.sh b/coin/provisioning/common/linux/docker.sh index 16af0a0a..1d9e8419 100755 --- a/coin/provisioning/common/linux/docker.sh +++ b/coin/provisioning/common/linux/docker.sh @@ -2,7 +2,7 @@ ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## Copyright (C) 2018 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -48,5 +48,8 @@ sudo docker info sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose +# Install Avahi to discover Docker containers in the test network +sudo apt-get install avahi-daemon -y + # Start testserver provisioning -source "${BASH_SOURCE%/*}/testserver/docker_testserver.sh" +source "${BASH_SOURCE%/*}/docker_testserver.sh" diff --git a/coin/provisioning/common/linux/testserver/docker_testserver.sh b/coin/provisioning/common/linux/docker_testserver.sh index 2534c416..2d5d9611 100755 --- a/coin/provisioning/common/linux/testserver/docker_testserver.sh +++ b/coin/provisioning/common/linux/docker_testserver.sh @@ -2,7 +2,7 @@ ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## Copyright (C) 2018 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -35,35 +35,28 @@ set -ex +case ${BASH_SOURCE[0]} in + */linux/*) SERVER_PATH="${BASH_SOURCE[0]%/linux/*}/shared/testserver" ;; + */*) SERVER_PATH="${BASH_SOURCE[0]%/*}/../shared/testserver" ;; + *) SERVER_PATH="../shared/testserver" ;; +esac + +# testserver shared scripts +source "$SERVER_PATH/testserver_util.sh" + # Using SHA-1 of each server context as the tag of docker images. A tag labels a # specific image version. It is used by docker compose file (docker-compose.yml) # to launch the corresponding docker containers. If one of the server contexts # (./apache2, ./danted, ...) gets changes, all the related compose files in # qtbase should be updated as well. -# -# For example, here's how to get the SHA-1 of apache test server. -# find ./apache2 -type f -print0 | sort -z | xargs -r0 sha1sum | \ -# awk '{ print $1 }' | sha1sum | awk '{ print $1 }' -testserver='apache2 squid vsftpd ftp-proxy danted' +source "$SERVER_PATH/settings.sh" for server in $testserver do - context="${BASH_SOURCE%/*}/$server" - sha1=$(find $context -type f -print0 | sort -z | xargs -r0 sha1sum | awk '{ print $1 }' | \ - sha1sum | awk '{ print $1 }') - sudo docker build -t qt-test-server-$server:$sha1 $context - - # transition - The fixed tag is temporarily used by CI to pass the qtbase testing. - case $server in - apache2) fixed_tag="cc9ea678b92bdda33acb9fa0159bb4ad0f3cd947" ;; - squid) fixed_tag="577d99307eea9a8cccfec944d25be2bce2fe99cc" ;; - vsftpd) fixed_tag="18896604c7e90b543e56d80c8a8aabdb65a590d0" ;; - ftp-proxy) fixed_tag="2c6c8f1ab6a364b540c43d705fb6f15a585cb2af" ;; - danted) fixed_tag="327dd56c3c35db85b26fac93213a5a1918475bc7" ;; - esac - [ -z "$fixed_tag" ] || \ - sudo docker tag qt-test-server-$server:$sha1 qt-test-server-$server:$fixed_tag + context="$SERVER_PATH/$server" + # Sort files by their SHA-1 and use the accumulated result as the TAG + sudo docker build -t qt-test-server-$server:$(sha1tree $context) $context done sudo docker images diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-systemsetup.sh b/coin/provisioning/common/macos/docker.sh index ee6af148..96265454 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-systemsetup.sh +++ b/coin/provisioning/common/macos/docker.sh @@ -2,7 +2,7 @@ ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## Copyright (C) 2018 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -33,27 +33,31 @@ ## ############################################################################# -# This script modifies system settings for automated use - set -ex -# shellcheck source=../common/unix/check_and_set_proxy.sh -source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" - -NTS_IP=10.212.2.216 - -echo "Set timezone to UTC." -sudo timedatectl set-timezone Etc/UTC -echo "Timeout for blanking the screen (0 = never)" -gsettings set org.gnome.desktop.session idle-delay 0 -echo "Prevents screen lock when screesaver goes active." -gsettings set org.gnome.desktop.screensaver lock-enabled false -echo "Disable questions on shutdown." -gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown true - -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 - -if [ "$proxy" != "" ]; then - echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf +# Download and install the Docker Toolbox for macOS (Docker Compose and Docker Machine). +url="https://download.docker.com/mac/stable/DockerToolbox.pkg" +target_file="DockerToolbox.pkg" + +if [ -x "$(command -v sha1sum)" ] +then + # This part shall be used in CI environment only. The DownloadURL script needs sha1sum + # which is not included in the default macOS system. In addition, the cached pkg can't + # be downloaded out of the Qt internal network. + case ${BASH_SOURCE[0]} in + */macos/*) UNIX_PATH="${BASH_SOURCE[0]%/macos/*}/unix" ;; + */*) UNIX_PATH="${BASH_SOURCE[0]%/*}/../unix" ;; + *) UNIX_PATH="../unix" ;; + esac + + source "$UNIX_PATH/DownloadURL.sh" + url_cached="http://ci-files01-hki.ci.local/input/windows/DockerToolbox.pkg" + sha1="7196d2d30648d486978d29adb5837ff7876517c1" + DownloadURL $url_cached $url $sha1 $target_file +else + curl $url -o $target_file fi +sudo installer -pkg $target_file -target / + +# Start testserver provisioning +source "${BASH_SOURCE%/*}/docker_testserver.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/02-apt.sh b/coin/provisioning/common/macos/docker_testserver.sh index bfbb6a8e..051386ea 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/02-apt.sh +++ b/coin/provisioning/common/macos/docker_testserver.sh @@ -2,7 +2,7 @@ ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## Copyright (C) 2018 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -33,23 +33,39 @@ ## ############################################################################# -# Install required packages with APT - set -ex -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 -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 +case ${BASH_SOURCE[0]} in + */macos/*) SERVER_PATH="${BASH_SOURCE[0]%/macos/*}/shared/testserver" ;; + */*) SERVER_PATH="${BASH_SOURCE[0]%/*}/../shared/testserver" ;; + *) SERVER_PATH="../shared/testserver" ;; +esac + +# testserver shared scripts +source "$SERVER_PATH/testserver_util.sh" + +# Nested virtualization - Print CPU features to verify that CI has enabled VT-X/AMD-v support +cpu_features=$(sysctl -a | grep machdep.cpu.features) +case $cpu_features in + *VMX*) ;; + *) echo "VMX not found error! Please make sure Coin has enabled VT-X/AMD-v." >&2; exit 1 ;; +esac -installPackages+=(git) -installPackages+=(p7zip-full) -installPackages+=(expect) +# Create docker virtual machine (Boot2docker) +source "$SERVER_PATH/docker_machine.sh" -echo "Running update for apt" -sudo apt-get update -echo "Installing packages" -sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}" +# Using SHA-1 of each server context as the tag of docker images. A tag labels a +# specific image version. It is used by docker compose file (docker-compose.yml) +# to launch the corresponding docker containers. If one of the server contexts +# (./apache2, ./danted, ...) gets changes, all the related compose files in +# qtbase should be updated as well. + +source "$SERVER_PATH/settings.sh" + +for server in $testserver +do + context="$SERVER_PATH/$server" + docker build -t qt-test-server-$server:$(sha1tree $context) $context +done +docker images diff --git a/coin/provisioning/common/linux/testserver/apache2/Dockerfile b/coin/provisioning/common/shared/testserver/apache2/Dockerfile index b39eb21e..b39eb21e 100644 --- a/coin/provisioning/common/linux/testserver/apache2/Dockerfile +++ b/coin/provisioning/common/shared/testserver/apache2/Dockerfile diff --git a/coin/provisioning/common/linux/testserver/danted/Dockerfile b/coin/provisioning/common/shared/testserver/danted/Dockerfile index 67c1159b..67c1159b 100644 --- a/coin/provisioning/common/linux/testserver/danted/Dockerfile +++ b/coin/provisioning/common/shared/testserver/danted/Dockerfile diff --git a/coin/provisioning/common/linux/testserver/danted/danted b/coin/provisioning/common/shared/testserver/danted/danted index 1da8203e..1da8203e 100755 --- a/coin/provisioning/common/linux/testserver/danted/danted +++ b/coin/provisioning/common/shared/testserver/danted/danted diff --git a/coin/provisioning/common/linux/testserver/danted/danted-authenticating b/coin/provisioning/common/shared/testserver/danted/danted-authenticating index 7aa35db6..7aa35db6 100755 --- a/coin/provisioning/common/linux/testserver/danted/danted-authenticating +++ b/coin/provisioning/common/shared/testserver/danted/danted-authenticating diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-git_lfs.sh b/coin/provisioning/common/shared/testserver/docker_machine.sh index b7adce5b..601056a4 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-git_lfs.sh +++ b/coin/provisioning/common/shared/testserver/docker_machine.sh @@ -33,11 +33,18 @@ ## ############################################################################# -# Install Git Large File Storage - set -ex -sudo apt-add-repository 'deb https://packagecloud.io/github/git-lfs/ubuntu/ xenial main' -sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 37BBEE3F7AD95B3F -sudo apt update -sudo apt install git-lfs +TestMachine='qt-test-server' + +# Deploy docker virtual machine (Boot2Docker) into VirtualBox only if it doesn't exist +if [ -z $(docker-machine ls -q --filter "name=$TestMachine") ] +then + docker-machine create -d virtualbox $TestMachine + docker-machine ip $TestMachine +fi + +# Switch the docker engine to $TestMachine +eval $(docker-machine env $TestMachine) + +docker-machine ls diff --git a/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile b/coin/provisioning/common/shared/testserver/ftp-proxy/Dockerfile index c719c1eb..c719c1eb 100644 --- a/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile +++ b/coin/provisioning/common/shared/testserver/ftp-proxy/Dockerfile diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/60-qnx660.sh b/coin/provisioning/common/shared/testserver/settings.sh index 37aec494..041661f2 100755..100644 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/60-qnx660.sh +++ b/coin/provisioning/common/shared/testserver/settings.sh @@ -1,5 +1,3 @@ -#!/bin/env bash - ############################################################################# ## ## Copyright (C) 2018 The Qt Company Ltd. @@ -35,4 +33,5 @@ set -ex -source "${BASH_SOURCE%/*}/../common/linux/qnx_660.sh" +# A list of test servers to be provisioned +testserver='apache2 squid vsftpd ftp-proxy danted' diff --git a/coin/provisioning/common/linux/testserver/squid/Dockerfile b/coin/provisioning/common/shared/testserver/squid/Dockerfile index f0ed68b3..f0ed68b3 100644 --- a/coin/provisioning/common/linux/testserver/squid/Dockerfile +++ b/coin/provisioning/common/shared/testserver/squid/Dockerfile diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-android_linux.sh b/coin/provisioning/common/shared/testserver/testserver_util.sh index 6784335a..c42fb5e0 100755..100644 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-android_linux.sh +++ b/coin/provisioning/common/shared/testserver/testserver_util.sh @@ -1,8 +1,6 @@ -#!/bin/bash - ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## Copyright (C) 2018 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -35,4 +33,9 @@ set -ex -source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh" +# Sort files by their SHA-1, and then return the accumulated result +sha1tree () { + find "$@" -type f -print0 | \ + xargs -0 shasum | cut -d ' ' -f 1 | \ + sort | shasum | cut -d ' ' -f 1 +} diff --git a/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile b/coin/provisioning/common/shared/testserver/vsftpd/Dockerfile index af6cd7c7..af6cd7c7 100644 --- a/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile +++ b/coin/provisioning/common/shared/testserver/vsftpd/Dockerfile diff --git a/coin/provisioning/common/windows/android-openssl.ps1 b/coin/provisioning/common/windows/android-openssl.ps1 index 5390dfae..a6bcaaeb 100644 --- a/coin/provisioning/common/windows/android-openssl.ps1 +++ b/coin/provisioning/common/windows/android-openssl.ps1 @@ -53,9 +53,9 @@ Rename-Item C:\Utils\openssl-$version $destination Remove-Item -Path $zip Remove-Item C:\Utils\openssl-$version.tar -Set-EnvironmentVariable "CC" "C:\utils\Android\android-ndk-r18b\toolchains\llvm\prebuilt\windows\bin\clang" -Set-EnvironmentVariable "AR" "C:\utils\Android\android-ndk-r18b\toolchains\llvm\prebuilt\windows\bin\llvm-ar" -Set-EnvironmentVariable "ANDROID_DEV" "C:\utils\Android\android-ndk-r18b\platforms\android-21\arch-arm\usr" +# Set-EnvironmentVariable "CC" "C:\utils\Android\android-ndk-r18b\toolchains\llvm\prebuilt\windows\bin\clang" +# Set-EnvironmentVariable "AR" "C:\utils\Android\android-ndk-r18b\toolchains\llvm\prebuilt\windows\bin\llvm-ar" +# Set-EnvironmentVariable "ANDROID_DEV" "C:\utils\Android\android-ndk-r18b\platforms\android-21\arch-arm\usr" # Make sure configure for openssl has a "make" and "perl" available $env:PATH = $env:PATH + ";C:\msys\1.0\bin;C:\strawberry\perl\bin" diff --git a/coin/provisioning/qtci-windows-7-x86/04-msys.ps1 b/coin/provisioning/common/windows/msys.ps1 index 24d7a5ca..df67cc20 100644 --- a/coin/provisioning/qtci-windows-7-x86/04-msys.ps1 +++ b/coin/provisioning/common/windows/msys.ps1 @@ -1,4 +1,4 @@ -. "$PSScriptRoot\..\common\windows\helpers.ps1" +. "$PSScriptRoot\helpers.ps1" # This script will install msys which is needed for configuring openssl for Android diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-cracklib.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-cracklib.sh deleted file mode 100755 index 8590d4e4..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-cracklib.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash - -# shellcheck source=../common/linux/disable-cracklib.sh -source "${BASH_SOURCE%/*}/../common/linux/disable-cracklib.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-mlocate.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-mlocate.sh deleted file mode 100755 index f12cff1e..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-mlocate.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -BASEDIR=$(dirname "$0") -# shellcheck source=../common/linux/disable-mlocate.sh -"$BASEDIR/../common/linux/disable-mlocate.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-remove_update-manager b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-remove_update-manager deleted file mode 100755 index 12302976..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-remove_update-manager +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash - -# shellcheck source=../common/linux/remove_update-manager.sh -source "${BASH_SOURCE%/*}/../common/linux/remove_update-manager.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/90-squish.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/90-squish.sh deleted file mode 100755 index 965112af..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/90-squish.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/unix/squishInstall.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-cracklib.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-cracklib.sh deleted file mode 100755 index 8590d4e4..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-cracklib.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash - -# shellcheck source=../common/linux/disable-cracklib.sh -source "${BASH_SOURCE%/*}/../common/linux/disable-cracklib.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-mlocate.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-mlocate.sh deleted file mode 100755 index f12cff1e..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-mlocate.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -BASEDIR=$(dirname "$0") -# shellcheck source=../common/linux/disable-mlocate.sh -"$BASEDIR/../common/linux/disable-mlocate.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-remove_update-manager b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-remove_update-manager deleted file mode 100755 index 12302976..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-remove_update-manager +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash - -# shellcheck source=../common/linux/remove_update-manager.sh -source "${BASH_SOURCE%/*}/../common/linux/remove_update-manager.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh deleted file mode 100755 index 938ef37c..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/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$ -## -############################################################################# - -# This script modifies system settings for automated use - -set -ex - -source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" - -NTS_IP=10.212.2.216 - -echo "Set timezone to UTC." -sudo timedatectl set-timezone Etc/UTC -echo "Timeout for blanking the screen (0 = never)" -gsettings set org.gnome.desktop.session idle-delay 0 -echo "Prevents screen lock when screesaver goes active." -gsettings set org.gnome.desktop.screensaver lock-enabled false -echo "Disable questions on shutdown." -gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown true -echo "Set grub timeout to 0" -sudo sed -i 's|GRUB_TIMEOUT=10|GRUB_TIMEOUT=0|g' /etc/default/grub -sudo update-grub - -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 - -if [ "$http_proxy" != "" ]; then - echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf -fi - -# This won't be needed for Ubuntu 17 and above, see QTBUG-67757. -sudo sed -i '/-UnityDecoration-extents/c\ -UnityDecoration-extents: 0 0 0 0;' /usr/share/themes/Ambiance/gtk-3.0/apps/unity.css 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 deleted file mode 100755 index 4559151e..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh +++ /dev/null @@ -1,184 +0,0 @@ -#!/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 - -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 -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 - -# aptdaemon is used by update notifiers and similar and there is no point in having those (the symptom is aptd holding a lock) -for i in `seq 10`; do - echo attempting to remove aptdaemon - sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y remove aptdaemon || true - # check that aptdaemon is no longer installed - which aptd > /dev/null || break - if [[ $i -eq 10 ]]; then - exit 1 - fi - sleep 10 -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-full) -# To be able to mount yocto-cache during builds -installPackages+=(nfs-common) -# 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) -# python2 development package -installPackages+=(python-pip) -# python3 development package -installPackages+=(python3-dev) -installPackages+=(python3-pip) -installPackages+=(python3-virtualenv) -installPackages+=(python3-wheel) -# Needed to be able to build Yocto -installPackages+=(chrpath) -installPackages+=(gawk) -installPackages+=(texinfo) -# 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+=(zlib1g:i386) -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) -#Pypdf for QSR documentation -installPackages+=(python-pypdf2) - -sudo tee "/etc/apt/sources.list" > /dev/null <<-EOC -deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial main restricted universe multiverse -deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-updates main restricted universe multiverse -deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-backports main restricted universe -deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-security main restricted universe multiverse -deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial main restricted universe multiverse -deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-updates main restricted universe multiverse -deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-backports main restricted universe -deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-security main restricted universe multiverse -EOC - -echo "Running update for apt" -sudo apt-get update -echo "Installing packages" -sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}" - -# Install all needed packages in a special wheel cache directory -pip3 wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../common/shared/requirements.txt - -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" -SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-disable-ntp.sh deleted file mode 100755 index ca31a876..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-disable-ntp.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-libclang.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-libclang.sh deleted file mode 100755 index 331a14d9..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-libclang.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -BASEDIR=$(dirname "$0") -# shellcheck source=../common/unix/libclang.sh -"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/22-mqtt_broker.sh deleted file mode 100755 index c2331d16..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/22-mqtt_broker.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/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$ -## -############################################################################# - -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 deleted file mode 100755 index ca24a70e..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/30-fbx.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/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-cmake.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-cmake.sh deleted file mode 100755 index 8f81a7dd..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-cmake.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -BASEDIR=$(dirname "$0") -$BASEDIR/../common/linux/cmake_linux.sh - diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/50-open62541.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/50-open62541.sh deleted file mode 100755 index a4b63493..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/50-open62541.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/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$ -## -############################################################################# - -source "${BASH_SOURCE%/*}/../common/linux/open62541.sh" 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 deleted file mode 100755 index c4740556..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/70-qnx700.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/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$ -## -############################################################################# - -set -ex - -source "${BASH_SOURCE%/*}/../common/linux/qnx_700.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/90-squish.sh deleted file mode 100755 index 27ff15c3..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/90-squish.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -BASEDIR=$(dirname "$0") -$BASEDIR/../common/unix/squishInstall.sh - diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh index 1d567a3e..0e626936 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh @@ -159,6 +159,11 @@ installPackages+=(dkms) installPackages+=(libspeechd-dev) #Pypdf for PDF reading in RTA tests installPackages+=(python-pypdf2) +# Needed for b2qt +installPackages+=(git-lfs) +installPackages+=(chrpath) +installPackages+=(gawk) +installPackages+=(texinfo) echo "Running update for apt" waitLoop diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh b/coin/provisioning/qtci-macos-10.12-x86_64/80-docker.sh index 4a6681f3..a5d362cb 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh +++ b/coin/provisioning/qtci-macos-10.12-x86_64/80-docker.sh @@ -1,4 +1,4 @@ #!/bin/bash BASEDIR=$(dirname "$0") -$BASEDIR/../common/linux/docker.sh +$BASEDIR/../common/macos/docker.sh diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/80-docker.sh b/coin/provisioning/qtci-macos-10.13-x86_64/80-docker.sh new file mode 100755 index 00000000..a5d362cb --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/80-docker.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +BASEDIR=$(dirname "$0") +$BASEDIR/../common/macos/docker.sh diff --git a/coin/provisioning/qtci-windows-10-x86_64/04-msys.ps1 b/coin/provisioning/qtci-windows-10-x86_64/04-msys.ps1 new file mode 100644 index 00000000..44efea92 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/04-msys.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\msys.ps1" diff --git a/coin/provisioning/qtci-windows-7-x86/31-android_openssl.ps1 b/coin/provisioning/qtci-windows-10-x86_64/10-openssl_for_android.ps1 index 25c6f28a..25c6f28a 100644 --- a/coin/provisioning/qtci-windows-7-x86/31-android_openssl.ps1 +++ b/coin/provisioning/qtci-windows-10-x86_64/10-openssl_for_android.ps1 diff --git a/coin/provisioning/qtci-windows-7-x86/30-android.ps1 b/coin/provisioning/qtci-windows-10-x86_64/40-android.ps1 index 69799974..69799974 100644 --- a/coin/provisioning/qtci-windows-7-x86/30-android.ps1 +++ b/coin/provisioning/qtci-windows-10-x86_64/40-android.ps1 |