aboutsummaryrefslogtreecommitdiffstats
path: root/coin/provisioning
diff options
context:
space:
mode:
Diffstat (limited to 'coin/provisioning')
-rwxr-xr-xcoin/provisioning/common/linux/android_linux.sh6
-rwxr-xr-xcoin/provisioning/common/linux/apt_wait_loop.sh (renamed from coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-refresh-subscription-manager.sh)11
-rwxr-xr-xcoin/provisioning/common/linux/cmake_linux.sh2
-rwxr-xr-xcoin/provisioning/common/linux/docker.sh52
-rwxr-xr-xcoin/provisioning/common/linux/gcc.sh102
-rwxr-xr-xcoin/provisioning/common/linux/open62541.sh10
-rw-r--r--coin/provisioning/common/linux/testserver/apache2/Dockerfile6
-rw-r--r--coin/provisioning/common/linux/testserver/danted/Dockerfile9
-rwxr-xr-xcoin/provisioning/common/linux/testserver/danted/danted93
-rwxr-xr-xcoin/provisioning/common/linux/testserver/danted/danted-authenticating97
-rwxr-xr-xcoin/provisioning/common/linux/testserver/docker_testserver.sh58
-rw-r--r--coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile3
-rw-r--r--coin/provisioning/common/linux/testserver/squid/Dockerfile3
-rw-r--r--coin/provisioning/common/linux/testserver/vsftpd/Dockerfile6
-rwxr-xr-xcoin/provisioning/common/linux/ubuntu-version.sh (renamed from coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/99-version.sh)2
-rwxr-xr-xcoin/provisioning/common/linux/version.sh2
-rwxr-xr-xcoin/provisioning/common/macos/cmake.sh10
-rwxr-xr-xcoin/provisioning/common/macos/disable_spotlight.sh (renamed from coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-systemsetup.sh)12
-rwxr-xr-xcoin/provisioning/common/macos/install-commandlinetools.sh2
-rwxr-xr-xcoin/provisioning/common/macos/install_xcode.sh18
-rwxr-xr-xcoin/provisioning/common/macos/python3.sh6
-rw-r--r--coin/provisioning/common/shared/requirements.txt19
-rwxr-xr-xcoin/provisioning/common/unix/DownloadURL.sh2
-rwxr-xr-xcoin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh2
-rwxr-xr-xcoin/provisioning/common/unix/SetEnvVar.sh2
-rwxr-xr-xcoin/provisioning/common/unix/check_and_set_proxy.sh2
-rwxr-xr-xcoin/provisioning/common/unix/libclang.sh14
-rw-r--r--coin/provisioning/common/unix/mqtt_broker.sh6
-rwxr-xr-xcoin/provisioning/common/unix/squishInstall.sh9
-rw-r--r--coin/provisioning/common/windows/android-openssl.ps16
-rw-r--r--coin/provisioning/common/windows/android.ps14
-rw-r--r--coin/provisioning/common/windows/mqtt_broker.ps16
-rw-r--r--coin/provisioning/common/windows/opcua_unifiedautomation.ps159
-rw-r--r--coin/provisioning/common/windows/open62541.ps1265
-rw-r--r--coin/provisioning/common/windows/python.ps15
-rw-r--r--coin/provisioning/common/windows/python3.ps112
-rw-r--r--coin/provisioning/common/windows/squishInstall.ps16
-rw-r--r--coin/provisioning/common/windows/vc_redist.ps12
-rw-r--r--coin/provisioning/common/windows/vclibs_debug.ps123
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/05-subscription-manager-tooling.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/06-odbc.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh17
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/20-libusb.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh80
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/99-version.sh48
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/22-mqtt_broker.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-open62541.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/22-mqtt_broker.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/42-freeopcua.sh51
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/50-open62541.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/60-qnx660.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/70-qnx700.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-systemsetup.sh70
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh159
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-ntp.sh (renamed from coin/provisioning/qtci-linux-RHEL-6.6-x86_64/02-disable-ntp.sh)0
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-qemu.sh (renamed from coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/03-qemu.sh)76
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto.sh (renamed from coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-yocto.sh)12
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/10-openssl_for_android_linux.sh (renamed from coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/10-openssl_for_android_linux.sh)0
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/22-mqtt_broker.sh36
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-fbx.sh (renamed from coin/provisioning/qtci-osx-10.11-x86_64/01-system_updates.sh)2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-android_linux.sh39
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-cmake.sh5
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/60-qnx660.sh (renamed from coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-libclang.sh)7
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/70-qnx700.sh (renamed from coin/provisioning/qtci-linux-RHEL-6.6-x86_64/22-mqtt_broker.sh)7
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/80-docker.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-squish.sh4
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-version.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/yocto_ssh_configurations.sh (renamed from coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/yocto_ssh_configurations.sh)2
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-42.3-x86_64/01-systemsetup.sh11
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-pythondev.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-42.3-x86_64/22-mqtt_broker.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-42.3-x86_64/50-open62541.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/06-disable_spotlight.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/01-sha1sum-compatibility.sh50
-rwxr-xr-x[-rw-r--r--]coin/provisioning/qtci-macos-10.13-x86_64/02-disable-ntp.sh (renamed from coin/provisioning/qtci-osx-10.11-x86_64/02-disable-ntp.sh)0
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/03-bashprofile.sh (renamed from coin/provisioning/qtci-osx-10.11-x86_64/03-bashprofile.sh)0
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/05-systemsetup.sh (renamed from coin/provisioning/qtci-osx-10.11-x86_64/05-systemsetup.sh)7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/06-crashreporter.sh (renamed from coin/provisioning/qtci-osx-10.11-x86_64/01-crashreporter.sh)0
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/06-disable_spotlight.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/06-disable_update_downloads.sh (renamed from coin/provisioning/qtci-osx-10.10-x86_64/06-disable_update_downloads.sh)0
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/07-SSL_keychain.sh (renamed from coin/provisioning/qtci-osx-10.11-x86_64/07-SSL_keychain.sh)3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/15-xz.sh (renamed from coin/provisioning/qtci-osx-10.11-x86_64/15-xz.sh)6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/20-java.sh (renamed from coin/provisioning/qtci-osx-10.11-x86_64/30-java.sh)0
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/20-xcode.sh (renamed from coin/provisioning/qtci-osx-10.11-x86_64/20-xcode.sh)15
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/21-install-commandlinetools.sh (renamed from coin/provisioning/qtci-osx-10.11-x86_64/21-install-commandlinetools.sh)12
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/25-cmake.sh (renamed from coin/provisioning/qtci-osx-10.11-x86_64/25-cmake.sh)0
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh (renamed from coin/provisioning/qtci-osx-10.11-x86_64/25-homebrew.sh)0
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/25-mysql.sh (renamed from coin/provisioning/qtci-osx-10.11-x86_64/25-mysql.sh)8
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/25-pip.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/25-postgresql.sh (renamed from coin/provisioning/qtci-osx-10.11-x86_64/25-postgresql.sh)12
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/25-python2.sh (renamed from coin/provisioning/qtci-osx-10.10-x86_64/25-python2.sh)0
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/25-python3.sh (renamed from coin/provisioning/qtci-osx-10.11-x86_64/25-python3.sh)0
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh (renamed from coin/provisioning/qtci-osx-10.11-x86_64/26-p7zip.sh)0
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/26-virtualenv.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/27-libclang.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/30-android.sh (renamed from coin/provisioning/qtci-macos-10.12-x86_64/30-android.sh)6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/30-fbx.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh76
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/40-qnx700.sh (renamed from coin/provisioning/qtci-linux-RHEL-6.6-x86_64/03-install-rhel-epel.sh)30
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh138
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/90-squish.sh (renamed from coin/provisioning/qtci-osx-10.11-x86_64/90-squish.sh)0
l---------coin/provisioning/qtci-osx-10.10-x86_64/01-sha1sum-compatibility.sh1
l---------coin/provisioning/qtci-osx-10.11-x86_64/01-sha1sum-compatibility.sh1
-rwxr-xr-xcoin/provisioning/qtci-osx-10.11-x86_64/06-disable_update_downloads.sh4
-rwxr-xr-xcoin/provisioning/qtci-osx-10.11-x86_64/25-python2.sh4
-rwxr-xr-xcoin/provisioning/qtci-osx-10.11-x86_64/27-libclang.sh8
-rw-r--r--coin/provisioning/qtci-windows-10-x86/90-vclibs_debug.ps13
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/01-remove-ms-zune.ps12
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/79-opcua_unifiedautomation.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/79-open62541.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/90-signing-tools.ps12
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/90-vclibs_debug.ps13
-rw-r--r--coin/provisioning/qtci-windows-7-x86/09-install-mingw530.ps110
-rw-r--r--coin/provisioning/qtci-windows-7-x86/09-install-mingw730.ps110
-rw-r--r--coin/provisioning/qtci-windows-7-x86/79-open62541.ps12
122 files changed, 1725 insertions, 397 deletions
diff --git a/coin/provisioning/common/linux/android_linux.sh b/coin/provisioning/common/linux/android_linux.sh
index 68e77dd1..d0fc607e 100755
--- a/coin/provisioning/common/linux/android_linux.sh
+++ b/coin/provisioning/common/linux/android_linux.sh
@@ -51,13 +51,13 @@ basePath="http://ci-files01-hki.intra.qt.io/input/android"
toolsVersion="r25.2.5"
toolsFile="tools_$toolsVersion-linux.zip"
-ndkVersion="r10e"
+ndkVersion="r16b"
ndkFile="android-ndk-$ndkVersion-linux-x86_64.zip"
sdkBuildToolsVersion="25.0.2"
sdkApiLevel="android-21"
toolsSha1="72df3aa1988c0a9003ccdfd7a13a7b8bd0f47fc1"
-ndkSha1="f692681b007071103277f6edc6f91cb5c5494a32"
+ndkSha1="42aa43aae89a50d1c66c3f9fdecd676936da6128"
toolsTargetFile="/tmp/$toolsFile"
toolsSourceFile="$basePath/$toolsFile"
@@ -74,7 +74,7 @@ rm "$ndkTargetFile"
rm "$toolsTargetFile"
echo "Changing ownership of Android files."
-if uname -a |grep -q "el6\|el7"; then
+if uname -a |grep -q "el7"; then
sudo chown -R qt:wheel "$targetFolder"
else
sudo chown -R qt:users "$targetFolder"
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/common/linux/apt_wait_loop.sh
index 84238ebf..b34e1ebc 100755
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-refresh-subscription-manager.sh
+++ b/coin/provisioning/common/linux/apt_wait_loop.sh
@@ -35,9 +35,10 @@
set -ex
-# refresh local certificates
-sudo subscription-manager refresh
-
-# Attach available subscriptions to system. This is needed when subscriptions are renewed.
-sudo subscription-manager attach --auto
+function waitLoop {
+while sudo fuser /var/lib/dpkg/lock >/dev/null 2>&1 ; do
+ echo "Waiting for other software managers to finish..."
+ sleep 0.5
+done
+}
diff --git a/coin/provisioning/common/linux/cmake_linux.sh b/coin/provisioning/common/linux/cmake_linux.sh
index 9b4f6851..2b8d71d0 100755
--- a/coin/provisioning/common/linux/cmake_linux.sh
+++ b/coin/provisioning/common/linux/cmake_linux.sh
@@ -5,7 +5,7 @@
## Copyright (C) 2016 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
diff --git a/coin/provisioning/common/linux/docker.sh b/coin/provisioning/common/linux/docker.sh
new file mode 100755
index 00000000..16af0a0a
--- /dev/null
+++ b/coin/provisioning/common/linux/docker.sh
@@ -0,0 +1,52 @@
+#!/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$
+##
+#############################################################################
+
+set -ex
+
+# Download and install the docker engine.
+sudo apt-get install curl -y
+curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
+sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
+sudo apt-get update
+sudo apt-get install docker-ce -y
+sudo usermod -a -G docker $USER
+sudo docker info
+
+# Download and install the docker-compose extension.
+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
+
+# Start testserver provisioning
+source "${BASH_SOURCE%/*}/testserver/docker_testserver.sh"
diff --git a/coin/provisioning/common/linux/gcc.sh b/coin/provisioning/common/linux/gcc.sh
new file mode 100755
index 00000000..44ff654b
--- /dev/null
+++ b/coin/provisioning/common/linux/gcc.sh
@@ -0,0 +1,102 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## 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.
+##
+## $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 builds GCC from sources
+
+# shellcheck source=../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+
+set -ex
+
+function InstallGCC() {
+ version=$1
+ priority=$2
+ prebuiltSHA1=$3
+ sourcesSHA1=$4
+
+ tmpFolder="/tmp"
+
+ prebuiltGCC="http://ci-files01-hki.intra.qt.io/input/gcc/gcc-$version-prebuilt.tar.gz"
+ prebuiltTarget="$tmpFolder/gcc-$version-prebuilt.tar.gz"
+ installPrefix="/usr/local"
+
+ suffixVersion=$(echo "$version" | cut -d "." -f1,2)
+ sourceFile="gcc-$version.tar.xz"
+ cachedUrl="http://ci-files01-hki.intra.qt.io/input/gcc/$sourceFile"
+ officialUrl="ftp://ftp.mpi-sb.mpg.de/pub/gnu/mirror/gcc.gnu.org/pub/gcc/releases/gcc-$version/$sourceFile"
+
+ targetFile="$tmpFolder/$sourceFile"
+ buildFolder="$HOME/gcc_build"
+
+ echo "Fetching prebuilt GCC."
+ curl --fail -L --retry 5 --retry-delay 5 -o "$prebuiltTarget" "$prebuiltGCC" || (
+ echo "Fetching prebuilt GCC failed. Building from sources."
+ DownloadURL "$cachedUrl" "$officialUrl" "$sourcesSHA1" "$targetFile"
+ )
+
+ if [ -f "$prebuiltTarget" ]; then
+ echo "$prebuiltSHA1 *$prebuiltTarget" | sha1sum -c -
+ sudo tar -xzf "$prebuiltTarget" -C "$installPrefix"
+ rm -rf "$prebuiltTarget"
+ else
+ tar -C "$tmpFolder" -xJf "$targetFile"
+ mkdir -p "$buildFolder"
+ cd "$tmpFolder/gcc-$version"
+ sudo "$tmpFolder/gcc-$version/contrib/download_prerequisites"
+ cd "$buildFolder"
+ "$tmpFolder/gcc-$version/configure" --disable-bootstrap --enable-languages=c,c++,lto --prefix="$installPrefix" --program-suffix="-$suffixVersion"
+ make -j4
+ sudo make install
+
+ rm -rf "$targetFile"
+ rm -rf "$tmpFolder/gcc-$version"
+ fi
+
+ # openSUSE has update-alternatives under /usr/sbin and it has grouped the commands by means of master and slave links
+ if [ -f "/usr/sbin/update-alternatives" ]; then
+ sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc "$installPrefix/bin/gcc-$suffixVersion" "$priority" \
+ --slave /usr/bin/g++ g++ "$installPrefix/bin/g++-$suffixVersion" \
+ --slave /usr/bin/cc cc "$installPrefix/bin/gcc-$suffixVersion" \
+ --slave /usr/bin/c++ c++ "$installPrefix/bin/g++-$suffixVersion"
+ else
+ sudo /usr/bin/update-alternatives --install /usr/bin/gcc gcc "$installPrefix/bin/gcc-$suffixVersion" "$priority"
+ sudo /usr/bin/update-alternatives --install /usr/bin/g++ g++ "$installPrefix/bin/g++-$suffixVersion" "$priority"
+ sudo /usr/bin/update-alternatives --install /usr/bin/cc cc "$installPrefix/bin/gcc-$suffixVersion" "$priority"
+ sudo /usr/bin/update-alternatives --install /usr/bin/c++ c++ "$installPrefix/bin/g++-$suffixVersion" "$priority"
+ fi
+
+
+ echo "GCC = $version" >> ~/versions.txt
+}
diff --git a/coin/provisioning/common/linux/open62541.sh b/coin/provisioning/common/linux/open62541.sh
index 97a76886..962e8963 100755
--- a/coin/provisioning/common/linux/open62541.sh
+++ b/coin/provisioning/common/linux/open62541.sh
@@ -5,7 +5,7 @@
## 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
@@ -59,15 +59,15 @@ sudo pip install six
git clone https://github.com/open62541/open62541.git open62541
cd open62541
-git checkout 8845e493d7751fd4eee3917b540e5346646b9cf7
+git checkout 215651ab8db94e5eacdd10ec26a5a9fb96b9301f
mkdir build
cd build
-cmake -DUA_ENABLE_AMALGAMATION=ON -DUA_ENABLE_METHODCALLS=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -DLIB_INSTALL_DIR:PATH=/usr/local/lib/open62541 ..
+TARGETPATH=/opt/open62541
+cmake -DUA_ENABLE_AMALGAMATION=ON -DUA_ENABLE_METHODCALLS=ON -DCMAKE_INSTALL_PREFIX:PATH="$TARGETPATH" ..
make
sudo make install
sudo /sbin/ldconfig
-SetEnvVar "QTOPCUA_OPEN62541_LIB_PATH" "/usr/local/lib/open62541"
-SetEnvVar "QTOPCUA_OPEN62541_INCLUDE_PATH" "/usr/local/include/open62541"
+SetEnvVar "CI_OPEN62541_GCC_X64_PREFIX" "$TARGETPATH"
diff --git a/coin/provisioning/common/linux/testserver/apache2/Dockerfile b/coin/provisioning/common/linux/testserver/apache2/Dockerfile
new file mode 100644
index 00000000..bb2dc850
--- /dev/null
+++ b/coin/provisioning/common/linux/testserver/apache2/Dockerfile
@@ -0,0 +1,6 @@
+FROM ubuntu:16.04
+RUN apt-get update && apt-get install -y apache2 libcgi-session-perl wget avahi-daemon
+EXPOSE 80 443
+
+# install configurations and test data
+RUN wget https://tools.ietf.org/rfc/rfc3252.txt
diff --git a/coin/provisioning/common/linux/testserver/danted/Dockerfile b/coin/provisioning/common/linux/testserver/danted/Dockerfile
new file mode 100644
index 00000000..eb2ac6ff
--- /dev/null
+++ b/coin/provisioning/common/linux/testserver/danted/Dockerfile
@@ -0,0 +1,9 @@
+FROM ubuntu:16.04
+RUN apt-get update && apt-get install -y gdebi-core=0.9.5.7ubuntu1 wget avahi-daemon
+RUN wget http://ppa.launchpad.net/dajhorn/dante/ubuntu/pool/main/d/dante/dante-server_1.4.1-1_amd64.deb
+RUN gdebi -n dante-server_1.4.1-1_amd64.deb
+EXPOSE 1080-1081
+
+# install configurations and test data
+COPY danted /etc/init.d/
+COPY danted-authenticating /etc/init.d/
diff --git a/coin/provisioning/common/linux/testserver/danted/danted b/coin/provisioning/common/linux/testserver/danted/danted
new file mode 100755
index 00000000..1da8203e
--- /dev/null
+++ b/coin/provisioning/common/linux/testserver/danted/danted
@@ -0,0 +1,93 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: danted
+# Required-Start: $remote_fs $syslog
+# Required-Stop: $remote_fs $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: SOCKS (v4 and v5) proxy daemon (danted)
+### END INIT INFO
+#
+# dante SOCKS server init.d file. Based on /etc/init.d/skeleton:
+# Version: @(#)skeleton 1.8 03-Mar-1998 miquels@cistron.nl
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/danted
+NAME=danted
+DESC="Dante SOCKS daemon"
+PIDFILE=/var/run/$NAME.pid
+CONFFILE=/etc/$NAME.conf
+
+test -f $DAEMON || exit 0
+
+set -e
+
+# This function makes sure that the Dante server can write to the pid-file.
+touch_pidfile ()
+{
+ if [ -r $CONFFILE ]; then
+ uid="`sed -n -e 's/[[:space:]]//g' -e 's/#.*//' -e '/^user\.privileged/{s/[^:]*://p;q;}' \
+ $CONFFILE`"
+ if [ -n "$uid" ]; then
+ touch $PIDFILE
+ chown $uid $PIDFILE
+ fi
+ fi
+}
+
+. /lib/lsb/init-functions
+
+case "$1" in
+ start)
+ if ! egrep -cve '^ *(#|$)' \
+ -e '^(logoutput|user\.((not)?privileged|libwrap)):' $CONFFILE > /dev/null
+ then
+ echo "Not starting $DESC: not configured."
+ exit 0
+ fi
+ echo -n "Starting $DESC: "
+ touch_pidfile
+ start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON -- -D
+ echo "$NAME."
+ ;;
+ stop)
+ echo -n "Stopping $DESC: "
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON
+ echo "$NAME."
+ ;;
+ reload|force-reload)
+ #
+ # If the daemon can reload its config files on the fly
+ # for example by sending it SIGHUP, do it here.
+ #
+ # If the daemon responds to changes in its config file
+ # directly anyway, make this a do-nothing entry.
+ #
+ echo "Reloading $DESC configuration files."
+ start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --exec $DAEMON -- -D
+ ;;
+ restart)
+ #
+ # If the "reload" option is implemented, move the "force-reload"
+ # option to the "reload" entry above. If not, "force-reload" is
+ # just the same as "restart".
+ #
+ echo -n "Restarting $DESC: "
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON
+ sleep 1
+ touch_pidfile
+ start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- -D
+ echo "$NAME."
+ ;;
+ status)
+ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
+ echo "Usage: $N {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/coin/provisioning/common/linux/testserver/danted/danted-authenticating b/coin/provisioning/common/linux/testserver/danted/danted-authenticating
new file mode 100755
index 00000000..7aa35db6
--- /dev/null
+++ b/coin/provisioning/common/linux/testserver/danted/danted-authenticating
@@ -0,0 +1,97 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: danted-authenticating
+# Required-Start: $remote_fs $syslog
+# Required-Stop: $remote_fs $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: SOCKS (v4 and v5) proxy daemon (danted)
+### END INIT INFO
+#
+# dante SOCKS server init.d file. Based on /etc/init.d/skeleton:
+# Version: @(#)skeleton 1.8 03-Mar-1998 miquels@cistron.nl
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/danted
+NAME=danted-authenticating
+DESC="Dante SOCKS daemon"
+PIDFILE=/var/run/$NAME.pid
+CONFFILE=/etc/$NAME.conf
+DANTED_ARGS="-D -f $CONFFILE"
+
+test -f $DAEMON || exit 0
+
+set -e
+
+# This function makes sure that the Dante server can write to the pid-file.
+touch_pidfile ()
+{
+ if [ -r $CONFFILE ]; then
+ uid="`sed -n -e 's/[[:space:]]//g' -e 's/#.*//' -e '/^user\.privileged/{s/[^:]*://p;q;}' \
+ $CONFFILE`"
+ if [ -n "$uid" ]; then
+ touch $PIDFILE
+ chown $uid $PIDFILE
+ fi
+ fi
+}
+
+. /lib/lsb/init-functions
+
+case "$1" in
+ start)
+ if ! egrep -cve '^ *(#|$)' \
+ -e '^(logoutput|user\.((not)?privileged|libwrap)):' $CONFFILE > /dev/null
+ then
+ echo "Not starting $DESC: not configured."
+ exit 0
+ fi
+ echo -n "Starting $DESC: "
+ touch_pidfile
+ start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE \
+ --exec $DAEMON -- $DANTED_ARGS
+ echo "$NAME."
+ ;;
+ stop)
+ echo -n "Stopping $DESC: "
+ start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON
+ echo "$NAME."
+ ;;
+ reload|force-reload)
+ #
+ # If the daemon can reload its config files on the fly
+ # for example by sending it SIGHUP, do it here.
+ #
+ # If the daemon responds to changes in its config file
+ # directly anyway, make this a do-nothing entry.
+ #
+ echo "Reloading $DESC configuration files."
+ start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE \
+ --exec $DAEMON -- $DANTED_ARGS
+ ;;
+ restart)
+ #
+ # If the "reload" option is implemented, move the "force-reload"
+ # option to the "reload" entry above. If not, "force-reload" is
+ # just the same as "restart".
+ #
+ echo -n "Restarting $DESC: "
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON
+ sleep 1
+ touch_pidfile
+ start-stop-daemon --start --quiet --pidfile $PIDFILE \
+ --exec $DAEMON -- $DANTED_ARGS
+ echo "$NAME."
+ ;;
+ status)
+ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
+ echo "Usage: $N {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/coin/provisioning/common/linux/testserver/docker_testserver.sh b/coin/provisioning/common/linux/testserver/docker_testserver.sh
new file mode 100755
index 00000000..a88e89b9
--- /dev/null
+++ b/coin/provisioning/common/linux/testserver/docker_testserver.sh
@@ -0,0 +1,58 @@
+#!/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$
+##
+#############################################################################
+
+set -ex
+
+# 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'
+
+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
+done
+
+sudo docker images
diff --git a/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile b/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile
new file mode 100644
index 00000000..cecb2dca
--- /dev/null
+++ b/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile
@@ -0,0 +1,3 @@
+FROM ubuntu:16.04
+RUN apt-get update && apt-get install -y ftp-proxy=1.9.2.4-10 avahi-daemon
+EXPOSE 2121
diff --git a/coin/provisioning/common/linux/testserver/squid/Dockerfile b/coin/provisioning/common/linux/testserver/squid/Dockerfile
new file mode 100644
index 00000000..0b930bca
--- /dev/null
+++ b/coin/provisioning/common/linux/testserver/squid/Dockerfile
@@ -0,0 +1,3 @@
+FROM ubuntu:16.04
+RUN apt-get update && apt-get install -y squid=3.5.12-1ubuntu7.5 avahi-daemon
+EXPOSE 3128-3130
diff --git a/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile b/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile
new file mode 100644
index 00000000..f8e32d40
--- /dev/null
+++ b/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile
@@ -0,0 +1,6 @@
+FROM ubuntu:16.04
+RUN apt-get update && apt-get install -y vsftpd=3.0.3-3ubuntu2 ftp=0.17-33 wget avahi-daemon
+EXPOSE 20-21
+
+# install configurations and test data
+RUN wget https://tools.ietf.org/rfc/rfc3252.txt
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/99-version.sh b/coin/provisioning/common/linux/ubuntu-version.sh
index 21a4c4cf..d403df13 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/99-version.sh
+++ b/coin/provisioning/common/linux/ubuntu-version.sh
@@ -43,4 +43,4 @@ echo "***** All installed packages *****" >> ~/versions.txt
apt list --installed >> ~/versions.txt
echo "*********************************************" >> ~/versions.txt
-"$(dirname "$0")/../common/linux/version.sh"
+"$(dirname "$0")/version.sh"
diff --git a/coin/provisioning/common/linux/version.sh b/coin/provisioning/common/linux/version.sh
index ed24d805..3e2a7f19 100755
--- a/coin/provisioning/common/linux/version.sh
+++ b/coin/provisioning/common/linux/version.sh
@@ -5,7 +5,7 @@
## Copyright (C) 2016 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
diff --git a/coin/provisioning/common/macos/cmake.sh b/coin/provisioning/common/macos/cmake.sh
index f926de89..e22425b7 100755
--- a/coin/provisioning/common/macos/cmake.sh
+++ b/coin/provisioning/common/macos/cmake.sh
@@ -42,13 +42,13 @@ source "${BASH_SOURCE%/*}/InstallAppFromCompressedFileFromURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/osx_10.11_el_capitan/cmake-3.6.2-Darwin-x86_64.tar.gz"
-AltUrl="https://cmake.org/files/v3.6/cmake-3.6.2-Darwin-x86_64.tar.gz"
-SHA1="13835afa3aea939e07a7ecccedcc041dd8c3a86e"
-appPrefix="cmake-3.6.2-Darwin-x86_64"
+PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.13_high_sierra/cmake-3.11.3-Darwin-x86_64.tar.gz"
+AltUrl="https://cmake.org/files/v3.11/cmake-3.11.3-Darwin-x86_64.tar.gz"
+SHA1="3d13de8020ce560159fa5cecb669498c48552d96"
+appPrefix="cmake-3.11.3-Darwin-x86_64"
InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix"
SetEnvVar "PATH" "/Applications/CMake.app/Contents/bin:\$PATH"
-echo "CMake = 3.6.2" >> ~/versions.txt
+echo "CMake = 3.11.3" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-systemsetup.sh b/coin/provisioning/common/macos/disable_spotlight.sh
index 99612260..7c60b52b 100755
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-systemsetup.sh
+++ b/coin/provisioning/common/macos/disable_spotlight.sh
@@ -33,12 +33,6 @@
##
#############################################################################
-set -ex
-
-# shellcheck source=../common/unix/check_and_set_proxy.sh
-source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
-
-# shellcheck disable=SC2031
-if [ "$http_proxy" != "" ]; then
- echo "proxy=$proxy" | sudo tee -a /etc/yum.conf
-fi
+# Disable spotlight and and stop indexing
+sudo mdutil -a -i off
+sudo defaults write /.Spotlight-V100/VolumeConfiguration Exclusions -array "/Volumes"
diff --git a/coin/provisioning/common/macos/install-commandlinetools.sh b/coin/provisioning/common/macos/install-commandlinetools.sh
index 2be234e7..7b0ead98 100755
--- a/coin/provisioning/common/macos/install-commandlinetools.sh
+++ b/coin/provisioning/common/macos/install-commandlinetools.sh
@@ -5,7 +5,7 @@
## 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
diff --git a/coin/provisioning/common/macos/install_xcode.sh b/coin/provisioning/common/macos/install_xcode.sh
index e569bee5..5eddb72f 100755
--- a/coin/provisioning/common/macos/install_xcode.sh
+++ b/coin/provisioning/common/macos/install_xcode.sh
@@ -49,11 +49,27 @@ function InstallXCode() {
version=$2
echo "Uncompressing and installing '$sourceFile'"
- xzcat < "$sourceFile" | (cd /Applications/ && sudo cpio -dmi)
+ if [[ $sourceFile =~ tar ]]; then
+ cd /Applications/ && sudo tar -zxf "$sourceFile"
+ else
+ xzcat < "$sourceFile" | (cd /Applications/ && sudo cpio -dmi)
+ fi
+
+ echo "Versioning application bundle"
+ majorVersion=$(echo $version | cut -d '.' -f 1)
+ versionedAppBundle="/Applications/Xcode${majorVersion}.app"
+ sudo mv /Applications/Xcode.app ${versionedAppBundle}
+
+ echo "Selecting Xcode"
+ sudo xcode-select --switch ${versionedAppBundle}
echo "Accept license"
sudo xcodebuild -license accept
+ echo "Install packages"
+ # -runFirstLaunch is valid in 9.x
+ sudo xcodebuild -runFirstLaunch || true
+
echo "Enabling developer mode, so that using lldb does not require interactive password entry"
sudo /usr/sbin/DevToolsSecurity -enable
diff --git a/coin/provisioning/common/macos/python3.sh b/coin/provisioning/common/macos/python3.sh
index 545a6d02..35bccc93 100755
--- a/coin/provisioning/common/macos/python3.sh
+++ b/coin/provisioning/common/macos/python3.sh
@@ -52,10 +52,14 @@ InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
InstallPip python3.6
-/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 install virtualenv
+/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 install virtualenv wheel
SetEnvVar "PYTHON3_PATH" "/Library/Frameworks/Python.framework/Versions/3.6/bin"
SetEnvVar "PIP3_PATH" "/Library/Frameworks/Python.framework/Versions/3.6/bin"
+# Install all needed packages in a special wheel cache directory
+/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../shared/requirements.txt
+SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels"
+
echo "python3 = 3.6.1" >> ~/versions.txt
diff --git a/coin/provisioning/common/shared/requirements.txt b/coin/provisioning/common/shared/requirements.txt
new file mode 100644
index 00000000..12380d85
--- /dev/null
+++ b/coin/provisioning/common/shared/requirements.txt
@@ -0,0 +1,19 @@
+# This file holds all python3 packages need for a certain qt module
+# When adding new packages here, first add a comment with the name of the module
+# Then all the packages. Duplicates are wanted as every module should install
+# all packages it needs and shouldn't depend on a package from another module
+#
+# qtivi
+antlr4-python3-runtime==4.7.1
+argh==0.26.2
+click==6.7
+coloredlogs==10.0
+humanfriendly==4.15.1
+Jinja2==2.10
+MarkupSafe==1.0
+path.py==11.0.1
+pathtools==0.1.2
+PyYAML==3.13
+six==1.11.0
+typing==3.6.4
+watchdog==0.8.3
diff --git a/coin/provisioning/common/unix/DownloadURL.sh b/coin/provisioning/common/unix/DownloadURL.sh
index 14d1322d..2d82af58 100755
--- a/coin/provisioning/common/unix/DownloadURL.sh
+++ b/coin/provisioning/common/unix/DownloadURL.sh
@@ -5,7 +5,7 @@
## 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
diff --git a/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh b/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh
index b616efb9..1185afeb 100755
--- a/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh
+++ b/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh
@@ -5,7 +5,7 @@
## 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
diff --git a/coin/provisioning/common/unix/SetEnvVar.sh b/coin/provisioning/common/unix/SetEnvVar.sh
index e1b69169..d5aa4dcd 100755
--- a/coin/provisioning/common/unix/SetEnvVar.sh
+++ b/coin/provisioning/common/unix/SetEnvVar.sh
@@ -5,7 +5,7 @@
## 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
diff --git a/coin/provisioning/common/unix/check_and_set_proxy.sh b/coin/provisioning/common/unix/check_and_set_proxy.sh
index 3e55b09f..8ada72ab 100755
--- a/coin/provisioning/common/unix/check_and_set_proxy.sh
+++ b/coin/provisioning/common/unix/check_and_set_proxy.sh
@@ -4,7 +4,7 @@
## 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
diff --git a/coin/provisioning/common/unix/libclang.sh b/coin/provisioning/common/unix/libclang.sh
index 645cf6ec..a9d1cc49 100755
--- a/coin/provisioning/common/unix/libclang.sh
+++ b/coin/provisioning/common/unix/libclang.sh
@@ -48,18 +48,12 @@ source "${BASH_SOURCE%/*}/SetEnvVar.sh"
source "${BASH_SOURCE%/*}/DownloadURL.sh"
libclang_version=6.0
-libclang_version_Rhel6=4.0
if uname -a |grep -q Darwin; then
version=$libclang_version
url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version//\./}-mac.7z"
url_cached="http://ci-files01-hki.intra.qt.io/input/libclang/qt/libclang-release_${version//\./}-mac.7z"
sha1="0af8ab8c1174faf4b721d079587190fc32ea8364"
-elif uname -a |grep -q "el6"; then
- version=$libclang_version_Rhel6
- url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version//\./}-linux-Rhel6.6-gcc4.9-x86_64.7z"
- url_cached="http://ci-files01-hki.intra.qt.io/input/libclang/qt/libclang-release_${version//\./}-linux-Rhel6.6-gcc4.9-x86_64.7z"
- sha1="c7466109628418a6aa3db8b3f5825f847f1c4952"
else
version=$libclang_version
url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version//\./}-linux-Rhel7.2-gcc5.3-x86_64.7z"
@@ -79,8 +73,6 @@ sudo mv /tmp/libclang "$destination"
echo "export LLVM_INSTALL_DIR=$destination" >> ~/.bash_profile
echo "libClang = $version" >> ~/versions.txt
-if [ "$version" == "6.0" ]; then
- # This is a hacked static build of libclang which requires special
- # handling on the qdoc side.
- SetEnvVar "QDOC_USE_STATIC_LIBCLANG" "1"
-fi
+# This is a hacked static build of libclang which requires special
+# handling on the qdoc side.
+SetEnvVar "QDOC_USE_STATIC_LIBCLANG" "1"
diff --git a/coin/provisioning/common/unix/mqtt_broker.sh b/coin/provisioning/common/unix/mqtt_broker.sh
index 2d79c77b..c6a65305 100644
--- a/coin/provisioning/common/unix/mqtt_broker.sh
+++ b/coin/provisioning/common/unix/mqtt_broker.sh
@@ -5,7 +5,7 @@
## 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
@@ -39,10 +39,10 @@
source "${BASH_SOURCE%/*}/InstallFromCompressedFileFromURL.sh"
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-CommitSHA="5e14a65bbf602fe5d58afdd1394ce76d41ed5c65"
+CommitSHA="20bad2475c27a6e1d24a56d90a9fceb40963261e"
PrimaryUrl="http://ci-files01-hki.ci.local/input/mqtt_broker/paho.mqtt.testing-$CommitSHA.zip"
AltUrl="https://github.com/eclipse/paho.mqtt.testing/archive/$CommitSHA.zip"
-SHA1="6afc375c2702eb36a960f38dd4912a3422d679fd"
+SHA1="a0ac88715c2aebb9573a113dc13925a90da19233"
targetFolder="/opt/paho_broker"
appPrefix="paho.mqtt.testing-$CommitSHA"
diff --git a/coin/provisioning/common/unix/squishInstall.sh b/coin/provisioning/common/unix/squishInstall.sh
index c946dfdc..0f31e5fd 100755
--- a/coin/provisioning/common/unix/squishInstall.sh
+++ b/coin/provisioning/common/unix/squishInstall.sh
@@ -38,9 +38,9 @@ set -ex
# This script will install squish package for Linux and Mac.
# Squish is need by Release Test Automation (RTA)
-version="6.3.0"
+version="6.3.2"
# Branch version without dot
-qtBranch="59x"
+qtBranch="510x"
squishFolder="/opt/squish"
squishUrl="ci-files01-hki.intra.qt.io:/hdd/www/input/squish/coin/$qtBranch/"
squishFile="squish-$version-qt$qtBranch-linux64.run"
@@ -76,7 +76,7 @@ function MountAndInstall {
usersGroup="staff"
mountFolder="/Volumes"
squishLicenseDir="/Users/qt"
- elif uname -a |grep -q "el6\|el7"; then
+ elif uname -a |grep -q "el7"; then
usersGroup="qt"
mountFolder="/tmp"
squishLicenseDir="/root"
@@ -129,6 +129,7 @@ function MountAndInstall {
echo "'run-file', no need to uncompress"
sudo cp $targetFileMount $targetDirectory
UnMount
+ sudo chmod +x $targetDirectory/$targetFile
sudo $targetDirectory/$targetFile unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null 2>&1
sudo rm -fr "$targetDirectory/$targetFile"
if uname -a |grep -q "Ubuntu"; then
@@ -160,7 +161,7 @@ MountAndInstall "$squishLicenseUrl" "$squishFolder" "$squishLicenseFile"
echo "Installing squish $version.."
MountAndInstall "$squishUrl" "$squishFolder" "$squishFile"
-echo "Installing test suite for squish"
+echo "Installing provisioning scripts for squish"
MountAndInstall "$testSuiteUrl" "$squishFolder" "$testSuite.tar.gz"
echo "Verifying Squish Installation"
diff --git a/coin/provisioning/common/windows/android-openssl.ps1 b/coin/provisioning/common/windows/android-openssl.ps1
index d838fcc8..ccd24cb9 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-ndk-r10e\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\bin\arm-linux-androideabi-gcc"
-Set-EnvironmentVariable "AR" "C:\utils\android-ndk-r10e\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\bin\arm-linux-androideabi-ar"
-Set-EnvironmentVariable "ANDROID_DEV" "C:\utils\android-ndk-r10e\platforms\android-18\arch-arm\usr"
+Set-EnvironmentVariable "CC" "C:\utils\android-ndk-r16b\toolchains\llvm\prebuilt\linux-x86_64\bin\clang"
+Set-EnvironmentVariable "AR" "C:\utils\android-ndk-r16b\toolchains\llvm\prebuilt\linux-x86_64\bin\llvm-ar"
+Set-EnvironmentVariable "ANDROID_DEV" "C:\utils\android-ndk-r16b\platforms\android-18\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/common/windows/android.ps1 b/coin/provisioning/common/windows/android.ps1
index 9a09e919..f83a8e60 100644
--- a/coin/provisioning/common/windows/android.ps1
+++ b/coin/provisioning/common/windows/android.ps1
@@ -40,10 +40,10 @@
# That's why we need to use Andoid-21 API version in Qt 5.9.
# NDK
-$ndkVersion = "r10e"
+$ndkVersion = "r16b"
$ndkCachedUrl = "\\ci-files01-hki.intra.qt.io\provisioning\android\android-ndk-$ndkVersion-windows-x86.zip"
$ndkOfficialUrl = "https://dl.google.com/android/repository/android-ndk-$ndkVersion-windows-x86.zip"
-$ndkChecksum = "1d0b8f2835be741f3048fb03c0a3e9f71ab7f357"
+$ndkChecksum = "becaf3d445a4877ca1a9300a62f0934a4838c7fa"
$ndkFolder = "c:\utils\android-ndk-$ndkVersion"
$ndkZip = "c:\Windows\Temp\android_ndk_$ndkVersion.zip"
diff --git a/coin/provisioning/common/windows/mqtt_broker.ps1 b/coin/provisioning/common/windows/mqtt_broker.ps1
index f362f55c..301667b4 100644
--- a/coin/provisioning/common/windows/mqtt_broker.ps1
+++ b/coin/provisioning/common/windows/mqtt_broker.ps1
@@ -3,7 +3,7 @@
## 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
@@ -35,8 +35,8 @@
Write-Host "MQTT: Downloading Paho test broker..."
$zip = Get-DownloadLocation "pahotest.zip"
-$commitSHA = "5e14a65bbf602fe5d58afdd1394ce76d41ed5c65"
-$sha1 = "6afc375c2702eb36a960f38dd4912a3422d679fd"
+$commitSHA = "20bad2475c27a6e1d24a56d90a9fceb40963261e"
+$sha1 = "a0ac88715c2aebb9573a113dc13925a90da19233"
$internalUrl = "http://ci-files01-hki.ci.local/input/mqtt_broker/paho.mqtt.testing-$commitSHA.zip"
$externalUrl = "https://github.com/eclipse/paho.mqtt.testing/archive/$commitSHA.zip"
diff --git a/coin/provisioning/common/windows/opcua_unifiedautomation.ps1 b/coin/provisioning/common/windows/opcua_unifiedautomation.ps1
new file mode 100644
index 00000000..18f562c9
--- /dev/null
+++ b/coin/provisioning/common/windows/opcua_unifiedautomation.ps1
@@ -0,0 +1,59 @@
+#############################################################################
+##
+## 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.
+##
+## $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$
+##
+#############################################################################
+
+. "$PSScriptRoot\helpers.ps1"
+
+$zip = Get-DownloadLocation "uasdkcpp.zip"
+$sha1 = "e1927dbd5d8bb459b468fa70a70b1de51a4ce022"
+$installLocation = "C:\Utils\uacpp"
+
+Write-Host "UACPPSDK: Downloading Unified Automation CPP installer..."
+$internalUrl = "http://ci-files01-hki.ci.local/input/opcua_uacpp/uasdkcppbundle-bin-EVAL-win32-x86-vs2015-v1.5.6-361.zip"
+# No public download link exists
+$externalUrl = $internalUrl
+
+Download $externalUrl $internalUrl $zip
+Verify-Checksum $zip $sha1
+
+Write-Host "UACPPSDK: Installing $zip..."
+Extract-7Zip $zip (Get-DefaultDownloadLocation)
+Remove-Item -Path $zip
+
+$executable = (Get-DefaultDownloadLocation) + "uasdkcppbundle-bin-EVAL-win32-x86-vs2015-v1.5.6-361.exe"
+$arguments = "/S /D=$installLocation"
+Run-Executable $executable $arguments
+Write-Host "UACPPSDK: Installer done."
+Remove-Item $executable
+
+Write-Host "Set environment variable for COIN to locate SDK"
+Set-EnvironmentVariable "CI_UACPP_msvc2015_x86_PREFIX" "$installLocation"
diff --git a/coin/provisioning/common/windows/open62541.ps1 b/coin/provisioning/common/windows/open62541.ps1
new file mode 100644
index 00000000..beb09487
--- /dev/null
+++ b/coin/provisioning/common/windows/open62541.ps1
@@ -0,0 +1,265 @@
+#############################################################################
+##
+## 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.
+##
+## $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$
+##
+#############################################################################
+
+Param (
+ [string]$targetCommand= ""
+ )
+
+. "$PSScriptRoot\helpers.ps1"
+
+## Variables for builds
+$commitSHA = "215651ab8db94e5eacdd10ec26a5a9fb96b9301f"
+$sha1 = "8d899f986071525be73e1ee8565b28ea10536d7d"
+$extractTarget = "C:\open62541_build"
+
+function CreateArchive
+{
+ param(
+ [string]$sourceDirectory=$(throw("You must specify a directory")),
+ [string]$archiveName=$(throw("You must specify an archive name"))
+ )
+
+ if ((Get-Command "7z.exe" -ErrorAction SilentlyContinue) -eq $null) {
+ $zipExe = join-path (${env:ProgramFiles(x86)}, ${env:ProgramFiles}, ${env:ProgramW6432} -ne $null)[0] '7-zip\7z.exe'
+ if (-not (test-path $zipExe)) {
+ $zipExe = "C:\Utils\sevenzip\7z.exe"
+ if (-not (test-path $zipExe)) {
+ throw "Could not find 7-zip."
+ }
+ }
+ } else {
+ $zipExe = "7z.exe"
+ }
+
+ Run-Executable $zipExe "a -y `"$archiveName`" `"$sourceDirectory`""
+}
+
+function PrepareRepository
+{
+ $username = $env:USERNAME
+ $zip = "c:\users\$username\downloads\open62541.zip"
+
+ $externalUrl = "https://github.com/open62541/open62541/archive/$commitSHA.zip"
+ $internalUrl = "http://ci-files01-hki.ci.local/input/open62541/$commitSHA.zip"
+
+ Download $externalUrl $internalUrl $zip
+ Verify-Checksum $zip $sha1
+
+ Extract-7Zip $zip $extractTarget
+}
+
+function PushDevEnvironment
+{
+ # Provisioning updates the registry entries for PATH etc. However, they are not
+ # propagated to the next provisioning script and hence need to be manually
+ # read / set.
+ $adaptedPath = $env:PATH
+ $jomLocation = [Environment]::GetEnvironmentVariable("CI_JOM_PATH", "Machine")
+ $adaptedPath = $adaptedPath + ";" + $jomLocation
+ $adaptedPath = $adaptedPath + ";" + "C:\Python27"
+ $adaptedPath = $adaptedPath + ";" + "C:\CMake\bin"
+ [Environment]::SetEnvironmentVariable("PATH", $adaptedPath, "Process")
+}
+
+function MSVCEnvironment
+{
+ Param (
+ [string]$msvcDir=$(throw("No VS Directory specified")),
+ [string]$msvcbat=$(throw("No vsvars batch file specified"))
+ )
+
+ Push-Location $msvcDir
+ cmd /c "$msvcbat&set" |
+ foreach {
+ if ($_ -match "=") {
+ $v = $_.split("="); Set-Item -force -path "ENV:\$($v[0])" -value "$($v[1])"
+ }
+ }
+ Pop-Location
+}
+
+function BuildAndInstallOpen62541
+{
+ Param (
+ [string]$Type=$(throw("You must specify the dev type [mingw530, mingw630, mingw730, msvc2015, msvc2017]")),
+ [string]$Platform=$(throw("You must specify the target platform [x86, x64]")),
+ [string]$MakeCommand=$(throw("You must specify a make command [mingw32-make, nmake]"))
+ )
+ Write-Host "### Open62541: Supposed to build with: $Type $Platform $MakeCommand"
+
+ ## Make Build directory
+ $buildDir = "$extractTarget\open62541-$commitSHA\build" + "_" + $Type + "_" + $Platform
+ if (Test-Path $buildDir) {
+ Write-Host " Deleting pre-existing build directory"
+ Remove-Item $buildDir -Force -Recurse
+ }
+ New-Item -ItemType Directory -Force -Path $buildDir
+ Push-Location $buildDir
+
+ ## Invoke Cmake
+ $makeGenerator = "NMake Makefiles JOM"
+ $installTarget = "C:\Utils\open62541" + "_" + $Type + "_" + $Platform
+ if (Test-Path $installTarget) {
+ Write-Host " Deleting pre-existing install directory"
+ Remove-Item $installTarget -Force -Recurse
+ }
+
+ if ($Type.StartsWith("mingw")) {
+ $makeGenerator = "MinGW Makefiles"
+ }
+ cmake -G "$makeGenerator" -DUA_ENABLE_AMALGAMATION=ON -DUA_ENABLE_METHODCALLS=ON -DCMAKE_INSTALL_PREFIX:PATH=$installTarget -DLIB_INSTALL_DIR:PATH=$installTarget/lib ..
+
+ ## Call build command
+ Write-Host "### Open62541: Compilation ###"
+ Run-Executable $MakeCommand
+
+ ## call install command
+ Write-Host "### Open62541: Installation ###"
+ Run-Executable $MakeCommand install
+
+ $platformVariable = "CI_OPEN62541_" + $Type + "_" + $Platform + "_PREFIX"
+ Set-EnvironmentVariable $platformVariable $installTarget
+
+ ## Packaging
+ Push-Location "C:\Utils"
+ $archiveName = "open62541_" + $Type + "_" + $Platform + ".7z"
+ CreateArchive $installTarget $archiveName
+ Pop-Location
+
+ ## cleanup build directory
+ Write-Host "### Open62541: Cleanup ###"
+ Pop-Location
+ Remove-Item $buildDir -Force -Recurse
+}
+
+function DownloadAndInstall
+{
+ Param (
+ [string]$Type=$(throw("You must specify the dev type [mingw530, mingw630, mingw730, msvc2015, msvc2017]")),
+ [string]$Platform=$(throw("You must specify the target platform [x86, x64]"))
+ )
+ $baseLocation = "http://ci-files01-hki.intra.qt.io/input/open62541/"
+ $targetName = "open62541_" + $Type + "_" + $Platform
+ $archiveName = $targetName + ".7z"
+ $downloadUrl = $baseLocation + $archiveName
+
+ # Download
+ $downloadTarget = "C:\Utils\" + $archiveName
+ Download $downloadUrl $downloadUrl $downloadTarget
+
+ # Extract
+ Push-Location C:\Utils
+ Extract-7Zip $downloadTarget C:\Utils
+ Pop-Location
+
+ # Set environment variable
+ $platformVariable = "CI_OPEN62541_" + $Type + "_" + $Platform
+ $platformPath = "C:\Utils\" + $targetName
+ Set-EnvironmentVariable $platformVariable $platformPath
+}
+
+##############################
+# Startup #
+##############################
+if ($targetCommand.StartsWith("mingw")) {
+ Write-Host "### Creating Open62541 for MinGW"
+ $mingwPath = [Environment]::GetEnvironmentVariable($targetCommand, "Machine")
+ if (!$mingwPath) {
+ throw("Could not find mingw")
+ }
+
+ # Strawberry has its own gcc, put mingw in front
+ $adaptedPath = $mingwPath + "\bin;" + [Environment]::GetEnvironmentVariable("PATH", "Machine")
+ [Environment]::SetEnvironmentVariable("PATH", $adaptedPath, "Process")
+
+ PushDevEnvironment
+ BuildAndInstallOpen62541 $targetCommand x86 "mingw32-make"
+} elseif ($targetCommand -eq "msvc2015_x86") {
+ Write-Host "### Creating Open62541 for MSVC2015 x86"
+ MSVCEnvironment "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC" "vcvarsall.bat x86"
+ PushDevEnvironment
+ BuildAndInstallOpen62541 msvc2015 x86 jom
+} elseif ($targetCommand -eq "msvc2015_x64") {
+ Write-Host "### Creating Open62541 for MSVC2015 x64"
+ MSVCEnvironment "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC" "vcvarsall.bat amd64"
+ PushDevEnvironment
+ BuildAndInstallOpen62541 msvc2015 x64 jom
+} elseif ($targetCommand -eq "msvc2017_x86") {
+ Write-Host "### Creating Open62541 for MSVC2017 x86"
+ MSVCEnvironment "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build" vcvars32.bat
+ PushDevEnvironment
+ BuildAndInstallOpen62541 msvc2017 x86 jom
+} elseif ($targetCommand -eq "msvc2017_x64") {
+ Write-Host "### Creating Open62541 for MSVC2017 x64"
+ MSVCEnvironment "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build" vcvars64.bat
+ PushDevEnvironment
+ BuildAndInstallOpen62541 msvc2017 x64 jom
+} elseif ($targetCommand -eq "prepare") {
+ PrepareRepository
+} elseif ($targetCommand -eq "build") {
+ Write-Host "### Building for all supported platforms"
+ PrepareRepository
+ Write-Host "### Invoking MinGW530 build"
+ PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand mingw530
+ Write-Host "### Invoking MinGW630 build"
+ PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand mingw630
+ Write-Host "### Invoking MinGW730 build"
+ PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand mingw730
+ Write-Host "### Invoking MSVC2015 build"
+ PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand msvc2015_x86
+ PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand msvc2015_x64
+ Write-Host "### Invoking MSVC2017 build"
+ PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand msvc2017_x86
+ PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand msvc2017_x64
+ Write-Host "### Archives have been generated at C:/Utils. Please upload manually"
+} elseif ($targetCommand -eq "packaged") {
+ Write-Host "### Expecting pre-built packages, download and install from archives"
+ Write-Host "### MinGW530 x64"
+ DownloadAndInstall mingw530 x86
+ Write-Host "### MinGW630 x64"
+ DownloadAndInstall mingw630 x86
+ Write-Host "### MinGW730 x64"
+ DownloadAndInstall mingw730 x64
+ Write-Host "### MSVC2015 x86"
+ DownloadAndInstall msvc2015 x86
+ Write-Host "### MSVC2015 x64"
+ DownloadAndInstall msvc2015 x64
+ Write-Host "### MSVC2017 x64"
+ DownloadAndInstall msvc2017 x64
+} elseif ($targetCommand) {
+ Write-Host "### Unknown parameter specified:" $targetCommand " Options are: mingw, msvc2015_x(86/64), msvc2017_x(86/64)"
+ throw("Unknown parameter")
+} else {
+ # Default behavior
+ PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand build
+}
diff --git a/coin/provisioning/common/windows/python.ps1 b/coin/provisioning/common/windows/python.ps1
index e2855c75..aee4c199 100644
--- a/coin/provisioning/common/windows/python.ps1
+++ b/coin/provisioning/common/windows/python.ps1
@@ -3,7 +3,7 @@
## Copyright (C) 2016 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
@@ -83,4 +83,7 @@ if (IsProxyEnabled) {
}
Run-Executable "$targetDir\Scripts\pip.exe" "$pip_args install virtualenv"
+# Install PyPDF2 for QSR documentation
+Run-Executable "$targetDir\Scripts\pip.exe" "$pip_args install PyPDF2"
+
Write-Output "Python-$archVer = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/python3.ps1 b/coin/provisioning/common/windows/python3.ps1
index 473fe65c..c05c022c 100644
--- a/coin/provisioning/common/windows/python3.ps1
+++ b/coin/provisioning/common/windows/python3.ps1
@@ -4,7 +4,7 @@
## Copyright (C) 2017 Pelagicore AG
## 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
@@ -79,7 +79,15 @@ if (IsProxyEnabled) {
Write-Host "Using proxy ($proxy) with pip"
$pip_args = "--proxy=$proxy"
}
-Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install virtualenv"
+Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install virtualenv wheel"
+
+# Install all needed packages in a special wheel cache directory
+$python3_wheel_dir="$install_path\python3-wheels"
+Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args wheel --wheel-dir $python3_wheel_dir -r $PSScriptRoot\..\shared\requirements.txt"
+Set-EnvironmentVariable "PYTHON3_WHEEL_CACHE" "$python3_wheel_dir"
+
+# Install PyPDF2 for QSR documentation
+Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install PyPDF2"
Write-Output "Python3-$archVer = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/squishInstall.ps1 b/coin/provisioning/common/windows/squishInstall.ps1
index 8db53ca7..5fb032f5 100644
--- a/coin/provisioning/common/windows/squishInstall.ps1
+++ b/coin/provisioning/common/windows/squishInstall.ps1
@@ -38,11 +38,11 @@
# NOTE! Make sure 64bit versions are always installed before 32bit,
# because they use same folder name before a rename
-$version = "6.3.0"
+$version = "6.3.2"
# Qt branch without dot (*.*)
-$qtBranch = "59x"
-# So far Squish built with Qt5.9 works also with 5.10 and 5.11, but we have to be prepared that on some point
+$qtBranch = "510x"
+# So far Squish built with Qt5.10 works also with 5.11, but we have to be prepared that on some point
# the compatibility breaks, and we may need to have separate Squish packages for different Qt versions.
$targetDir = "C:\Utils\squish"
diff --git a/coin/provisioning/common/windows/vc_redist.ps1 b/coin/provisioning/common/windows/vc_redist.ps1
index c356ca2c..f68846f0 100644
--- a/coin/provisioning/common/windows/vc_redist.ps1
+++ b/coin/provisioning/common/windows/vc_redist.ps1
@@ -4,7 +4,7 @@
## Copyright (C) 2017 Pelagicore AG
## 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
diff --git a/coin/provisioning/common/windows/vclibs_debug.ps1 b/coin/provisioning/common/windows/vclibs_debug.ps1
new file mode 100644
index 00000000..ef387ab4
--- /dev/null
+++ b/coin/provisioning/common/windows/vclibs_debug.ps1
@@ -0,0 +1,23 @@
+. "$PSScriptRoot\helpers.ps1"
+
+function Install-VCLibsDebug
+{
+ Param (
+ [string]$Arch
+ )
+
+ $installedPackage = Get-AppxPackage Microsoft.VCLibs.140.00.Debug | Where-Object {$_.Architecture -eq $Arch}
+ if ($installedPackage) {
+ Write-Host "Debug VCLibs already installed for $Arch."
+ return
+ }
+
+ if (Is64BitWinHost) {
+ $ProgramFiles = "Program Files (x86)"
+ } else {
+ $ProgramFiles = "Program Files"
+ }
+ Add-AppxPackage "C:\$ProgramFiles\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs\14.0\Appx\Debug\$Arch\Microsoft.VCLibs.$Arch.Debug.14.00.appx"
+
+ Write-Host "Debug VCLibs successfully installed for $Arch."
+}
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/05-subscription-manager-tooling.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/05-subscription-manager-tooling.sh
deleted file mode 100755
index d3072b37..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/05-subscription-manager-tooling.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env bash
-# provides: fix for possible bug in the subscription manager
-# version: provided by RedHat
-# needed for yum to work properly in case there is incorrect data in
-# the sslclientkey repository parameter value
-
-set -ex
-
-sudo rm -f /etc/pki/entitlement/*
-sudo subscription-manager refresh
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/06-odbc.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/06-odbc.sh
deleted file mode 100755
index c8edc2a2..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/06-odbc.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/env bash
-# provides: odbc devel packages on RHEL
-# version: provided by default Linux distribution repository
-# needed for configure -plugin-sql-odbc in qtbase
-
-set -ex
-
-sudo yum install -y unixODBC-devel
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh
deleted file mode 100755
index 6152c7e5..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/env bash
-# provides: python development libraries
-# version: provided by default Linux distribution repository
-# needed to build pyside
-
-set -ex
-
-sudo yum install -y python-devel python-virtualenv
-
-# install python3
-sudo yum install -y python34-devel
-
-# install pip3
-wget https://bootstrap.pypa.io/get-pip.py
-sudo python3 get-pip.py
-sudo rm -f get-pip.py
-sudo pip3 install virtualenv
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh
deleted file mode 100755
index 74520b6e..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-
-"$(dirname "$0")/../common/linux/cmake_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/20-libusb.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/20-libusb.sh
deleted file mode 100755
index b156e8f9..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/20-libusb.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-# Required for tqtc-boot2qt/qdb
-
-set -ex
-
-sudo yum install -y libusb1-devel
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh
deleted file mode 100755
index 90d4199f..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the test suite 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$
-##
-#############################################################################
-
-# shellcheck source=../common/unix/DownloadURL.sh
-source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
-
-# This script installs the right ICU version
-
-set -ex
-icuVersion="56.1"
-icuLocation="/usr/lib64"
-sha1="f2eab775c04ce5f3bdae6c47d06b62158b5d6753"
-
-function Install7ZPackageFromURL {
- url=$1
- urlExt=$2
- expectedSha1=$3
- targetDirectory=$4
-
- targetFile=$(mktemp)
- DownloadURL "$url" "$urlExt" "$expectedSha1" "$targetFile"
- sudo /usr/local/bin/7z x -yo"$targetDirectory" "$targetFile"
- rm "$targetFile"
-}
-
-echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation"
-
-baseBinaryPackageURL="http://ci-files01-hki.intra.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel6.6-x64.7z"
-baseBinaryPackageExternalUrl="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel6.6-x64.7z"
-Install7ZPackageFromURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalUrl" "$sha1" "/usr/lib64"
-
-echo "Installing custom ICU devel packages on RHEL"
-
-sha1Dev="82f8b216371b848b8d36ecec7fe7b6e9b0dba0df"
-develPackageURL="http://ci-files01-hki.intra.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel6.6-x64-devel.7z"
-develPackageExternalUrl="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel6.6-x64-devel.7z"
-tempDir=$(mktemp -d)
-# shellcheck disable=SC2064
-trap "sudo rm -fr $tempDir" EXIT
-Install7ZPackageFromURL "$develPackageURL" "$develPackageExternalUrl" "$sha1Dev" "$tempDir"
-sudo cp -a "$tempDir/lib"/* /usr/lib64
-sudo cp -a "$tempDir"/* /usr/
-
-sudo /sbin/ldconfig
-
-# Storage version information to ~/versions.txt, which is used to print version information to provision log.
-echo "ICU = $icuVersion" >> ~/versions.txt
-
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/99-version.sh
deleted file mode 100755
index 1354bf6b..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/99-version.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2016 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the test suite 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 needs to be called last during provisioning so that the software information will show up last in provision log.
-
-# Storage installed RPM packages information
-
-set -ex
-
-# shellcheck disable=SC2129
-echo "*********************************************" >> ~/versions.txt
-echo "***** All installed RPM packages *****" >> ~/versions.txt
-rpm -q -a | sort >> ~/versions.txt
-echo "*********************************************" >> ~/versions.txt
-
-"$(dirname "$0")/../common/linux/version.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh
index fba8c1b2..4e2799ff 100755
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh
@@ -106,4 +106,11 @@ sudo ln -s /opt/rh/rh-python36/root/usr/bin/pip3 /usr/local/bin/pip3
# We shouldn't use yum to install virtualenv. The one found from package repo is not
# working, but we can use installed pip
sudo pip install --upgrade pip
-sudo pip install virtualenv
+sudo pip install virtualenv wheel
+
+sudo /usr/local/bin/pip3 install wheel
+# Install all needed packages in a special wheel cache directory
+/usr/local/bin/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-RHEL-7.4-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/22-mqtt_broker.sh
index 505374c5..e677427f 100755
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/22-mqtt_broker.sh
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/22-mqtt_broker.sh
@@ -5,7 +5,7 @@
## 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
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-open62541.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-open62541.sh
index 049cdd2d..21c926b8 100755
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-open62541.sh
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-open62541.sh
@@ -5,7 +5,7 @@
## 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
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
index e613edc0..2855d70d 100755
--- 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
@@ -110,6 +110,7 @@ installPackages+=(python-pip)
installPackages+=(python3-dev)
installPackages+=(python3-pip)
installPackages+=(python3-virtualenv)
+installPackages+=(python3-wheel)
# Needed to be able to build Yocto
installPackages+=(chrpath)
installPackages+=(gawk)
@@ -157,12 +158,20 @@ installPackages+=(libbluetooth-dev)
#VirtualBox for RTA
installPackages+=(virtualbox)
installPackages+=(dkms)
+#Pypdf for QSR documentation
+installPackages+=(python-pypdf2)
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"
+
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
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
index 04c09770..c2331d16 100755
--- 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
@@ -5,7 +5,7 @@
## 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
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/42-freeopcua.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/42-freeopcua.sh
deleted file mode 100755
index 6570e107..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/42-freeopcua.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2016 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the test suite 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$
-##
-#############################################################################
-
-sudo apt-get update
-sudo apt-get install -y libboost-dev libboost-thread-dev libboost-system-dev libboost-program-options-dev libboost-filesystem-dev libxml2-dev libboost-regex-dev
-
-TEMPDIR=$(mktemp --directory) || echo "Failed to create temporary directory"
-trap "sudo rm -fr $TEMPDIR" EXIT
-cd $TEMPDIR
-git clone https://github.com/FreeOpcUa/freeopcua.git freeopcua
-cd freeopcua
-git checkout 955cc5b924cf310fc15b376a11f4b7b9db28980b
-mkdir build
-cd build
-source ~/.profile
-cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local ..
-make
-sudo make install
-sudo /sbin/ldconfig
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
index 6cc2b44f..a4b63493 100755
--- 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
@@ -5,7 +5,7 @@
## 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
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/60-qnx660.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/60-qnx660.sh
index 6b5cf23c..37aec494 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/60-qnx660.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/60-qnx660.sh
@@ -5,7 +5,7 @@
## Copyright (C) 2018 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
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
index 7f24d224..c4740556 100755
--- 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
@@ -5,7 +5,7 @@
## 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
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh
new file mode 100755
index 00000000..4a6681f3
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+BASEDIR=$(dirname "$0")
+$BASEDIR/../common/linux/docker.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-systemsetup.sh
new file mode 100755
index 00000000..96bf23f8
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-systemsetup.sh
@@ -0,0 +1,70 @@
+#!/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
+
+# 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 "Set grub timeout to 0"
+sudo sed -i 's|GRUB_TIMEOUT=10|GRUB_TIMEOUT=0|g' /etc/default/grub
+sudo update-grub
+
+# https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624320
+echo "Setting up workaround for Ubuntu systemd resolve bug"
+sudo rm -f /etc/resolv.conf
+sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
+
+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
+
+echo 'LC_ALL=en_US.UTF8' | sudo tee /etc/default/locale
+
+if [ "$http_proxy" != "" ]; then
+ echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf
+fi
+
+# This script diverts qtlogging.ini file so we don't get debugging related auto-test failures.
+sudo dpkg-divert --divert /etc/xdg/QtProject/qtlogging.ini.foo --rename /etc/xdg/QtProject/qtlogging.ini
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
new file mode 100755
index 00000000..92b7a990
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh
@@ -0,0 +1,159 @@
+#!/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
+
+# shellcheck source=../common/linux/apt_wait_loop.sh
+source "${BASH_SOURCE%/*}/../common/linux/apt_wait_loop.sh"
+
+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
+# 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)
+# python3 development package
+installPackages+=(python3-dev)
+installPackages+=(python3-pip)
+installPackages+=(python3-virtualenv)
+installPackages+=(python3-wheel)
+# python2 development package
+installPackages+=(python-dev)
+# 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+=(libnss3)
+installPackages+=(libopenal-dev)
+installPackages+=(libbluetooth-dev)
+#VirtualBox for RTA
+installPackages+=(virtualbox)
+installPackages+=(dkms)
+# Needed for qtspeech
+installPackages+=(libspeechd-dev)
+
+echo "Installing packages"
+waitLoop
+sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}"
+echo "Running update for apt"
+waitLoop
+sudo apt-get update
+
+# 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-RHEL-6.6-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-ntp.sh
index 89806892..89806892 100755
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/02-disable-ntp.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-ntp.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh
new file mode 100755
index 00000000..62940e21
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/linux/gcc.sh
+source "${BASH_SOURCE%/*}/../common/linux/gcc.sh"
+
+InstallGCC 8.2.0 50 19e40bea7df5dbadb22eec09ada621ecd9235687 19926bdb6c4b58891015929853d41aeff019d400
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/03-qemu.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-qemu.sh
index b2057b21..e3faa20e 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/03-qemu.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-qemu.sh
@@ -45,8 +45,82 @@ cd "$tempDir"
#latest commit from the master proven to work
git checkout c7f1cf01b8245762ca5864e835d84f6677ae8b1f
+git cherry-pick 75e5b70e6b5dcc4f2219992d7cffa462aa406af0
+git cherry-pick 04b33e21866412689f18b7ad6daf0a54d8f959a7
git submodule update --init pixman
-./configure --target-list=arm-linux-user,aarch64-linux-user --static
+
+patch -p1 <<EOT
+From aad6a8f17dc7ad3681d2d98a01e474a8904a129b Mon Sep 17 00:00:00 2001
+From: Simon Hausmann <simon.hausmann@qt.io>
+Date: Fri, 24 Aug 2018 10:38:29 +0200
+Subject: [PATCH] linux-user: add support for MADV_DONTNEED
+
+Most flags to madvise() are just hints, so typically ignoring the
+syscall and returning okay is fine. However applications exist that do
+rely on MADV_DONTNEED behavior to guarantee that upon subsequent access
+the mapping is refreshed from the backing file or zero for anonymous
+mappings.
+---
+ linux-user/mmap.c | 18 ++++++++++++++++++
+ linux-user/qemu.h | 1 +
+ linux-user/syscall.c | 6 +-----
+ 3 files changed, 20 insertions(+), 5 deletions(-)
+
+diff --git a/linux-user/mmap.c b/linux-user/mmap.c
+index 61685bf79e..cb3069f27e 100644
+--- a/linux-user/mmap.c
++++ b/linux-user/mmap.c
+@@ -764,3 +764,16 @@ int target_msync(abi_ulong start, abi_ulong len, int flags)
+ start &= qemu_host_page_mask;
+ return msync(g2h(start), end - start, flags);
+ }
++
++int target_madvise(abi_ulong start, abi_ulong len, int flags)
++{
++ /* A straight passthrough may not be safe because qemu sometimes
++ turns private file-backed mappings into anonymous mappings.
++ Most flags are hints, except for MADV_DONTNEED that applications
++ may rely on to zero out pages, so we pass that through.
++ Otherwise returning success is ok. */
++ if (flags & MADV_DONTNEED) {
++ return madvise(g2h(start), len, MADV_DONTNEED);
++ }
++ return 0;
++}
+diff --git a/linux-user/qemu.h b/linux-user/qemu.h
+index 4edd7d0c08..3c975909a1 100644
+--- a/linux-user/qemu.h
++++ b/linux-user/qemu.h
+@@ -429,6 +429,7 @@ int target_munmap(abi_ulong start, abi_ulong len);
+ abi_long target_mremap(abi_ulong old_addr, abi_ulong old_size,
+ abi_ulong new_size, unsigned long flags,
+ abi_ulong new_addr);
++int target_madvise(abi_ulong start, abi_ulong len, int flags);
+ int target_msync(abi_ulong start, abi_ulong len, int flags);
+ extern unsigned long last_brk;
+ extern abi_ulong mmap_next_start;
+diff --git a/linux-user/syscall.c b/linux-user/syscall.c
+index 11a311f9db..94d8abc745 100644
+--- a/linux-user/syscall.c
++++ b/linux-user/syscall.c
+@@ -11148,11 +11148,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
+
+ #ifdef TARGET_NR_madvise
+ case TARGET_NR_madvise:
+- /* A straight passthrough may not be safe because qemu sometimes
+- turns private file-backed mappings into anonymous mappings.
+- This will break MADV_DONTNEED.
+- This is a hint, so ignoring and returning success is ok. */
+- ret = get_errno(0);
++ ret = get_errno(target_madvise(arg1, arg2, arg3));
+ break;
+ #endif
+ #if TARGET_ABI_BITS == 32
+--
+2.17.1
+EOT
+
+./configure --target-list=arm-linux-user,aarch64-linux-user --static --disable-werror
make
sudo make install
rm -rf "$tempDir"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang.sh
new file mode 100755
index 00000000..0d18dbcf
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-yocto.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto.sh
index cc799702..fbe669d9 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-yocto.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto.sh
@@ -42,11 +42,11 @@ source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
echo "Installing Yocto toolchain for 32-bit b2qt..."
-versionARM="2.3.1"
-package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarmv7-41b0b46.sh"
+versionARM="2.3.4"
+package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarmv7-7608ebe.sh"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/pyro/$package"
AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/pyro/$package"
-SHA1="f17cce550c9d2148f11ae5c760f43a67e9813a45"
+SHA1="db7a0f4f9ddd5992a563d5348889021a7ceb1c56"
yoctoInstaller="/tmp/yocto-toolchain-ARMv7.sh"
yoctoLocationARMv7="/opt/yocto-armv7"
sysrootARMv7="sysroots/armv7ahf-neon-poky-linux-gnueabi"
@@ -60,11 +60,11 @@ rm -rf "$yoctoInstaller"
echo "Installing Yocto toolchain for 64-bit b2qt..."
-versionARM64="2.3.1"
-package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarm64-41b0b46.sh"
+versionARM64="2.3.4"
+package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarm64-7608ebe.sh"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/pyro/$package"
AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/pyro/$package"
-SHA1="b49d7ec8a6339dda5a82815dc31fed1fae00851d"
+SHA1="5dcae7c6cbc266798ba49a9e51fff1f06790729d"
yoctoInstaller="/tmp/yocto-toolchain-ARM64.sh"
yoctoLocationARM64="/opt/yocto-arm64"
sysrootARM64="sysroots/aarch64-poky-linux"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/10-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/10-openssl_for_android_linux.sh
index 0f89e72c..0f89e72c 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/10-openssl_for_android_linux.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/10-openssl_for_android_linux.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/22-mqtt_broker.sh
new file mode 100755
index 00000000..4527e984
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/22-mqtt_broker.sh
@@ -0,0 +1,36 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## 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.
+##
+## $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-osx-10.11-x86_64/01-system_updates.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-fbx.sh
index 94b53309..d8df4375 100755
--- a/coin/provisioning/qtci-osx-10.11-x86_64/01-system_updates.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-fbx.sh
@@ -3,4 +3,4 @@
set -ex
BASEDIR=$(dirname "$0")
-$BASEDIR/../common/macos/system_updates.sh
+"$BASEDIR/../common/linux/fbx_linux.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-android_linux.sh
new file mode 100755
index 00000000..0527fe85
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-android_linux.sh
@@ -0,0 +1,39 @@
+#!/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
+
+# shellcheck source=../common/linux/android_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-cmake.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-cmake.sh
new file mode 100755
index 00000000..db8a3ff5
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-cmake.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/cmake_linux.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/60-qnx660.sh
index 9eb7e086..6b5cf23c 100755
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-libclang.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/60-qnx660.sh
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/bin/env bash
#############################################################################
##
@@ -32,8 +32,7 @@
## $QT_END_LICENSE$
##
#############################################################################
+
set -ex
-BASEDIR=$(dirname "$0")
-# shellcheck source=../common/unix/libclang.sh
-"$BASEDIR/../common/unix/libclang.sh" "$URL" "$SHA1" "$VERSION"
+source "${BASH_SOURCE%/*}/../common/linux/qnx_660.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/70-qnx700.sh
index 505374c5..7f24d224 100755
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/22-mqtt_broker.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/70-qnx700.sh
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/bin/env bash
#############################################################################
##
@@ -33,5 +33,6 @@
##
#############################################################################
-# shellcheck source=../common/unix/mqtt_broker.sh
-source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
+set -ex
+
+source "${BASH_SOURCE%/*}/../common/linux/qnx_700.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/80-docker.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/80-docker.sh
new file mode 100755
index 00000000..4a6681f3
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/80-docker.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+BASEDIR=$(dirname "$0")
+$BASEDIR/../common/linux/docker.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-squish.sh
new file mode 100755
index 00000000..e4281588
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-squish.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-version.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-version.sh
new file mode 100644
index 00000000..b062800a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-version.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+BASEDIR=$(dirname "$0")
+$BASEDIR/../common/linux/ubuntu-version.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/yocto_ssh_configurations.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/yocto_ssh_configurations.sh
index 7f32e073..e4d988fc 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/yocto_ssh_configurations.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/yocto_ssh_configurations.sh
@@ -5,7 +5,7 @@
## Copyright (C) 2018 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
diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/01-systemsetup.sh
index 0e677642..61c19510 100755
--- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/01-systemsetup.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/01-systemsetup.sh
@@ -10,15 +10,24 @@ source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
sed -i '$ a\[Daemon\]\nAutolock=false\nLockOnResume=false' ~/.config/kscreenlockerrc
+sudo sed -i 's|GRUB_TIMEOUT=8|GRUB_TIMEOUT=0|g' /etc/default/grub
+sudo grub2-mkconfig -o /boot/grub2/grub.cfg
+
echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
echo "Set DISPLAY"
echo 'export DISPLAY=":0"' >> ~/.bashrc
echo "Disabling file indexing."
sudo balooctl disable
-echo "Disable update notifications"
+
+while sudo fuser /usr/lib/packagekitd >/dev/null 2>&1 ; do
+ echo "Waiting for PackageKit to finish..."
+ sleep 0.5
+done
+echo "Disabling update notifications"
sudo zypper -nq remove plasma5-pk-updates
+
# shellcheck disable=SC2031
if [ "$http_proxy" != "" ]; then
sudo sed -i 's/PROXY_ENABLED=\"no\"/PROXY_ENABLED=\"yes\"/' /etc/sysconfig/proxy
diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-pythondev.sh
index e7cdd4a7..208762d3 100755
--- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-pythondev.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-pythondev.sh
@@ -9,4 +9,10 @@ sudo pkcon -y refresh
sudo pkcon -y install python-devel python-virtualenv
# install python3
-sudo pkcon -y install libpython3_4m1_0 python3-base python3 python3-pip python3-devel python3-virtualenv
+sudo pkcon -y install libpython3_4m1_0 python3-base python3 python3-pip python3-devel python3-virtualenv python3-wheel
+
+# 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-openSUSE-42.3-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/22-mqtt_broker.sh
index 505374c5..e677427f 100755
--- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/22-mqtt_broker.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/22-mqtt_broker.sh
@@ -5,7 +5,7 @@
## 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
diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/50-open62541.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/50-open62541.sh
index 049cdd2d..21c926b8 100755
--- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/50-open62541.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/50-open62541.sh
@@ -5,7 +5,7 @@
## 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
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-10.12-x86_64/06-disable_spotlight.sh
new file mode 100755
index 00000000..d991e6c0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/06-disable_spotlight.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+$(dirname "$0")/../common/macos/disable_spotlight.sh
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh
index d534e74d..462ac422 100755
--- a/coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh
@@ -5,7 +5,7 @@
## 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
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-10.13-x86_64/01-sha1sum-compatibility.sh
new file mode 100755
index 00000000..c3936499
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/01-sha1sum-compatibility.sh
@@ -0,0 +1,50 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## 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.
+##
+## $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$
+##
+#############################################################################
+
+# On macOS the sha1 tool is named 'shasum' while on all other unix systems it is called 'sha1sum'.
+# In order to make all unix provioning scripts run on macOS without special case handling
+# a symbolic link is created.
+# The shasum tool is a perl script which does some globbing to determine the perl version. The
+# symbolic link has to point directly to the binary including the perl version.
+# Additionally the CI seems to have multiple parallel perl versions installed which causes
+# multiple shasum tools to be present (shasum5.16, shasum5.18).
+#
+# Currently this is
+# /usr/local/bin/sha1sum -> /usr/bin/shasum5.18
+
+[ -d /usr/local/bin ] || sudo mkdir -p /usr/local/bin
+# shellcheck disable=SC2012
+SHASUM_TOOLNAME=$(ls -r /usr/bin/shasum?.* | head -n1)
+sudo ln -s "${SHASUM_TOOLNAME}" /usr/local/bin/sha1sum
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-macos-10.13-x86_64/02-disable-ntp.sh
index 32528873..32528873 100644..100755
--- a/coin/provisioning/qtci-osx-10.11-x86_64/02-disable-ntp.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/02-disable-ntp.sh
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/03-bashprofile.sh b/coin/provisioning/qtci-macos-10.13-x86_64/03-bashprofile.sh
index 2c3e45f3..2c3e45f3 100755
--- a/coin/provisioning/qtci-osx-10.11-x86_64/03-bashprofile.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/03-bashprofile.sh
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-10.13-x86_64/05-systemsetup.sh
index 4a631b4f..4737b8e9 100755
--- a/coin/provisioning/qtci-osx-10.11-x86_64/05-systemsetup.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/05-systemsetup.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,10 +33,10 @@
##
#############################################################################
-# This script modified system settings for automated use
-
set -ex
+# This script modified system settings for automated use
+
VNCPassword=qt
NTS_IP=10.212.2.216
@@ -87,4 +87,3 @@ sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resourc
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
-
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/01-crashreporter.sh b/coin/provisioning/qtci-macos-10.13-x86_64/06-crashreporter.sh
index 8461c656..8461c656 100755
--- a/coin/provisioning/qtci-osx-10.11-x86_64/01-crashreporter.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/06-crashreporter.sh
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-10.13-x86_64/06-disable_spotlight.sh
new file mode 100755
index 00000000..d991e6c0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/06-disable_spotlight.sh
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+$(dirname "$0")/../common/macos/disable_spotlight.sh
diff --git a/coin/provisioning/qtci-osx-10.10-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-10.13-x86_64/06-disable_update_downloads.sh
index 3c11214d..3c11214d 100755
--- a/coin/provisioning/qtci-osx-10.10-x86_64/06-disable_update_downloads.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/06-disable_update_downloads.sh
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-10.13-x86_64/07-SSL_keychain.sh
index 610f7a8e..6e7c796a 100755
--- a/coin/provisioning/qtci-osx-10.11-x86_64/07-SSL_keychain.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/07-SSL_keychain.sh
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
set -ex
@@ -7,4 +7,3 @@ source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
# Enables the usage of temporary keychains for SSL autotests
SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1"
-
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/15-xz.sh b/coin/provisioning/qtci-macos-10.13-x86_64/15-xz.sh
index 13b05040..06437ee1 100755
--- a/coin/provisioning/qtci-osx-10.11-x86_64/15-xz.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/15-xz.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.
@@ -39,10 +39,10 @@
set -ex
-# shellcheck source=../common/macos/InstallPKGFromURL.sh
+# shellcheck source=../common/macos/InstallPKGFromURL
source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh"
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/osx_10.11_el_capitan/XZ.pkg"
+PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/XZ.pkg"
AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg"
SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67"
DestDir="/"
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/30-java.sh b/coin/provisioning/qtci-macos-10.13-x86_64/20-java.sh
index 8877c40b..8877c40b 100755
--- a/coin/provisioning/qtci-osx-10.11-x86_64/30-java.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/20-java.sh
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-10.13-x86_64/20-xcode.sh
index a067f637..edcb2345 100755
--- a/coin/provisioning/qtci-osx-10.11-x86_64/20-xcode.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/20-xcode.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,16 +35,19 @@
# This script installs Xcode
# Prerequisites: Have Xcode prefetched to local cache as xz compressed.
-# This can be achieved by fetching Xcode_8.xip from Apple Store.
-# Uncompress it with 'xar -xf Xcode_8.xip'
+# This can be achieved by fetching Xcode_9.xip from Apple Store.
+# Uncompress it with 'xar -xf Xcode_9.xip'
# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py
# with which you can run 'python parse_pbzx2.py Content'.
-# This will give you a file called "Content.part00.cpio.xz" that
-# can be renamed to Xcode_8.xz for this script.
+# This will give you five files called "Content.part<00..05>.cpio.xz".
+# Extract those that have the extension .xz with xz.
+# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new"
+# Compress the new file with xz back to something like Xcode_9.xz
+# Upload the file to temporary storage for this script to use.
set -ex
# shellcheck source=../common/macos/install_xcode.sh
source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh"
-InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/Xcode_8.2.xz 8.2
+InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/Xcode_9.4.1.tar.gz 9.4.1
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-10.13-x86_64/21-install-commandlinetools.sh
index cb7dcfc6..ecd1bee4 100755
--- a/coin/provisioning/qtci-osx-10.11-x86_64/21-install-commandlinetools.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/21-install-commandlinetools.sh
@@ -2,10 +2,10 @@
#############################################################################
##
-## 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 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
@@ -37,10 +37,10 @@ set -ex
source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh"
-version="8.2"
-packageName="Command_Line_Tools_macOS_10.11_for_Xcode_$version.dmg"
-url="http://ci-files01-hki.intra.qt.io/input/mac/$packageName"
-sha1="4df615ca765ac1a1e681ddcbca79fc15990e3b25"
+version="9.4.1"
+packageName="Command_Line_Tools_macOS_10.13_for_Xcode_$version.dmg"
+url="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.13_high_sierra/$packageName"
+sha1="efe51c11c2c99a5f1a98bbd3772dc3fa3ce78904"
InstallCommandLineTools $url $url $sha1 $packageName $version
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-cmake.sh
index e5dd1910..e5dd1910 100755
--- a/coin/provisioning/qtci-osx-10.11-x86_64/25-cmake.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-cmake.sh
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh
index 0ead5a58..0ead5a58 100755
--- a/coin/provisioning/qtci-osx-10.11-x86_64/25-homebrew.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/25-mysql.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-mysql.sh
index 1908c79b..d873499c 100755
--- a/coin/provisioning/qtci-osx-10.11-x86_64/25-mysql.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-mysql.sh
@@ -2,10 +2,10 @@
#############################################################################
##
-## Copyright (C) 2016 The Qt Company Ltd.
+## Copyright (C) 2018 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
@@ -44,7 +44,7 @@ source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh
# shellcheck source=../common/unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/osx_10.11_el_capitan/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz"
AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz"
SHA1="07949bd42f350b0504a1536b8830b809b4a34fca"
appPrefix=""
@@ -55,6 +55,4 @@ sudo mkdir -p "/opt"
InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir"
SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin"
-
echo "MySQL = 5.7.15" >> ~/versions.txt
-
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/25-pip.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-pip.sh
new file mode 100755
index 00000000..69c6b318
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-pip.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+$BASEDIR/../common/macos/pip.sh
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/25-postgresql.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-postgresql.sh
index 7fedb4a2..e59f0f03 100755
--- a/coin/provisioning/qtci-osx-10.11-x86_64/25-postgresql.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-postgresql.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.
@@ -44,14 +44,14 @@ source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh
# shellcheck source=../common/unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/osx_10.11_el_capitan/Postgres-9.6.0.zip"
-AltUrl="https://github.com/PostgresApp/PostgresApp/releases/download/9.6.0/Postgres-9.6.0.zip"
+psqlVersion="9.6.0"
+
+PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/Postgres-$psqlVersion.zip"
+AltUrl="https://github.com/PostgresApp/PostgresApp/releases/download/$psqlVersion/Postgres-$psqlVersion.zip"
SHA1="5078e44663787006ca55fa3b5e2be598bed82eb5"
appPrefix=""
InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix"
SetEnvVar "POSTGRESQLBINPATH" "/Applications/Postgres.app/Contents/Versions/9.6/bin"
-
-echo "PostgreSQL = 9.6.0" >> ~/versions.txt
-
+echo "PostgreSQL = $psqlVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-osx-10.10-x86_64/25-python2.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-python2.sh
index ef65edad..ef65edad 100755
--- a/coin/provisioning/qtci-osx-10.10-x86_64/25-python2.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-python2.sh
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/25-python3.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-python3.sh
index 92b05bf3..92b05bf3 100755
--- a/coin/provisioning/qtci-osx-10.11-x86_64/25-python3.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-python3.sh
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh
index 15511332..15511332 100755
--- a/coin/provisioning/qtci-osx-10.11-x86_64/26-p7zip.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/26-virtualenv.sh b/coin/provisioning/qtci-macos-10.13-x86_64/26-virtualenv.sh
new file mode 100755
index 00000000..a35d26ca
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/26-virtualenv.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+$BASEDIR/../common/macos/virtualenv.sh
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/27-libclang.sh b/coin/provisioning/qtci-macos-10.13-x86_64/27-libclang.sh
new file mode 100755
index 00000000..fea11e01
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/27-libclang.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# There is only one mac package and common script uses it as a default
+$BASEDIR/../common/unix/libclang.sh
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/30-android.sh b/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh
index d206369c..a86387bb 100755
--- a/coin/provisioning/qtci-macos-10.12-x86_64/30-android.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/30-android.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.
@@ -49,13 +49,13 @@ basePath="/net/ci-files01-hki.intra.qt.io/hdd/www/input/android"
toolsVersion="r25.2.5"
toolsFile="tools_$toolsVersion-macosx.zip"
-ndkVersion="r10e"
+ndkVersion="r16b"
ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip"
sdkBuildToolsVersion="25.0.2"
sdkApiLevel="android-21"
toolsSha1="d2168d963ac5b616e3d3ddaf21511d084baf3659"
-ndkSha1="6be8598e4ed3d9dd42998c8cb666f0ee502b1294"
+ndkSha1="e51e615449b98c716cf912057e2682e75d55e2de"
toolsTargetFile="/tmp/$toolsFile"
toolsSourceFile="$basePath/$toolsFile"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/30-fbx.sh b/coin/provisioning/qtci-macos-10.13-x86_64/30-fbx.sh
new file mode 100755
index 00000000..9ce5d9ff
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/30-fbx.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+$BASEDIR/../common/macos/fbx_macos.sh
+
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh
new file mode 100755
index 00000000..606a9c12
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh
@@ -0,0 +1,76 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## 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.
+##
+## $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 install OpenSSL
+
+set -ex
+
+# shellcheck source=../common/unix/InstallFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/InstallFromCompressedFileFromURL.sh"
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+opensslVersion="1.0.2o"
+opensslFile="openssl-$opensslVersion.tar.gz"
+opensslDlUrl="http://ci-files01-hki.intra.qt.io/input/openssl/$opensslFile"
+opensslAltDlUrl="https://www.openssl.org/source/$opensslFile"
+opensslSha1="a47faaca57b47a0d9d5fb085545857cc92062691"
+
+# Below target location has been hard coded into Coin.
+# QTQAINFRA-1195
+opensslTargetLocation="/usr/local/opt/openssl"
+
+InstallFromCompressedFileFromURL "$opensslDlUrl" "$opensslAltDlUrl" "$opensslSha1" "/tmp/openssl-$opensslVersion" "openssl-$opensslVersion"
+cd "/tmp/openssl-$opensslVersion"
+pwd
+sudo ./config --prefix=/usr/local/openssl-$opensslVersion
+echo "Running 'make' for OpenSSL"
+sudo make --silent > /tmp/openssl_make.log 2>&1
+echo "Running 'make install' for OpenSSL"
+sudo make --silent install > /tmp/openssl_make_install.log 2>&1
+
+path=$(echo "$opensslTargetLocation" | sed -E 's/(.*)\/.*$/\1/')
+sudo mkdir -p "$path"
+sudo ln -s /usr/local/openssl-$opensslVersion $opensslTargetLocation
+
+SetEnvVar "PATH" "\"$opensslTargetLocation/bin:\$PATH\""
+SetEnvVar "MANPATH" "\"$opensslTargetLocation/share/man:\$MANPATH\""
+
+security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem
+security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem
+
+sudo rm -rf /tmp/openssl-$opensslVersion
+
+echo "OpenSSL = $opensslVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/03-install-rhel-epel.sh b/coin/provisioning/qtci-macos-10.13-x86_64/40-qnx700.sh
index 21a45506..a5547972 100755
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/03-install-rhel-epel.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/40-qnx700.sh
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/bin/bash
#############################################################################
##
@@ -33,17 +33,25 @@
##
#############################################################################
-# shellcheck source=../common/unix/DownloadURL.sh
-source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+# This script installs QNX 7.
-package="epel-release-6-8.noarch.rpm"
-primaryUrl="https://dl.fedoraproject.org/pub/epel/6/x86_64/Packages/e/$package"
-cacheUrl="http://ci-files01-hki.intra.qt.io/input/rhel6/$package"
-sha1="2b2767a5ae0de30b9c7b840f2e34f5dd9deaf19a"
-targetFile="/tmp/$package"
+targetFolder="/opt/"
+sourceFile="/net/ci-files01-hki.intra.qt.io/hdd/www/input/qnx/qnx700_mac.zip"
+folderName="qnx700"
-DownloadURL "$primaryUrl" "$cacheUrl" "$sha1" "$targetFile"
+sudo mkdir -p "$targetFolder"
-sudo rpm -ivh "$targetFile"
-rm "$targetFile"
+echo "Extracting QNX 7"
+sudo unzip -q "$sourceFile" -d "$targetFolder"
+
+sudo chown -R qt:wheel "$targetFolder"/"$folderName"
+
+# Verify that we have last file in zip
+if [ ! -f $targetFolder/$folderName/qnxsdp-env.sh ]; then
+ exit 1
+fi
+
+# Set env variables
+echo "export QNX_700=$targetFolder/$folderName" >> ~/.bashrc
+echo "QNX SDP = 7.0.0" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh b/coin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh
new file mode 100755
index 00000000..0b9bbb00
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh
@@ -0,0 +1,138 @@
+#!/usr/bin/env sh
+
+#############################################################################
+##
+## 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.
+##
+## $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 tools for singing packages
+# This script assume that OS is vanilla. Target machine dosen't have any signing certificates installed.
+
+set -ex
+
+cache="http://ci-files01-hki.intra.qt.io/input"
+cacheSigningTools="$cache/mac/sign_tools"
+targetFolder="/Users/qt"
+keychains="$targetFolder/Library/Keychains"
+
+Install() {
+
+ url=$1
+ targetFile=$2
+ expectedSha1=$3
+
+ echo "Fetching $targetFile from $url..."
+ curl --retry 5 --retry-delay 10 --retry-max-time 60 "$url" -o "$targetFile"
+ shasum "$targetFile" |grep "$expectedSha1"
+
+}
+
+# qt-license
+sha1QtLicense="9d59241d16f68d914f1c7aa1dc23e05faa169e8d"
+Install "$cache/semisecure/.qt-license" "$targetFolder/.qt-license" $sha1QtLicense
+
+# Login keychain
+sha1LoginKeychainPassword="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36"
+Install "$cacheSigningTools/login_keychain_password.txt" "$targetFolder/login_keychain_password.txt" "$sha1LoginKeychainPassword"
+loginKeychainPassword=$(<"$targetFolder/login_keychain_password.txt")
+loginKeychain=$keychains/login.keychain
+
+echo "Setting login.keychain as default keychain.."
+security default-keychain -s $loginKeychain*
+echo "Unlocking Login keychain with password.."
+security unlock-keychain -p "$loginKeychainPassword" $loginKeychain*
+
+echo "remove the "Lock after X minutes of inactivity" from login.keychain"
+security set-keychain-settings $loginKeychain
+
+# Apple Worldwide Developer Relations Certification Authority -> https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
+sha1AppleWWDRCA="ff6797793a3cd798dc5b2abef56f73edc9f83a64"
+Install "$cacheSigningTools/AppleWWDRCA.cer" "$targetFolder/AppleWWDRCA.cer" $sha1AppleWWDRCA
+sudo security add-certificates -k $loginKeychain* "$targetFolder/AppleWWDRCA.cer"
+
+# Developer ID Certification Authority -> https://www.apple.com/certificateauthority/DeveloperIDCA.cer
+sha1DeveloperIDCA="3b166c3b7dc4b751c9fe2afab9135641e388e186"
+Install "$cacheSigningTools/DeveloperIDCA.cer" "$targetFolder/DeveloperIDCA.cer" $sha1DeveloperIDCA
+sudo security add-certificates -k $loginKeychain* "$targetFolder/DeveloperIDCA.cer"
+
+# Create script to unlock keychain 'security unlock-keychain -p 'password' Developer_ID_TheQtCompany.keychain'
+sha1UnLockKeychain="4398870e3f558ad28c80566b5f70e24dc29ea724"
+unlockKeychain=$targetFolder/unlock-keychain.sh
+Install "$cacheSigningTools/unlock-keychain.sh" "$unlockKeychain" $sha1UnLockKeychain
+sudo chmod 755 "$unlockKeychain"
+
+# Codesigning requirements file. The bundle identifier in the requirements file should match the identifier of the application that is signed.
+shaCsreq="2c3f00b1845a0f475673fd6934ba25ea51d1f910"
+csreq=$targetFolder/csreq_qt_company.txt
+Install "$cacheSigningTools/csreq_qt_company.txt" "$csreq" $shaCsreq
+chmod 755 "$csreq"
+
+# iOS signing tools
+devIDKeychain="Developer_ID_TheQtCompany.keychain"
+shaDevIdKeychain="0420a129c17725a97afd6fdafeb9cddfb80a65ca"
+Install "$cacheSigningTools/$devIDKeychain" "$keychains/$devIDKeychain" $shaDevIdKeychain
+echo "Opening $devIDKeychain.."
+open "$keychains/$devIDKeychain"
+
+sha1DeveloperIDTheQtCompanyKeychainPassword="d758e067736bbda7a91ffaec66cd38afdaf68ea6"
+Install "$cacheSigningTools/Developer_ID_TheQtCompany_keychain_password.txt" "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt" "$sha1DeveloperIDTheQtCompanyKeychainPassword"
+DeveloperIDTheQtCompanyKeychainPassword=$(<"$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt")
+
+echo "Unlocking $devIDKeychain with password.."
+security unlock-keychain -p "$DeveloperIDTheQtCompanyKeychainPassword" $keychains/Developer_ID_TheQtCompany.keychain
+security set-keychain-settings $keychains/Developer_ID_TheQtCompany.keychain
+
+sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36"
+Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios
+iosPassword=$(<"$targetFolder/ios_password.txt")
+
+iPhoneDeveloper="iosdevelopment.p12"
+shaIPhoneDeveloper="f48f6827e8d0ccdc764cb987e401b9a6f7d3f10c"
+Install "$cacheSigningTools/latest_ios_cert/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper
+echo "Importing $iPhoneDeveloper.."
+security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P $iosPassword -T /usr/bin/codesign
+
+iPhoneDistribution="iosdistribution.p12"
+shaIPhoneDistribution="64b1174fc3ce0eca044fbc9fa144f6a2d4330171"
+Install "$cacheSigningTools/latest_ios_cert/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution
+echo "Importing $iPhoneDistribution.."
+security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P $iosPassword -T /usr/bin/codesign
+
+# Mobileprovision
+echo "Creating directory $targetFolder/Library/MobileDevice/Provisioning Profiles.."
+mkdir "$targetFolder/Library/MobileDevice"
+mkdir "$targetFolder/Library/MobileDevice/Provisioning Profiles"
+shaMobileprovision="88c67c95a6f59e6463a00da0b5021f581db624bf"
+Install "$cacheSigningTools/latest_ios_cert/iOS_Dev08112017.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev08112017.mobileprovision" $shaMobileprovision
+
+# Removing password files
+rm -fr "$targetFolder/login_keychain_password.txt"
+
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/90-squish.sh b/coin/provisioning/qtci-macos-10.13-x86_64/90-squish.sh
index 27ff15c3..27ff15c3 100755
--- a/coin/provisioning/qtci-osx-10.11-x86_64/90-squish.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/90-squish.sh
diff --git a/coin/provisioning/qtci-osx-10.10-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-osx-10.10-x86_64/01-sha1sum-compatibility.sh
deleted file mode 120000
index 58a40af4..00000000
--- a/coin/provisioning/qtci-osx-10.10-x86_64/01-sha1sum-compatibility.sh
+++ /dev/null
@@ -1 +0,0 @@
-../common/macos/sha1sum-compatibility.sh \ No newline at end of file
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-osx-10.11-x86_64/01-sha1sum-compatibility.sh
deleted file mode 120000
index 58a40af4..00000000
--- a/coin/provisioning/qtci-osx-10.11-x86_64/01-sha1sum-compatibility.sh
+++ /dev/null
@@ -1 +0,0 @@
-../common/macos/sha1sum-compatibility.sh \ No newline at end of file
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-osx-10.11-x86_64/06-disable_update_downloads.sh
deleted file mode 100755
index 3c11214d..00000000
--- a/coin/provisioning/qtci-osx-10.11-x86_64/06-disable_update_downloads.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-BASEDIR=$(dirname "$0")
-"$BASEDIR"/../common/macos/disable_update_downloads.sh
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/25-python2.sh b/coin/provisioning/qtci-osx-10.11-x86_64/25-python2.sh
deleted file mode 100755
index ef65edad..00000000
--- a/coin/provisioning/qtci-osx-10.11-x86_64/25-python2.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-
-source "${BASH_SOURCE%/*}/../common/macos/python2.sh"
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/27-libclang.sh b/coin/provisioning/qtci-osx-10.11-x86_64/27-libclang.sh
deleted file mode 100755
index 91872201..00000000
--- a/coin/provisioning/qtci-osx-10.11-x86_64/27-libclang.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-# There is only one mac package
-# shellcheck source=../common/unix/libclang.sh
-"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-windows-10-x86/90-vclibs_debug.ps1 b/coin/provisioning/qtci-windows-10-x86/90-vclibs_debug.ps1
new file mode 100644
index 00000000..56ecb97b
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/90-vclibs_debug.ps1
@@ -0,0 +1,3 @@
+. "$PSScriptRoot\..\common\windows\vclibs_debug.ps1"
+
+Install-VCLibsDebug X86
diff --git a/coin/provisioning/qtci-windows-10-x86_64/01-remove-ms-zune.ps1 b/coin/provisioning/qtci-windows-10-x86_64/01-remove-ms-zune.ps1
new file mode 100644
index 00000000..6a398725
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/01-remove-ms-zune.ps1
@@ -0,0 +1,2 @@
+Remove-AppxPackage Microsoft.ZuneVideo_10.17092.13511.0_x64__8wekyb3d8bbwe
+Remove-AppxPackage Microsoft.ZuneMusic_10.17083.18321.0_x64__8wekyb3d8bbwe
diff --git a/coin/provisioning/qtci-windows-10-x86_64/79-opcua_unifiedautomation.ps1 b/coin/provisioning/qtci-windows-10-x86_64/79-opcua_unifiedautomation.ps1
new file mode 100644
index 00000000..e7f14459
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/79-opcua_unifiedautomation.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\opcua_unifiedautomation.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/79-open62541.ps1 b/coin/provisioning/qtci-windows-10-x86_64/79-open62541.ps1
new file mode 100644
index 00000000..9b532392
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/79-open62541.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\open62541.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/90-signing-tools.ps1 b/coin/provisioning/qtci-windows-10-x86_64/90-signing-tools.ps1
index daaab36f..2ad25685 100644
--- a/coin/provisioning/qtci-windows-10-x86_64/90-signing-tools.ps1
+++ b/coin/provisioning/qtci-windows-10-x86_64/90-signing-tools.ps1
@@ -4,7 +4,7 @@
## Copyright (C) 2017 Pelagicore AG
## 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
diff --git a/coin/provisioning/qtci-windows-10-x86_64/90-vclibs_debug.ps1 b/coin/provisioning/qtci-windows-10-x86_64/90-vclibs_debug.ps1
new file mode 100644
index 00000000..49148017
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/90-vclibs_debug.ps1
@@ -0,0 +1,3 @@
+. "$PSScriptRoot\..\common\windows\vclibs_debug.ps1"
+
+Install-VCLibsDebug X64
diff --git a/coin/provisioning/qtci-windows-7-x86/09-install-mingw530.ps1 b/coin/provisioning/qtci-windows-7-x86/09-install-mingw530.ps1
deleted file mode 100644
index 684816f0..00000000
--- a/coin/provisioning/qtci-windows-7-x86/09-install-mingw530.ps1
+++ /dev/null
@@ -1,10 +0,0 @@
-. "$PSScriptRoot\..\common\windows\install-mingw.ps1"
-
-# This script will install MinGW 5.3.0
-
-$release = "i686-5.3.0-release-posix-dwarf-rt_v4-rev0"
-$sha1 = "D4F21D25F3454F8EFDADA50E5AD799A0A9E07C6A"
-
-InstallMinGW $release $sha1
-
-
diff --git a/coin/provisioning/qtci-windows-7-x86/09-install-mingw730.ps1 b/coin/provisioning/qtci-windows-7-x86/09-install-mingw730.ps1
new file mode 100644
index 00000000..c893926e
--- /dev/null
+++ b/coin/provisioning/qtci-windows-7-x86/09-install-mingw730.ps1
@@ -0,0 +1,10 @@
+. "$PSScriptRoot\..\common\windows\install-mingw.ps1"
+
+# This script will install MinGW 7.3.0
+
+$release = "i686-7.3.0-release-posix-dwarf-rt_v5-rev0"
+$sha1 = "96e11c754b379c093e1cb3133f71db5b9f3e0532"
+
+InstallMinGW $release $sha1
+
+
diff --git a/coin/provisioning/qtci-windows-7-x86/79-open62541.ps1 b/coin/provisioning/qtci-windows-7-x86/79-open62541.ps1
new file mode 100644
index 00000000..85bfb98c
--- /dev/null
+++ b/coin/provisioning/qtci-windows-7-x86/79-open62541.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\open62541.ps1" -targetCommand prepare
+. "$PSScriptRoot\..\common\windows\open62541.ps1" -targetCommand mingw730