aboutsummaryrefslogtreecommitdiffstats
path: root/coin
diff options
context:
space:
mode:
Diffstat (limited to 'coin')
-rw-r--r--coin/README5
-rw-r--r--coin/platform_configs/default.txt37
-rw-r--r--coin/platform_configs/qt5.txt22
-rw-r--r--coin/platform_configs/qtdeclarative.txt3
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/msvc2015_update.ps1 (renamed from coin/provisioning/common/msvc2015_update.ps1)2
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/msvc2017.ps149
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.ps158
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/msvc2017.ps149
-rw-r--r--coin/provisioning/common/01-windows_removethemall.ps15
-rw-r--r--coin/provisioning/common/DownloadURL.sh4
-rw-r--r--coin/provisioning/common/InstallAppFromCompressedFileFromURL.sh127
-rw-r--r--coin/provisioning/common/InstallFromCompressedFileFromURL.sh2
-rw-r--r--coin/provisioning/common/InstallPKGFromURL.sh103
-rw-r--r--coin/provisioning/common/helpers.ps12
-rwxr-xr-xcoin/provisioning/common/install_xcode.sh83
-rw-r--r--coin/provisioning/common/python.ps1 (renamed from coin/provisioning/common/02-python.ps1)19
-rw-r--r--coin/provisioning/qtci-linux-RHEL-6.6-x86_64/android_linux.sh17
-rw-r--r--coin/provisioning/qtci-linux-RHEL-6.6-x86_64/install_icu.sh3
-rw-r--r--coin/provisioning/qtci-linux-RHEL-7.2-x86_64/01-linux-removethemall.sh1
-rw-r--r--coin/provisioning/qtci-linux-RHEL-7.2-x86_64/02-android_linux.sh117
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.2-x86_64/30-integrity.sh55
-rw-r--r--coin/provisioning/qtci-linux-RHEL-7.2-x86_64/rhel_packages.sh4
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-suppress-shutdown-indicator.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-systemsetup.sh87
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh102
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-apt-update.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-qemu.sh66
-rw-r--r--coin/provisioning/qtci-macos-10.12-x86_64/003-bashprofile.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/005-systemsetup.sh117
-rwxr-xr-x[-rw-r--r--]coin/provisioning/qtci-macos-10.12-x86_64/006-crashreporter.sh (renamed from coin/provisioning/qtci-osx-10.11-x86_64/crashreporter.sh)0
-rwxr-xr-x[-rw-r--r--]coin/provisioning/qtci-macos-10.12-x86_64/015-xz.sh (renamed from coin/provisioning/qtci-windows-10-x86_64/06-msvc2015_update.ps1)19
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/020-java.sh128
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/020-xcode.sh51
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/025-cmake.sh51
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/025-mysql.sh54
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/025-postgresql.sh53
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/030-android.sh128
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/035-openssl.sh117
-rw-r--r--coin/provisioning/qtci-osx-10.10-x86_64/android.sh17
-rw-r--r--coin/provisioning/qtci-osx-10.11-x86_64/002-disable-screensaver.sh26
-rwxr-xr-xcoin/provisioning/qtci-osx-10.11-x86_64/005-systemsetup.sh118
-rw-r--r--coin/provisioning/qtci-osx-10.11-x86_64/01-macos-removethemall.sh4
-rwxr-xr-x[-rw-r--r--]coin/provisioning/qtci-osx-10.11-x86_64/015-xz.sh (renamed from coin/provisioning/qtci-windows-10-x86/06-msvc2015_update.ps1)19
-rwxr-xr-xcoin/provisioning/qtci-osx-10.11-x86_64/020-xcode.sh53
-rwxr-xr-xcoin/provisioning/qtci-osx-10.11-x86_64/025-cmake.sh51
-rwxr-xr-x[-rw-r--r--]coin/provisioning/qtci-osx-10.11-x86_64/025-mysql.sh (renamed from coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/006-qt-build-dependencies.sh)27
-rwxr-xr-xcoin/provisioning/qtci-osx-10.11-x86_64/025-postgresql.sh52
-rw-r--r--coin/provisioning/qtci-osx-10.11-x86_64/android.sh102
-rw-r--r--coin/provisioning/qtci-windows-10-x86/02-python.ps12
-rw-r--r--coin/provisioning/qtci-windows-10-x86/msvc_2015_update3_patch.ps150
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/02-python.ps12
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/msvc_2015_update3_patch.ps150
-rw-r--r--coin/provisioning/qtci-windows-7-x86/02-python.ps12
-rw-r--r--coin/provisioning/qtci-windows-7-x86/06-android.ps18
-rw-r--r--coin/provisioning/qtci-windows-8-x86/02-python.ps11
-rw-r--r--coin/provisioning/qtci-windows-8-x86/06-python.ps11
-rw-r--r--coin/provisioning/qtci-windows-8-x86_64/02-python.ps11
-rw-r--r--coin/provisioning/qtci-windows-8-x86_64/06-python.ps11
58 files changed, 2113 insertions, 225 deletions
diff --git a/coin/README b/coin/README
index 2fb3fe2d..80f02fd4 100644
--- a/coin/README
+++ b/coin/README
@@ -3,6 +3,11 @@ Continuous Integration
This directory contains files used by Qt's Continuous Integration system (Coin).
+pre-provisioning
+----------------
+Contains scripts which are used to install software to tier1 machines manually.
+E.g. Visual studio installation takes too long to be included to automatic provisioning of tier2 templates.
+
provisioning
------------
Contains scripts that apply to different test machines in order to run automatic tests on them.
diff --git a/coin/platform_configs/default.txt b/coin/platform_configs/default.txt
index 58f7967c..5f9aba51 100644
--- a/coin/platform_configs/default.txt
+++ b/coin/platform_configs/default.txt
@@ -1,25 +1,26 @@
Template Target OS Target arch Compiler Features
----------------------------------- ------------------- ----------- ----------- -------------------------------------------------------------------------------------
-qtci-windows-8-x86_64 MSVC2013 DeveloperBuild Release BuildExamples
-qtci-windows-10-x86_64 MSVC2015 DeveloperBuild Release QtNamespace QtLibInfix
-qtci-windows-8-x86 MSVC2013 Packaging DebugAndRelease Release OpenGLDynamic
-qtci-windows-8-x86_64 MSVC2013 Packaging DebugAndRelease Release OpenGLDynamic
-qtci-windows-7-x86 Mingw53 Packaging DebugAndRelease Release OpenGLDynamic
-qtci-windows-10-x86 MSVC2015 Packaging DebugAndRelease Release OpenGLDynamic
-qtci-windows-10-x86_64 MSVC2015 Packaging DebugAndRelease Release OpenGLDynamic
-qtci-windows-8-x86_64 Windows_Phone_8_1 armv4 MSVC2013 Packaging DebugAndRelease Release DisableTests
-qtci-windows-8-x86_64 WinRT_8_1 MSVC2013 Packaging DebugAndRelease Release DisableTests
-qtci-linux-Ubuntu-14.04-x86_64 GCC NoWidgets ForceDebugInfo
-qtci-linux-Ubuntu-14.04-x86_64 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace
+qtci-windows-8-x86_64-2 MSVC2013 DeveloperBuild Release BuildExamples
+qtci-windows-10-x86_64-5 MSVC2015 DeveloperBuild Release QtNamespace QtLibInfix
+qtci-windows-8-x86-2 MSVC2013 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
+qtci-windows-8-x86_64-2 MSVC2013 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
+qtci-windows-7-x86-2 Mingw53 Packaging DebugAndRelease Release OpenGLDynamic
+qtci-windows-10-x86-4 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
+qtci-windows-10-x86_64-5 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
+qtci-windows-10-x86_64-5 WinRT_10 x86 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
+qtci-windows-10-x86_64-5 WinRT_10 armv7 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
+qtci-linux-Ubuntu-16.04-x86_64 GCC NoWidgets ForceDebugInfo
+qtci-linux-Ubuntu-16.04-x86_64 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace
qtci-linux-openSUSE-42.1-x86_64 GCC DeveloperBuild NoPch
-qtci-linux-RHEL-6.6-x86_64 GCC Release
+qtci-linux-RHEL-6.6-x86_64 GCC Release ForceDebugInfo
qtci-linux-RHEL-7.2-x86_64 GCC Packaging Release NoUseGoldLinker
+qtci-macos-10.12-x86_64-8 Clang DebugAndRelease Release DisableTests
+qtci-osx-10.11-x86_64-3 Clang DeveloperBuild Release QtNamespace NoPch DisableTests
qtci-osx-10.10-x86_64 Clang Packaging DebugAndRelease Release
-qtci-osx-10.9-x86_64 Clang DeveloperBuild Release QtNamespace NoPch
-qtci-osx-10.9-x86_64 Clang Release NoFramework
+qtci-osx-10.10-x86_64 Clang DeveloperBuild Release QtNamespace NoPch
+qtci-osx-10.10-x86_64 Clang Release NoFramework
qtci-osx-10.10-x86_64 IOS_ANY x86_64 Clang Release DisableTests Static
-qtci-linux-RHEL-6.6-x86_64 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
-qtci-linux-Ubuntu-14.04-x86_64 Boot2Qt_Jethro armv7 GCC DisableTests
-qtci-linux-Ubuntu-15.04-x86_64 UbuntuTouch_15_04 armv7 GCC Packaging DisableTests OpenGLES2
+qtci-linux-RHEL-7.2-x86_64 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
+qtci-linux-Ubuntu-16.04-x86_64 Boot2Qt_Jethro x86_64 GCC DisableTests
qtci-linux-RHEL-6.6-x86_64 QNX_660 armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
-qtci-linux-Ubuntu-14.04-x86_64 GCC TestOnly LicenseCheck
+qtci-linux-Ubuntu-16.04-x86_64 GCC TestOnly LicenseCheck
diff --git a/coin/platform_configs/qt5.txt b/coin/platform_configs/qt5.txt
index 797d62cd..822ef54c 100644
--- a/coin/platform_configs/qt5.txt
+++ b/coin/platform_configs/qt5.txt
@@ -1,17 +1,13 @@
Template Target OS Target arch Compiler Features
--------------------------- ------------------- ----------- ----------- -------------------------------------------------------------------------------------
-qtci-windows-10-x86_64 WinRT_10 x86 MSVC2015 Packaging DebugAndRelease Release DisableTests
-qtci-windows-10-x86_64 WinRT_10 MSVC2015 Packaging DebugAndRelease Release DisableTests
-qtci-linux-RHEL-6.6-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
-qtci-windows-7-x86 Android_ANY armv7 Mingw49 Packaging Release DisableTests OpenGLES2
-qtci-windows-7-x86 Android_ANY x86 Mingw49 Packaging Release DisableTests OpenGLES2
-qtci-osx-10.10-x86_64 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2
-qtci-osx-10.10-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2
+qtci-windows-10-x86_64-5 WinRT_10 MSVC2015 Packaging DebugAndRelease Release DisableTests
+qtci-linux-RHEL-7.2-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
+qtci-windows-7-x86-2 Android_ANY armv7 Mingw53 Packaging Release DisableTests OpenGLES2
+qtci-windows-7-x86-2 Android_ANY x86 Mingw53 Packaging Release DisableTests OpenGLES2
+qtci-macos-10.12-x86_64-8 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2
+qtci-macos-10.12-x86_64-8 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2
qtci-linux-RHEL-6.6-x86_64 QNX_660 x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
-qtci-windows-7-x86 QNX_660 armv7 Mingw49 Packaging Release DisableTests OpenGLES2
-qtci-windows-7-x86 QNX_660 x86 Mingw49 Packaging Release DisableTests OpenGLES2
-qtci-windows-8-x86_64 Windows_Phone_8_1 x86 MSVC2013 Packaging DebugAndRelease Release DisableTests
+qtci-windows-7-x86-2 QNX_660 armv7 Mingw53 Packaging Release DisableTests OpenGLES2
+qtci-windows-7-x86-2 QNX_660 x86 Mingw53 Packaging Release DisableTests OpenGLES2
qtci-osx-10.10-x86_64 IOS_ANY multi Clang Packaging DebugAndRelease DisableTests Static
-
-# target arch is used here only for documentation the value is ignored
-qtci-windows-10-x86_64 WinRT_10 armv7 MSVC2015 Packaging DebugAndRelease Release DisableTests
+qtci-linux-RHEL-7.2-x86_64 INTEGRITY_11_04 armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
diff --git a/coin/platform_configs/qtdeclarative.txt b/coin/platform_configs/qtdeclarative.txt
new file mode 100644
index 00000000..c7552671
--- /dev/null
+++ b/coin/platform_configs/qtdeclarative.txt
@@ -0,0 +1,3 @@
+Template Target OS Target arch Compiler Features
+------------------------------- ------------------- ----------- ----------- -------------------------------------------------------------------------------------
+qtci-linux-Ubuntu-16.04-x86_64 Boot2Qt_Jethro x86_64 GCC DeveloperBuild
diff --git a/coin/provisioning/common/msvc2015_update.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/msvc2015_update.ps1
index 618c87c4..fb6a6594 100644
--- a/coin/provisioning/common/msvc2015_update.ps1
+++ b/coin/pre-provisioning/qtci-windows-10-x86/msvc2015_update.ps1
@@ -30,7 +30,7 @@
## $QT_END_LICENSE$
##
#############################################################################
-. "$PSScriptRoot\helpers.ps1"
+. "$PSScriptRoot\..\..\provisioning\common\helpers.ps1"
# Install Visual Studio $version with $update_version
# Original download page: https://www.visualstudio.com/en-us/news/releasenotes/vs2015-update3-vs
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/msvc2017.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/msvc2017.ps1
new file mode 100644
index 00000000..46675c23
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/msvc2017.ps1
@@ -0,0 +1,49 @@
+############################################################################
+##
+## 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$
+##
+#############################################################################
+
+. "$PSScriptRoot\..\common\helpers.ps1"
+
+# This script will install Visual Studio 2017
+
+$version = "2017"
+$url_cache = "http://ci-files01-hki.ci.local/input/windows/mu_visual_studio_professional_" + $version + "_x86_x64_10049787.exe"
+$sha1 = "8d678d27735018a99dc22ddb5412e4e6868991ae"
+$msvcPackage = "C:\Windows\Temp\$version.exe"
+
+
+Download $url_cache $url_cache $msvcPackage
+Verify-Checksum $msvcPackage $sha1
+cmd /c "$msvcPackage --all --norestart --quiet --wait"
+echo "Cleaning $msvcPackage.."
+Remove-Item -Recurse -Force "$msvcPackage"
+echo "Visual Studio = $version" >> ~\versions.txt
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.ps1
new file mode 100644
index 00000000..fb6a6594
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.ps1
@@ -0,0 +1,58 @@
+#############################################################################
+##
+## 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$
+##
+#############################################################################
+. "$PSScriptRoot\..\..\provisioning\common\helpers.ps1"
+
+# Install Visual Studio $version with $update_version
+# Original download page: https://www.visualstudio.com/en-us/news/releasenotes/vs2015-update3-vs
+$version = "2015"
+$update_version = "3"
+
+# Only way to install specific Visual studio release is to use feed.xml.
+# Visual Studio $version setup will use the feed.xml that was available when $update_version released -> 'https://msdn.microsoft.com/en-us/library/mt653628.aspx'
+# These parameters will install Visual Studio Enterprise Update $update_version (the original Update $update_version without any further Update $update_version-era updates)
+$parameters = "/OverrideFeedURI http://download.microsoft.com/download/6/B/B/6BBD3561-D764-4F39-AB8E-05356A122545/20160628.2/enu/feed.xml"
+
+$msvc_web_installer = "vs" + $version + "_" + $update_version
+$package = "C:\Windows\temp\$msvc_web_installer.exe"
+$url_cache = "http://ci-files01-hki.ci.local/input/windows/$msvc_web_installer.exe"
+$url_official = "https://go.microsoft.com/fwlink/?LinkId=691129"
+$sha1 = "68abf90424aff604a04d6c61fb52adcd2cab2266"
+
+echo "Fetching Visual Studio $version update $update_version..."
+Download $url_official $url_cache $package
+Verify-Checksum $package $sha1
+echo "Installing Visual studio $version update $update_version..."
+cmd /c "$package $parameters /norestart /Quiet"
+remove-item $package
+
+echo "Visual Studio = $version update $update_version" >> ~\versions.txt
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2017.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2017.ps1
new file mode 100644
index 00000000..46675c23
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2017.ps1
@@ -0,0 +1,49 @@
+############################################################################
+##
+## 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$
+##
+#############################################################################
+
+. "$PSScriptRoot\..\common\helpers.ps1"
+
+# This script will install Visual Studio 2017
+
+$version = "2017"
+$url_cache = "http://ci-files01-hki.ci.local/input/windows/mu_visual_studio_professional_" + $version + "_x86_x64_10049787.exe"
+$sha1 = "8d678d27735018a99dc22ddb5412e4e6868991ae"
+$msvcPackage = "C:\Windows\Temp\$version.exe"
+
+
+Download $url_cache $url_cache $msvcPackage
+Verify-Checksum $msvcPackage $sha1
+cmd /c "$msvcPackage --all --norestart --quiet --wait"
+echo "Cleaning $msvcPackage.."
+Remove-Item -Recurse -Force "$msvcPackage"
+echo "Visual Studio = $version" >> ~\versions.txt
diff --git a/coin/provisioning/common/01-windows_removethemall.ps1 b/coin/provisioning/common/01-windows_removethemall.ps1
index 9e64a34d..ebbf15dd 100644
--- a/coin/provisioning/common/01-windows_removethemall.ps1
+++ b/coin/provisioning/common/01-windows_removethemall.ps1
@@ -55,11 +55,6 @@ Function Remove-Path {
[System.Environment]::SetEnvironmentVariable($name,$value,$type)
}
-# Remove Python
-Remove C:\Python27
-Remove-Path C:\python27\scripts
-Remove-Path C:\python27
-
# Remove Android sdk and ndk
Remove C:\utils\android*
[Environment]::SetEnvironmentVariable("ANDROID_NDK_HOME",$null,"User")
diff --git a/coin/provisioning/common/DownloadURL.sh b/coin/provisioning/common/DownloadURL.sh
index 9bf7fdb7..305f2675 100644
--- a/coin/provisioning/common/DownloadURL.sh
+++ b/coin/provisioning/common/DownloadURL.sh
@@ -79,6 +79,10 @@ function DownloadURL {
echo "Failed downloading PKG from primary and alternative URLs"
exit 1;
;;
+ $ExceptionSHA1)
+ echo "Failed checksum on $targetFile."
+ exit 1;
+ ;;
esac
}
}
diff --git a/coin/provisioning/common/InstallAppFromCompressedFileFromURL.sh b/coin/provisioning/common/InstallAppFromCompressedFileFromURL.sh
new file mode 100644
index 00000000..b6072062
--- /dev/null
+++ b/coin/provisioning/common/InstallAppFromCompressedFileFromURL.sh
@@ -0,0 +1,127 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script receives URLs to a compressed file. It then downloads it,
+# uncompresses it and installs it by default
+# to /Applications/. This can be overridden by a target parameter.
+
+# shellcheck source=try_catch.sh
+source "${BASH_SOURCE%/*}/try_catch.sh"
+# shellcheck source=DownloadURL.sh
+source "${BASH_SOURCE%/*}/DownloadURL.sh"
+
+ExceptionCreateTmpFile=100
+ExceptionCreateTmpDirectory=101
+ExceptionUncompress=102
+ExceptionMoveApp=103
+ExceptionDeleteTmpFile=104
+ExceptionRemoveTmpDirectory=105
+ExceptionUnknownFormat=106
+
+
+function InstallAppFromCompressedFileFromURL {
+ url=$1
+ url_alt=$2
+ expectedSha1=$3
+ appPrefix=$4
+ target=$5
+
+ if [ "" == "$target" ]; then
+ target="/Applications/"
+ fi
+
+ try
+ (
+ basefilename=${url##*/}
+ extension=${basefilename##*.}
+ filename=${basefilename%.*}
+ if [ "$extension" == "gz" ] && [ "${filename##*.}" == "tar" ]; then
+ extension="tar.gz"
+ fi
+
+ echo "Extension for file: $extension"
+ echo "Creating temporary file and directory"
+ targetFile=$(mktemp "$TMPDIR$(uuidgen).$extension") || throw $ExceptionCreateTmpFile
+ targetDirectory=$(mktemp -d) || throw $ExceptionCreateTmpDirectory
+ DownloadURL "$url" "$url_alt" "$expectedSha1" "$targetFile"
+ echo "Uncompress $targetFile"
+ case $extension in
+ "tar.gz")
+ tar -xzf "$targetFile" --directory "$targetDirectory" || throw $ExceptionUncompress
+ ;;
+ "zip")
+ unzip "$targetFile" -d "$targetDirectory" || throw $ExceptionUncompress
+ ;;
+ *)
+ throw $ExceptionUnknownFormat
+ ;;
+ esac
+ echo "Moving app to '$target'"
+ sudo mv "$targetDirectory/$appPrefix/"* "$target" || throw $ExceptionMoveApp
+ echo "Removing file '$targetFile'"
+ rm "$targetFile" || throw $ExceptionDeleteTmpFile
+ echo "Removing directory '$targetDirectory'"
+ rm -rf "$targetDirectory" || throw $ExceptionRemoveTmpDirectory
+ )
+
+ catch || {
+ case $ex_code in
+ $ExceptionCreateTmpFile)
+ echo "Failed to create temporary file"
+ exit 1;
+ ;;
+ $ExceptionUncompress)
+ echo "Failed extracting compressed file."
+ exit 1;
+ ;;
+ $ExceptionMoveApp)
+ echo "Failed moving app to '$target'."
+ exit 1;
+ ;;
+ $ExceptionDeleteTmpFile)
+ echo "Failed deleting temporary file."
+ exit 1;
+ ;;
+ $ExceptionRemoveTmpDirectory)
+ echo "Failed deleting temporary file."
+ exit 1;
+ ;;
+ $ExceptionUnknownFormat)
+ echo "Unknown file format."
+ exit 1;
+ ;;
+ esac
+ }
+}
diff --git a/coin/provisioning/common/InstallFromCompressedFileFromURL.sh b/coin/provisioning/common/InstallFromCompressedFileFromURL.sh
index 1f097d32..e3716597 100644
--- a/coin/provisioning/common/InstallFromCompressedFileFromURL.sh
+++ b/coin/provisioning/common/InstallFromCompressedFileFromURL.sh
@@ -80,7 +80,7 @@ function InstallFromCompressedFileFromURL {
;;
esac
echo "Moving app to $installDirectory"
- sudo mkdir "$installDirectory"
+ sudo mkdir -p "$installDirectory"
sudo mv "$targetDirectory/$appPrefix/"* "$installDirectory" || throw $ExceptionMoveApp
echo "Removing file '$targetFile'"
rm "$targetFile" || throw $ExceptionDeleteTmpFile
diff --git a/coin/provisioning/common/InstallPKGFromURL.sh b/coin/provisioning/common/InstallPKGFromURL.sh
new file mode 100644
index 00000000..07f23d62
--- /dev/null
+++ b/coin/provisioning/common/InstallPKGFromURL.sh
@@ -0,0 +1,103 @@
+#!/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$
+##
+#############################################################################
+
+# shellcheck source=try_catch.sh
+source "${BASH_SOURCE%/*}/try_catch.sh"
+
+ExceptionCreateTmpFile=100
+ExceptionDownloadPrimaryUrl=101
+ExceptionDownloadAltUrl=102
+ExceptionSHA1=103
+ExceptionInstallerPKG=104
+ExceptionDeleteTmpFile=105
+
+
+function InstallPKGFromURL {
+ url=$1
+ url_alt=$2
+ expectedSha1=$3
+ targetDirectory=$4
+
+ try
+ (
+ echo "Creating temporary file"
+ targetFile=$(mktemp "$TMPDIR$(uuidgen).pkg") || trow $ExceptionCreateTmpFile
+ try
+ (
+ echo "Downloading PKG from primary URL '$url'"
+ curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || throw $ExceptionDownloadPrimaryUrl
+ )
+ catch || {
+ case $ex_code in
+ $ExceptionDownloadPrimaryUrl)
+ echo "Failed to download '$url' multiple times"
+ echo "Downloading PKG from alternative URL '$url_alt'"
+ curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url_alt" || throw $ExceptionDownloadAltUrl
+ ;;
+ esac
+ }
+ echo "Checking SHA1 on PKG '$targetFile'"
+ echo "$expectedSha1 *$targetFile" | shasum --check || throw $ExceptionSHA1
+ echo "Run installer on PKG"
+ sudo installer -package "$targetFile" -target "$targetDirectory" || throw $ExceptionInstallerPKG
+ echo "Removing file '$targetFile'"
+ rm "$targetFile" || throw $ExceptionDeleteTmpFile
+ )
+
+ catch || {
+ case $ex_code in
+ $ExceptionCreateTmpFile)
+ echo "Failed to create temporary file"
+ exit 1;
+ ;;
+ $ExceptionDownloadAltUrl)
+ echo "Failed downloading PKG from primary and alternative URLs"
+ exit 1;
+ ;;
+ $ExceptionSHA1)
+ echo "Failed to check sha1sum."
+ exit 1;
+ ;;
+ $ExceptionInstallerPKG)
+ echo "Failed running installer on PKG."
+ exit 1;
+ ;;
+ $ExceptionDeleteTmpFile)
+ echo "Failed deleting temporary file."
+ exit 1;
+ ;;
+ esac
+ }
+}
diff --git a/coin/provisioning/common/helpers.ps1 b/coin/provisioning/common/helpers.ps1
index 191be290..af7f79ff 100644
--- a/coin/provisioning/common/helpers.ps1
+++ b/coin/provisioning/common/helpers.ps1
@@ -24,7 +24,7 @@ function Extract-7Zip
echo "Extracting '$Source' to '$Destination'..."
if ((Get-Command "7z.exe" -ErrorAction SilentlyContinue) -eq $null) {
- $zipExe = join-path ${env:ProgramFiles(x86)} '7-zip\7z.exe'
+ $zipExe = join-path (${env:ProgramFiles(x86)}, ${env:ProgramFiles} -ne $null)[0] '7-zip\7z.exe'
if (-not (test-path $zipExe)) {
$zipExe = join-path ${env:ProgramW6432} '7-zip\7z.exe'
if (-not (test-path $zipExe)) {
diff --git a/coin/provisioning/common/install_xcode.sh b/coin/provisioning/common/install_xcode.sh
new file mode 100755
index 00000000..f8336bad
--- /dev/null
+++ b/coin/provisioning/common/install_xcode.sh
@@ -0,0 +1,83 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script 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'
+# 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.
+
+
+
+# shellcheck source=../common/try_catch.sh
+source "${BASH_SOURCE%/*}/try_catch.sh"
+
+function InstallXCode()
+{
+ ExceptionCPIO=103
+ ExceptionAcceptLicense=105
+
+ sourceFile=$1
+ version=$2
+
+ try
+ (
+ echo "Uncompressing and installing '$sourceFile'"
+ xzcat < "$sourceFile" | (cd /Applications/ && sudo cpio -vdmi) || throw $ExceptionCPIO
+
+ echo "Accept license"
+ sudo xcodebuild -license accept || throw $ExceptionAcceptLicense
+
+ echo "Xcode = $version" >> ~/versions.txt
+ )
+ catch || {
+ case $ex_code in
+ $ExceptionCPIO)
+ echo "Failed to unarchive .cpio."
+ exit 1;
+ ;;
+ $ExceptionAcceptLicense)
+ echo "Failed to accept license."
+ exit 1;
+ ;;
+
+ esac
+ }
+
+}
+
diff --git a/coin/provisioning/common/02-python.ps1 b/coin/provisioning/common/python.ps1
index 32972830..3edbc412 100644
--- a/coin/provisioning/common/02-python.ps1
+++ b/coin/provisioning/common/python.ps1
@@ -30,39 +30,40 @@
## $QT_END_LICENSE$
##
#############################################################################
-
+param([Int32]$archVer=32)
. "$PSScriptRoot\helpers.ps1"
# This script installs Python $version.
# Python is required for building Qt 5 from source.
-$version = "2.7.10"
+$version = "2.7.13"
$package = "C:\Windows\temp\python-$version.msi"
# check bit version
-if ([System.Environment]::Is64BitProcess -eq $TRUE) {
+if ( $archVer -eq 64 ) {
+ echo "Running in 64 bit system"
$externalUrl = "https://www.python.org/ftp/python/$version/python-$version.amd64.msi"
$internalUrl = "http://ci-files01-hki.ci.local/input/windows/python-$version.amd64.msi"
- $sha1 = "f3a474f6ab191f9b43034c0fb5c98301553775d4"
+ $sha1 = "d9113142bae8829365c595735e1ad1f9f5e2894c"
}
else {
$externalUrl = "https://www.python.org/ftp/python/$version/python-$version.msi"
$internalUrl = "http://ci-files01-hki.ci.local/input/windows/python-$version.msi"
- $sha1 = "9e62f37407e6964ee0374b32869b7b4ab050d12a"
+ $sha1 = "7e3b54236dbdbea8fe2458db501176578a4d59c0"
}
echo "Fetching from URL..."
Download $externalUrl $internalUrl $package
Verify-Checksum $package $sha1
echo "Installing $package..."
-cmd /c "$package /q"
+cmd /c "msiexec /passive /i $package ALLUSERS=1"
# We need to change allowZip64 from 'False' to 'True' to be able to create ZIP files that use the ZIP64 extensions when the zipfile is larger than 2 GB
echo "Chancing allowZip64 value to 'True'..."
(Get-Content C:\Python27\lib\zipfile.py) | ForEach-Object { $_ -replace "allowZip64=False", "allowZip64=True" } | Set-Content C:\Python27\lib\zipfile.py
echo "Remove $package..."
del $package
-Add-Path $path
+[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Python27;C:\Python27\Scripts", [EnvironmentVariableTarget]::Machine)
-& python -m ensurepip
+C:\Python27\python.exe -m ensurepip
# Install python virtual env
-pip.exe install virtualenv
+C:\Python27\Scripts\pip.exe install virtualenv
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/android_linux.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/android_linux.sh
index 1d0630ce..6bb7a37e 100644
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/android_linux.sh
+++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/android_linux.sh
@@ -35,13 +35,13 @@
# This script install Android sdk and ndk.
-# It also runs update for SDK API level 18, latest SDK tools, latest platform-tools and build-tools version 23.0.3
+# It also runs update for SDK API level 21, latest SDK tools, latest platform-tools and build-tools version 23.0.3
# Build-tools version 23.0.3 is the latest usable version for Red Hat 6. Newer version of build-tools, version 24.x.x, requires GLIBC_2.14, which is not available in Red Hat 6.
# Android 16 is the minimum requirement for Qt 5.7 applications, but we need something more recent than that for building Qt itself.
-# E.g The Bluetooth features that require Android 18 will disable themselves dynamically when running on an Android 16 device.
-# That's why we need to use Andoid-18 API version and decision was made to use it also with Qt 5.6.
+# E.g The Bluetooth features that require Android 21 will disable themselves dynamically when running on an Android 16 device.
+# That's why we need to use Andoid-21 API version in Qt 5.9.
set -e
targetFolder="/opt/android"
@@ -50,7 +50,7 @@ baseUrl="http://ci-files01-hki.ci.local/input/android"
# SDK
sdkPackage="android-sdk_r24.4.1-linux.tgz"
sdkBuildToolsVersion="23.0.3"
-sdkApiLevel="android-18"
+sdkApiLevel="android-21"
sdkUrl="$baseUrl/$sdkPackage"
sdkSha1="725bb360f0f7d04eaccff5a2d57abdd49061326d"
sdkTargetFile="$targetFolder/$sdkPackage"
@@ -96,13 +96,11 @@ InstallAndroidPackage "$targetFolder" $sdkPackage $sdkUrl $sdkSha1 $sdkTargetFil
echo "Installing Android NDK version $ndkPackage..."
InstallAndroidPackage "$targetFolder" $ndkPackage $ndkUrl $ndkSha1 $ndkTargetFile "$ndkExtract" $ndkFolderName $ndkName
-# run update for Android SDK and install SDK API version 18, latest SDK tools, platform-tools and build-tools
-echo "Running Android SDK update for API version 18, SDK-tools, platform-tools and build-tools-$sdkBuildToolsVersion..."
+# run update for Android SDK and install SDK API version 21, latest SDK tools, platform-tools and build-tools
+echo "Running Android SDK update for API version 21, SDK-tools, platform-tools and build-tools-$sdkBuildToolsVersion..."
echo "y" |"$targetFolder"/sdk/tools/android update sdk --no-ui --all --filter $sdkApiLevel,tools,platform-tools,build-tools-$sdkBuildToolsVersion || echo "Failed to run update"
-# For Qt 5.6, we by default require API levels 10, 11, 16 and 18, but we can override this by setting ANDROID_API_VERSION=android-18
-# From Qt 5.7 forward, if android-16 is not installed, Qt will automatically use more recent one.
-echo 'export ANDROID_API_VERSION=android-18' >> ~/.bashrc
+echo 'export ANDROID_API_VERSION=android-21' >> ~/.bashrc
# Storage version information to ~/versions.txt, which is used to print version information to provision log.
echo "***** Android SDK *****" >> ~/versions.txt
@@ -114,4 +112,3 @@ sdkTools="$(grep Pkg.Revision "$targetFolder"/sdk/tools/source.properties | cut
echo "Android SDK Tools = $sdkTools" >> ~/versions.txt
echo "***** Android NDK *****" >> ~/versions.txt
echo "Android NDK Version = $ndkVersion" >> ~/versions.txt
-
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/install_icu.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/install_icu.sh
index 02ddda3f..42db3716 100644
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/install_icu.sh
+++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/install_icu.sh
@@ -68,3 +68,6 @@ 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-7.2-x86_64/01-linux-removethemall.sh b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/01-linux-removethemall.sh
new file mode 100644
index 00000000..38194671
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/01-linux-removethemall.sh
@@ -0,0 +1 @@
+"${BASH_SOURCE%/*}/../common/linux-removethemall.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/02-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/02-android_linux.sh
new file mode 100644
index 00000000..87569d72
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/02-android_linux.sh
@@ -0,0 +1,117 @@
+#!/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 install Android sdk and ndk.
+
+# It also runs update for SDK API level 21, latest SDK tools, latest platform-tools and build-tools version 23.0.3
+
+# Build-tools version 23.0.3 is the latest usable version for Red Hat 6. Newer version of build-tools, version 24.x.x, requires GLIBC_2.14, which is not available in Red Hat 6.
+
+# Android 16 is the minimum requirement for Qt 5.7 applications, but we need something more recent than that for building Qt itself.
+# E.g The Bluetooth features that require Android 21 will disable themselves dynamically when running on an Android 16 device.
+# That's why we need to use Andoid-21 API version in Qt 5.9.
+
+set -e
+targetFolder="/opt/android"
+baseUrl="http://ci-files01-hki.ci.local/input/android"
+
+# SDK
+sdkPackage="android-sdk_r24.4.1-linux.tgz"
+sdkBuildToolsVersion="23.0.3"
+sdkApiLevel="android-21"
+sdkUrl="$baseUrl/$sdkPackage"
+sdkSha1="725bb360f0f7d04eaccff5a2d57abdd49061326d"
+sdkTargetFile="$targetFolder/$sdkPackage"
+sdkExtract="tar -C $targetFolder -zxf $sdkTargetFile"
+sdkFolderName="android-sdk-linux"
+sdkName="sdk"
+
+# NDK
+ndkVersion="r10e"
+ndkPackage="android-ndk-$ndkVersion-linux-x86_64.zip"
+ndkUrl="$baseUrl/$ndkPackage"
+ndkSha1="f692681b007071103277f6edc6f91cb5c5494a32"
+ndkTargetFile="$targetFolder/$ndkPackage"
+ndkExtract="unzip $ndkTargetFile -d $targetFolder"
+ndkFolderName="android-ndk-$ndkVersion"
+ndkName="ndk"
+
+function InstallAndroidPackage {
+ targetFolder=$1
+ version=$2
+ url=$3
+ sha1=$4
+ targetFile=$5
+ extract=$6
+ folderName=$7
+ name=$8
+
+ sudo wget --tries=5 --waitretry=5 --output-document="$targetFile" "$url" || echo "Failed to download '$url' multiple times"
+ echo "$sha1 $targetFile" | sha1sum --check || echo "Failed to check sha1sum"
+ sudo chmod 755 "$targetFile"
+ sudo $extract || echo "Failed to extract $url"
+ sudo chown -R qt:users "$targetFolder"/"$folderName"
+ sudo mv "$targetFolder"/"$folderName" "$targetFolder"/"$name" || echo "Failed to rename $name"
+ sudo rm -fr "$targetFolder"/"$version"
+}
+
+sudo mkdir "$targetFolder"
+
+# Install Android SDK
+echo "Installing Android SDK version $sdkPackage..."
+InstallAndroidPackage "$targetFolder" $sdkPackage $sdkUrl $sdkSha1 $sdkTargetFile "$sdkExtract" $sdkFolderName $sdkName
+
+# Install Android NDK
+echo "Installing Android NDK version $ndkPackage..."
+InstallAndroidPackage "$targetFolder" $ndkPackage $ndkUrl $ndkSha1 $ndkTargetFile "$ndkExtract" $ndkFolderName $ndkName
+
+# run update for Android SDK and install SDK API version 18, latest SDK tools, platform-tools and build-tools
+echo "Running Android SDK update for API version 18, SDK-tools, platform-tools and build-tools-$sdkBuildToolsVersion..."
+echo "y" |"$targetFolder"/sdk/tools/android update sdk --no-ui --all --filter $sdkApiLevel,tools,platform-tools,build-tools-$sdkBuildToolsVersion || echo "Failed to run update"
+
+# For Qt 5.6, we by default require API levels 10, 11, 16 and 18, but we can override this by setting ANDROID_API_VERSION=android-18
+# From Qt 5.7 forward, if android-16 is not installed, Qt will automatically use more recent one.
+# echo 'export ANDROID_API_VERSION=$sdkApiLevel' >> ~/.bashrc
+
+# Storage version information to ~/versions.txt, which is used to print version information to provision log.
+echo "***** Android SDK *****" >> ~/versions.txt
+echo "Android SDK Api Level = $sdkApiLevel" >> ~/versions.txt
+echo "Android SDK Build Tools Version = $sdkBuildToolsVersion" >> ~/versions.txt
+platformTools="$(grep Pkg.Revision "$targetFolder"/sdk/platform-tools/source.properties | cut -c14-)"
+echo "Android Platform Tools = $platformTools" >> ~/versions.txt
+sdkTools="$(grep Pkg.Revision "$targetFolder"/sdk/tools/source.properties | cut -c14-)"
+echo "Android SDK Tools = $sdkTools" >> ~/versions.txt
+echo "***** Android NDK *****" >> ~/versions.txt
+echo "Android NDK Version = $ndkVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/30-integrity.sh b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/30-integrity.sh
new file mode 100755
index 00000000..ae637a44
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/30-integrity.sh
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script installs INTEGRITY
+
+source "${BASH_SOURCE%/*}/../common/InstallFromCompressedFileFromURL.sh"
+
+version="11.4.4"
+PrimaryUrl="http://ci-files01-hki.ci.local/input/integrity/ghs_$version.tar.gz"
+AltUrl="$PrimaryUrl" # we lack an external source for this
+SHA1="4afa3c15e13c91734951b73f6b21388294c5d794"
+targetFolder="/opt/ghs"
+appPrefix=""
+
+InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$targetFolder" "$appPrefix"
+
+echo "export INTEGRITY_BSP=platform-cortex-a9" >> ~/.bashrc
+echo "export INTEGRITY_PATH=$targetFolder/comp_201654" >> ~/.bashrc
+echo "export INTEGRITY_DIR=$targetFolder/int1144" >> ~/.bashrc
+echo "export INTEGRITY_GL_INC_DIR=\$INTEGRITY_DIR/INTEGRITY-include/Vivante/sdk/inc" >> ~/.bashrc
+echo "export INTEGRITY_GL_LIB_DIR=\$INTEGRITY_DIR/libs/Vivante" >> ~/.bashrc
+
+echo "INTEGRITY = $version" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/rhel_packages.sh b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/rhel_packages.sh
index c322bcbf..daf3efab 100644
--- a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/rhel_packages.sh
+++ b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/rhel_packages.sh
@@ -1,9 +1,11 @@
# gstreamer 1 for QtMultimedia
# gtk3 style for QtGui/QStyle
# libusb1 for tqtc-boot2qt/qdb
+# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux
sudo yum install -y \
gstreamer1-devel gstreamer1-plugins-base-devel \
gtk3-devel \
- libusb1-devel
+ libusb1-devel \
+ speech-dispatcher-devel
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-suppress-shutdown-indicator.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-suppress-shutdown-indicator.sh
deleted file mode 100644
index f11263b7..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-suppress-shutdown-indicator.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env sh
-
-# Disable questions on shutdown.
-gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown true
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-systemsetup.sh
new file mode 100755
index 00000000..1881ae0b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-systemsetup.sh
@@ -0,0 +1,87 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script modifies system settings for automated use
+
+# shellcheck source=../common/try_catch.sh
+source "${BASH_SOURCE%/*}/../common/try_catch.sh"
+
+NTS_IP=10.212.2.216
+
+ExceptionGsettings1=100
+ExceptionGsettings2=101
+ExceptionGsettings3=102
+ExceptionNTS=103
+ExceptionDISPLAY=104
+
+try
+(
+ echo "Timeout for blanking the screen (0 = never)"
+ gsettings set org.gnome.desktop.session idle-delay 0 || throw $ExceptionGsettings1
+ echo "Prevents screen lock when screesaver goes active."
+ gsettings set org.gnome.desktop.screensaver lock-enabled false || throw $ExceptionGsettings2
+ echo "Disable questions on shutdown."
+ gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown true || throw $ExceptionGsettings3
+
+ echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
+ echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts || throw $ExceptionNTS
+ echo "Set DISPLAY"
+ echo 'export DISPLAY=":0"' >> ~/.bashrc || throw $ExceptionDISPLAY
+)
+catch || {
+ case $ex_code in
+ $ExceptionGsettings1)
+ echo "Failed to disable black screen."
+ exit 1;
+ ;;
+ $ExceptionGsettings2)
+ echo "Failed to prevent screen lock."
+ exit 1;
+ ;;
+ $ExceptionGsettings3)
+ echo "Failed to disable questions on shutdown."
+ exit 1;
+ ;;
+ $ExceptionNTS)
+ echo "Failed to set network teset server address into /etc/hosts."
+ exit 1;
+ ;;
+ $ExceptionDISPLAY)
+ echo "Failed to set DISPLAY into ~/.bashrc."
+ exit 1;
+ ;;
+ esac
+}
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh
new file mode 100755
index 00000000..8b28c981
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh
@@ -0,0 +1,102 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# Install required packages with APT
+
+source "${BASH_SOURCE%/*}/../common/try_catch.sh"
+
+ExceptionAPTUpdate=100
+ExceptionAPT=101
+ExceptionSED=102
+
+try
+(
+ echo "Disabling auto update"
+ sudo sed -i 's/APT::Periodic::Update-Package-Lists "1";/APT::Periodic::Update-Package-Lists "0";/' /etc/apt/apt.conf.d/10periodic || throw $ExceptionSED
+ echo "Running update for apt"
+ sudo apt update
+ echo "Installing packages"
+ # Git is not needed by builds themselves, but is nice to have
+ # immediately as one starts debugging
+ sudo DEBIAN_FRONTEND=noninteractive apt -q -y install git || throw $ExceptionAPT
+ # 7zip is a needed decompressing tool
+ sudo DEBIAN_FRONTEND=noninteractive apt -q -y install p7zip || throw $ExceptionAPT
+ # libssl-dev provides headers for OpenSSL
+ sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libssl-dev || throw $ExceptionAPT
+ # Needed libraries for X11 support accordingly to https://wiki.qt.io/Building_Qt_5_from_Git
+ sudo DEBIAN_FRONTEND=noninteractive apt -q -y install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev || throw $ExceptionAPT
+ # Enable linking to system dbus
+ sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libdbus-1-dev || throw $ExceptionAPT
+ # Needed libraries for WebEngine
+ sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libudev-dev libegl1-mesa-dev libfontconfig1-dev libxss-dev || throw $ExceptionAPT
+ # Common event loop handling
+ sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libglib2.0-dev || throw $ExceptionAPT
+ # MySQL support
+ sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libmysqlclient-dev || throw $ExceptionAPT
+ # PostgreSQL support
+ sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libpq-dev || throw $ExceptionAPT
+ # SQLite support
+ sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libsqlite3-dev || throw $ExceptionAPT
+ # ODBC support
+ sudo DEBIAN_FRONTEND=noninteractive apt -q -y install unixodbc-dev || throw $ExceptionAPT
+ # Support for FreeType font engine
+ sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libfreetype6-dev || throw $ExceptionAPT
+ # Enable the usage of system jpeg libraries
+ sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libjpeg-dev || throw $ExceptionAPT
+ # Enable support for printer driver
+ sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libcups2-dev || throw $ExceptionAPT
+ # Install libraries needed for QtMultimedia to be able to support all plugins
+ sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libasound2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev || throw $ExceptionAPT
+ sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev || throw $ExceptionAPT
+ # Support for cross-building to x86 (needed by WebEngine boot2qt builds)
+ sudo DEBIAN_FRONTEND=noninteractive apt -q -y install g++-multilib || throw $ExceptionAPT
+)
+catch || {
+ case $ex_code in
+ $ExceptionAPTUpdate)
+ echo "Failed to run APT update."
+ exit 1;
+ ;;
+ $ExceptionAPT)
+ echo "Failed to install package."
+ exit 1;
+ ;;
+ $ExceptionSED)
+ echo "Failed to disable auto update."
+ exit 1;
+ ;;
+ esac
+}
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-apt-update.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-apt-update.sh
deleted file mode 100644
index 2f7e2e47..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-apt-update.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/usr/bin/env bash
-sudo apt-get update
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-qemu.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-qemu.sh
new file mode 100755
index 00000000..f978003b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-qemu.sh
@@ -0,0 +1,66 @@
+#!/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 -e
+# build latest qemu to usermode
+sudo apt-get -y install automake autoconf libtool
+
+tempDir=$(mktemp -d) || echo "Failed to create temporary directory"
+git clone git://git.qemu.org/qemu.git "$tempDir"
+cd "$tempDir"
+
+#latest commit from the master proven to work
+git checkout c7f1cf01b8245762ca5864e835d84f6677ae8b1f
+git submodule update --init pixman
+./configure --target-list=arm-linux-user --static
+make
+sudo make install
+rm -rf "$tempDir"
+
+# Enable binfmt support
+sudo apt-get -y install binfmt-support
+
+# Install qemu binfmt
+sudo update-binfmts --package qemu-arm --install arm \
+/usr/local/bin/qemu-arm \
+--magic \
+"\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00" \
+--mask \
+"\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"
+
+# First test using QFont fails if fonts-noto-cjk is installed. This happens because
+# running fontcache for that font takes > 5 mins when run on QEMU. Running fc-cache
+# doesn't help since host version creates cache for a wrong architecture and running
+# armv7 fc-cache segfaults on QEMU.
+sudo DEBIAN_FRONTEND=noninteractive apt-get -y remove fonts-noto-cjk
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/003-bashprofile.sh b/coin/provisioning/qtci-macos-10.12-x86_64/003-bashprofile.sh
new file mode 100644
index 00000000..0fbe7628
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/003-bashprofile.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# Read .bashrc if exist
+printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile
+
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/005-systemsetup.sh b/coin/provisioning/qtci-macos-10.12-x86_64/005-systemsetup.sh
new file mode 100755
index 00000000..48430389
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/005-systemsetup.sh
@@ -0,0 +1,117 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script modified system settings for automated use
+
+# shellcheck source=../common/try_catch.sh
+source "${BASH_SOURCE%/*}/../common/try_catch.sh"
+
+VNCPassword=qt
+NTS_IP=10.212.2.216
+
+ExceptionDisableScreensaver=100
+ExceptionSetInitialDelay=101
+ExceptionSetDelay=102
+ExceptionVNC=103
+ExceptionNTS=104
+
+try
+(
+ echo "Disable Screensaver"
+ mkdir -p "$HOME/Library/LaunchAgents" || throw $ExceptionDisableScreensaver
+ (
+ cat >"$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+ <string>org.qt.io.screensaver_disable</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>defaults</string>
+ <string>-currentHost</string>
+ <string>write</string>
+ <string>com.apple.screensaver</string>
+ <string>idleTime</string>
+ <string>0</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>KeepAlive</key>
+ <false/>
+ </dict>
+</plist>
+EOT
+ ) || throw $ExceptionDisableScreensaver
+
+ echo "Set keyboard type rates and delays"
+ # normal minimum is 15 (225 ms)
+ defaults write -g InitialKeyRepeat -int 15 || throw $ExceptionSetInitialDelay
+ # normal minimum is 2 (30 ms)
+ defaults write -g KeyRepeat -int 2 || throw $ExceptionSetDelay
+
+ echo "Enable remote desktop sharing"
+ sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw $VNCPassword -restart -agent -privs -all || throw $ExceptionVNC
+
+ echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
+ echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts || throw $ExceptionNTS
+
+)
+catch || {
+ case $ex_code in
+ $ExceptionDisableScreensaver)
+ echo "Failed to disable screensaver."
+ exit 1;
+ ;;
+ $ExceptionSetInitialDelay)
+ echo "Failed to set initial delay of keyboard."
+ exit 1;
+ ;;
+ $ExceptionSetDelay)
+ echo "Failed to set delay of keyboard."
+ exit 1;
+ ;;
+ $ExceptionVNC)
+ echo "Failed to enable VNC."
+ exit 1;
+ ;;
+ $ExceptionNTS)
+ echo "Failed to set NTS."
+ exit 1;
+ ;;
+ esac
+}
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/crashreporter.sh b/coin/provisioning/qtci-macos-10.12-x86_64/006-crashreporter.sh
index ba8dbdd3..ba8dbdd3 100644..100755
--- a/coin/provisioning/qtci-osx-10.11-x86_64/crashreporter.sh
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/006-crashreporter.sh
diff --git a/coin/provisioning/qtci-windows-10-x86_64/06-msvc2015_update.ps1 b/coin/provisioning/qtci-macos-10.12-x86_64/015-xz.sh
index 83ff3f48..eca6858c 100644..100755
--- a/coin/provisioning/qtci-windows-10-x86_64/06-msvc2015_update.ps1
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/015-xz.sh
@@ -1,3 +1,5 @@
+#!/bin/bash
+
#############################################################################
##
## Copyright (C) 2017 The Qt Company Ltd.
@@ -30,4 +32,19 @@
## $QT_END_LICENSE$
##
#############################################################################
-. "$PSScriptRoot\..\common\msvc2015_update.ps1"
+
+# This script installs XZ-Utils
+
+# XZ-Utils are needed for uncompressing xz-compressed files
+
+# shellcheck source=../common/try_catch.sh
+source "${BASH_SOURCE%/*}/../common/InstallPKGFromURL.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.local/input/mac/macos_10.12_sierra/XZ.pkg"
+AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg"
+SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67"
+DestDir="/"
+
+InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
+
+echo "XZ = 5.0.7" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/020-java.sh b/coin/provisioning/qtci-macos-10.12-x86_64/020-java.sh
new file mode 100755
index 00000000..6ae54526
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/020-java.sh
@@ -0,0 +1,128 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script installs JDK
+echo "Installing Java Development Kit"
+
+# shellcheck source=../common/try_catch.sh
+source "${BASH_SOURCE%/*}/../common/try_catch.sh"
+
+ExceptionDownloadPrimaryUrl=100
+ExceptionDownloadAltUrl=101
+ExceptionSHA1=102
+ExceptionAttachImage=103
+ExceptionInstall=104
+ExceptionDetachImage=105
+ExceptionRemoveTmpFile=106
+ExceptionDisableAutoUpdate=107
+
+
+url=http://ci-files01-hki.ci.local/input/mac/macos_10.12_sierra/jdk-8u102-macosx-x64.dmg
+url_alt=http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-macosx-x64.dmg
+targetFile=/tmp/jdk-8u102-macosx-x64.dmg
+expectedSha1=1405af955f14e32aae187b5754a716307db22104
+
+try
+(
+ try
+ (
+ echo "Downloading from primary URL '$url'"
+ curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || throw $ExceptionDownloadPrimaryUrl
+ )
+ catch || {
+ case $ex_code in
+ $ExceptionDownloadPrimaryUrl)
+ echo "Failed to download '$url' multiple times"
+ echo "Downloading tar.gz from alternative URL '$url_alt'"
+ curl --fail -L --retry 5 --retry-delay 5 -j -k -H "Cookie: oraclelicense=accept-securebackup-cookie" -o "$targetFile" "$url_alt" || throw $ExceptionDownloadAltUrl
+ ;;
+ esac
+ }
+ echo "Checking SHA1 on '$targetFile'"
+ echo "$expectedSha1 *$targetFile" | shasum --check || throw $ExceptionSHA1
+
+ echo Mounting DMG
+ hdiutil attach "$targetFile" || throw $ExceptionAttachImage
+
+ echo Installing JDK
+ (cd /Volumes/JDK\ 8\ Update\ 102/ && sudo installer -package JDK\ 8\ Update\ 102.pkg -target /) || throw $ExceptionInstall
+
+ hdiutil detach /dev/disk1s1 || throw $ExceptionDetachImage
+
+ echo "Removing temporary file '$targetFile'"
+ rm "$targetFile" || throw $ExceptionRemoveTmpFile
+
+ echo "Disable auto update"
+ sudo defaults write /Library/Preferences/com.oracle.java.Java-Updater JavaAutoUpdateEnabled -bool false || throw $ExceptionDisableAutoUpdate
+
+ echo "JDK Version = 8 update 102" >> ~/versions.txt
+)
+catch || {
+ case $ex_code in
+ $ExceptionDownloadPrimaryUrl)
+ echo "Failed to download JDK from primary URL."
+ exit 1;
+ ;;
+ $ExceptionDownloadAltUrl)
+ echo "Failed to download JDK from alternative URL."
+ exit 1;
+ ;;
+ $ExceptionSHA1)
+ echo "Failed to check SHA1."
+ exit 1;
+ ;;
+ $ExceptionAttachImage)
+ echo "Failed to attach image."
+ exit 1;
+ ;;
+ $ExceptionInstall)
+ echo "Failed to install JDK."
+ exit 1;
+ ;;
+ $ExceptionDetachImage)
+ echo "Failed to detach image."
+ exit 1;
+ ;;
+ $ExceptionRemoveTmpFile)
+ echo "Failed to remove temporary file."
+ exit 1;
+ ;;
+ $ExceptionDisableAutoUpdate)
+ echo "Failed to disable auto update."
+ exit 1;
+ ;;
+
+ esac
+}
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/020-xcode.sh b/coin/provisioning/qtci-macos-10.12-x86_64/020-xcode.sh
new file mode 100755
index 00000000..97ce19ba
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/020-xcode.sh
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script 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'
+# 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.
+
+# shellcheck source=../common/try_catch.sh
+source "${BASH_SOURCE%/*}/../common/try_catch.sh"
+
+# shellcheck source=../common/install_xcode.sh
+source "${BASH_SOURCE%/*}/../common/install_xcode.sh"
+
+InstallXCode /net/ci-files01-hki.ci.local/hdd/www/input/mac/macos_10.12_sierra/Xcode_8.2.1.xz 8.2.1
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/025-cmake.sh b/coin/provisioning/qtci-macos-10.12-x86_64/025-cmake.sh
new file mode 100755
index 00000000..de025b55
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/025-cmake.sh
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script installs CMake
+
+# CMake is needed for autotests that verify that Qt can be built with CMake
+
+# shellcheck source=../common/InstallAppFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/InstallAppFromCompressedFileFromURL.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.local/input/mac/macos_10.12_sierra/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"
+
+InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix"
+
+echo "export PATH=/Applications/CMake.app/Contents/bin:$PATH" >> ~/.bashrc
+echo "CMake = 3.6.2" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/025-mysql.sh b/coin/provisioning/qtci-macos-10.12-x86_64/025-mysql.sh
new file mode 100755
index 00000000..54389916
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/025-mysql.sh
@@ -0,0 +1,54 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script installs MySQL
+
+# MySQL is needed for Qt to be able to support MySQL
+
+# shellcheck source=../common/InstallAppFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/InstallAppFromCompressedFileFromURL.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.local/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=""
+targetDir="/opt/mysql57/"
+
+sudo mkdir -p "/opt"
+
+InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir"
+
+echo "export MYSQLBINPATH=/opt/mysql57/bin" >> ~/.bashrc
+echo "MySQL = 5.7.15" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/025-postgresql.sh b/coin/provisioning/qtci-macos-10.12-x86_64/025-postgresql.sh
new file mode 100755
index 00000000..e699933d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/025-postgresql.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script installs PostgreSQL
+
+# PostgreSQL is needed for Qt to be able to support PostgreSQL
+
+# shellcheck source=../common/InstallAppFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/InstallAppFromCompressedFileFromURL.sh"
+
+psqlVersion="9.6.0"
+
+PrimaryUrl="http://ci-files01-hki.ci.local/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"
+
+echo "export POSTGRESQLBINPATH=/Applications/Postgres.app/Contents/Versions/9.6/bin" >> ~/.bashrc
+echo "PostgreSQL = $psqlVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/030-android.sh b/coin/provisioning/qtci-macos-10.12-x86_64/030-android.sh
new file mode 100755
index 00000000..e5ab2ced
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/030-android.sh
@@ -0,0 +1,128 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script install Android sdk and ndk.
+
+# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
+
+# shellcheck source=../common/try_catch.sh
+source "${BASH_SOURCE%/*}/../common/try_catch.sh"
+# shellcheck source=../common/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/DownloadURL.sh"
+
+targetFolder="/opt/android"
+sdkTargetFolder="$targetFolder/sdk"
+
+baseUrl="http://ci-files01-hki.ci.local/input/android"
+baseAltUrl="https://dl.google.com/android/repository/"
+
+toolsVersion="r25.2.5"
+toolsFile="tools_$toolsVersion-macosx.zip"
+ndkVersion="r10e"
+ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip"
+sdkBuildToolsVersion="25.0.2"
+sdkApiLevel="android-21"
+
+toolsSha1="d2168d963ac5b616e3d3ddaf21511d084baf3659"
+ndkSha1="6be8598e4ed3d9dd42998c8cb666f0ee502b1294"
+
+toolsDlUrl="$baseUrl/$toolsFile"
+ndkDlUrl="$baseUrl/$ndkFile"
+toolsAltDlUrl="$baseAltUrl/$toolsFile"
+ndkAltDlUrl="$baseAltUrl/$ndkFile"
+
+toolsTargetFile="/tmp/$toolsFile"
+ndkTargetFile="/tmp/$ndkFile"
+
+ExceptionUnzipTools=100
+ExceptionUnzipNdk=101
+ExceptionRmTools=102
+ExceptionRmNdk=103
+ExceptionSdkManager=104
+
+try
+(
+ DownloadURL "$toolsDlUrl" "$toolsAltDlUrl" "$toolsSha1" "$toolsTargetFile"
+ DownloadURL "$ndkDlUrl" "$ndkAltDlUrl" "$ndkSha1" "$ndkTargetFile"
+ echo "Unzipping Android NDK to '$targetFolder'"
+ sudo unzip -q "$ndkTargetFile" -d "$targetFolder" || throw $ExceptionUnzipNdk
+ echo "Unzipping Android Tools to '$sdkTargetFolder'"
+ sudo unzip -q "$toolsTargetFile" -d "$sdkTargetFolder" || throw $ExceptionUnzipTools
+
+ echo "Removing temporary files."
+ rm "$toolsTargetFile" || throw $ExceptionRmTools
+ rm "$ndkTargetFile" || throw $ExceptionRmNdk
+
+ echo "Changing ownership of Android files."
+ sudo chown -R qt:wheel "$targetFolder"
+
+ echo "Running SDK manager for platforms;$sdkApiLevel, tools, platform-tools and build-tools;$sdkBuildToolsVersion."
+ echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" || throw $ExceptionSdkManager
+
+ echo "export ANDROID_SDK_ROOT=$sdkTargetFolder" >> ~/.bashrc
+ echo "export ANDROID_NDK_HOME=$targetFolder/android-ndk-$ndkVersion" >> ~/.bashrc
+ echo "export ANDROID_NDK_HOST=darwin-x86_64" >> ~/.bashrc
+ echo "export ANDROID_API_VERSION=$sdkApiLevel" >> ~/.bashrc
+
+ echo "Android SDK tools = $toolsVersion" >> ~/version.txt
+ echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/version.txt
+ echo "Android SDK API level = $sdkApiLevel" >> ~/version.txt
+ echo "Android NDK = $ndkVersion" >> ~/version.txt
+)
+catch || {
+ case $ex_code in
+ $ExceptionUnzipTools)
+ echo "Failed to unzip Android SDK Tools."
+ exit 1;
+ ;;
+ $ExceptionUnzipNdk)
+ echo "Failed to unzip Android NDK."
+ exit 1;
+ ;;
+ $ExceptionRmTools)
+ echo "Failed to remove temporary tools package '$toolsTargetFile'."
+ exit 1;
+ ;;
+ $ExceptionRmNdk)
+ echo "Failed to remove temporary NDK package '$ndkTargetFile'."
+ exit 1;
+ ;;
+ $ExceptionSdkManager)
+ echo "Failed to run sdkmanager."
+ exit 1;
+ ;;
+ esac
+}
+
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/035-openssl.sh b/coin/provisioning/qtci-macos-10.12-x86_64/035-openssl.sh
new file mode 100755
index 00000000..acd0bd74
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/035-openssl.sh
@@ -0,0 +1,117 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script install OpenSSL
+
+# shellcheck source=../common/try_catch.sh
+source "${BASH_SOURCE%/*}/../common/try_catch.sh"
+# shellcheck source=../common/InstallFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/InstallFromCompressedFileFromURL.sh"
+
+opensslVersion="1.0.2k"
+opensslFile="openssl-$opensslVersion.tar.gz"
+opensslDlUrl="http://ci-files01-hki.ci.local/input/openssl/$opensslFile"
+opensslAltDlUrl="https://www.openssl.org/source/$opensslFile"
+opensslSha1="5f26a624479c51847ebd2f22bb9f84b3b44dcb44"
+
+# Below target location has been hard coded into Coin.
+# QTQAINFRA-1195
+opensslTargetLocation="/usr/local/opt/openssl"
+
+ExceptionCD=100
+ExceptionConfig=101
+ExceptionMake=102
+ExceptionInstall=103
+ExceptionLN=104
+ExceptionCertificate=105
+ExceptionCleanup=106
+
+try
+(
+ InstallFromCompressedFileFromURL "$opensslDlUrl" "$opensslAltDlUrl" "$opensslSha1" "/tmp/openssl-$opensslVersion" "openssl-$opensslVersion"
+ cd "/tmp/openssl-$opensslVersion" || throw $ExceptionCD
+ pwd
+ sudo ./config --prefix=/usr/local/openssl-$opensslVersion || throw $ExceptionConfig
+ echo "Running 'make' for OpenSSL"
+ sudo make --silent > /tmp/openssl_make.log 2>&1 || throw $ExceptionMake
+ echo "Running 'make install' for OpenSSL"
+ sudo make --silent install > /tmp/openssl_make_install.log 2>&1 || throw $ExceptionInstall
+
+ path=$(echo "$opensslTargetLocation" | sed -E 's/(.*)\/.*$/\1/')
+ sudo mkdir -p "$path"
+ sudo ln -s /usr/local/openssl-$opensslVersion $opensslTargetLocation || throw $ExceptionLN
+
+ echo "export PATH=\"$opensslTargetLocation/bin:$PATH\"" >> ~/.bashrc
+ echo "export MANPATH=\"$opensslTargetLocation/share/man:$MANPATH\"" >> ~/.bashrc
+
+ security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem || throw $ExceptionCertificate
+ security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem || throw $ExceptionCertificate
+
+ sudo rm -rf /tmp/openssl-$opensslVersion || throw $ExceptionCleanup
+
+ echo "OpenSSL = $opensslVersion" >> ~/versions.txt
+)
+catch || {
+ case $ex_code in
+ $ExceptionCD)
+ echo "Failed to change directory to /tmp/openssl-$opensslVersion."
+ exit 1;
+ ;;
+ $ExceptionConfig)
+ echo "Failed to run config for OpenSSL."
+ exit 1;
+ ;;
+ $ExceptionMake)
+ echo "Failed to run 'make' for OpenSSL."
+ exit 1;
+ ;;
+ $ExceptionInstall)
+ echo "Failed to run 'make install' for OpenSSL."
+ exit 1;
+ ;;
+ $ExceptionLN)
+ echo "Failed to create a soft link for OpenSSL."
+ exit 1;
+ ;;
+ $ExceptionCertificate)
+ echo "Failed to install Certificate for OpenSSL."
+ exit 1;
+ ;;
+ $ExceptionCleanup)
+ echo "Failed to clean up /tmp/openssl-$opensslVersion."
+ exit 1;
+ ;;
+ esac
+}
diff --git a/coin/provisioning/qtci-osx-10.10-x86_64/android.sh b/coin/provisioning/qtci-osx-10.10-x86_64/android.sh
index 559eabd6..fae4f7b9 100644
--- a/coin/provisioning/qtci-osx-10.10-x86_64/android.sh
+++ b/coin/provisioning/qtci-osx-10.10-x86_64/android.sh
@@ -35,11 +35,12 @@
# This script install Android sdk and ndk.
-# It also runs update for SDK API level 18, latest SDK tools, latest platform-tools and - build-tools
+# It also runs update for SDK API level 21, latest SDK tools, latest platform-tools and - build-tools
# Android 16 is the minimum requirement for Qt 5.7 applications, but we need something more recent than that for building Qt itself.
-# E.g The Bluetooth features that require Android 18 will disable themselves dynamically when running on an Android 16 device.
-# That's why we need to use Andoid-18 API version and decision was made to use it also with Qt 5.6.
+# E.g The Bluetooth features that require Android 21 will disable themselves dynamically when running on an Android 16 device.
+# That's why we need to use Andoid-21 API version in Qt 5.9.
+
set -e
targetFolder="/opt/android"
@@ -48,7 +49,7 @@ baseUrl="http://ci-files01-hki.ci.local/input/android"
# SDK
sdkVersion="android-sdk_r24.4.1-macosx.zip"
sdkBuildToolsVersion="24.0.2"
-sdkApiLevel="android-18"
+sdkApiLevel="android-21"
sdkUrl="$baseUrl/$sdkVersion"
sdkSha1="85a9cccb0b1f9e6f1f616335c5f07107553840cd"
sdkTargetFile="$targetFolder/$sdkVersion"
@@ -93,10 +94,10 @@ InstallAndroidPackage $targetFolder $sdkVersion $sdkUrl $sdkSha1 $sdkTargetFile
echo "Installing Android NDK version $ndkVersion..."
InstallAndroidPackage $targetFolder $ndkVersion $ndkUrl $ndkSha1 $ndkTargetFile "$ndkExtract" $ndkFolderName $ndkName
-# run update for Android SDK and install SDK API version 18, latest SDK tools, platform-tools and build-tools
-echo "Running Android SDK update for API version 18, SDK-tools, platform-tools and build-tools-$sdkBuildToolsVersion..."
+# run update for Android SDK and install SDK API version 21, latest SDK tools, platform-tools and build-tools
+echo "Running Android SDK update for API version 21, SDK-tools, platform-tools and build-tools-$sdkBuildToolsVersion..."
echo "y" |$targetFolder/sdk/tools/android update sdk --no-ui --all --filter $sdkApiLevel,tools,platform-tools,build-tools-$sdkBuildToolsVersion || echo "Failed to run update"
-# For Qt 5.6, we by default require API levels 10, 11, 16 and 18, but we can override this by setting ANDROID_API_VERSION=android-18
+# For Qt 5.6, we by default require API levels 10, 11, 16 and 21, but we can override this by setting ANDROID_API_VERSION=android-21
# From Qt 5.7 forward, if android-16 is not installed, Qt will automatically use more recent one.
-echo 'export ANDROID_API_VERSION=android-18' >> ~/.bashrc
+echo 'export ANDROID_API_VERSION=android-21' >> ~/.bashrc
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/002-disable-screensaver.sh b/coin/provisioning/qtci-osx-10.11-x86_64/002-disable-screensaver.sh
deleted file mode 100644
index 44df94e7..00000000
--- a/coin/provisioning/qtci-osx-10.11-x86_64/002-disable-screensaver.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh
-
-mkdir -p $HOME/Library/LaunchAgents
-cat >$HOME/Library/LaunchAgents/no-screensaver.plist <<EOT
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple/DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
- <dict>
- <key>Label</key>
- <string>org.qt.io.screensaver_disable</string>
- <key>ProgramArguments</key>
- <array>
- <string>defaults</string>
- <string>-currentHost</string>
- <string>write</string>
- <string>com.apple.screensaver</string>
- <string>idleTime</string>
- <string>0</string>
- </array>
- <key>RunAtLoad</key>
- <true/>
- <key>KeepAlive</key>
- <false/>
- </dict>
-</plist>
-EOT
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/005-systemsetup.sh b/coin/provisioning/qtci-osx-10.11-x86_64/005-systemsetup.sh
new file mode 100755
index 00000000..47bf03f8
--- /dev/null
+++ b/coin/provisioning/qtci-osx-10.11-x86_64/005-systemsetup.sh
@@ -0,0 +1,118 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script modified system settings for automated use
+
+# shellcheck source=../common/try_catch.sh
+source "${BASH_SOURCE%/*}/../common/try_catch.sh"
+
+VNCPassword=qt
+NTS_IP=10.212.2.216
+
+ExceptionDisableScreensaver=100
+ExceptionSetInitialDelay=101
+ExceptionSetDelay=102
+ExceptionVNC=103
+ExceptionNTS=104
+
+try
+(
+ echo "Disable Screensaver"
+ mkdir -p "$HOME/Library/LaunchAgents" || throw $ExceptionDisableScreensaver
+ (
+ cat >"$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+ <string>org.qt.io.screensaver_disable</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>defaults</string>
+ <string>-currentHost</string>
+ <string>write</string>
+ <string>com.apple.screensaver</string>
+ <string>idleTime</string>
+ <string>0</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>KeepAlive</key>
+ <false/>
+ </dict>
+</plist>
+EOT
+ ) || throw $ExceptionDisableScreensaver
+
+ echo "Set keyboard type rates and delays"
+ # normal minimum is 15 (225 ms)
+ defaults write -g InitialKeyRepeat -int 15 || throw $ExceptionSetInitialDelay
+ # normal minimum is 2 (30 ms)
+ defaults write -g KeyRepeat -int 2 || throw $ExceptionSetDelay
+
+ echo "Enable remote desktop sharing"
+ sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw $VNCPassword -restart -agent -privs -all || throw $ExceptionVNC
+
+ echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
+ echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts || throw $ExceptionNTS
+
+)
+catch || {
+ case $ex_code in
+ $ExceptionDisableScreensaver)
+ echo "Failed to disable screensaver."
+ exit 1;
+ ;;
+ $ExceptionSetInitialDelay)
+ echo "Failed to set initial delay of keyboard."
+ exit 1;
+ ;;
+ $ExceptionSetDelay)
+ echo "Failed to set delay of keyboard."
+ exit 1;
+ ;;
+ $ExceptionVNC)
+ echo "Failed to enable VNC."
+ exit 1;
+ ;;
+ $ExceptionNTS)
+ echo "Failed to set NTS."
+ exit 1;
+ ;;
+ esac
+}
+
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/01-macos-removethemall.sh b/coin/provisioning/qtci-osx-10.11-x86_64/01-macos-removethemall.sh
deleted file mode 100644
index 6b56aac4..00000000
--- a/coin/provisioning/qtci-osx-10.11-x86_64/01-macos-removethemall.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-BASEDIR=$(dirname "$0")
-source "$BASEDIR/../common/01-macos-removethemall.sh"
-
diff --git a/coin/provisioning/qtci-windows-10-x86/06-msvc2015_update.ps1 b/coin/provisioning/qtci-osx-10.11-x86_64/015-xz.sh
index 83ff3f48..dcd8fead 100644..100755
--- a/coin/provisioning/qtci-windows-10-x86/06-msvc2015_update.ps1
+++ b/coin/provisioning/qtci-osx-10.11-x86_64/015-xz.sh
@@ -1,3 +1,5 @@
+#!/bin/bash
+
#############################################################################
##
## Copyright (C) 2017 The Qt Company Ltd.
@@ -30,4 +32,19 @@
## $QT_END_LICENSE$
##
#############################################################################
-. "$PSScriptRoot\..\common\msvc2015_update.ps1"
+
+# This script installs XZ-Utils
+
+# XZ-Utils are needed for uncompressing xz-compressed files
+
+# shellcheck source=../common/try_catch.sh
+source "${BASH_SOURCE%/*}/../common/InstallPKGFromURL.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.local/input/mac/osx_10.11_el_capitan/XZ.pkg"
+AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg"
+SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67"
+DestDir="/"
+
+InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
+
+echo "XZ = 5.0.7" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/020-xcode.sh b/coin/provisioning/qtci-osx-10.11-x86_64/020-xcode.sh
new file mode 100755
index 00000000..7555c752
--- /dev/null
+++ b/coin/provisioning/qtci-osx-10.11-x86_64/020-xcode.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script 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'
+# 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.
+
+
+
+# shellcheck source=../common/try_catch.sh
+source "${BASH_SOURCE%/*}/../common/try_catch.sh"
+
+# shellcheck source=../common/install_xcode.sh
+source "${BASH_SOURCE%/*}/../common/install_xcode.sh"
+
+InstallXCode /net/ci-files01-hki.ci.local/hdd/www/input/mac/Xcode_8.2.xz 8.2
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/025-cmake.sh b/coin/provisioning/qtci-osx-10.11-x86_64/025-cmake.sh
new file mode 100755
index 00000000..085225d7
--- /dev/null
+++ b/coin/provisioning/qtci-osx-10.11-x86_64/025-cmake.sh
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script installs CMake
+
+# CMake is needed for autotests that verify that Qt can be built with CMake
+
+# shellcheck source=../common/InstallAppFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/InstallAppFromCompressedFileFromURL.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.local/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"
+
+InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix"
+
+echo "export PATH=/Applications/CMake.app/Contents/bin:$PATH" >> ~/.bashrc
+echo "CMake = 3.6.2" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/006-qt-build-dependencies.sh b/coin/provisioning/qtci-osx-10.11-x86_64/025-mysql.sh
index 30a6caad..4d938890 100644..100755
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/006-qt-build-dependencies.sh
+++ b/coin/provisioning/qtci-osx-10.11-x86_64/025-mysql.sh
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/bin/bash
#############################################################################
##
@@ -33,14 +33,23 @@
##
#############################################################################
-sudo apt-get -y build-dep qt5-default
+# This script installs MySQL
-# qtbase
-sudo apt-get -y install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev
-sudo apt-get -y install libxcb-xinerama0-dev libdbus-1-dev libatspi2.0-dev
+# MySQL is needed for Qt to be able to support MySQL
-# qtmultimedia
-sudo apt-get -y install libasound2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
+# shellcheck source=../common/InstallAppFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/InstallAppFromCompressedFileFromURL.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.local/input/mac/osx_10.11_el_capitan/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=""
+targetDir="/opt/mysql57/"
+
+sudo mkdir -p "/opt"
+
+InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir"
+
+echo "export MYSQLBINPATH=/opt/mysql57/bin" >> ~/.bashrc
+echo "MySQL = 5.7.15" >> ~/versions.txt
-# qtwebengine
-sudo apt-get -y install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libfontconfig1-dev libcap-dev libxtst-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libxss-dev libegl1-mesa-dev gperf bison
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/025-postgresql.sh b/coin/provisioning/qtci-osx-10.11-x86_64/025-postgresql.sh
new file mode 100755
index 00000000..381fedf2
--- /dev/null
+++ b/coin/provisioning/qtci-osx-10.11-x86_64/025-postgresql.sh
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script installs PostgreSQL
+
+# PostgreSQL is needed for Qt to be able to support PostgreSQL
+
+# shellcheck source=../common/InstallAppFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/InstallAppFromCompressedFileFromURL.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.local/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"
+SHA1="5078e44663787006ca55fa3b5e2be598bed82eb5"
+appPrefix=""
+
+InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix"
+
+echo "export POSTGRESQLBINPATH=/Applications/Postgres.app/Contents/Versions/9.6/bin" >> ~/.bashrc
+echo "PostgreSQL = 9.6.0" >> ~/versions.txt
+
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/android.sh b/coin/provisioning/qtci-osx-10.11-x86_64/android.sh
deleted file mode 100644
index 559eabd6..00000000
--- a/coin/provisioning/qtci-osx-10.11-x86_64/android.sh
+++ /dev/null
@@ -1,102 +0,0 @@
-#!/bin/sh
-
-#############################################################################
-##
-## 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 install Android sdk and ndk.
-
-# It also runs update for SDK API level 18, latest SDK tools, latest platform-tools and - build-tools
-
-# Android 16 is the minimum requirement for Qt 5.7 applications, but we need something more recent than that for building Qt itself.
-# E.g The Bluetooth features that require Android 18 will disable themselves dynamically when running on an Android 16 device.
-# That's why we need to use Andoid-18 API version and decision was made to use it also with Qt 5.6.
-
-set -e
-targetFolder="/opt/android"
-baseUrl="http://ci-files01-hki.ci.local/input/android"
-
-# SDK
-sdkVersion="android-sdk_r24.4.1-macosx.zip"
-sdkBuildToolsVersion="24.0.2"
-sdkApiLevel="android-18"
-sdkUrl="$baseUrl/$sdkVersion"
-sdkSha1="85a9cccb0b1f9e6f1f616335c5f07107553840cd"
-sdkTargetFile="$targetFolder/$sdkVersion"
-sdkExtract="unzip $sdkTargetFile -d $targetFolder"
-sdkFolderName="android-sdk-macosx"
-sdkName="sdk"
-
-# NDK
-ndkVersion="android-ndk-r10e-darwin-x86_64.zip"
-ndkUrl="$baseUrl/$ndkVersion"
-ndkSha1="6be8598e4ed3d9dd42998c8cb666f0ee502b1294"
-ndkTargetFile="$targetFolder/$ndkVersion"
-ndkExtract="unzip $ndkTargetFile -d $targetFolder"
-ndkFolderName="android-ndk-r10e"
-ndkName="ndk"
-
-function InstallAndroidPackage {
- targetFolder=$1
- version=$2
- url=$3
- sha1=$4
- targetFile=$5
- extract=$6
- folderName=$7
- name=$8
-
- sudo curl --retry 5 --retry-delay 10 --retry-max-time 60 $url -o $targetFile || echo "Failed to download '$url' multiple times"
- shasum $targetFile |grep $sha1 || echo "shasum check failed !"
- sudo chmod 755 $targetFile
- sudo $extract || echo "Failed to extract $url"
- sudo chown -R qt:wheel $targetFolder/$folderName
- sudo mv $targetFolder/$folderName $targetFolder/$name || echo "Failed to rename $name"
- sudo rm -fr $targetFolder/$version || echo "Failed to remove $targetFolder/$version"
-}
-
-sudo mkdir $targetFolder
-# Install Android SDK
-echo "Installing Android SDK version $sdkVersion..."
-InstallAndroidPackage $targetFolder $sdkVersion $sdkUrl $sdkSha1 $sdkTargetFile "$sdkExtract" $sdkFolderName $sdkName
-
-# Install Android NDK
-echo "Installing Android NDK version $ndkVersion..."
-InstallAndroidPackage $targetFolder $ndkVersion $ndkUrl $ndkSha1 $ndkTargetFile "$ndkExtract" $ndkFolderName $ndkName
-
-# run update for Android SDK and install SDK API version 18, latest SDK tools, platform-tools and build-tools
-echo "Running Android SDK update for API version 18, SDK-tools, platform-tools and build-tools-$sdkBuildToolsVersion..."
-echo "y" |$targetFolder/sdk/tools/android update sdk --no-ui --all --filter $sdkApiLevel,tools,platform-tools,build-tools-$sdkBuildToolsVersion || echo "Failed to run update"
-
-# For Qt 5.6, we by default require API levels 10, 11, 16 and 18, but we can override this by setting ANDROID_API_VERSION=android-18
-# From Qt 5.7 forward, if android-16 is not installed, Qt will automatically use more recent one.
-echo 'export ANDROID_API_VERSION=android-18' >> ~/.bashrc
diff --git a/coin/provisioning/qtci-windows-10-x86/02-python.ps1 b/coin/provisioning/qtci-windows-10-x86/02-python.ps1
index 0e401c02..27c618e1 100644
--- a/coin/provisioning/qtci-windows-10-x86/02-python.ps1
+++ b/coin/provisioning/qtci-windows-10-x86/02-python.ps1
@@ -1 +1 @@
-. "$PSScriptRoot\..\common\02-python.ps1"
+. "$PSScriptRoot\..\common\python.ps1" 32
diff --git a/coin/provisioning/qtci-windows-10-x86/msvc_2015_update3_patch.ps1 b/coin/provisioning/qtci-windows-10-x86/msvc_2015_update3_patch.ps1
new file mode 100644
index 00000000..f16b5ef4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/msvc_2015_update3_patch.ps1
@@ -0,0 +1,50 @@
+#############################################################################
+##
+## 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$
+##
+#############################################################################
+. "$PSScriptRoot\..\common\helpers.ps1"
+
+# Install Cumulative Servicing Release Visual Studio 2015 update 3
+# Original download page: https://msdn.microsoft.com/en-us/library/mt752379.aspx
+# http://ci-files01-hki.ci.local/input/windows/vs14-kb3165756.exe
+
+$version = "2015 update3 (KB3165756)"
+$package = "C:\Windows\Temp\vs14-kb3165756.exe"
+$url_cache = "http://ci-files01-hki.ci.local/input/windows/vs14-kb3165756.exe"
+$url_official = "http://go.microsoft.com/fwlink/?LinkID=816878"
+$sha1 = "6a21d9b291ca75d44baad95e278fdc0d05d84c02"
+
+echo "Fetching patch for Visual Studio $version..."
+Download $url_official $url_cache $package
+Verify-Checksum $package $sha1
+echo "Installing patch for Visual Studio $version..."
+cmd /c "$package /norestart /Quiet"
+remove-item $package
diff --git a/coin/provisioning/qtci-windows-10-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-10-x86_64/02-python.ps1
index 0e401c02..44c1c5ff 100644
--- a/coin/provisioning/qtci-windows-10-x86_64/02-python.ps1
+++ b/coin/provisioning/qtci-windows-10-x86_64/02-python.ps1
@@ -1 +1 @@
-. "$PSScriptRoot\..\common\02-python.ps1"
+. "$PSScriptRoot\..\common\python.ps1" 64
diff --git a/coin/provisioning/qtci-windows-10-x86_64/msvc_2015_update3_patch.ps1 b/coin/provisioning/qtci-windows-10-x86_64/msvc_2015_update3_patch.ps1
new file mode 100644
index 00000000..f16b5ef4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/msvc_2015_update3_patch.ps1
@@ -0,0 +1,50 @@
+#############################################################################
+##
+## 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$
+##
+#############################################################################
+. "$PSScriptRoot\..\common\helpers.ps1"
+
+# Install Cumulative Servicing Release Visual Studio 2015 update 3
+# Original download page: https://msdn.microsoft.com/en-us/library/mt752379.aspx
+# http://ci-files01-hki.ci.local/input/windows/vs14-kb3165756.exe
+
+$version = "2015 update3 (KB3165756)"
+$package = "C:\Windows\Temp\vs14-kb3165756.exe"
+$url_cache = "http://ci-files01-hki.ci.local/input/windows/vs14-kb3165756.exe"
+$url_official = "http://go.microsoft.com/fwlink/?LinkID=816878"
+$sha1 = "6a21d9b291ca75d44baad95e278fdc0d05d84c02"
+
+echo "Fetching patch for Visual Studio $version..."
+Download $url_official $url_cache $package
+Verify-Checksum $package $sha1
+echo "Installing patch for Visual Studio $version..."
+cmd /c "$package /norestart /Quiet"
+remove-item $package
diff --git a/coin/provisioning/qtci-windows-7-x86/02-python.ps1 b/coin/provisioning/qtci-windows-7-x86/02-python.ps1
index 0e401c02..27c618e1 100644
--- a/coin/provisioning/qtci-windows-7-x86/02-python.ps1
+++ b/coin/provisioning/qtci-windows-7-x86/02-python.ps1
@@ -1 +1 @@
-. "$PSScriptRoot\..\common\02-python.ps1"
+. "$PSScriptRoot\..\common\python.ps1" 32
diff --git a/coin/provisioning/qtci-windows-7-x86/06-android.ps1 b/coin/provisioning/qtci-windows-7-x86/06-android.ps1
index 96be39a3..ca641d25 100644
--- a/coin/provisioning/qtci-windows-7-x86/06-android.ps1
+++ b/coin/provisioning/qtci-windows-7-x86/06-android.ps1
@@ -1,10 +1,10 @@
. "$PSScriptRoot\..\common\helpers.ps1"
# This script installs Android sdk and ndk
-# It also runs update for SDK API level 18, latest SDK tools, latest platform-tools and build-tools version $sdkBuildToolsVersion
+# It also runs update for SDK API level 21, latest SDK tools, latest platform-tools and build-tools version $sdkBuildToolsVersion
# Android 16 is the minimum requirement for Qt 5.7 applications, but we need something more recent than that for building Qt itself.
-# E.g the bluetooth features that require Android 18 will disable themselves dynamically when running on Android 16 device.
-# That's why we need to use Andoid-18 API version and decision was made to use it also with Qt 5.6.
+# E.g The Bluetooth features that require Android 21 will disable themselves dynamically when running on an Android 16 device.
+# That's why we need to use Andoid-21 API version in Qt 5.9.
# NDK
$ndkVersion = "r10e"
@@ -17,7 +17,7 @@ $ndkZip = "c:\Windows\Temp\android_ndk_$ndkVersion.zip"
# SDK
$sdkVersion = "r24.4.1"
$sdkApi = "ANDROID_API_VERSION"
-$sdkApiLevel = "android-18"
+$sdkApiLevel = "android-21"
$sdkBuildToolsVersion = "23.0.3"
$sdkCachedUrl= "http://ci-files01-hki.ci.local/input/android/android-sdk_$sdkVersion-windows.zip"
$sdkOfficialUrl = "https://dl.google.com/android/android-sdk_$sdkVersion-windows.zip"
diff --git a/coin/provisioning/qtci-windows-8-x86/02-python.ps1 b/coin/provisioning/qtci-windows-8-x86/02-python.ps1
deleted file mode 100644
index 0e401c02..00000000
--- a/coin/provisioning/qtci-windows-8-x86/02-python.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\02-python.ps1"
diff --git a/coin/provisioning/qtci-windows-8-x86/06-python.ps1 b/coin/provisioning/qtci-windows-8-x86/06-python.ps1
new file mode 100644
index 00000000..27c618e1
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8-x86/06-python.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\python.ps1" 32
diff --git a/coin/provisioning/qtci-windows-8-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-8-x86_64/02-python.ps1
deleted file mode 100644
index 0e401c02..00000000
--- a/coin/provisioning/qtci-windows-8-x86_64/02-python.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\02-python.ps1"
diff --git a/coin/provisioning/qtci-windows-8-x86_64/06-python.ps1 b/coin/provisioning/qtci-windows-8-x86_64/06-python.ps1
new file mode 100644
index 00000000..44c1c5ff
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8-x86_64/06-python.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\python.ps1" 64