aboutsummaryrefslogtreecommitdiffstats
path: root/coin/provisioning
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2018-07-02 13:12:35 +0200
committerLiang Qi <liang.qi@qt.io>2018-07-02 13:12:35 +0200
commitc6d9e433dfa899890b4279c773779659f8cb2626 (patch)
tree1335a5742b5c6eed239f26e616fdad30e1af6271 /coin/provisioning
parent7784f89036afca51292ab0cc3aadff59b3004f5f (diff)
parent3e044c71b92617eb8eb794edd30d94f57d9524ac (diff)
Merge remote-tracking branch 'origin/5.11' into dev
Conflicts: coin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh Change-Id: I00d0ccd138eb8d89e30e7e57632c6fc8f83e0001
Diffstat (limited to 'coin/provisioning')
-rw-r--r--coin/provisioning/common/shared/sw_versions.txt1
-rwxr-xr-xcoin/provisioning/common/unix/libclang.sh41
-rw-r--r--coin/provisioning/common/unix/mqtt_broker.sh4
-rwxr-xr-xcoin/provisioning/common/unix/squishInstall.sh21
-rw-r--r--coin/provisioning/common/windows/helpers.ps11
-rw-r--r--coin/provisioning/common/windows/libclang.ps169
-rw-r--r--coin/provisioning/common/windows/mqtt_broker.ps110
-rw-r--r--coin/provisioning/common/windows/python.ps128
-rw-r--r--coin/provisioning/common/windows/python3.ps125
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-libclang.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/05-libclang.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-install_icu.sh17
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-libclang.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-libclang.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/27-libclang.sh2
-rwxr-xr-xcoin/provisioning/qtci-osx-10.11-x86_64/27-libclang.sh5
-rw-r--r--coin/provisioning/qtci-windows-10-x86/08-libclang.ps12
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/02-enable-dotnet-framework.ps122
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/02-python-32bit.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/08-python3-32.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/08-python3.ps12
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/09-install-mingw730_64.ps19
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/10-dxsdk.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/08-libclang.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/25-python.ps12
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/25-python3.ps12
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/08-python3.ps12
27 files changed, 170 insertions, 131 deletions
diff --git a/coin/provisioning/common/shared/sw_versions.txt b/coin/provisioning/common/shared/sw_versions.txt
deleted file mode 100644
index fb2fecb9..00000000
--- a/coin/provisioning/common/shared/sw_versions.txt
+++ /dev/null
@@ -1 +0,0 @@
-libclang_version="6.0"
diff --git a/coin/provisioning/common/unix/libclang.sh b/coin/provisioning/common/unix/libclang.sh
index f6ff4507..645cf6ec 100755
--- a/coin/provisioning/common/unix/libclang.sh
+++ b/coin/provisioning/common/unix/libclang.sh
@@ -42,30 +42,37 @@ set -e
# shellcheck source=./check_and_set_proxy.sh
source "${BASH_SOURCE%/*}/check_and_set_proxy.sh"
+# shellcheck source=./SetEnvVar.sh
source "${BASH_SOURCE%/*}/SetEnvVar.sh"
+# shellcheck source=./DownloadURL.sh
+source "${BASH_SOURCE%/*}/DownloadURL.sh"
-BASEDIR=$(dirname "$0")
-# shellcheck source=../shared/sw_versions.txt
-. "$BASEDIR/../shared/sw_versions.txt"
-url=$1
-sha1=$2
-version=$3
-if [ $# -eq 0 ]
- then
- # The default values are for macOS package
- echo "Using macOS defaults"
+libclang_version=6.0
+libclang_version_Rhel6=4.0
+
+if uname -a |grep -q Darwin; then
+ version=$libclang_version
+ url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version//\./}-mac.7z"
+ url_cached="http://ci-files01-hki.intra.qt.io/input/libclang/qt/libclang-release_${version//\./}-mac.7z"
+ sha1="0af8ab8c1174faf4b721d079587190fc32ea8364"
+elif uname -a |grep -q "el6"; then
+ version=$libclang_version_Rhel6
+ url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version//\./}-linux-Rhel6.6-gcc4.9-x86_64.7z"
+ url_cached="http://ci-files01-hki.intra.qt.io/input/libclang/qt/libclang-release_${version//\./}-linux-Rhel6.6-gcc4.9-x86_64.7z"
+ sha1="c7466109628418a6aa3db8b3f5825f847f1c4952"
+else
version=$libclang_version
- url="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${version//\./}-mac.7z"
- sha1="10e48167b61726b20517172f8aff80fa1d9a379b"
+ url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version//\./}-linux-Rhel7.2-gcc5.3-x86_64.7z"
+ url_cached="http://ci-files01-hki.intra.qt.io/input/libclang/qt/libclang-release_${version//\./}-linux-Rhel7.2-gcc5.3-x86_64.7z"
+ sha1="ef59b699f4fcce2e45108b3ff04cc7471c1c4abe"
fi
-zip="libclang.7z"
+zip="/tmp/libclang.7z"
destination="/usr/local/libclang-$version"
-curl --fail -L --retry 5 --retry-delay 5 -o "$zip" "$url"
-echo "$sha1 $zip" | sha1sum --check
-7z x "$zip" -o/tmp/
-rm -rf "$zip"
+DownloadURL $url_cached $url $sha1 $zip
+7z x $zip -o/tmp/
+rm -rf $zip
sudo mv /tmp/libclang "$destination"
diff --git a/coin/provisioning/common/unix/mqtt_broker.sh b/coin/provisioning/common/unix/mqtt_broker.sh
index c64c0fec..0f3e32aa 100644
--- a/coin/provisioning/common/unix/mqtt_broker.sh
+++ b/coin/provisioning/common/unix/mqtt_broker.sh
@@ -39,10 +39,10 @@
source "${BASH_SOURCE%/*}/InstallFromCompressedFileFromURL.sh"
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-CommitSHA="c342c09dadc7a664d0a8befad1ca031f5a0b0bc0"
+CommitSHA="ef4dbc182ddd06247e4b2618d5ad0a57df12ab25"
PrimaryUrl="http://ci-files01-hki.ci.local/input/mqtt_broker/paho.mqtt.testing-$CommitSHA.zip"
AltUrl="https://github.com/eclipse/paho.mqtt.testing/archive/$CommitSHA.zip"
-SHA1="532fe145096cdd8d679f425cbfd883289150c968"
+SHA1="ba2b7d05afe4e13446d40cd4e753dda7f325a587"
targetFolder="/opt/paho_broker"
appPrefix="paho.mqtt.testing-$CommitSHA"
diff --git a/coin/provisioning/common/unix/squishInstall.sh b/coin/provisioning/common/unix/squishInstall.sh
index ab0102ec..c946dfdc 100755
--- a/coin/provisioning/common/unix/squishInstall.sh
+++ b/coin/provisioning/common/unix/squishInstall.sh
@@ -90,6 +90,11 @@ function MountAndInstall {
squishLicenseDir="/root"
fi
+ function UnMount {
+ echo "Unmounting $mountFolder"
+ sudo diskutil unmount force "$mountFolder" || sudo umount -f "$mountFolder"
+ }
+
targetFileMount="$mountFolder"/"$targetFile"
echo "Mounting $url to $mountFolder"
@@ -111,20 +116,20 @@ function MountAndInstall {
target="$targetDirectory"
fi
sudo tar -xzf "$targetFileMount" --directory "$target"
- echo "Unmounting $mountFolder"
- sudo umount "$mountFolder"
+ UnMount
elif [[ $targetFile == *.dmg ]]; then
echo "'dmg-file', no need to uncompress"
- sudo cp "$targetFileMount" /tmp
- sudo umount "$mountFolder"
+ sudo cp $targetFileMount /tmp
+ UnMount
sudo hdiutil attach "/tmp/$targetFile"
sudo /Volumes/froglogic\ Squish/Install\ Squish.app/Contents/MacOS/Squish unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory"
- sudo hdiutil unmount /Volumes/froglogic\ Squish/
+ mountFolder="/Volumes/froglogic Squish"
+ UnMount
elif [[ $targetFile == *.run ]]; then
echo "'run-file', no need to uncompress"
- sudo cp "$targetFileMount" "$targetDirectory"
- sudo umount "$mountFolder"
- sudo "$targetDirectory/$targetFile" unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null 2>&1
+ sudo cp $targetFileMount $targetDirectory
+ UnMount
+ sudo $targetDirectory/$targetFile unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null 2>&1
sudo rm -fr "$targetDirectory/$targetFile"
if uname -a |grep -q "Ubuntu"; then
sudo mkdir /usr/lib/tcl8.6
diff --git a/coin/provisioning/common/windows/helpers.ps1 b/coin/provisioning/common/windows/helpers.ps1
index 28ccaeaf..794f1b5d 100644
--- a/coin/provisioning/common/windows/helpers.ps1
+++ b/coin/provisioning/common/windows/helpers.ps1
@@ -87,6 +87,7 @@ function Download
[string] $Destination = $(BadParam("a download target location"))
)
$ProgressPreference = 'SilentlyContinue'
+ [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
try {
Write-Host "Downloading from cached location ($CachedUrl) to $Destination"
if ($CachedUrl.StartsWith("http")) {
diff --git a/coin/provisioning/common/windows/libclang.ps1 b/coin/provisioning/common/windows/libclang.ps1
index b0705105..dd21f424 100644
--- a/coin/provisioning/common/windows/libclang.ps1
+++ b/coin/provisioning/common/windows/libclang.ps1
@@ -5,79 +5,66 @@ param(
)
. "$PSScriptRoot\helpers.ps1"
+$libclang_version="6.0"
+
# PySide versions following 5.6 use a C++ parser based on Clang (http://clang.org/).
# The Clang library (C-bindings), version 3.9 or higher is required for building.
# Starting from Qt 5.11 QDoc requires Clang to parse C++
-Get-Content "$PSScriptRoot\..\shared\sw_versions.txt" | Foreach-Object {
- $var = $_.Split('=')
- New-Variable -Name $var[0] -Value $var[1] -Force
- $libclang_version = $libclang_version -replace '["."]'
-}
-
-$zip = Get-DownloadLocation "libclang.7z"
$baseDestination = "C:\Utils\libclang-" + $libclang_version + "-" + $toolchain
-function setURL() {
- $script:url = "https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_$libclang_version-windows-$toolchain`_$archVer.7z"
+function install() {
+
+ param(
+ [string]$sha1=$1,
+ [string]$destination=$2
+ )
+
+ $zip = "c:\users\qt\downloads\libclang.7z"
+
+ $libclang_version = $libclang_version -replace '["."]'
+ $script:OfficialUrl = "https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_$libclang_version-windows-$toolchain`_$archVer.7z"
+ $script:CachedUrl = "http://ci-files01-hki.intra.qt.io/input/libclang/qt/libclang-release_$libclang_version-windows-$toolchain`_$archVer.7z"
+
+ Download $OfficialUrl $CachedUrl $zip
+ Verify-Checksum $zip $sha1
+ Extract-7Zip $zip C:\Utils\
+ Rename-Item C:\Utils\libclang $destination
+ Remove-Item -Force -Path $zip
}
$toolchainSuffix = ""
if ( $toolchain -eq "vs2015" ) {
if ( $archVer -eq 64 ) {
- $sha1 = "37afa18d243a50c05bee5c6e16b409ed526ec17a"
+ $sha1 = "a399af949271e6d3bfc578ea2c17ff1d6c6318b9"
$destination = $baseDestination + "-64"
- setURL
- Download $url $url $zip
- Verify-Checksum $zip $sha1
-
- Extract-7Zip $zip C:\Utils\
- Rename-Item C:\Utils\libclang $destination
- Remove-Item -Force -Path $zip
+ install $sha1 $destination
}
$archVer=32
- $sha1 = "812b6089c6da99ced9ebebbd42923bd96590519d"
+ $sha1 = "aa3f68f1cfa87780a4631a98ce883d3d9cb94330"
$destination = $baseDestination + "-32"
- setURL
- Download $url $url $zip
- Verify-Checksum $zip $sha1
-
- Extract-7Zip $zip C:\Utils\
- Rename-Item C:\Utils\libclang $destination
- Remove-Item -Force -Path $zip
+ install $sha1 $destination
$toolchainSuffix = "msvc"
}
if ( $toolchain -eq "mingw" ) {
if ( $archVer -eq 64 ) {
- $sha1 = "1233e6c008b90d89483df0291a597a0bac426d29"
+ $sha1 = "b382502f82d1cfa7d3cc3016d909d37edc19c22c"
$destination = $baseDestination + "-64"
- setURL
- Download $url $url $zip
- Verify-Checksum $zip $sha1
-
- Extract-7Zip $zip C:\Utils\
- Rename-Item C:\Utils\libclang $destination
- Remove-Item -Force -Path $zip
+ install $sha1 $destination
}
$archVer=32
- $sha1 = "2d6ceab0e1a05e2b19fe615c57b64d36977b4933"
+ $sha1 = "cbc68e0f93f4cb0ed7084a045b7c07a1980a2a44"
$destination = $baseDestination + "-32"
- setURL
- Download $url $url $zip
- Verify-Checksum $zip $sha1
-
- Extract-7Zip $zip C:\Utils\
- Rename-Item C:\Utils\libclang $destination
- Remove-Item -Force -Path $zip
+ install $sha1 $destination
$toolchainSuffix = "mingw"
}
diff --git a/coin/provisioning/common/windows/mqtt_broker.ps1 b/coin/provisioning/common/windows/mqtt_broker.ps1
index a80e23dd..7cb8dd7c 100644
--- a/coin/provisioning/common/windows/mqtt_broker.ps1
+++ b/coin/provisioning/common/windows/mqtt_broker.ps1
@@ -35,9 +35,11 @@
Write-Host "MQTT: Downloading Paho test broker..."
$zip = Get-DownloadLocation "pahotest.zip"
-$externalUrl = "http://ci-files01-hki.ci.local/input/mqtt_broker/paho.mqtt.testing-c342c09dadc7a664d0a8befad1ca031f5a0b0bc0.zip"
-$internalUrl = "https://github.com/eclipse/paho.mqtt.testing/archive/c342c09dadc7a664d0a8befad1ca031f5a0b0bc0.zip"
-$sha1 = "532fe145096cdd8d679f425cbfd883289150c968"
+$commitSHA = "ef4dbc182ddd06247e4b2618d5ad0a57df12ab25"
+$sha1 = "ba2b7d05afe4e13446d40cd4e753dda7f325a587"
+
+$externalUrl = "http://ci-files01-hki.ci.local/input/mqtt_broker/paho.mqtt.testing-$commitSHA.zip"
+$internalUrl = "https://github.com/eclipse/paho.mqtt.testing/archive/$commitSHA.zip"
Download $externalUrl $internalUrl $zip
Verify-Checksum $zip $sha1
@@ -46,4 +48,4 @@ Write-Host "MQTT: Installing $zip..."
Extract-7Zip $zip C:\Utils
Remove-Item -Path $zip
-Set-EnvironmentVariable "MQTT_TEST_BROKER_LOCATION" "C:\Utils\paho.mqtt.testing-c342c09dadc7a664d0a8befad1ca031f5a0b0bc0\interoperability\startbroker.py"
+Set-EnvironmentVariable "MQTT_TEST_BROKER_LOCATION" "C:\Utils\paho.mqtt.testing-$commitSHA\interoperability\startbroker.py"
diff --git a/coin/provisioning/common/windows/python.ps1 b/coin/provisioning/common/windows/python.ps1
index 05811c58..e2855c75 100644
--- a/coin/provisioning/common/windows/python.ps1
+++ b/coin/provisioning/common/windows/python.ps1
@@ -30,13 +30,17 @@
## $QT_END_LICENSE$
##
#############################################################################
-. "$PSScriptRoot\helpers.ps1"
# This script installs Python $version.
# Python is required for building Qt 5 from source.
+param(
+ [Int32]$archVer=32,
+ [string]$targetDir="C:\Python27"
+)
+. "$PSScriptRoot\helpers.ps1"
$version = "2.7.13"
-if (Is64BitWinHost) {
+if ( $archVer -eq 64 ) {
$arch = ".amd64"
$sha1 = "d9113142bae8829365c595735e1ad1f9f5e2894c"
} else {
@@ -51,17 +55,25 @@ Write-Host "Fetching from URL..."
Download $externalUrl $internalUrl $package
Verify-Checksum $package $sha1
Write-Host "Installing $package..."
-Run-Executable "msiexec" "/passive /i $package ALLUSERS=1"
+Run-Executable "msiexec" "/passive /i $package TARGETDIR=$targetDir 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
Write-Host "Changing 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
+(Get-Content $targetDir\lib\zipfile.py) | ForEach-Object { $_ -replace "allowZip64=False", "allowZip64=True" } | Set-Content $targetDir\lib\zipfile.py
Write-Host "Remove $package..."
Remove-Item -Path $package
-Add-Path "C:\Python27;C:\Python27\Scripts"
+# When installing 32 bit python to 64 bit host, we want to keep only default python in path
+# For cross-compilation we export some helper env variable
+if (($archVer -eq 32) -And (Is64BitWinHost)) {
+ Set-EnvironmentVariable "PYTHON2_32_PATH" "$targetDir"
+ Set-EnvironmentVariable "PIP2_32_PATH" "$targetDir\Scripts"
+} else {
+ Add-Path "$targetDir;$targetDir\Scripts"
+}
+
-Run-Executable "C:\Python27\python.exe" "-m ensurepip"
+Run-Executable "$targetDir\python.exe" "-m ensurepip"
# Install python virtual env
if (IsProxyEnabled) {
@@ -69,6 +81,6 @@ if (IsProxyEnabled) {
Write-Host "Using proxy ($proxy) with pip"
$pip_args = "--proxy=$proxy"
}
-Run-Executable "C:\Python27\Scripts\pip.exe" "$pip_args install virtualenv"
+Run-Executable "$targetDir\Scripts\pip.exe" "$pip_args install virtualenv"
-Write-Output "Python = $version" >> ~/versions.txt
+Write-Output "Python-$archVer = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/python3.ps1 b/coin/provisioning/common/windows/python3.ps1
index d5d5998a..473fe65c 100644
--- a/coin/provisioning/common/windows/python3.ps1
+++ b/coin/provisioning/common/windows/python3.ps1
@@ -32,18 +32,20 @@
##
#############################################################################
-. "$PSScriptRoot\helpers.ps1"
-
# This script installs Python $version.
# Python3 is required for building some qt modules.
+param(
+ [Int32]$archVer=32,
+ [string]$install_path = "C:\Python36"
+)
+. "$PSScriptRoot\helpers.ps1"
$version = "3.6.1"
$package = "C:\Windows\temp\python-$version.exe"
-$install_path = "C:\Python36"
# check bit version
-if (Is64BitWinHost) {
- Write-Host "Running in 64 bit system"
+if ( $archVer -eq 64 ) {
+ Write-Host "Installing 64 bit Python"
$externalUrl = "https://www.python.org/ftp/python/$version/python-$version-amd64.exe"
$internalUrl = "http://ci-files01-hki.intra.qt.io/input/windows/python-$version-amd64.exe"
$sha1 = "bf54252c4065b20f4a111cc39cf5215fb1edccff"
@@ -61,8 +63,15 @@ Run-Executable "$package" "/q TargetDir=$install_path"
Write-Host "Remove $package..."
Remove-Item -Path $package
-Set-EnvironmentVariable "PYTHON3_PATH" "$install_path"
-Set-EnvironmentVariable "PIP3_PATH" "$install_path\Scripts"
+# For cross-compilation we export some helper env variable
+if (($archVer -eq 32) -And (Is64BitWinHost)) {
+ Set-EnvironmentVariable "PYTHON3_32_PATH" "$install_path"
+ Set-EnvironmentVariable "PIP3_32_PATH" "$install_path\Scripts"
+} else {
+ Set-EnvironmentVariable "PYTHON3_PATH" "$install_path"
+ Set-EnvironmentVariable "PIP3_PATH" "$install_path\Scripts"
+}
+
# Install python virtual env
if (IsProxyEnabled) {
@@ -72,5 +81,5 @@ if (IsProxyEnabled) {
}
Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install virtualenv"
-Write-Output "Python3 = $version" >> ~/versions.txt
+Write-Output "Python3-$archVer = $version" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-libclang.sh
index 5f3715de..9eb7e086 100755
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-libclang.sh
+++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-libclang.sh
@@ -35,9 +35,5 @@
set -ex
BASEDIR=$(dirname "$0")
-# With RHEL 6.6 we are using different lib clang than others
-VERSION=4.0
-URL="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${VERSION//\./}-linux-Rhel6.6-gcc4.9-x86_64.7z"
-SHA1="c7466109628418a6aa3db8b3f5825f847f1c4952"
-
+# shellcheck source=../common/unix/libclang.sh
"$BASEDIR/../common/unix/libclang.sh" "$URL" "$SHA1" "$VERSION"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/05-libclang.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/05-libclang.sh
index ed589644..7074cbc1 100755
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/05-libclang.sh
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/05-libclang.sh
@@ -2,10 +2,5 @@
set -ex
BASEDIR=$(dirname "$0")
-# shellcheck source=../common/shared/sw_versions.txt
-. "$BASEDIR/../common/shared/sw_versions.txt"
-VERSION=$libclang_version
-URL="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${VERSION//\./}-linux-Rhel7.2-gcc5.3-x86_64.7z"
-SHA1="71194c4d6065a62ac1a891123df79fd9da311bf0"
-
-"$BASEDIR/../common/unix/libclang.sh" "$URL" "$SHA1" "$VERSION"
+# shellcheck source=../common/unix/libclang.sh
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-install_icu.sh
index cb23bbca..7c4d46dd 100755
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-install_icu.sh
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-install_icu.sh
@@ -2,7 +2,7 @@
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2018 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -33,6 +33,9 @@
##
#############################################################################
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
set -ex
# This script will install ICU
@@ -40,16 +43,17 @@ set -ex
icuVersion="56.1"
icuLocation="/usr/lib64"
sha1="6dd9ca6b185681a7ddc4bb94fd7fced27647a21c"
-baseBinaryPackageURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z"
+baseBinaryPackageURL="http://ci-files01-hki.intra.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z"
+baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z"
sha1Dev="bffde26cdea752bee0edd281820c57f1adac3864"
-develPackageURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z"
+develPackageURL="http://ci-files01-hki.intra.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z"
+develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z"
echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation"
targetFile=$(mktemp)
-wget --tries=5 --waitretry=5 --output-document="$targetFile" "$baseBinaryPackageURL"
-echo "$sha1 $targetFile" | sha1sum --check
+DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile"
sudo 7z x -y -o/usr/lib64 "$targetFile"
sudo rm "$targetFile"
@@ -58,8 +62,7 @@ echo "Installing custom ICU devel packages on RHEL"
tempDir=$(mktemp -d)
targetFile=$(mktemp)
-wget --tries=5 --waitretry=5 --output-document="$targetFile" "$develPackageURL"
-echo "$sha1Dev $targetFile" | sha1sum --check
+DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile"
7z x -y -o"$tempDir" "$targetFile"
sudo cp -a "$tempDir"/lib/* /usr/lib64
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-libclang.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-libclang.sh
index 1589b004..331a14d9 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-libclang.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-libclang.sh
@@ -1,9 +1,5 @@
#!/usr/bin/env bash
BASEDIR=$(dirname "$0")
-. $BASEDIR/../common/shared/sw_versions.txt
-VERSION=$libclang_version
-URL="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${VERSION//\./}-linux-Rhel7.2-gcc5.3-x86_64.7z"
-SHA1="71194c4d6065a62ac1a891123df79fd9da311bf0"
-
-$BASEDIR/../common/unix/libclang.sh "$URL" "$SHA1" "$VERSION"
+# shellcheck source=../common/unix/libclang.sh
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-libclang.sh
index 5113633a..bbe2b4b4 100755
--- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-libclang.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-libclang.sh
@@ -3,10 +3,5 @@
set -ex
BASEDIR=$(dirname "$0")
-# shellcheck source=../common/shared/sw_versions.txt
-. "$BASEDIR/../common/shared/sw_versions.txt"
-VERSION=$libclang_version
-URL="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${VERSION//\./}-linux-Rhel7.2-gcc5.3-x86_64.7z"
-SHA1="71194c4d6065a62ac1a891123df79fd9da311bf0"
-
-"$BASEDIR/../common/unix/libclang.sh" "$URL" "$SHA1" "$VERSION"
+# shellcheck source=../common/unix/libclang.sh
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/27-libclang.sh b/coin/provisioning/qtci-macos-10.12-x86_64/27-libclang.sh
index fea11e01..d68bf90a 100755
--- a/coin/provisioning/qtci-macos-10.12-x86_64/27-libclang.sh
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/27-libclang.sh
@@ -3,5 +3,5 @@
set -ex
BASEDIR=$(dirname "$0")
-# There is only one mac package and common script uses it as a default
+# There is only one mac package
$BASEDIR/../common/unix/libclang.sh
diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/27-libclang.sh b/coin/provisioning/qtci-osx-10.11-x86_64/27-libclang.sh
index fea11e01..91872201 100755
--- a/coin/provisioning/qtci-osx-10.11-x86_64/27-libclang.sh
+++ b/coin/provisioning/qtci-osx-10.11-x86_64/27-libclang.sh
@@ -3,5 +3,6 @@
set -ex
BASEDIR=$(dirname "$0")
-# There is only one mac package and common script uses it as a default
-$BASEDIR/../common/unix/libclang.sh
+# There is only one mac package
+# shellcheck source=../common/unix/libclang.sh
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-windows-10-x86/08-libclang.ps1 b/coin/provisioning/qtci-windows-10-x86/08-libclang.ps1
index 4d56d612..8da8cc5a 100644
--- a/coin/provisioning/qtci-windows-10-x86/08-libclang.ps1
+++ b/coin/provisioning/qtci-windows-10-x86/08-libclang.ps1
@@ -1,3 +1 @@
-# Do not set the default LLVM_INSTALL_DIR for mingw, leave it with msvc for compat
-. "$PSScriptRoot\..\common\windows\libclang.ps1" 32 mingw $False
. "$PSScriptRoot\..\common\windows\libclang.ps1" 32 vs2015
diff --git a/coin/provisioning/qtci-windows-10-x86_64/02-enable-dotnet-framework.ps1 b/coin/provisioning/qtci-windows-10-x86_64/02-enable-dotnet-framework.ps1
new file mode 100644
index 00000000..e7f4c248
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/02-enable-dotnet-framework.ps1
@@ -0,0 +1,22 @@
+# The DirectX SDK installer requires .Net framework 3.5 which isn't installed
+# by default
+
+$netFeature = "NetFx3"
+try {
+ $netFeatureState = (Get-WindowsOptionalFeature -Online -FeatureName "$netFeature").State
+ if ($netFeatureState -eq "Enabled") {
+ Write-Host ".Net Framework is already installed"
+ exit 0
+ }
+} catch {
+ Write-Host "Could not find .Net Framework Windows feature."
+ exit 1
+}
+
+Write-Host "Installing .Net Framework client"
+try {
+ Enable-WindowsOptionalFeature -Online -FeatureName "$netFeature" -All -NoRestart
+} catch {
+ Write-Host "Could not install .Net framework"
+ exit 1
+}
diff --git a/coin/provisioning/qtci-windows-10-x86_64/02-python-32bit.ps1 b/coin/provisioning/qtci-windows-10-x86_64/02-python-32bit.ps1
new file mode 100644
index 00000000..bd2d52c3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/02-python-32bit.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\python.ps1" 32 "C:\Python27_32"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/08-python3-32.ps1 b/coin/provisioning/qtci-windows-10-x86_64/08-python3-32.ps1
new file mode 100644
index 00000000..5ffeab3b
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/08-python3-32.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\python3.ps1" 32 "C:\Python36_32"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/08-python3.ps1 b/coin/provisioning/qtci-windows-10-x86_64/08-python3.ps1
index 998e6bae..3201032d 100644
--- a/coin/provisioning/qtci-windows-10-x86_64/08-python3.ps1
+++ b/coin/provisioning/qtci-windows-10-x86_64/08-python3.ps1
@@ -1 +1 @@
-. "$PSScriptRoot\..\common\windows\python3.ps1"
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64
diff --git a/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw730_64.ps1 b/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw730_64.ps1
new file mode 100644
index 00000000..c928e270
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw730_64.ps1
@@ -0,0 +1,9 @@
+. "$PSScriptRoot\..\common\windows\install-mingw.ps1"
+
+# This script will install 64-bit MinGW 7.3.0
+
+$release = "x86_64-7.3.0-release-posix-seh-rt_v5-rev0"
+$sha1 = "0fce15036400568babd10d65b247e9576515da2c"
+
+InstallMinGW $release $sha1
+
diff --git a/coin/provisioning/qtci-windows-10-x86_64/10-dxsdk.ps1 b/coin/provisioning/qtci-windows-10-x86_64/10-dxsdk.ps1
new file mode 100644
index 00000000..155df6b8
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/10-dxsdk.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\dxsdk.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/08-libclang.ps1 b/coin/provisioning/qtci-windows-7-x86/08-libclang.ps1
deleted file mode 100644
index 375deed3..00000000
--- a/coin/provisioning/qtci-windows-7-x86/08-libclang.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\libclang.ps1" 32 mingw
diff --git a/coin/provisioning/qtci-windows-7-x86_64/25-python.ps1 b/coin/provisioning/qtci-windows-7-x86_64/25-python.ps1
index 3e825ab8..e2e9be9c 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/25-python.ps1
+++ b/coin/provisioning/qtci-windows-7-x86_64/25-python.ps1
@@ -1 +1 @@
-. "$PSScriptRoot\..\common\windows\python.ps1"
+. "$PSScriptRoot\..\common\windows\python.ps1" 64
diff --git a/coin/provisioning/qtci-windows-7-x86_64/25-python3.ps1 b/coin/provisioning/qtci-windows-7-x86_64/25-python3.ps1
index 998e6bae..3201032d 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/25-python3.ps1
+++ b/coin/provisioning/qtci-windows-7-x86_64/25-python3.ps1
@@ -1 +1 @@
-. "$PSScriptRoot\..\common\windows\python3.ps1"
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64
diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/08-python3.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/08-python3.ps1
index 998e6bae..3201032d 100644
--- a/coin/provisioning/qtci-windows-8.1-x86_64/08-python3.ps1
+++ b/coin/provisioning/qtci-windows-8.1-x86_64/08-python3.ps1
@@ -1 +1 @@
-. "$PSScriptRoot\..\common\windows\python3.ps1"
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64