aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoni Jäntti <joni.jantti@qt.io>2017-08-07 09:56:49 +0300
committerLiang Qi <liang.qi@qt.io>2017-10-19 09:28:44 +0000
commit357202801f5bdff61e69539e0ee7d2deee5c5143 (patch)
treed314d94b36eb2f2b69da2a6be99ffbe861c94b6d
parent5c7ccdbc833435890db890ea9c46569dbaecf8cc (diff)
Make CI use a new RHEL 7.4 provisioning
Added all the provisioning scripts that install required programs and make changes to certain settings. These are needed to build qt5. This commit replaces RHEL 7.2 in desktop builds, android builds and INTEGRITY builds. Task-number: QTQAINFRA-1251 Task-number: QTQAINFRA-1252 Task-number: QTQAINFRA-1253 Task-number: QTQAINFRA-1267 Task-number: QTQAINFRA-1269 Change-Id: Icef19df7fb799a4008ccdc0584821c982055e339 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
-rw-r--r--coin/platform_configs/default.txt4
-rw-r--r--coin/platform_configs/qt5.txt8
-rw-r--r--coin/provisioning/common/android_linux.sh124
-rw-r--r--coin/provisioning/common/disable_selinux.sh (renamed from coin/provisioning/qtci-linux-RHEL-7.2-x86_64/disable_selinux.sh)0
-rwxr-xr-xcoin/provisioning/common/integrity.sh (renamed from coin/provisioning/qtci-linux-RHEL-7.2-x86_64/30-integrity.sh)2
-rw-r--r--coin/provisioning/common/openssl_for_android_linux.sh85
-rw-r--r--coin/provisioning/common/qnx_700.sh (renamed from coin/provisioning/qtci-linux-RHEL-7.2-x86_64/10-qnx_700.sh)4
-rw-r--r--coin/provisioning/qtci-linux-RHEL-7.2-x86_64/01-linux-removethemall.sh1
-rw-r--r--coin/provisioning/qtci-linux-RHEL-7.2-x86_64/08-pythondev.sh18
-rw-r--r--coin/provisioning/qtci-linux-RHEL-7.2-x86_64/09-cmake.sh1
-rw-r--r--coin/provisioning/qtci-linux-RHEL-7.2-x86_64/40-android_linux.sh117
-rw-r--r--coin/provisioning/qtci-linux-RHEL-7.2-x86_64/rhel_packages.sh11
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/001-systemsetup.sh51
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/002-enable-repos.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/003-install-devtoolset6.sh40
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/004-install-packages.sh98
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/004-p7zip.sh42
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/005-libclang.sh (renamed from coin/provisioning/qtci-linux-RHEL-7.2-x86_64/08-libclang.sh)0
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/006-cmake.sh40
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/007-qnx_700.sh36
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/008-integrity.sh36
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/009-disable_selinux.sh36
-rwxr-xr-x[-rw-r--r--]coin/provisioning/qtci-linux-RHEL-7.4-x86_64/009-install_icu.sh (renamed from coin/provisioning/qtci-linux-RHEL-7.2-x86_64/install_icu.sh)47
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/010-openssl_for_android_linux.sh37
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/040-android_linux.sh36
25 files changed, 697 insertions, 179 deletions
diff --git a/coin/platform_configs/default.txt b/coin/platform_configs/default.txt
index fb4bda82..41e4b407 100644
--- a/coin/platform_configs/default.txt
+++ b/coin/platform_configs/default.txt
@@ -11,12 +11,12 @@ qtci-linux-Ubuntu-16.04-x86_64-1 GCC
qtci-linux-Ubuntu-16.04-x86_64-1 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace BuildExamples Documentation
qtci-linux-openSUSE-42.3-x86_64 GCC DeveloperBuild NoPch
qtci-linux-RHEL-6.6-x86_64 GCC Release ForceDebugInfo
-qtci-linux-RHEL-7.2-x86_64 GCC Packaging Release NoUseGoldLinker
+qtci-linux-RHEL-7.4-x86_64 GCC Packaging Release NoUseGoldLinker
qtci-macos-10.12-x86_64-8 Clang Packaging DebugAndRelease Release
qtci-osx-10.11-x86_64-3 Clang DeveloperBuild Release QtNamespace NoPch
qtci-osx-10.10-x86_64 Clang Release NoFramework DisableTests
qtci-macos-10.12-x86_64-8 IOS_ANY x86_64 Clang Release DisableTests Static
-qtci-linux-RHEL-7.2-x86_64 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
+qtci-linux-RHEL-7.4-x86_64 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
qtci-linux-Ubuntu-16.04-x86_64-1 Boot2Qt_Morty armv7 GCC Release
qtci-linux-Ubuntu-16.04-x86_64-1 GCC TestOnly LicenseCheck
qtci-linux-RHEL-6.6-x86_64 QNX_660 armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
diff --git a/coin/platform_configs/qt5.txt b/coin/platform_configs/qt5.txt
index 0f6e9e93..47d1bd0c 100644
--- a/coin/platform_configs/qt5.txt
+++ b/coin/platform_configs/qt5.txt
@@ -9,15 +9,15 @@ qtci-windows-10-x86_64-9 WinRT_10 x86 MSVC2017 Packagin
qtci-windows-7-x86-2 Mingw53 Packaging DebugAndRelease Release OpenGLDynamic DisableTests
qtci-windows-10-x86_64-9 WinRT_10 armv7 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
qtci-windows-10-x86_64-9 WinRT_10 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
-qtci-linux-RHEL-7.2-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
+qtci-linux-RHEL-7.4-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
qtci-windows-7-x86-2 Android_ANY armv7 Mingw53 Packaging Release DisableTests OpenGLES2
qtci-windows-7-x86-2 Android_ANY x86 Mingw53 Packaging Release DisableTests OpenGLES2
qtci-macos-10.12-x86_64-8 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2
qtci-macos-10.12-x86_64-8 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2
qtci-linux-RHEL-6.6-x86_64 QNX_660 x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
-qtci-linux-RHEL-7.2-x86_64 QNX_700 x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
-qtci-linux-RHEL-7.2-x86_64 QNX_700 armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
qtci-macos-10.12-x86_64-8 IOS_ANY multi Clang Packaging DebugAndRelease DisableTests Static
qtci-windows-10-x86_64-9 QNX_700 armv7 Mingw53 Packaging Release DisableTests OpenGLES2
qtci-windows-10-x86_64-9 QNX_700 x86 Mingw53 Packaging Release DisableTests OpenGLES2
-qtci-linux-RHEL-7.2-x86_64 INTEGRITY_11_04 armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
+qtci-linux-RHEL-7.4-x86_64 QNX_700 x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
+qtci-linux-RHEL-7.4-x86_64 QNX_700 armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
+qtci-linux-RHEL-7.4-x86_64 INTEGRITY_11_04 armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
diff --git a/coin/provisioning/common/android_linux.sh b/coin/provisioning/common/android_linux.sh
new file mode 100644
index 00000000..ee3008c1
--- /dev/null
+++ b/coin/provisioning/common/android_linux.sh
@@ -0,0 +1,124 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script install Android sdk and ndk.
+
+# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
+
+source "${BASH_SOURCE%/*}/../common/try_catch.sh"
+source "${BASH_SOURCE%/*}/../common/DownloadURL.sh"
+
+targetFolder="/opt/android"
+sdkTargetFolder="$targetFolder/sdk"
+
+basePath="http://ci-files01-hki.intra.qt.io/input/android"
+
+toolsVersion="r25.2.5"
+toolsFile="tools_$toolsVersion-linux.zip"
+ndkVersion="r10e"
+ndkFile="android-ndk-$ndkVersion-linux-x86_64.zip"
+sdkBuildToolsVersion="25.0.2"
+sdkApiLevel="android-21"
+
+toolsSha1="72df3aa1988c0a9003ccdfd7a13a7b8bd0f47fc1"
+ndkSha1="f692681b007071103277f6edc6f91cb5c5494a32"
+
+toolsTargetFile="/tmp/$toolsFile"
+toolsSourceFile="$basePath/$toolsFile"
+ndkTargetFile="/tmp/$ndkFile"
+ndkSourceFile="$basePath/$ndkFile"
+
+ExceptionDownload=99
+ExceptionUnzipTools=100
+ExceptionUnzipNdk=101
+ExceptionRmTools=102
+ExceptionRmNdk=103
+ExceptionSdkManager=104
+
+try
+(
+ (DownloadURL "$toolsSourceFile" "$toolsSourceFile" "$toolsSha1" "$toolsTargetFile") || throw $ExceptionDownload
+ (DownloadURL "$ndkSourceFile" "$ndkSourceFile" "$ndkSha1" "$ndkTargetFile") || throw $ExceptionDownload
+ echo "Unzipping Android NDK to '$targetFolder'"
+ sudo unzip -q "$ndkTargetFile" -d "$targetFolder" || throw $ExceptionUnzipNdk
+ echo "Unzipping Android Tools to '$sdkTargetFolder'"
+ sudo unzip -q "$toolsTargetFile" -d "$sdkTargetFolder" || throw $ExceptionUnzipTools
+ rm "$ndkTargetFile" || throw $ExceptionRmNdk
+ rm "$toolsTargetFile" || throw $ExceptionRmTools
+
+ echo "Changing ownership of Android files."
+ sudo chown -R qt:wheel "$targetFolder"
+
+ echo "Running SDK manager for platforms;$sdkApiLevel, tools, platform-tools and build-tools;$sdkBuildToolsVersion."
+ echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" || throw $ExceptionSdkManager
+
+ echo "export ANDROID_SDK_HOME=$sdkTargetFolder" >> ~/.bashrc
+ echo "export ANDROID_NDK_HOME=$targetFolder/android-ndk-$ndkVersion" >> ~/.bashrc
+ echo "export ANDROID_NDK_HOST=linux-x86_64" >> ~/.bashrc
+ echo "export ANDROID_API_VERSION=$sdkApiLevel" >> ~/.bashrc
+
+ echo "Android SDK tools = $toolsVersion" >> ~/versions.txt
+ echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt
+ echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt
+ echo "Android NDK = $ndkVersion" >> ~/versions.txt
+)
+catch || {
+ case $ex_code in
+ $ExceptionDownload)
+ exit 1;
+ ;;
+ $ExceptionUnzipTools)
+ echo "Failed to unzip Android SDK Tools."
+ exit 1;
+ ;;
+ $ExceptionUnzipNdk)
+ echo "Failed to unzip Android NDK."
+ exit 1;
+ ;;
+ $ExceptionRmTools)
+ echo "Failed to remove temporary tools package '$toolsTargetFile'."
+ exit 1;
+ ;;
+ $ExceptionRmNdk)
+ echo "Failed to remove temporary NDK package '$ndkTargetFile'."
+ exit 1;
+ ;;
+ $ExceptionSdkManager)
+ echo "Failed to run sdkmanager."
+ exit 1;
+ ;;
+ esac
+}
+
diff --git a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/disable_selinux.sh b/coin/provisioning/common/disable_selinux.sh
index 30162166..30162166 100644
--- a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/disable_selinux.sh
+++ b/coin/provisioning/common/disable_selinux.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/30-integrity.sh b/coin/provisioning/common/integrity.sh
index ae637a44..6998866a 100755
--- a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/30-integrity.sh
+++ b/coin/provisioning/common/integrity.sh
@@ -38,7 +38,7 @@
source "${BASH_SOURCE%/*}/../common/InstallFromCompressedFileFromURL.sh"
version="11.4.4"
-PrimaryUrl="http://ci-files01-hki.ci.local/input/integrity/ghs_$version.tar.gz"
+PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/integrity/ghs_$version.tar.gz"
AltUrl="$PrimaryUrl" # we lack an external source for this
SHA1="4afa3c15e13c91734951b73f6b21388294c5d794"
targetFolder="/opt/ghs"
diff --git a/coin/provisioning/common/openssl_for_android_linux.sh b/coin/provisioning/common/openssl_for_android_linux.sh
new file mode 100644
index 00000000..70684eaf
--- /dev/null
+++ b/coin/provisioning/common/openssl_for_android_linux.sh
@@ -0,0 +1,85 @@
+#!/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 from sources.
+# Requires GCC and Perl to be in PATH.
+
+source "${BASH_SOURCE%/*}/try_catch.sh"
+source "${BASH_SOURCE%/*}/DownloadURL.sh"
+
+version="1.0.2g"
+officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz"
+cachedUrl="http://ci-files01-hki.intra.qt.io/input/openssl/openssl-$version.tar.gz"
+targetFile="/tmp/openssl-$version.tar.gz"
+installFolder="/home/qt/"
+sha="36af23887402a5ea4ebef91df8e61654906f58f2"
+# Until every VM doing Linux Android builds have provisioned the env variable
+# OPENSSL_ANDROID_HOME, we can't change the hard coded path that's currently in Coin.
+# QTQAINFRA-1436
+opensslHome="${installFolder}openssl-1.0.2"
+
+ExceptionDownload=99
+ExceptionTar=100
+ExceptionConfig=101
+
+try
+(
+ (DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile") || throw $ExceptionDownload
+
+ tar -xzf "$targetFile" -C "$installFolder" || throw $ExceptionTar
+ # This rename should be removed once hard coded path from Coin is fixed. (QTQAINFRA-1436)
+ mv "${opensslHome}g" "${opensslHome}"
+ pushd "$opensslHome"
+ perl Configure shared android || throw $ExceptionConfig
+
+ echo "export OPENSSL_ANDROID_HOME=$opensslHome" >> ~/.bashrc
+ echo "OpenSSL for Android = $version" >> ~/versions.txt
+)
+catch || {
+ case $ex_code in
+ $ExceptionDownload)
+ exit 1;
+ ;;
+ $ExceptionTar)
+ echo "Failed to extract $targetFile"
+ exit 1;
+ ;;
+ $ExceptionConfig)
+ echo "Failed to run 'config'."
+ exit 1;
+ ;;
+ esac
+
+}
diff --git a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/10-qnx_700.sh b/coin/provisioning/common/qnx_700.sh
index 8a38c054..0c27e2af 100644
--- a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/10-qnx_700.sh
+++ b/coin/provisioning/common/qnx_700.sh
@@ -37,7 +37,7 @@
set -e
targetFolder="/opt/"
-sourceFile="http://ci-files01-hki.ci.local/input/qnx/qnx700.tar.xz"
+sourceFile="http://ci-files01-hki.intra.qt.io/input/qnx/qnx700.tar.xz"
sha1="949a87c5f00d0756956cb4b1b3b213ecaeee9113"
folderName="qnx700"
targetFile="qnx700.tar.xz"
@@ -60,5 +60,5 @@ fi
rm -rf $targetFile
# Set env variables
-echo 'export QNX_700=$targetFolder/$folderName' >> ~/.bashrc
+echo "export QNX_700=$targetFolder$folderName" >> ~/.bashrc
echo "QNX SDP = 7.0.0" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/01-linux-removethemall.sh b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/01-linux-removethemall.sh
deleted file mode 100644
index 38194671..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/01-linux-removethemall.sh
+++ /dev/null
@@ -1 +0,0 @@
-"${BASH_SOURCE%/*}/../common/linux-removethemall.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/08-pythondev.sh
deleted file mode 100644
index ff25f463..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/08-pythondev.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-# provides: python development libraries
-# 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-7.noarch.rpm
-sudo rpm -Uvh epel-release-latest-7.noarch.rpm
-sudo rm -f epel-release-latest-7.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-7.2-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/09-cmake.sh
deleted file mode 100644
index d7abd285..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/09-cmake.sh
+++ /dev/null
@@ -1 +0,0 @@
-$(dirname $0)/../common/cmake_linux.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/40-android_linux.sh
deleted file mode 100644
index 87569d72..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/40-android_linux.sh
+++ /dev/null
@@ -1,117 +0,0 @@
-#!/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script install Android sdk and ndk.
-
-# It also runs update for SDK API level 21, latest SDK tools, latest platform-tools and build-tools version 23.0.3
-
-# Build-tools version 23.0.3 is the latest usable version for Red Hat 6. Newer version of build-tools, version 24.x.x, requires GLIBC_2.14, which is not available in Red Hat 6.
-
-# Android 16 is the minimum requirement for Qt 5.7 applications, but we need something more recent than that for building Qt itself.
-# E.g The Bluetooth features that require Android 21 will disable themselves dynamically when running on an Android 16 device.
-# That's why we need to use Andoid-21 API version in Qt 5.9.
-
-set -e
-targetFolder="/opt/android"
-baseUrl="http://ci-files01-hki.ci.local/input/android"
-
-# SDK
-sdkPackage="android-sdk_r24.4.1-linux.tgz"
-sdkBuildToolsVersion="23.0.3"
-sdkApiLevel="android-21"
-sdkUrl="$baseUrl/$sdkPackage"
-sdkSha1="725bb360f0f7d04eaccff5a2d57abdd49061326d"
-sdkTargetFile="$targetFolder/$sdkPackage"
-sdkExtract="tar -C $targetFolder -zxf $sdkTargetFile"
-sdkFolderName="android-sdk-linux"
-sdkName="sdk"
-
-# NDK
-ndkVersion="r10e"
-ndkPackage="android-ndk-$ndkVersion-linux-x86_64.zip"
-ndkUrl="$baseUrl/$ndkPackage"
-ndkSha1="f692681b007071103277f6edc6f91cb5c5494a32"
-ndkTargetFile="$targetFolder/$ndkPackage"
-ndkExtract="unzip $ndkTargetFile -d $targetFolder"
-ndkFolderName="android-ndk-$ndkVersion"
-ndkName="ndk"
-
-function InstallAndroidPackage {
- targetFolder=$1
- version=$2
- url=$3
- sha1=$4
- targetFile=$5
- extract=$6
- folderName=$7
- name=$8
-
- sudo wget --tries=5 --waitretry=5 --output-document="$targetFile" "$url" || echo "Failed to download '$url' multiple times"
- echo "$sha1 $targetFile" | sha1sum --check || echo "Failed to check sha1sum"
- sudo chmod 755 "$targetFile"
- sudo $extract || echo "Failed to extract $url"
- sudo chown -R qt:users "$targetFolder"/"$folderName"
- sudo mv "$targetFolder"/"$folderName" "$targetFolder"/"$name" || echo "Failed to rename $name"
- sudo rm -fr "$targetFolder"/"$version"
-}
-
-sudo mkdir "$targetFolder"
-
-# Install Android SDK
-echo "Installing Android SDK version $sdkPackage..."
-InstallAndroidPackage "$targetFolder" $sdkPackage $sdkUrl $sdkSha1 $sdkTargetFile "$sdkExtract" $sdkFolderName $sdkName
-
-# Install Android NDK
-echo "Installing Android NDK version $ndkPackage..."
-InstallAndroidPackage "$targetFolder" $ndkPackage $ndkUrl $ndkSha1 $ndkTargetFile "$ndkExtract" $ndkFolderName $ndkName
-
-# run update for Android SDK and install SDK API version 18, latest SDK tools, platform-tools and build-tools
-echo "Running Android SDK update for API version 18, SDK-tools, platform-tools and build-tools-$sdkBuildToolsVersion..."
-echo "y" |"$targetFolder"/sdk/tools/android update sdk --no-ui --all --filter $sdkApiLevel,tools,platform-tools,build-tools-$sdkBuildToolsVersion || echo "Failed to run update"
-
-# For Qt 5.6, we by default require API levels 10, 11, 16 and 18, but we can override this by setting ANDROID_API_VERSION=android-18
-# From Qt 5.7 forward, if android-16 is not installed, Qt will automatically use more recent one.
-# echo 'export ANDROID_API_VERSION=$sdkApiLevel' >> ~/.bashrc
-
-# Storage version information to ~/versions.txt, which is used to print version information to provision log.
-echo "***** Android SDK *****" >> ~/versions.txt
-echo "Android SDK Api Level = $sdkApiLevel" >> ~/versions.txt
-echo "Android SDK Build Tools Version = $sdkBuildToolsVersion" >> ~/versions.txt
-platformTools="$(grep Pkg.Revision "$targetFolder"/sdk/platform-tools/source.properties | cut -c14-)"
-echo "Android Platform Tools = $platformTools" >> ~/versions.txt
-sdkTools="$(grep Pkg.Revision "$targetFolder"/sdk/tools/source.properties | cut -c14-)"
-echo "Android SDK Tools = $sdkTools" >> ~/versions.txt
-echo "***** Android NDK *****" >> ~/versions.txt
-echo "Android NDK Version = $ndkVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/rhel_packages.sh b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/rhel_packages.sh
deleted file mode 100644
index daf3efab..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/rhel_packages.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-# gstreamer 1 for QtMultimedia
-# gtk3 style for QtGui/QStyle
-# libusb1 for tqtc-boot2qt/qdb
-# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux
-
-sudo yum install -y \
- gstreamer1-devel gstreamer1-plugins-base-devel \
- gtk3-devel \
- libusb1-devel \
- speech-dispatcher-devel
-
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/001-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/001-systemsetup.sh
new file mode 100755
index 00000000..22bf19a3
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/001-systemsetup.sh
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+set -e
+
+BASEDIR=$(dirname "$0")
+source $BASEDIR/../common/network_test_server_ip.txt
+
+echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
+echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
+echo "Set DISPLAY"
+echo 'export DISPLAY=":0"' >> ~/.bashrc
+# for current session
+export DISPLAY=:0
+
+# disable Automatic screen lock
+gsettings set org.gnome.desktop.screensaver lock-enabled false
+# disable blank screen power saving
+gsettings set org.gnome.desktop.session idle-delay 0
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/002-enable-repos.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/002-enable-repos.sh
new file mode 100755
index 00000000..2697de04
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/002-enable-repos.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+sudo subscription-manager repos --enable rhel-workstation-rhscl-7-rpms
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/003-install-devtoolset6.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/003-install-devtoolset6.sh
new file mode 100755
index 00000000..ef65b881
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/003-install-devtoolset6.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+sudo yum-config-manager --enable rhel-server-rhscl7-rpms
+sudo yum -y install devtoolset-6
+
+echo "source /opt/rh/devtoolset-6/enable" >> ~/.bashrc
+
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/004-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/004-install-packages.sh
new file mode 100755
index 00000000..f7c6b694
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/004-install-packages.sh
@@ -0,0 +1,98 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+set -e
+
+sudo yum -y update
+
+sudo yum -y install git
+sudo yum -y install zlib-devel
+sudo yum -y install glib2-devel
+sudo yum -y install openssl-devel
+sudo yum -y install freetype-devel
+sudo yum -y install fontconfig-devel
+
+# EGL support
+sudo yum -y install mesa-libEGL-devel
+sudo yum -y install mesa-libGL-devel
+
+sudo yum -y install libxkbfile-devel
+
+# Xinput2
+sudo yum -y install libXi-devel
+
+sudo yum -y install python-devel
+sudo yum -y install mysql-server mysql
+sudo yum -y install mysql-devel
+sudo yum -y install postgresql-devel
+sudo yum -y install cups-devel
+sudo yum -y install dbus-devel
+
+# We have to downgrade to an older version of graphite2
+# to avoid a dependency version mismatch with gtk3-devel package.
+
+sudo yum -y downgrade graphite2-1.3.6-1.el7_2
+
+# gstreamer 1 for QtMultimedia
+sudo yum -y install gstreamer1-devel gstreamer1-plugins-base-devel
+
+# gtk3 style for QtGui/QStyle
+sudo yum -y install gtk3-devel
+
+# libusb1 for tqtc-boot2qt/qdb
+sudo yum -y install libusb-devel
+
+# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux
+sudo yum -y install speech-dispatcher-devel
+
+# Python
+sudo yum -y install python-devel python-virtualenv
+
+# WebEngine
+sudo yum -y install bison
+sudo yum -y install flex
+sudo yum -y install gperf
+sudo yum -y install alsa-lib-devel
+sudo yum -y install pulseaudio-libs-devel
+sudo yum -y install libXtst-devel
+
+# For Android builds
+sudo yum -y install java-1.8.0-openjdk-devel
+
+# For receiving shasum
+sudo yum -y install perl-Digest-SHA
+
+# INTEGRITY requirements
+sudo yum -y install glibc.i686
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/004-p7zip.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/004-p7zip.sh
new file mode 100755
index 00000000..d21fab6c
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/004-p7zip.sh
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+sudo wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm
+sudo rpm -ivh epel-release-7-10.noarch.rpm
+sudo yum -y install p7zip
+sudo rm epel-release-7-10.noarch.rpm
+
+# Link 7za to 7z so we can use existing installation scripts
+sudo ln -s /usr/bin/7za /usr/bin/7z
diff --git a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/005-libclang.sh
index abbda212..abbda212 100755
--- a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/08-libclang.sh
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/005-libclang.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/006-cmake.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/006-cmake.sh
new file mode 100755
index 00000000..46976e9a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/006-cmake.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script installs CMake 3.6.2
+
+# CMake is needed for autotests that verify that Qt can be built with CMake
+
+source "${BASH_SOURCE%/*}/../common/cmake_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/007-qnx_700.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/007-qnx_700.sh
new file mode 100755
index 00000000..4a4031cc
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/007-qnx_700.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+source "${BASH_SOURCE%/*}/../common/qnx_700.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/008-integrity.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/008-integrity.sh
new file mode 100755
index 00000000..56b1556d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/008-integrity.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+source "${BASH_SOURCE%/*}/../common/integrity.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/009-disable_selinux.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/009-disable_selinux.sh
new file mode 100755
index 00000000..3eced1a4
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/009-disable_selinux.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+source "${BASH_SOURCE%/*}/../common/disable_selinux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/install_icu.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/009-install_icu.sh
index 682ea91c..b51c9c8c 100644..100755
--- a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/install_icu.sh
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/009-install_icu.sh
@@ -1,11 +1,11 @@
-#!/bin/env bash
+#!/bin/bash
#############################################################################
##
-## Copyright (C) 2016 The Qt Company Ltd.
+## Copyright (C) 2017 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
-## This file is part of the test suite of the Qt Toolkit.
+## This file is part of the provisioning scripts of the Qt Toolkit.
##
## $QT_BEGIN_LICENSE:LGPL21$
## Commercial License Usage
@@ -33,38 +33,41 @@
##
#############################################################################
-# This script installs the right ICU version
-
set -e
+
+# This script will install ICU
+
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"
-function Install7ZPackageFromURL {
- url=$1
- expectedSha1=$2
- targetDirectory=$3
-
- targetFile=`mktemp` || echo "Failed to create temporary file"
- wget --tries=5 --waitretry=5 --output-document=$targetFile $url || echo "Failed to download '$url' multiple times"
- echo "$expectedSha1 $targetFile" | sha1sum --check || echo "Failed to check sha1sum"
- sudo /usr/local/bin/7z x -yo$targetDirectory $targetFile || echo "Failed to unzip $url archive"
- rm $targetFile
-}
+sha1Dev="bffde26cdea752bee0edd281820c57f1adac3864"
+develPackageURL="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"
-baseBinaryPackageURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z"
-Install7ZPackageFromURL $baseBinaryPackageURL $sha1 "/usr/lib64"
+targetFile=`mktemp` || echo "Failed to create temporary file"
+wget --tries=5 --waitretry=5 --output-document=$targetFile $baseBinaryPackageURL || echo "Failed to download '$baseBinaryPackageURL' multiple times"
+echo "$sha1 $targetFile" | sha1sum --check || echo "Failed to check sha1sum"
+sudo 7z x -y -o"/usr/lib64" $targetFile || echo "Failed to unzip $baseBinaryPackageURL archive"
+sudo rm $targetFile
echo "Installing custom ICU devel packages on RHEL"
-sha1Dev="bffde26cdea752bee0edd281820c57f1adac3864"
-develPackageURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z"
tempDir=`mktemp -d` || echo "Failed to create temporary directory"
-trap "sudo rm -fr $tempDir" EXIT
-Install7ZPackageFromURL $develPackageURL $sha1Dev $tempDir
+
+targetFile=`mktemp` || echo "Failed to create temporary file"
+wget --tries=5 --waitretry=5 --output-document=$targetFile $develPackageURL || echo "Failed to download '$develPackageURL' multiple times"
+echo "$sha1Dev $targetFile" | sha1sum --check || echo "Failed to check sha1sum"
+7z x -y -o$tempDir $targetFile || echo "Failed to unzip $develPackageURL archive"
+
sudo cp -a $tempDir/lib/* /usr/lib64
sudo cp -a $tempDir/* /usr/
+sudo rm $targetFile
+sudo rm -fr $tempDir
+
sudo /sbin/ldconfig
+
+echo "ICU = $icuVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/010-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/010-openssl_for_android_linux.sh
new file mode 100755
index 00000000..05b73729
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/010-openssl_for_android_linux.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+source /opt/rh/devtoolset-6/enable
+source "${BASH_SOURCE%/*}/../common/openssl_for_android_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/040-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/040-android_linux.sh
new file mode 100755
index 00000000..637c4224
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/040-android_linux.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+source "${BASH_SOURCE%/*}/../common/android_linux.sh"