aboutsummaryrefslogtreecommitdiffstats
path: root/coin
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@qt.io>2017-08-31 09:52:16 +0200
committerSimon Hausmann <simon.hausmann@qt.io>2017-08-31 11:25:26 +0200
commit6bf5691ca87dd4dcf9386a4c6320be2c39db6dcb (patch)
treeda0ede7139bd865d53939cd41f083cdb5461f879 /coin
parent21ecbe19578a700b90dbf99e83388e374d81052f (diff)
parenta99d3432f71c4be5045ae2cdcc3b7070de5abe23 (diff)
Merge remote-tracking branch 'origin/5.6' into 5.9
Conflicts: coin/provisioning/common/InstallPKGFromURL.sh coin/provisioning/qtci-linux-RHEL-7.2-x86_64/08-pythondev.sh coin/provisioning/qtci-linux-RHEL-7.2-x86_64/09-cmake.sh Change-Id: I87b10d75250eecd5271be201fdf6b1d27cc5a791
Diffstat (limited to 'coin')
-rw-r--r--coin/provisioning/common/InstallPKGFromURL.sh3
-rw-r--r--coin/provisioning/common/cmake.ps155
-rwxr-xr-xcoin/provisioning/common/cmake.sh2
-rwxr-xr-xcoin/provisioning/common/cmake_linux.sh53
-rw-r--r--coin/provisioning/common/install-ruby.ps13
-rw-r--r--coin/provisioning/common/python.ps14
-rw-r--r--coin/provisioning/common/python3.ps170
-rwxr-xr-xcoin/provisioning/common/python3.sh52
-rw-r--r--coin/provisioning/common/vc_redist.ps164
-rw-r--r--coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh14
-rw-r--r--coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh54
-rw-r--r--coin/provisioning/qtci-linux-RHEL-7.2-x86_64/09-cmake.sh54
-rw-r--r--coin/provisioning/qtci-linux-openSUSE-42.1-x86_64/09-cmake.sh54
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/025-cmake.sh53
-rw-r--r--coin/provisioning/qtci-osx-10.10-x86_64/025-python3.sh1
-rw-r--r--coin/provisioning/qtci-osx-10.11-x86_64/025-python3.sh1
-rw-r--r--coin/provisioning/qtci-osx-10.8-x86_64/025-python3.sh1
-rw-r--r--coin/provisioning/qtci-osx-10.9-x86_64/025-python3.sh1
-rw-r--r--coin/provisioning/qtci-windows-10-x86/python3.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/python3.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/07-vc_redist.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/python3.ps11
-rw-r--r--coin/provisioning/qtci-windows-8-x86/07-vc_redist.ps11
-rw-r--r--coin/provisioning/qtci-windows-8-x86/python3.ps11
-rw-r--r--coin/provisioning/qtci-windows-8-x86_64/07-vc_redist.ps11
-rw-r--r--coin/provisioning/qtci-windows-8-x86_64/python3.ps11
26 files changed, 331 insertions, 216 deletions
diff --git a/coin/provisioning/common/InstallPKGFromURL.sh b/coin/provisioning/common/InstallPKGFromURL.sh
index 07f23d62..c00b646c 100644
--- a/coin/provisioning/common/InstallPKGFromURL.sh
+++ b/coin/provisioning/common/InstallPKGFromURL.sh
@@ -69,7 +69,8 @@ function InstallPKGFromURL {
esac
}
echo "Checking SHA1 on PKG '$targetFile'"
- echo "$expectedSha1 *$targetFile" | shasum --check || throw $ExceptionSHA1
+ echo "$expectedSha1 *$targetFile" > $targetFile.sha1
+ /usr/bin/shasum --check $targetFile.sha1 || throw $ExceptionSHA1
echo "Run installer on PKG"
sudo installer -package "$targetFile" -target "$targetDirectory" || throw $ExceptionInstallerPKG
echo "Removing file '$targetFile'"
diff --git a/coin/provisioning/common/cmake.ps1 b/coin/provisioning/common/cmake.ps1
index 197eec57..50e2e82c 100644
--- a/coin/provisioning/common/cmake.ps1
+++ b/coin/provisioning/common/cmake.ps1
@@ -1,10 +1,57 @@
+#############################################################################
+##
+## 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\helpers.ps1"
-$zip = "c:\users\qt\downloads\cmake-3.6.2-win32-x86.zip"
+$majorminorversion = "3.6"
+$version = "3.6.2"
+
+$zip = "c:\users\qt\downloads\cmake-" + $version + "-win32-x86.zip"
+$officialurl = "https://cmake.org/files/v" + $majorminorversion + "/cmake-" + $version + "-win32-x86.zip"
+$cachedurl = "\\ci-files01-hki.intra.qt.io\provisioning\cmake\cmake-" + $version + "-win32-x86.zip"
-Download https://cmake.org/files/v3.6/cmake-3.6.2-win32-x86.zip \\ci-files01-hki.intra.qt.io\provisioning\cmake\cmake-3.6.2-win32-x86.zip $zip
+Download $officialurl $cachedurl $zip
Verify-Checksum $zip "541F6E7EFD228E46770B8631FFE57097576E4D4E"
Extract-Zip $zip C:
-Remove-Item C:\CMake -Force -Recurse
-Rename-Item C:\cmake-3.6.2-win32-x86 C:\CMake
+# TODO: Remove line below after all Windows TIER2 VMs are based on vanilla OS
+if((Test-Path -Path "C:\CMake" )){
+ try {
+ Rename-Item -ErrorAction 'Stop' "C:\CMake" C:\CMake_old
+ } catch {}
+}
+$defaultinstallfolder = "C:\cmake-" + $version + "-win32-x86"
+Rename-Item $defaultinstallfolder C:\CMake
+
+echo "CMake = $version" >> ~\versions.txt
+
diff --git a/coin/provisioning/common/cmake.sh b/coin/provisioning/common/cmake.sh
index fe84cd0e..e10dd41d 100755
--- a/coin/provisioning/common/cmake.sh
+++ b/coin/provisioning/common/cmake.sh
@@ -47,5 +47,5 @@ appPrefix="cmake-3.6.2-Darwin-x86_64"
InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix"
-echo "export PATH=/Applications/CMake.app/Contents/bin:$PATH" >> ~/.bashrc
+echo "export PATH=/Applications/CMake.app/Contents/bin:\$PATH" >> ~/.bashrc
echo "CMake = 3.6.2" >> ~/versions.txt
diff --git a/coin/provisioning/common/cmake_linux.sh b/coin/provisioning/common/cmake_linux.sh
new file mode 100755
index 00000000..c23cf9b2
--- /dev/null
+++ b/coin/provisioning/common/cmake_linux.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2016 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the test suite of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script installs CMake 3.6.2
+
+# CMake is needed for autotests that verify that Qt can be built with CMake
+
+# shellcheck source=../common/InstallFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/InstallFromCompressedFileFromURL.sh"
+
+version="3.6.2"
+PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/cmake/cmake-3.6.2-Linux-x86_64.tar.gz"
+AltUrl="https://cmake.org/files/v3.6/cmake-3.6.2-Linux-x86_64.tar.gz"
+SHA1="dd9d8d57b66109d4bac6eef9209beb94608a185c"
+targetFolder="/opt/cmake-$version"
+appPrefix="cmake-$version-Linux-x86_64"
+
+InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$targetFolder" "$appPrefix"
+
+echo "Adding $targetFolder/bin to PATH"
+echo "export PATH=$targetFolder/bin:\$PATH" >> ~/.bashrc
diff --git a/coin/provisioning/common/install-ruby.ps1 b/coin/provisioning/common/install-ruby.ps1
index 332a3a89..be0bc3eb 100644
--- a/coin/provisioning/common/install-ruby.ps1
+++ b/coin/provisioning/common/install-ruby.ps1
@@ -48,4 +48,7 @@ cmd /c "$rubyPackage /silent"
echo "Cleaning $rubyPackage.."
Remove-Item -Recurse -Force "$rubyPackage"
+$oldPath = [System.Environment]::GetEnvironmentVariable('Path', 'Machine')
+[Environment]::SetEnvironmentVariable("Path", $oldPath + ";C:\Ruby22-x64\bin", [EnvironmentVariableTarget]::Machine)
+
echo "Ruby = $version" >> ~\versions.txt
diff --git a/coin/provisioning/common/python.ps1 b/coin/provisioning/common/python.ps1
index 6c88689a..29114456 100644
--- a/coin/provisioning/common/python.ps1
+++ b/coin/provisioning/common/python.ps1
@@ -62,7 +62,9 @@ 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
-[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Python27;C:\Python27\Scripts", [EnvironmentVariableTarget]::Machine)
+
+$oldPath = [System.Environment]::GetEnvironmentVariable('Path', 'Machine')
+[Environment]::SetEnvironmentVariable("Path", $oldPath + ";C:\Python27;C:\Python27\Scripts", [EnvironmentVariableTarget]::Machine)
C:\Python27\python.exe -m ensurepip
# Install python virtual env
diff --git a/coin/provisioning/common/python3.ps1 b/coin/provisioning/common/python3.ps1
new file mode 100644
index 00000000..3c565874
--- /dev/null
+++ b/coin/provisioning/common/python3.ps1
@@ -0,0 +1,70 @@
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2017 Pelagicore AG
+## 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$
+##
+#############################################################################
+
+param([Int32]$archVer=32)
+. "$PSScriptRoot\helpers.ps1"
+
+# This script installs Python $version.
+# Python3 is required for building some qt modules.
+
+$version = "3.6.1"
+$package = "C:\Windows\temp\python-$version.exe"
+$install_path = "C:\Python36"
+
+# check bit version
+if ( $archVer -eq 64 ) {
+ echo "Running in 64 bit system"
+ $externalUrl = "https://www.python.org/ftp/python/$version/python-$version-amd64.exe"
+ $internalUrl = "http://ci-files01-hki.ci.local/input/windows/python-$version-amd64.exe"
+ $sha1 = "bf54252c4065b20f4a111cc39cf5215fb1edccff"
+}
+else {
+ $externalUrl = "https://www.python.org/ftp/python/$version/python-$version.exe"
+ $internalUrl = "http://ci-files01-hki.ci.local/input/windows/python-$version.exe"
+ $sha1 = "76c50b747237a0974126dd8b32ea036dd77b2ad1"
+}
+
+echo "Fetching from URL..."
+Download $externalUrl $internalUrl $package
+Verify-Checksum $package $sha1
+echo "Installing $package..."
+cmd /c "$package /q TargetDir=$install_path"
+echo "Remove $package..."
+del $package
+
+[Environment]::SetEnvironmentVariable("PYTHON3_PATH", "$install_path", [EnvironmentVariableTarget]::Machine)
+[Environment]::SetEnvironmentVariable("PIP3_PATH", "$install_path\Scripts", [EnvironmentVariableTarget]::Machine)
+
+# Install python virtual env
+cmd /c "$install_path\Scripts\pip3.exe install virtualenv"
diff --git a/coin/provisioning/common/python3.sh b/coin/provisioning/common/python3.sh
new file mode 100755
index 00000000..56e82386
--- /dev/null
+++ b/coin/provisioning/common/python3.sh
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2017 Pelagicore AG
+## 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 python3
+
+source "${BASH_SOURCE%/*}/InstallPKGFromURL.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.local/input/mac/python-3.6.1-macosx10.6.pkg"
+AltUrl="https://www.python.org/ftp/python/3.6.1/python-3.6.1-macosx10.6.pkg"
+SHA1="ae0c749544c2d573c3cc29c4c2d7d9a595db28f9"
+DestDir="/"
+
+InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
+
+/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 install virtualenv
+
+echo "export PYTHON3_PATH=/Library/Frameworks/Python.framework/Versions/3.6/bin" >> ~/.bashrc
+echo "export PIP3_PATH=/Library/Frameworks/Python.framework/Versions/3.6/bin" >> ~/.bashrc
+echo "python3 = 3.6.1" >> ~/versions.txt
diff --git a/coin/provisioning/common/vc_redist.ps1 b/coin/provisioning/common/vc_redist.ps1
new file mode 100644
index 00000000..95567669
--- /dev/null
+++ b/coin/provisioning/common/vc_redist.ps1
@@ -0,0 +1,64 @@
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2017 Pelagicore AG
+## 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$
+##
+#############################################################################
+
+param([Int32]$archVer=32)
+. "$PSScriptRoot\helpers.ps1"
+
+# This script installs Visual C++ Redistributable for Visual Studio 2015
+# This is a dependency of the current python3 version
+
+# check bit version
+if ( $archVer -eq 64 ) {
+ echo "Running in 64 bit system"
+ $arch = "x64"
+ $externalUrl = "https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe"
+ $internalUrl = "http://ci-files01-hki.ci.local/input/windows/vc_redist.x64.exe"
+ $sha1 = "3155cb0f146b927fcc30647c1a904cd162548c8c"
+}
+else {
+ $arch = "x86"
+ $externalUrl = "https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe"
+ $internalUrl = "http://ci-files01-hki.ci.local/input/windows/vc_redist.x86.exe"
+ $sha1 = "bfb74e498c44d3a103ca3aa2831763fb417134d1"
+}
+
+$package = "C:\Windows\temp\vc_redist.$arch.exe"
+
+echo "Fetching from URL..."
+Download $externalUrl $internalUrl $package
+Verify-Checksum $package $sha1
+echo "Installing $package..."
+cmd /c "$package /q"
+echo "Remove $package..."
+del $package
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh
index b419f217..0003127a 100644
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh
+++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh
@@ -2,3 +2,17 @@
# version: provided by default Linux distribution repository
# needed to build pyside
sudo yum install -y python-devel python-virtualenv
+
+# install the EPEL repository which provides python3
+wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
+sudo rpm -Uvh epel-release-latest-6.noarch.rpm
+sudo rm -f epel-release-latest-6.noarch.rpm
+
+# install python3
+sudo yum install -y python34-devel
+
+# install pip3
+wget https://bootstrap.pypa.io/get-pip.py
+sudo python3 get-pip.py
+sudo rm -f get-pip.py
+sudo pip3 install virtualenv
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh
index 7cdfc25c..d7abd285 100644
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh
+++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh
@@ -1,53 +1 @@
-#!/bin/bash
-
-#############################################################################
-##
-## Copyright (C) 2016 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the test suite of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script installs CMake 3.6.2
-
-# CMake is needed for autotests that verify that Qt can be built with CMake
-
-# shellcheck source=../common/InstallFromCompressedFileFromURL.sh
-source "${BASH_SOURCE%/*}/../common/InstallFromCompressedFileFromURL.sh"
-
-version="3.6.2"
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/cmake/cmake-3.6.2-Linux-x86_64.tar.gz"
-AltUrl="https://cmake.org/files/v3.6/cmake-3.6.2-Linux-x86_64.tar.gz"
-SHA1="dd9d8d57b66109d4bac6eef9209beb94608a185c"
-targetFolder="/opt/cmake-$version"
-appPrefix="cmake-$version-Linux-x86_64"
-
-InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$targetFolder" "$appPrefix"
-
-echo "Adding $targetFolder/bin to PATH"
-echo "export PATH=$targetFolder/bin:$PATH" >> ~/.bashrc
+$(dirname $0)/../common/cmake_linux.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/09-cmake.sh
index dd35e01d..d7abd285 100644
--- a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/09-cmake.sh
+++ b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/09-cmake.sh
@@ -1,53 +1 @@
-#!/bin/bash
-
-#############################################################################
-##
-## Copyright (C) 2016 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the test suite of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script installs CMake 3.6.2
-
-# CMake is needed for autotests that verify that Qt can be built with CMake
-
-# shellcheck source=../common/InstallFromCompressedFileFromURL.sh
-source "${BASH_SOURCE%/*}/../common/InstallFromCompressedFileFromURL.sh"
-
-version="3.6.2"
-PrimaryUrl="http://ci-files01-hki.ci.local/input/cmake/cmake-3.6.2-Linux-x86_64.tar.gz"
-AltUrl="https://cmake.org/files/v3.6/cmake-3.6.2-Linux-x86_64.tar.gz"
-SHA1="dd9d8d57b66109d4bac6eef9209beb94608a185c"
-targetFolder="/opt/cmake-$version"
-appPrefix="cmake-$version-Linux-x86_64"
-
-InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$targetFolder" "$appPrefix"
-
-echo "Adding $targetFolder/bin to PATH"
-echo "export PATH=$targetFolder/bin:$PATH" >> ~/.bashrc
+$(dirname $0)/../common/cmake_linux.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-42.1-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-openSUSE-42.1-x86_64/09-cmake.sh
index dd35e01d..d7abd285 100644
--- a/coin/provisioning/qtci-linux-openSUSE-42.1-x86_64/09-cmake.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-42.1-x86_64/09-cmake.sh
@@ -1,53 +1 @@
-#!/bin/bash
-
-#############################################################################
-##
-## Copyright (C) 2016 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the test suite of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script installs CMake 3.6.2
-
-# CMake is needed for autotests that verify that Qt can be built with CMake
-
-# shellcheck source=../common/InstallFromCompressedFileFromURL.sh
-source "${BASH_SOURCE%/*}/../common/InstallFromCompressedFileFromURL.sh"
-
-version="3.6.2"
-PrimaryUrl="http://ci-files01-hki.ci.local/input/cmake/cmake-3.6.2-Linux-x86_64.tar.gz"
-AltUrl="https://cmake.org/files/v3.6/cmake-3.6.2-Linux-x86_64.tar.gz"
-SHA1="dd9d8d57b66109d4bac6eef9209beb94608a185c"
-targetFolder="/opt/cmake-$version"
-appPrefix="cmake-$version-Linux-x86_64"
-
-InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$targetFolder" "$appPrefix"
-
-echo "Adding $targetFolder/bin to PATH"
-echo "export PATH=$targetFolder/bin:$PATH" >> ~/.bashrc
+$(dirname $0)/../common/cmake_linux.sh
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
index de025b55..ddb01d64 100755
--- a/coin/provisioning/qtci-macos-10.12-x86_64/025-cmake.sh
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/025-cmake.sh
@@ -1,51 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script 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
+BASEDIR=$(dirname "$0")
+$BASEDIR/../common/cmake.sh
diff --git a/coin/provisioning/qtci-osx-10.10-x86_64/025-python3.sh b/coin/provisioning/qtci-osx-10.10-x86_64/025-python3.sh
new file mode 100644
index 00000000..cd4e3fd9
--- /dev/null
+++ b/coin/provisioning/qtci-osx-10.10-x86_64/025-python3.sh
@@ -0,0 +1 @@
+source "${BASH_SOURCE%/*}/../common/python3.sh"
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/025-python3.sh b/coin/provisioning/qtci-osx-10.11-x86_64/025-python3.sh
new file mode 100644
index 00000000..cd4e3fd9
--- /dev/null
+++ b/coin/provisioning/qtci-osx-10.11-x86_64/025-python3.sh
@@ -0,0 +1 @@
+source "${BASH_SOURCE%/*}/../common/python3.sh"
diff --git a/coin/provisioning/qtci-osx-10.8-x86_64/025-python3.sh b/coin/provisioning/qtci-osx-10.8-x86_64/025-python3.sh
new file mode 100644
index 00000000..cd4e3fd9
--- /dev/null
+++ b/coin/provisioning/qtci-osx-10.8-x86_64/025-python3.sh
@@ -0,0 +1 @@
+source "${BASH_SOURCE%/*}/../common/python3.sh"
diff --git a/coin/provisioning/qtci-osx-10.9-x86_64/025-python3.sh b/coin/provisioning/qtci-osx-10.9-x86_64/025-python3.sh
new file mode 100644
index 00000000..cd4e3fd9
--- /dev/null
+++ b/coin/provisioning/qtci-osx-10.9-x86_64/025-python3.sh
@@ -0,0 +1 @@
+source "${BASH_SOURCE%/*}/../common/python3.sh"
diff --git a/coin/provisioning/qtci-windows-10-x86/python3.ps1 b/coin/provisioning/qtci-windows-10-x86/python3.ps1
new file mode 100644
index 00000000..164fbe43
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/python3.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\python3.ps1" 32
diff --git a/coin/provisioning/qtci-windows-10-x86_64/python3.ps1 b/coin/provisioning/qtci-windows-10-x86_64/python3.ps1
new file mode 100644
index 00000000..b0c21996
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/python3.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\python3.ps1" 64
diff --git a/coin/provisioning/qtci-windows-7-x86/07-vc_redist.ps1 b/coin/provisioning/qtci-windows-7-x86/07-vc_redist.ps1
new file mode 100644
index 00000000..ad3d5950
--- /dev/null
+++ b/coin/provisioning/qtci-windows-7-x86/07-vc_redist.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\vc_redist.ps1" 32
diff --git a/coin/provisioning/qtci-windows-7-x86/python3.ps1 b/coin/provisioning/qtci-windows-7-x86/python3.ps1
new file mode 100644
index 00000000..164fbe43
--- /dev/null
+++ b/coin/provisioning/qtci-windows-7-x86/python3.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\python3.ps1" 32
diff --git a/coin/provisioning/qtci-windows-8-x86/07-vc_redist.ps1 b/coin/provisioning/qtci-windows-8-x86/07-vc_redist.ps1
new file mode 100644
index 00000000..ad3d5950
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8-x86/07-vc_redist.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\vc_redist.ps1" 32
diff --git a/coin/provisioning/qtci-windows-8-x86/python3.ps1 b/coin/provisioning/qtci-windows-8-x86/python3.ps1
new file mode 100644
index 00000000..164fbe43
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8-x86/python3.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\python3.ps1" 32
diff --git a/coin/provisioning/qtci-windows-8-x86_64/07-vc_redist.ps1 b/coin/provisioning/qtci-windows-8-x86_64/07-vc_redist.ps1
new file mode 100644
index 00000000..6070c80b
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8-x86_64/07-vc_redist.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\vc_redist.ps1" 64
diff --git a/coin/provisioning/qtci-windows-8-x86_64/python3.ps1 b/coin/provisioning/qtci-windows-8-x86_64/python3.ps1
new file mode 100644
index 00000000..b0c21996
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8-x86_64/python3.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\python3.ps1" 64