aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--coin/platform_configs/default.txt3
-rwxr-xr-xcoin/provisioning/common/linux/remove-update_notifier.sh3
-rwxr-xr-xcoin/provisioning/common/linux/squish-coco.sh (renamed from coin/provisioning/common/linux/open62541.sh)45
-rwxr-xr-xcoin/provisioning/common/macos/install_openssl.sh81
-rwxr-xr-xcoin/provisioning/common/macos/libiodbc.sh4
-rwxr-xr-xcoin/provisioning/common/unix/DownloadURL.sh8
-rwxr-xr-xcoin/provisioning/common/unix/install-breakpad.sh81
-rw-r--r--coin/provisioning/common/windows/android-openssl.ps12
-rw-r--r--coin/provisioning/common/windows/android.ps17
-rw-r--r--[-rwxr-xr-x]coin/provisioning/common/windows/disable-defragment.ps1 (renamed from coin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-open62541.sh)7
-rw-r--r--coin/provisioning/common/windows/helpers.ps122
-rw-r--r--coin/provisioning/common/windows/install-breakpad.ps194
-rw-r--r--coin/provisioning/common/windows/opcua_unifiedautomation.ps171
-rw-r--r--coin/provisioning/common/windows/open62541.ps1265
-rw-r--r--coin/provisioning/common/windows/squish-coco.ps148
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh3
-rw-r--r--coin/provisioning/qtci-linux-RHEL-7.4-x86_64/35-install-breakpad.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-git_lfs.sh (renamed from coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/50-open62541.sh)14
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-update_notifier.sh4
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/35-install-breakpad.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/91-squish-coco.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/20-xcode.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh73
-rw-r--r--coin/provisioning/qtci-macos-10.13-x86_64/35-install-breakpad.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh73
-rw-r--r--coin/provisioning/qtci-windows-10-x86/02-disable-defragment.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/90-signing-tools.ps144
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/02-disable-defragment.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/35-install-breakpad.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/79-open62541.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/91-squish-coco.ps12
-rw-r--r--coin/provisioning/qtci-windows-7-x86/02-disable-defragment.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/35-install-breakpad.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/79-open62541.ps12
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/02-disable-defragment.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/35-install-breakpad.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86/02-disable-defragment.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/02-disable-defragment.ps11
39 files changed, 511 insertions, 484 deletions
diff --git a/coin/platform_configs/default.txt b/coin/platform_configs/default.txt
index c88d018b..baf7fc9a 100644
--- a/coin/platform_configs/default.txt
+++ b/coin/platform_configs/default.txt
@@ -11,9 +11,10 @@ qtci-linux-Ubuntu-18.04-x86_64 GCC
qtci-linux-Ubuntu-18.04-x86_64 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace BuildExamples Documentation
qtci-linux-openSUSE-15.0-x86_64 GCC DeveloperBuild NoPch
qtci-linux-openSUSE-15.0-x86_64 ICC_18 DeveloperBuild NoPch DisableTests SystemSQLite
+qtci-linux-openSUSE-15.0-x86_64 WebAssembly GCC Packaging DeveloperBuild NoPch DisableTests
qtci-linux-RHEL-7.4-x86_64 GCC Packaging Release NoUseGoldLinker ForceDebugInfo SeparateDebugInfo
qtci-macos-10.13-x86_64-2 Clang Packaging DebugAndRelease Release
-qtci-macos-10.12-x86_64-8 Clang DeveloperBuild NoFramework Release QtNamespace NoPch
+qtci-macos-10.12-x86_64-9 Clang DeveloperBuild NoFramework Release QtNamespace NoPch
qtci-macos-10.13-x86_64-2 IOS_ANY multi Clang Packaging DebugAndRelease DisableTests Static
qtci-macos-10.13-x86_64-2 TvOS_ANY multi Clang DebugAndRelease DisableTests
qtci-macos-10.13-x86_64-2 WatchOS_ANY multi Clang DebugAndRelease DisableTests
diff --git a/coin/provisioning/common/linux/remove-update_notifier.sh b/coin/provisioning/common/linux/remove-update_notifier.sh
new file mode 100755
index 00000000..152d7fa8
--- /dev/null
+++ b/coin/provisioning/common/linux/remove-update_notifier.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+sudo apt -q -y remove update-notifier update-manager
diff --git a/coin/provisioning/common/linux/open62541.sh b/coin/provisioning/common/linux/squish-coco.sh
index 962e8963..4f8627d3 100755
--- a/coin/provisioning/common/linux/open62541.sh
+++ b/coin/provisioning/common/linux/squish-coco.sh
@@ -1,8 +1,8 @@
-#!/bin/env bash
+#!/usr/bin/env bash
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2018 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -33,41 +33,28 @@
##
#############################################################################
-set +e
-
-# shellcheck disable=SC1090
-
-# We need to source to be able to use cmake in the shell
-if uname -a |grep -q "Ubuntu"; then
- source ~/.profile
-else
- source ~/.bashrc
-fi
+# This script installs Squish Coco
set -ex
+# shellcheck source=../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-TEMPDIR=$(mktemp --directory) || echo "Failed to create temporary directory"
-# shellcheck disable=SC2064
-trap "sudo rm -fr $TEMPDIR" EXIT
-cd "$TEMPDIR"
-sudo pip install --upgrade pip
-sudo pip install six
+version="4.2.2"
+sha1="a44f0f039f3712c715eea63c4021d08bf17a44c6"
+package="SquishCocoSetup_${version}_Linux_x86_64.run"
+url="http://ci-files01-hki.intra.qt.io/input/coco//$package"
+
+echo "Enable license for Coco"
-git clone https://github.com/open62541/open62541.git open62541
-cd open62541
-git checkout 215651ab8db94e5eacdd10ec26a5a9fb96b9301f
-mkdir build
-cd build
-TARGETPATH=/opt/open62541
-cmake -DUA_ENABLE_AMALGAMATION=ON -DUA_ENABLE_METHODCALLS=ON -DCMAKE_INSTALL_PREFIX:PATH="$TARGETPATH" ..
-make
+DownloadURL "$url" "$url" "$sha1" "/tmp/$package"
+sudo chmod 755 "/tmp/$package"
+echo 1 | sudo "/tmp/$package" "--nox11"
-sudo make install
-sudo /sbin/ldconfig
+/opt/SquishCoco/bin/cocolic --license-server=Qt-SRV-33.intra.qt.io:49344
-SetEnvVar "CI_OPEN62541_GCC_X64_PREFIX" "$TARGETPATH"
+echo "export PATH=/opt/SquishCoco/bin/:$PATH" >> ~/.bashrc
diff --git a/coin/provisioning/common/macos/install_openssl.sh b/coin/provisioning/common/macos/install_openssl.sh
new file mode 100755
index 00000000..15f02ffd
--- /dev/null
+++ b/coin/provisioning/common/macos/install_openssl.sh
@@ -0,0 +1,81 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2018 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script install OpenSSL
+
+set -ex
+
+# shellcheck source=../common/unix/InstallFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+
+opensslVersion="1.0.2p"
+opensslFile="openssl-$opensslVersion.tar.gz"
+opensslDlUrl="http://ci-files01-hki.intra.qt.io/input/openssl/$opensslFile"
+opensslAltDlUrl="https://www.openssl.org/source/$opensslFile"
+opensslSha1="f34b5322e92415755c7d58bf5d0d5cf37666382c"
+
+# Below target location has been hard coded into Coin.
+# QTQAINFRA-1195
+openssl_install_dir=/usr/local/openssl-$opensslVersion
+opensslTargetLocation="/usr/local/opt/openssl"
+
+InstallFromCompressedFileFromURL "$opensslDlUrl" "$opensslAltDlUrl" "$opensslSha1" "/tmp/openssl-$opensslVersion" "openssl-$opensslVersion"
+cd "/tmp/openssl-$opensslVersion"
+pwd
+sudo ./config --prefix=$openssl_install_dir
+echo "Running 'make' for OpenSSL"
+sudo make --silent > /tmp/openssl_make.log 2>&1
+echo "Running 'make install' for OpenSSL"
+sudo make --silent install > /tmp/openssl_make_install.log 2>&1
+
+path=$(echo "$opensslTargetLocation" | sed -E 's/(.*)\/.*$/\1/')
+sudo mkdir -p "$path"
+sudo ln -s $openssl_install_dir $opensslTargetLocation
+
+SetEnvVar "PATH" "\"$opensslTargetLocation/bin:\$PATH\""
+SetEnvVar "MANPATH" "\"$opensslTargetLocation/share/man:\$MANPATH\""
+
+SetEnvVar "OPENSSL_DIR" "\"$openssl_install_dir\""
+SetEnvVar "OPENSSL_INCLUDE" "\"$openssl_install_dir/include\""
+SetEnvVar "OPENSSL_LIB" "\"$openssl_install_dir/lib\""
+
+security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem
+security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem
+
+sudo rm -rf /tmp/openssl-$opensslVersion
+
+echo "OpenSSL = $opensslVersion" >> ~/versions.txt
diff --git a/coin/provisioning/common/macos/libiodbc.sh b/coin/provisioning/common/macos/libiodbc.sh
index 6c10ccbf..79fa86c2 100755
--- a/coin/provisioning/common/macos/libiodbc.sh
+++ b/coin/provisioning/common/macos/libiodbc.sh
@@ -48,7 +48,7 @@ brew install libiodbc
read -r -a arr <<< $(brew list --versions libiodbc)
version=${arr[1]}
-SetEnvVar "CPLUS_INCLUDE_PATH" "/usr/local/Cellar/libiodbc/$version/include:$CPLUS_INCLUDE_PATH"
-SetEnvVar "LIBRARY_PATH" "/usr/local/Cellar/libiodbc/$version/lib:$LIBRARY_PATH"
+SetEnvVar "CPLUS_INCLUDE_PATH" "/usr/local/Cellar/libiodbc/$version/include${CPLUS_INCLUDE_PATH:+:}${CPLUS_INCLUDE_PATH}"
+SetEnvVar "LIBRARY_PATH" "/usr/local/Cellar/libiodbc/$version/lib${LIBRARY_PATH:+:}${LIBRARY_PATH}"
echo "libiodbc = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/unix/DownloadURL.sh b/coin/provisioning/common/unix/DownloadURL.sh
index 2d82af58..996c99da 100755
--- a/coin/provisioning/common/unix/DownloadURL.sh
+++ b/coin/provisioning/common/unix/DownloadURL.sh
@@ -40,6 +40,8 @@
# If called directly from another script, it will exit the parent script
# as well, if not called in its own subshell with parentheses.
+set -ex
+
function DownloadURL {
url=$1
url_alt=$2
@@ -47,11 +49,11 @@ function DownloadURL {
targetFile=$4
echo "Downloading from primary URL '$url'"
- curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || (
+ curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || {
echo "Failed to download '$url' multiple times"
echo "Downloading from alternative URL '$url_alt'"
- curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url_alt"
- )
+ curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url_alt" || { echo 'Failed to download even from alternative url'; exit 1; }
+ }
echo "Checking SHA1 on PKG '$targetFile'"
echo "$expectedSha1 *$targetFile" > "$targetFile.sha1"
diff --git a/coin/provisioning/common/unix/install-breakpad.sh b/coin/provisioning/common/unix/install-breakpad.sh
new file mode 100755
index 00000000..669469be
--- /dev/null
+++ b/coin/provisioning/common/unix/install-breakpad.sh
@@ -0,0 +1,81 @@
+#!/usr/bin/env bash
+
+############################################################################
+##
+## Copyright (C) 2019 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=../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+# shellcheck source=../unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+
+set -ex
+
+breakpad_commit_sha="b988fa74ec18de6214b18f723e48331d9a7802ae"
+breakpad_tar="breakpad_$breakpad_commit_sha.tar.gz"
+breakpad_tar_url="http://ci-files01-hki.intra.qt.io/input/breakpad/$breakpad_tar"
+breakpad_tar_sha="a2d404d2aebc947cdac5840a9bccd65dfafae24c"
+
+linux_syscall_support_commit_sha1="93426bda6535943ff1525d0460aab5cc0870ccaf"
+linux_syscall_support_tar="linux-syscall-support_$linux_syscall_support_commit_sha1.tar.gz"
+linux_syscall_support_tar_url="http://ci-files01-hki.intra.qt.io/input/linux-syscall-support/$linux_syscall_support_tar"
+linux_syscall_support_tar_sha="62565be0920f3661e138d68026b79fbbdc2a11e4"
+
+targetBreakpad="/tmp/$breakpad_tar"
+targetSyscall="/tmp/$linux_syscall_support_tar"
+installFolder="$HOME"
+breakpadHome="$HOME/breakpad"
+
+# shellcheck disable=SC2015
+( DownloadURL "$breakpad_tar_url" "$breakpad_tar_url" "$breakpad_tar_sha" "$targetBreakpad" ) && (
+ DownloadURL "$linux_syscall_support_tar_url" "$linux_syscall_support_tar_url" "$linux_syscall_support_tar_sha" "$targetSyscall"
+ ) && (
+ tar -xzf "$targetBreakpad" -C "$installFolder"
+ tar -xzf "$targetSyscall" -C "/tmp"
+ mv "/tmp/linux-syscall-support/" "$breakpadHome/src/third_party/lss/"
+ rm -rf $targetBreakpad
+ rm -rf $targetSyscall
+ ) || (
+ cd "$HOME"
+ git clone https://chromium.googlesource.com/breakpad/breakpad "$breakpadHome"
+ git clone https://chromium.googlesource.com/linux-syscall-support "$breakpadHome/src/third_party/lss"
+ cd "$breakpadHome"
+ git checkout "$breakpad_commit_sha"
+ cd "$breakpadHome/src/third_party/lss"
+ git checkout "$linux_syscall_support_commit_sha1"
+ )
+
+
+SetEnvVar "BREAKPAD_SOURCE_DIR" "$breakpadHome/src"
+
+echo "breakpad = $breakpad_commit_sha" >> ~/versions.txt
+echo "linux_syscall_support = $linux_syscall_support_commit_sha1" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/android-openssl.ps1 b/coin/provisioning/common/windows/android-openssl.ps1
index a6bcaaeb..db53bcc9 100644
--- a/coin/provisioning/common/windows/android-openssl.ps1
+++ b/coin/provisioning/common/windows/android-openssl.ps1
@@ -54,7 +54,7 @@ Remove-Item -Path $zip
Remove-Item C:\Utils\openssl-$version.tar
# Set-EnvironmentVariable "CC" "C:\utils\Android\android-ndk-r18b\toolchains\llvm\prebuilt\windows\bin\clang"
-# Set-EnvironmentVariable "AR" "C:\utils\Android\android-ndk-r18b\toolchains\llvm\prebuilt\windows\bin\llvm-ar"
+# Set-EnvironmentVariable "ANDROID_AR" "C:\utils\Android\android-ndk-r18b\toolchains\llvm\prebuilt\windows\bin\llvm-ar"
# Set-EnvironmentVariable "ANDROID_DEV" "C:\utils\Android\android-ndk-r18b\platforms\android-21\arch-arm\usr"
# Make sure configure for openssl has a "make" and "perl" available
diff --git a/coin/provisioning/common/windows/android.ps1 b/coin/provisioning/common/windows/android.ps1
index 90c33fbd..1b4dd35d 100644
--- a/coin/provisioning/common/windows/android.ps1
+++ b/coin/provisioning/common/windows/android.ps1
@@ -85,7 +85,7 @@ if (IsProxyEnabled) {
# Remove "http://" from the beginning
$proxy = $proxy.Remove(0,7)
$proxyhost,$proxyport = $proxy.split(':')
- $sdkmanager_args = "--no_https --proxy=http --proxy_host=`"$proxyhost`" --proxy_port=`"$proxyport`" "
+ $sdkmanager_args = "--no_https", "--proxy=http", "--proxy_host=`"$proxyhost`"", "--proxy_port=`"$proxyport`""
}
New-Item -ItemType Directory -Force -Path C:\Utils\Android\licenses
@@ -95,9 +95,10 @@ Out-File -FilePath C:\Utils\Android\licenses\android-sdk-license -Encoding utf8
# Get a PATH where Java's path is defined from previous provisioning
[Environment]::SetEnvironmentVariable("PATH", [Environment]::GetEnvironmentVariable("PATH", "Machine"), "Process")
-$sdkmanager_args += " platforms;$sdkApiLevel platform-tools build-tools;$sdkBuildToolsVersion"
-Run-Executable "$toolsFolder\bin\sdkmanager.bat" "$sdkmanager_args"
cd $toolsFolder\bin\
+$sdkmanager_args += "platforms;$sdkApiLevel", "platform-tools", "build-tools;$sdkBuildToolsVersion"
+$command = 'for($i=0;$i -lt 6;$i++) { $response += "y`n"}; $response | .\sdkmanager.bat @sdkmanager_args'
+iex $command
$command = 'for($i=0;$i -lt 6;$i++) { $response += "y`n"}; $response | .\sdkmanager.bat --licenses'
iex $command
cmd /c "dir C:\Utils\android"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-open62541.sh b/coin/provisioning/common/windows/disable-defragment.ps1
index 21c926b8..876938f8 100755..100644
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-open62541.sh
+++ b/coin/provisioning/common/windows/disable-defragment.ps1
@@ -1,8 +1,6 @@
-#!/bin/env bash
-
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2018 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -33,5 +31,4 @@
##
#############################################################################
-# shellcheck source=../common/linux/open62541.sh
-source "${BASH_SOURCE%/*}/../common/linux/open62541.sh"
+schtasks /Delete /TN "\Microsoft\Windows\Defrag\ScheduledDefrag" /F
diff --git a/coin/provisioning/common/windows/helpers.ps1 b/coin/provisioning/common/windows/helpers.ps1
index cbf2371f..76ad4867 100644
--- a/coin/provisioning/common/windows/helpers.ps1
+++ b/coin/provisioning/common/windows/helpers.ps1
@@ -35,6 +35,28 @@ function Run-Executable
}
}
+function Extract-tar_gz
+{
+ Param (
+ [string]$Source,
+ [string]$Destination
+ )
+ Write-Host "Extracting '$Source' to '$Destination'..."
+
+ if ((Get-Command "7z.exe" -ErrorAction SilentlyContinue) -eq $null) {
+ $zipExe = join-path (${env:ProgramFiles(x86)}, ${env:ProgramFiles}, ${env:ProgramW6432} -ne $null)[0] '7-zip\7z.exe'
+ if (-not (test-path $zipExe)) {
+ $zipExe = "C:\Utils\sevenzip\7z.exe"
+ if (-not (test-path $zipExe)) {
+ throw "Could not find 7-zip."
+ }
+ }
+ } else {
+ $zipExe = "7z.exe"
+ }
+ Run-Executable "cmd.exe" "/C $zipExe x -y `"$Source`" -so | $zipExe x -y -aoa -si -ttar `"-o$Destination`""
+}
+
function Extract-7Zip
{
Param (
diff --git a/coin/provisioning/common/windows/install-breakpad.ps1 b/coin/provisioning/common/windows/install-breakpad.ps1
new file mode 100644
index 00000000..4a9544cc
--- /dev/null
+++ b/coin/provisioning/common/windows/install-breakpad.ps1
@@ -0,0 +1,94 @@
+############################################################################
+##
+## Copyright (C) 2019 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 breakpad from sources.
+# for manual install.. remember to checkout correct version
+# git clone https://chromium.googlesource.com/breakpad/breakpad
+# git clone https://chromium.googlesource.com/linux-syscall-support breakpad/src/third_party/lss
+
+# Commit used to make this zip breakpad_20181113.tar.gz
+# breakpad
+# commit 66571f4838b2306161f072555cb199049bc68142 (HEAD -> master, origin/master, origin/HEAD)
+# linux-syscall-support
+# commit 93426bda6535943ff1525d0460aab5cc0870ccaf (HEAD -> master, origin/master, origin/HEAD)
+
+# This script installs breakpad.
+
+
+. "$PSScriptRoot\helpers.ps1"
+
+
+$breakpad_commit_sha="b988fa74ec18de6214b18f723e48331d9a7802ae"
+$breakpad_tar="breakpad_$breakpad_commit_sha.tar.gz"
+$breakpad_tar_url="http://ci-files01-hki.intra.qt.io/input/breakpad/$breakpad_tar"
+$breakpad_tar_sha="a2d404d2aebc947cdac5840a9bccd65dfafae24c"
+
+$linux_syscall_support_commit_sha1="93426bda6535943ff1525d0460aab5cc0870ccaf"
+$linux_syscall_support_tar="linux-syscall-support_$linux_syscall_support_commit_sha1.tar.gz"
+$linux_syscall_support_tar_url="http://ci-files01-hki.intra.qt.io/input/linux-syscall-support/$linux_syscall_support_tar"
+$linux_syscall_support_tar_sha="62565be0920f3661e138d68026b79fbbdc2a11e4"
+
+$targetBreakpad="$env:tmp\$breakpad_tar"
+$targetSyscall="$env:tmp\$linux_syscall_support_tar"
+$installFolder = "C:\Utils"
+
+# breakpad
+try {
+ Download $breakpad_tar_url $breakpad_tar_url $targetBreakpad
+ Verify-Checksum $targetBreakpad $breakpad_tar_sha
+ Extract-tar_gz $targetBreakpad $installFolder
+ Remove-Item -Path $targetBreakpad
+ # linux-syscall-support
+ Download $linux_syscall_support_tar_url $linux_syscall_support_tar_url $targetSyscall
+ Verify-Checksum $targetSyscall $linux_syscall_support_tar_sha
+ Extract-tar_gz $targetSyscall "$env:tmp\"
+ New-Item -ItemType directory -Path "$installFolder\breakpad\third_party\lss"
+ Get-ChildItem -Path "$env:tmp\linux-syscall-support\*" -Recurse | Move-Item -Destination "$installFolder\breakpad\third_party\lss"
+ Remove-Item -Path $targetSyscall
+}
+catch {
+ Write-Host "Cached download failed: Attempping fallback method eg git."
+ Set-Location $installFolder
+ git.exe clone "https://chromium.googlesource.com/breakpad/breakpad"
+ git.exe clone "https://chromium.googlesource.com/linux-syscall-support breakpad\third_party\ssl"
+ Set-Location "breakpad"
+ git checkout $breakpad_commit_sha
+ Set-Location "src/third_party/lss"
+ git checkout $linux_syscall_support_commit_sha1
+}
+
+Set-EnvironmentVariable "BREAKPAD_SOURCE_DIR" "$installFolder\breakpad\src"
+
+# Write HEAD commit sha to versions txt, so build can be repeated at later date
+Write-Output "breakpad = $breakpad_commit_sha" >> ~/versions.txt
+Write-Output "linux-syscall-support = $linux_syscall_support_tar" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/opcua_unifiedautomation.ps1 b/coin/provisioning/common/windows/opcua_unifiedautomation.ps1
index aff784b9..70fcaae0 100644
--- a/coin/provisioning/common/windows/opcua_unifiedautomation.ps1
+++ b/coin/provisioning/common/windows/opcua_unifiedautomation.ps1
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2018 The Qt Company Ltd.
+## Copyright (C) 2019 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -33,27 +33,58 @@
. "$PSScriptRoot\helpers.ps1"
-$zip = Get-DownloadLocation "uasdkcpp.zip"
-$sha1 = "e1927dbd5d8bb459b468fa70a70b1de51a4ce022"
-$installLocation = "C:\Utils\uacpp"
+function DownloadAndInstallUA
+{
+ Param (
+ [string] $InstallerFileName = $(BadParam("no download URL specified")),
+ [string] $sha1 = $(BadParam("No SHA1 for download specified")),
+ [string] $Destination = $(BadParam("No location to install specified"))
+ )
+ Write-Host "UACPPSDK: DownloadAndInstallUA $InstallerFileName"
+ $zip = Get-DownloadLocation "uasdkcpp.zip"
-Write-Host "UACPPSDK: Downloading Unified Automation CPP installer..."
-$internalUrl = "http://ci-files01-hki.intra.qt.io/input/opcua_uacpp/uasdkcppbundle-bin-EVAL-win32-x86-vs2015-v1.5.6-361.zip"
-# No public download link exists
-$externalUrl = $internalUrl
+ Write-Host "UACPPSDK: Downloading Unified Automation CPP installer..."
+ $internalUrl = "http://ci-files01-hki.intra.qt.io/input/opcua_uacpp/$InstallerFileName.zip"
+ # No public download link exists
+ $externalUrl = $internalUrl
-Download $externalUrl $internalUrl $zip
-Verify-Checksum $zip $sha1
+ Download $externalUrl $internalUrl $zip
+ Verify-Checksum $zip $sha1
-Write-Host "UACPPSDK: Installing $zip..."
-Extract-7Zip $zip (Get-DefaultDownloadLocation)
-Remove-Item -Path $zip
+ Write-Host "UACPPSDK: Extracting $zip..."
+ Extract-7Zip $zip (Get-DefaultDownloadLocation)
+ Remove-Item -Path $zip
-$executable = (Get-DefaultDownloadLocation) + "uasdkcppbundle-bin-EVAL-win32-x86-vs2015-v1.5.6-361.exe"
-$arguments = "/S /D=$installLocation"
-Run-Executable $executable $arguments
-Write-Host "UACPPSDK: Installer done."
-Remove-Item $executable
+ $executable = (Get-DefaultDownloadLocation) + "$InstallerFileName.exe"
+ # We cannot call the installer as the x86 and x64 versions of the installer are not
+ # allowed to be installed in parallel (they check for the same registry value and
+ # delete each other). Extracting does not have a side-effect for Qt
+ #$arguments = "/S /D=$installLocation"
+ #Run-Executable $executable $arguments
+ #Write-Host "UACPPSDK: Installer done."
+ #Remove-Item $executable
-Write-Host "Set environment variable for COIN to locate SDK"
-Set-EnvironmentVariable "CI_UACPP_msvc2015_x86_PREFIX" "$installLocation"
+ Extract-7Zip $executable $Destination
+ Remove-Item $executable
+}
+
+#x86 version
+$installerName86 = "uasdkcppbundle-bin-EVAL-win32-x86-vs2015-v1.6.3-406"
+$downloadSha86 = "C73278B4C10DF0E3D60ABAA159ABA9185095124C"
+$installLocation86 = "C:\Utils\uacpp_x86"
+
+DownloadAndInstallUA $installerName86 $downloadSha86 $installLocation86
+Set-EnvironmentVariable "CI_UACPP_msvc2015_x86_PREFIX" "$installLocation86"
+# For UA msvc2015 is binary compatible with msvc2017
+Set-EnvironmentVariable "CI_UACPP_msvc2017_x86_PREFIX" "$installLocation86"
+
+
+#x64 version
+$installerName64 = "uasdkcppbundle-bin-EVAL-win64-x86_64-vs2015-v1.6.3-406"
+$downloadSha64 = "1384e6882644f9163e9840aee962cdb9ca3398c8"
+$installLocation64 = "C:\Utils\uacpp_x64"
+
+DownloadAndInstallUA $installerName64 $downloadSha64 $installLocation64
+Set-EnvironmentVariable "CI_UACPP_msvc2015_x64_PREFIX" "$installLocation64"
+# For UA msvc2015 is binary compatible with msvc2017
+Set-EnvironmentVariable "CI_UACPP_msvc2017_x64_PREFIX" "$installLocation64"
diff --git a/coin/provisioning/common/windows/open62541.ps1 b/coin/provisioning/common/windows/open62541.ps1
deleted file mode 100644
index b7eceb4d..00000000
--- a/coin/provisioning/common/windows/open62541.ps1
+++ /dev/null
@@ -1,265 +0,0 @@
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-Param (
- [string]$targetCommand= ""
- )
-
-. "$PSScriptRoot\helpers.ps1"
-
-## Variables for builds
-$commitSHA = "215651ab8db94e5eacdd10ec26a5a9fb96b9301f"
-$sha1 = "8d899f986071525be73e1ee8565b28ea10536d7d"
-$extractTarget = "C:\open62541_build"
-
-function CreateArchive
-{
- param(
- [string]$sourceDirectory=$(throw("You must specify a directory")),
- [string]$archiveName=$(throw("You must specify an archive name"))
- )
-
- if ((Get-Command "7z.exe" -ErrorAction SilentlyContinue) -eq $null) {
- $zipExe = join-path (${env:ProgramFiles(x86)}, ${env:ProgramFiles}, ${env:ProgramW6432} -ne $null)[0] '7-zip\7z.exe'
- if (-not (test-path $zipExe)) {
- $zipExe = "C:\Utils\sevenzip\7z.exe"
- if (-not (test-path $zipExe)) {
- throw "Could not find 7-zip."
- }
- }
- } else {
- $zipExe = "7z.exe"
- }
-
- Run-Executable $zipExe "a -y `"$archiveName`" `"$sourceDirectory`""
-}
-
-function PrepareRepository
-{
- $username = $env:USERNAME
- $zip = "c:\users\$username\downloads\open62541.zip"
-
- $externalUrl = "https://github.com/open62541/open62541/archive/$commitSHA.zip"
- $internalUrl = "http://ci-files01-hki.intra.qt.io/input/open62541/$commitSHA.zip"
-
- Download $externalUrl $internalUrl $zip
- Verify-Checksum $zip $sha1
-
- Extract-7Zip $zip $extractTarget
-}
-
-function PushDevEnvironment
-{
- # Provisioning updates the registry entries for PATH etc. However, they are not
- # propagated to the next provisioning script and hence need to be manually
- # read / set.
- $adaptedPath = $env:PATH
- $jomLocation = [Environment]::GetEnvironmentVariable("CI_JOM_PATH", "Machine")
- $adaptedPath = $adaptedPath + ";" + $jomLocation
- $adaptedPath = $adaptedPath + ";" + "C:\Python27"
- $adaptedPath = $adaptedPath + ";" + "C:\CMake\bin"
- [Environment]::SetEnvironmentVariable("PATH", $adaptedPath, "Process")
-}
-
-function MSVCEnvironment
-{
- Param (
- [string]$msvcDir=$(throw("No VS Directory specified")),
- [string]$msvcbat=$(throw("No vsvars batch file specified"))
- )
-
- Push-Location $msvcDir
- cmd /c "$msvcbat&set" |
- foreach {
- if ($_ -match "=") {
- $v = $_.split("="); Set-Item -force -path "ENV:\$($v[0])" -value "$($v[1])"
- }
- }
- Pop-Location
-}
-
-function BuildAndInstallOpen62541
-{
- Param (
- [string]$Type=$(throw("You must specify the dev type [mingw530, mingw630, mingw730, msvc2015, msvc2017]")),
- [string]$Platform=$(throw("You must specify the target platform [x86, x64]")),
- [string]$MakeCommand=$(throw("You must specify a make command [mingw32-make, nmake]"))
- )
- Write-Host "### Open62541: Supposed to build with: $Type $Platform $MakeCommand"
-
- ## Make Build directory
- $buildDir = "$extractTarget\open62541-$commitSHA\build" + "_" + $Type + "_" + $Platform
- if (Test-Path $buildDir) {
- Write-Host " Deleting pre-existing build directory"
- Remove-Item $buildDir -Force -Recurse
- }
- New-Item -ItemType Directory -Force -Path $buildDir
- Push-Location $buildDir
-
- ## Invoke Cmake
- $makeGenerator = "NMake Makefiles JOM"
- $installTarget = "C:\Utils\open62541" + "_" + $Type + "_" + $Platform
- if (Test-Path $installTarget) {
- Write-Host " Deleting pre-existing install directory"
- Remove-Item $installTarget -Force -Recurse
- }
-
- if ($Type.StartsWith("mingw")) {
- $makeGenerator = "MinGW Makefiles"
- }
- cmake -G "$makeGenerator" -DUA_ENABLE_AMALGAMATION=ON -DUA_ENABLE_METHODCALLS=ON -DCMAKE_INSTALL_PREFIX:PATH=$installTarget -DLIB_INSTALL_DIR:PATH=$installTarget/lib ..
-
- ## Call build command
- Write-Host "### Open62541: Compilation ###"
- Run-Executable $MakeCommand
-
- ## call install command
- Write-Host "### Open62541: Installation ###"
- Run-Executable $MakeCommand install
-
- $platformVariable = "CI_OPEN62541_" + $Type + "_" + $Platform + "_PREFIX"
- Set-EnvironmentVariable $platformVariable $installTarget
-
- ## Packaging
- Push-Location "C:\Utils"
- $archiveName = "open62541_" + $Type + "_" + $Platform + ".7z"
- CreateArchive $installTarget $archiveName
- Pop-Location
-
- ## cleanup build directory
- Write-Host "### Open62541: Cleanup ###"
- Pop-Location
- Remove-Item $buildDir -Force -Recurse
-}
-
-function DownloadAndInstall
-{
- Param (
- [string]$Type=$(throw("You must specify the dev type [mingw530, mingw630, mingw730, msvc2015, msvc2017]")),
- [string]$Platform=$(throw("You must specify the target platform [x86, x64]"))
- )
- $baseLocation = "http://ci-files01-hki.intra.qt.io/input/open62541/"
- $targetName = "open62541_" + $Type + "_" + $Platform
- $archiveName = $targetName + ".7z"
- $downloadUrl = $baseLocation + $archiveName
-
- # Download
- $downloadTarget = "C:\Utils\" + $archiveName
- Download $downloadUrl $downloadUrl $downloadTarget
-
- # Extract
- Push-Location C:\Utils
- Extract-7Zip $downloadTarget C:\Utils
- Pop-Location
-
- # Set environment variable
- $platformVariable = "CI_OPEN62541_" + $Type + "_" + $Platform
- $platformPath = "C:\Utils\" + $targetName
- Set-EnvironmentVariable $platformVariable $platformPath
-}
-
-##############################
-# Startup #
-##############################
-if ($targetCommand.StartsWith("mingw")) {
- Write-Host "### Creating Open62541 for MinGW"
- $mingwPath = [Environment]::GetEnvironmentVariable($targetCommand, "Machine")
- if (!$mingwPath) {
- throw("Could not find mingw")
- }
-
- # Strawberry has its own gcc, put mingw in front
- $adaptedPath = $mingwPath + "\bin;" + [Environment]::GetEnvironmentVariable("PATH", "Machine")
- [Environment]::SetEnvironmentVariable("PATH", $adaptedPath, "Process")
-
- PushDevEnvironment
- BuildAndInstallOpen62541 $targetCommand x86 "mingw32-make"
-} elseif ($targetCommand -eq "msvc2015_x86") {
- Write-Host "### Creating Open62541 for MSVC2015 x86"
- MSVCEnvironment "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC" "vcvarsall.bat x86"
- PushDevEnvironment
- BuildAndInstallOpen62541 msvc2015 x86 jom
-} elseif ($targetCommand -eq "msvc2015_x64") {
- Write-Host "### Creating Open62541 for MSVC2015 x64"
- MSVCEnvironment "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC" "vcvarsall.bat amd64"
- PushDevEnvironment
- BuildAndInstallOpen62541 msvc2015 x64 jom
-} elseif ($targetCommand -eq "msvc2017_x86") {
- Write-Host "### Creating Open62541 for MSVC2017 x86"
- MSVCEnvironment "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build" vcvars32.bat
- PushDevEnvironment
- BuildAndInstallOpen62541 msvc2017 x86 jom
-} elseif ($targetCommand -eq "msvc2017_x64") {
- Write-Host "### Creating Open62541 for MSVC2017 x64"
- MSVCEnvironment "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build" vcvars64.bat
- PushDevEnvironment
- BuildAndInstallOpen62541 msvc2017 x64 jom
-} elseif ($targetCommand -eq "prepare") {
- PrepareRepository
-} elseif ($targetCommand -eq "build") {
- Write-Host "### Building for all supported platforms"
- PrepareRepository
- Write-Host "### Invoking MinGW530 build"
- PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand mingw530
- Write-Host "### Invoking MinGW630 build"
- PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand mingw630
- Write-Host "### Invoking MinGW730 build"
- PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand mingw730
- Write-Host "### Invoking MSVC2015 build"
- PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand msvc2015_x86
- PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand msvc2015_x64
- Write-Host "### Invoking MSVC2017 build"
- PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand msvc2017_x86
- PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand msvc2017_x64
- Write-Host "### Archives have been generated at C:/Utils. Please upload manually"
-} elseif ($targetCommand -eq "packaged") {
- Write-Host "### Expecting pre-built packages, download and install from archives"
- Write-Host "### MinGW530 x64"
- DownloadAndInstall mingw530 x86
- Write-Host "### MinGW630 x64"
- DownloadAndInstall mingw630 x86
- Write-Host "### MinGW730 x64"
- DownloadAndInstall mingw730 x64
- Write-Host "### MSVC2015 x86"
- DownloadAndInstall msvc2015 x86
- Write-Host "### MSVC2015 x64"
- DownloadAndInstall msvc2015 x64
- Write-Host "### MSVC2017 x64"
- DownloadAndInstall msvc2017 x64
-} elseif ($targetCommand) {
- Write-Host "### Unknown parameter specified:" $targetCommand " Options are: mingw, msvc2015_x(86/64), msvc2017_x(86/64)"
- throw("Unknown parameter")
-} else {
- # Default behavior
- PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand build
-}
diff --git a/coin/provisioning/common/windows/squish-coco.ps1 b/coin/provisioning/common/windows/squish-coco.ps1
new file mode 100644
index 00000000..cef4dadf
--- /dev/null
+++ b/coin/provisioning/common/windows/squish-coco.ps1
@@ -0,0 +1,48 @@
+#############################################################################
+#
+# Copyright (C) 2018 The Qt Company Ltd.
+# Contact: http://www.qt.io/licensing/
+#
+# This file is part of the provisioning scripts of the Qt Toolkit.
+#
+# $QT_BEGIN_LICENSE:LGPL21$
+# Commercial License Usage
+# Licensees holding valid commercial Qt licenses may use this file in
+# accordance with the commercial license agreement provided with the
+# Software or, alternatively, in accordance with the terms contained in
+# a written agreement between you and The Qt Company. For licensing terms
+# and conditions see http://www.qt.io/terms-conditions. For further
+# information use the contact form at http://www.qt.io/contact-us.
+#
+# GNU Lesser General Public License Usage
+# Alternatively, this file may be used under the terms of the GNU Lesser
+# General Public License version 2.1 or version 3 as published by the Free
+# Software Foundation and appearing in the file LICENSE.LGPLv21 and
+# LICENSE.LGPLv3 included in the packaging of this file. Please review the
+# following information to ensure the GNU Lesser General Public License
+# requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+# http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+#
+# As a special exception, The Qt Company gives you certain additional
+# rights. These rights are described in The Qt Company LGPL Exception
+# version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+#
+# $QT_END_LICENSE$
+#
+############################################################################
+
+# This script installs Squish Coco for RTA
+
+. "$PSScriptRoot\helpers.ps1"
+
+
+$coco_version="4.2.2"
+$url="http://ci-files01-hki.intra.qt.io/input/coco/SquishCocoSetup_" + $coco_version + "_Windows_x64.exe"
+$sha1="d6f9f3c20df086ec9a7e13a068f4446442ae5d51"
+$installer="C:\Windows\Temp\SquishCocoSetup_" + $coco_version + "_Windows_x64.exe"
+
+Download $url $url $installer
+Verify-Checksum $installer $sha1
+Run-Executable $installer "/S"
+Run-Executable "C:\Program Files\squishcoco\cocolic.exe" "--license-server=Qt-SRV-33.intra.qt.io:49344"
+Remove-Item -Force -Path $installer
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh
index b547b479..addfb673 100755
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh
@@ -109,6 +109,9 @@ installPackages+=(xcb-util-image-devel)
installPackages+=(xcb-util-keysyms-devel)
installPackages+=(xcb-util-wm-devel)
installPackages+=(xcb-util-renderutil-devel)
+# ODBC support
+installPackages+=(unixODBC-devel)
+installPackages+=(unixODBC)
sudo yum -y install "${installPackages[@]}"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/35-install-breakpad.sh
new file mode 100644
index 00000000..74dd1579
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/35-install-breakpad.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/50-open62541.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-git_lfs.sh
index 21c926b8..7f5140fd 100755
--- a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/50-open62541.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-git_lfs.sh
@@ -1,8 +1,8 @@
-#!/bin/env bash
+#!/usr/bin/env bash
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2018 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -33,5 +33,11 @@
##
#############################################################################
-# shellcheck source=../common/linux/open62541.sh
-source "${BASH_SOURCE%/*}/../common/linux/open62541.sh"
+# Install Git Large File Storage
+
+set -ex
+
+curl -L https://packagecloud.io/github/git-lfs/gpgkey | sudo apt-key add -
+sudo apt-add-repository 'deb https://packagecloud.io/github/git-lfs/ubuntu/ xenial main'
+sudo apt update
+sudo apt install git-lfs
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-update_notifier.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-update_notifier.sh
new file mode 100755
index 00000000..55c6ce79
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-update_notifier.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+
+# shellcheck source=../common/linux/remove-update_notifier.sh
+source "${BASH_SOURCE%/*}/../common/linux/remove-update_notifier.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/35-install-breakpad.sh
new file mode 100644
index 00000000..74dd1579
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/35-install-breakpad.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/91-squish-coco.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/91-squish-coco.sh
new file mode 100755
index 00000000..43790efd
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/91-squish-coco.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+source "${BASH_SOURCE%/*}/../common/linux/squish-coco.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-10.12-x86_64/20-xcode.sh
index 84a6d06f..304eb0b6 100755
--- a/coin/provisioning/qtci-macos-10.12-x86_64/20-xcode.sh
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/20-xcode.sh
@@ -47,4 +47,4 @@ set -ex
# shellcheck source=../common/macos/install_xcode.sh
source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh"
-InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/Xcode_8.3.3.xz 8.3.3
+InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/Xcode_9.2.tar.gz 9.2
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh
index 462ac422..f7aba0dc 100755
--- a/coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh
@@ -37,10 +37,10 @@ set -ex
source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh"
-version="8.3.2"
-packageName="CommandLineToolsforXcode$version.dmg"
+version="9.2"
+packageName="Command_Line_Tools_macOS_10.12_for_Xcode_$version.dmg"
url="http://ci-files01-hki.intra.qt.io/input/mac/$packageName"
-sha1="da74b2bbf3058a0805c2d9f41ee5cf381d0e0ebe"
+sha1="f121c3b70fb77a98c1f2fc5e1932bd93bde03acf"
InstallCommandLineTools $url $url $sha1 $packageName $version
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh
index f836cf1d..36bcf53c 100755
--- a/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh
@@ -1,76 +1,5 @@
#!/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 install OpenSSL
-
set -ex
-# shellcheck source=../common/unix/InstallFromCompressedFileFromURL.sh
-source "${BASH_SOURCE%/*}/../common/unix/InstallFromCompressedFileFromURL.sh"
-# shellcheck source=../common/unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
-
-opensslVersion="1.0.2p"
-opensslFile="openssl-$opensslVersion.tar.gz"
-opensslDlUrl="http://ci-files01-hki.intra.qt.io/input/openssl/$opensslFile"
-opensslAltDlUrl="https://www.openssl.org/source/$opensslFile"
-opensslSha1="f34b5322e92415755c7d58bf5d0d5cf37666382c"
-
-# Below target location has been hard coded into Coin.
-# QTQAINFRA-1195
-opensslTargetLocation="/usr/local/opt/openssl"
-
-InstallFromCompressedFileFromURL "$opensslDlUrl" "$opensslAltDlUrl" "$opensslSha1" "/tmp/openssl-$opensslVersion" "openssl-$opensslVersion"
-cd "/tmp/openssl-$opensslVersion"
-pwd
-sudo ./config --prefix=/usr/local/openssl-$opensslVersion
-echo "Running 'make' for OpenSSL"
-sudo make --silent > /tmp/openssl_make.log 2>&1
-echo "Running 'make install' for OpenSSL"
-sudo make --silent install > /tmp/openssl_make_install.log 2>&1
-
-path=$(echo "$opensslTargetLocation" | sed -E 's/(.*)\/.*$/\1/')
-sudo mkdir -p "$path"
-sudo ln -s /usr/local/openssl-$opensslVersion $opensslTargetLocation
-
-SetEnvVar "PATH" "\"$opensslTargetLocation/bin:\$PATH\""
-SetEnvVar "MANPATH" "\"$opensslTargetLocation/share/man:\$MANPATH\""
-
-security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem
-security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem
-
-sudo rm -rf /tmp/openssl-$opensslVersion
-
-echo "OpenSSL = $opensslVersion" >> ~/versions.txt
+source "${BASH_SOURCE%/*}/../common/macos/install_openssl.sh"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-macos-10.13-x86_64/35-install-breakpad.sh
new file mode 100644
index 00000000..74dd1579
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/35-install-breakpad.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh
index 9e025a5e..36bcf53c 100755
--- a/coin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh
@@ -1,76 +1,5 @@
#!/usr/bin/env bash
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script install OpenSSL
-
set -ex
-# shellcheck source=../common/unix/InstallFromCompressedFileFromURL.sh
-source "${BASH_SOURCE%/*}/../common/unix/InstallFromCompressedFileFromURL.sh"
-# shellcheck source=../common/unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
-
-opensslVersion="1.0.2p"
-opensslFile="openssl-$opensslVersion.tar.gz"
-opensslDlUrl="http://ci-files01-hki.intra.qt.io/input/openssl/$opensslFile"
-opensslAltDlUrl="https://www.openssl.org/source/$opensslFile"
-opensslSha1="f34b5322e92415755c7d58bf5d0d5cf37666382c"
-
-# Below target location has been hard coded into Coin.
-# QTQAINFRA-1195
-opensslTargetLocation="/usr/local/opt/openssl"
-
-InstallFromCompressedFileFromURL "$opensslDlUrl" "$opensslAltDlUrl" "$opensslSha1" "/tmp/openssl-$opensslVersion" "openssl-$opensslVersion"
-cd "/tmp/openssl-$opensslVersion"
-pwd
-sudo ./config --prefix=/usr/local/openssl-$opensslVersion
-echo "Running 'make' for OpenSSL"
-sudo make --silent > /tmp/openssl_make.log 2>&1
-echo "Running 'make install' for OpenSSL"
-sudo make --silent install > /tmp/openssl_make_install.log 2>&1
-
-path=$(echo "$opensslTargetLocation" | sed -E 's/(.*)\/.*$/\1/')
-sudo mkdir -p "$path"
-sudo ln -s /usr/local/openssl-$opensslVersion $opensslTargetLocation
-
-SetEnvVar "PATH" "\"$opensslTargetLocation/bin:\$PATH\""
-SetEnvVar "MANPATH" "\"$opensslTargetLocation/share/man:\$MANPATH\""
-
-security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem
-security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem
-
-sudo rm -rf /tmp/openssl-$opensslVersion
-
-echo "OpenSSL = $opensslVersion" >> ~/versions.txt
+source "${BASH_SOURCE%/*}/../common/macos/install_openssl.sh"
diff --git a/coin/provisioning/qtci-windows-10-x86/02-disable-defragment.ps1 b/coin/provisioning/qtci-windows-10-x86/02-disable-defragment.ps1
new file mode 100644
index 00000000..10518401
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/02-disable-defragment.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-defragment.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/90-signing-tools.ps1 b/coin/provisioning/qtci-windows-10-x86/90-signing-tools.ps1
new file mode 100644
index 00000000..2ad25685
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/90-signing-tools.ps1
@@ -0,0 +1,44 @@
+#############################################################################
+##
+## 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$
+##
+#############################################################################
+
+. "$PSScriptRoot\..\common\windows\helpers.ps1"
+
+# Signing tools are needed to sign offline installers when releasing
+
+$url = "http://ci-files01-hki.intra.qt.io/input/semisecure/sign/sign.zip"
+$destination = "C:\Windows\temp\sign.zip"
+
+Download $url $url $destination
+Extract-7Zip "$destination" "C:\Utils"
+Remove-Item -Path "$destination"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/02-disable-defragment.ps1 b/coin/provisioning/qtci-windows-10-x86_64/02-disable-defragment.ps1
new file mode 100644
index 00000000..10518401
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/02-disable-defragment.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-defragment.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/35-install-breakpad.ps1 b/coin/provisioning/qtci-windows-10-x86_64/35-install-breakpad.ps1
new file mode 100644
index 00000000..9360a326
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/35-install-breakpad.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-breakpad.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/79-open62541.ps1 b/coin/provisioning/qtci-windows-10-x86_64/79-open62541.ps1
deleted file mode 100644
index 9b532392..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/79-open62541.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\open62541.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/91-squish-coco.ps1 b/coin/provisioning/qtci-windows-10-x86_64/91-squish-coco.ps1
new file mode 100644
index 00000000..bf4f8a96
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/91-squish-coco.ps1
@@ -0,0 +1,2 @@
+ "$PSScriptRoot\..\common\windows\squish-coco.ps1"
+
diff --git a/coin/provisioning/qtci-windows-7-x86/02-disable-defragment.ps1 b/coin/provisioning/qtci-windows-7-x86/02-disable-defragment.ps1
new file mode 100644
index 00000000..10518401
--- /dev/null
+++ b/coin/provisioning/qtci-windows-7-x86/02-disable-defragment.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-defragment.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/35-install-breakpad.ps1 b/coin/provisioning/qtci-windows-7-x86/35-install-breakpad.ps1
new file mode 100644
index 00000000..9360a326
--- /dev/null
+++ b/coin/provisioning/qtci-windows-7-x86/35-install-breakpad.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-breakpad.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/79-open62541.ps1 b/coin/provisioning/qtci-windows-7-x86/79-open62541.ps1
deleted file mode 100644
index 85bfb98c..00000000
--- a/coin/provisioning/qtci-windows-7-x86/79-open62541.ps1
+++ /dev/null
@@ -1,2 +0,0 @@
-. "$PSScriptRoot\..\common\windows\open62541.ps1" -targetCommand prepare
-. "$PSScriptRoot\..\common\windows\open62541.ps1" -targetCommand mingw730
diff --git a/coin/provisioning/qtci-windows-7-x86_64/02-disable-defragment.ps1 b/coin/provisioning/qtci-windows-7-x86_64/02-disable-defragment.ps1
new file mode 100644
index 00000000..10518401
--- /dev/null
+++ b/coin/provisioning/qtci-windows-7-x86_64/02-disable-defragment.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-defragment.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/35-install-breakpad.ps1 b/coin/provisioning/qtci-windows-7-x86_64/35-install-breakpad.ps1
new file mode 100644
index 00000000..9360a326
--- /dev/null
+++ b/coin/provisioning/qtci-windows-7-x86_64/35-install-breakpad.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-breakpad.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86/02-disable-defragment.ps1 b/coin/provisioning/qtci-windows-8.1-x86/02-disable-defragment.ps1
new file mode 100644
index 00000000..10518401
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86/02-disable-defragment.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-defragment.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/02-disable-defragment.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/02-disable-defragment.ps1
new file mode 100644
index 00000000..10518401
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86_64/02-disable-defragment.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-defragment.ps1"