aboutsummaryrefslogtreecommitdiffstats
path: root/coin
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2018-09-16 16:39:28 +0200
committerLiang Qi <liang.qi@qt.io>2018-09-16 16:39:28 +0200
commita03ecaa7fdc03eef86a2b76b4e9f09a2a7c11179 (patch)
treec429463ea4ed90ed92f0e130426359a6cad2748b /coin
parent291aa4d3662f537f03b42299e6608baed2e066aa (diff)
parente59a97be63c388e041f8c9b6a6fa324ca2aeff6e (diff)
Merge remote-tracking branch 'origin/5.12' into dev
Diffstat (limited to 'coin')
-rw-r--r--coin/platform_configs/qt3d-runtime.txt19
-rw-r--r--coin/platform_configs/qtbase.txt2
-rwxr-xr-xcoin/provisioning/common/linux/disable-cracklib.sh4
-rwxr-xr-xcoin/provisioning/common/linux/disable-mlocate.sh3
-rwxr-xr-xcoin/provisioning/common/linux/docker.sh52
-rwxr-xr-xcoin/provisioning/common/linux/emsdk.sh78
-rwxr-xr-xcoin/provisioning/common/linux/gcc.sh102
-rwxr-xr-xcoin/provisioning/common/linux/remove_update-manager.sh3
-rwxr-xr-xcoin/provisioning/common/linux/ubuntu-version.sh (renamed from coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/99-version.sh)2
-rwxr-xr-xcoin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh5
-rwxr-xr-xcoin/provisioning/common/unix/squishInstall.sh5
-rw-r--r--coin/provisioning/common/windows/jom.ps18
-rw-r--r--coin/provisioning/common/windows/libclang.ps14
-rw-r--r--coin/provisioning/common/windows/mesa_llvmpipe.ps119
-rw-r--r--coin/provisioning/common/windows/squishInstall.ps16
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-disable-mlocate.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-disable-mlocate.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-cracklib.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-mlocate.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-remove_update-manager4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-cracklib.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-mlocate.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-remove_update-manager4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh54
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh9
-rwxr-xr-x[-rw-r--r--]coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/22-mqtt_broker.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/60-qnx660.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/70-qnx700.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/80-docker.sh4
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-version.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/yocto_ssh_configurations.sh (renamed from coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/yocto_ssh_configurations.sh)0
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-42.3-x86_64/55-emsdk.sh38
33 files changed, 391 insertions, 75 deletions
diff --git a/coin/platform_configs/qt3d-runtime.txt b/coin/platform_configs/qt3d-runtime.txt
new file mode 100644
index 00000000..396b51dc
--- /dev/null
+++ b/coin/platform_configs/qt3d-runtime.txt
@@ -0,0 +1,19 @@
+Template Target OS Target arch Compiler Features
+--------------------------- ------------------- ----------- ----------- -------------------------------------------------------------------------------------
+qtci-windows-10-x86_64-10 WinRT_10 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
+qtci-windows-10-x86_64-10 WinRT_10 x86 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
+qtci-windows-7-x86-3 Mingw53 Packaging DebugAndRelease Release OpenGLDynamic DisableTests
+qtci-windows-10-x86_64-10 Mingw73 Packaging DebugAndRelease Release OpenGLDynamic DisableTests
+qtci-windows-10-x86_64-10 WinRT_10 armv7 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
+qtci-windows-10-x86_64-10 WinRT_10 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
+qtci-linux-RHEL-7.4-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
+qtci-windows-7-x86-3 Android_ANY armv7 Mingw53 Packaging Release DisableTests OpenGLES2
+qtci-windows-7-x86-3 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-macos-10.12-x86_64-8 IOS_ANY multi Clang Packaging DebugAndRelease DisableTests Static
+qtci-windows-10-x86_64-10 QNX_700 armv7 Mingw73 Packaging Release DisableTests OpenGLES2
+qtci-windows-10-x86_64-10 QNX_700 armv8 Mingw73 Packaging Release DisableTests OpenGLES2
+qtci-windows-10-x86_64-10 QNX_700 x86_64 Mingw73 Packaging Release DisableTests OpenGLES2
+qtci-linux-RHEL-7.4-x86_64 QNX_700 armv8 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
+qtci-linux-RHEL-7.4-x86_64 QNX_700 x86_64 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
diff --git a/coin/platform_configs/qtbase.txt b/coin/platform_configs/qtbase.txt
index 4a2c720c..aaac89d0 100644
--- a/coin/platform_configs/qtbase.txt
+++ b/coin/platform_configs/qtbase.txt
@@ -3,3 +3,5 @@ Template Target OS Target arch Compiler Fe
qtci-linux-Ubuntu-18.04-x86_64 QEMU armv7 GCC DeveloperBuild DisableTests
qtci-linux-Ubuntu-18.04-x86_64 QEMU arm64 GCC DeveloperBuild DisableTests
qtci-windows-10-x86_64-10 WinRT_10 x86_64 MSVC2015 DeveloperBuild Static Release ForceDebugInfo
+qtci-linux-openSUSE-42.3-x86_64 WebAssembly GCC DeveloperBuild NoPch DisableTests
+
diff --git a/coin/provisioning/common/linux/disable-cracklib.sh b/coin/provisioning/common/linux/disable-cracklib.sh
new file mode 100755
index 00000000..e6cfc7a5
--- /dev/null
+++ b/coin/provisioning/common/linux/disable-cracklib.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+
+sudo chmod -x /etc/cron.daily/cracklib-runtime
+
diff --git a/coin/provisioning/common/linux/disable-mlocate.sh b/coin/provisioning/common/linux/disable-mlocate.sh
new file mode 100755
index 00000000..c86df437
--- /dev/null
+++ b/coin/provisioning/common/linux/disable-mlocate.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+sudo chmod -x /etc/cron.daily/mlocate*
diff --git a/coin/provisioning/common/linux/docker.sh b/coin/provisioning/common/linux/docker.sh
new file mode 100755
index 00000000..16af0a0a
--- /dev/null
+++ b/coin/provisioning/common/linux/docker.sh
@@ -0,0 +1,52 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+set -ex
+
+# Download and install the docker engine.
+sudo apt-get install curl -y
+curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
+sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
+sudo apt-get update
+sudo apt-get install docker-ce -y
+sudo usermod -a -G docker $USER
+sudo docker info
+
+# Download and install the docker-compose extension.
+sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
+sudo chmod +x /usr/local/bin/docker-compose
+
+# Start testserver provisioning
+source "${BASH_SOURCE%/*}/testserver/docker_testserver.sh"
diff --git a/coin/provisioning/common/linux/emsdk.sh b/coin/provisioning/common/linux/emsdk.sh
new file mode 100755
index 00000000..64753844
--- /dev/null
+++ b/coin/provisioning/common/linux/emsdk.sh
@@ -0,0 +1,78 @@
+#!/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$
+##
+#############################################################################
+
+# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
+# shellcheck source=../unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+# shellcheck source=../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+
+version="1.38.1"
+version_node="8.9.1"
+urlEmscriptenCache="http://ci-files01-hki.intra.qt.io/input/emsdk/emscripten-$version.tar.gz"
+urlEmscriptenExternal="https://github.com/kripken/emscripten/archive/$version.tar.gz"
+urlEmscriptenLlvmCache="http://ci-files01-hki.intra.qt.io/input/emsdk/emscripten-llvm-e$version.tar.gz"
+urlEmscriptenLlvmExternal="https://s3.amazonaws.com/mozilla-games/emscripten/packages/llvm/tag/linux_64bit/emscripten-llvm-e$version.tar.gz"
+urlNodeCache="http://ci-files01-hki.intra.qt.io/input/emsdk/node-v$version_node-linux-x64.tar.xz"
+urlNodeExternal="https://s3.amazonaws.com/mozilla-games/emscripten/packages/node-v$version_node-linux-x64.tar.xz"
+sha1Emscripten="62243b4219f6ad7f6d4bd5ae4abb27aecb87ffb3"
+sha1EmscriptenLlvm="933ea5feab3aa5acc5c1e15a0deccf0e3fbeb0a7"
+sha1Node="eaec5de2af934f7ebc7f9597983e71c5d5a9a726"
+targetFolder="/opt/emsdk"
+sudo mkdir "$targetFolder"
+
+InstallFromCompressedFileFromURL "$urlEmscriptenCache" "$urlEmscriptenExternal" "$sha1Emscripten" "$targetFolder" ""
+InstallFromCompressedFileFromURL "$urlEmscriptenLlvmCache" "$urlEmscriptenLlvmExternal" "$sha1EmscriptenLlvm" "$targetFolder" ""
+InstallFromCompressedFileFromURL "$urlNodeCache" "$urlNodeExternal" "$sha1Node" "$targetFolder" ""
+
+sudo chmod -R a+rwx "$targetFolder"
+
+echo "Writing $targetFolder/.emscripten"
+cat <<EOM >"$targetFolder/.emscripten"
+LLVM_ROOT='$targetFolder/emscripten-llvm-e$version/'
+EMSCRIPTEN_NATIVE_OPTIMIZER='$targetFolder/emscripten-llvm-e$version/optimizer'
+BINARYEN_ROOT='$targetFolder/emscripten-llvm-e$version/binaryen'
+NODE_JS='$targetFolder/node-v$version_node-linux-x64/bin/node'
+EMSCRIPTEN_ROOT='$targetFolder/emscripten-$version'
+SPIDERMONKEY_ENGINE = ''
+V8_ENGINE = ''
+TEMP_DIR = '/tmp'
+COMPILER_ENGINE = NODE_JS
+JS_ENGINES = [NODE_JS]
+EOM
+
+SetEnvVar "PATH" "\"$targetFolder/emscripten-llvm-e$version/:$targetFolder/node-v$version_node-linux-x64/bin:$targetFolder/emscripten-$version:\$PATH\""
+SetEnvVar "EMSCRIPTEN" "$targetFolder/emscripten-$version"
+SetEnvVar "EM_CONFIG" "$targetFolder/.emscripten"
diff --git a/coin/provisioning/common/linux/gcc.sh b/coin/provisioning/common/linux/gcc.sh
new file mode 100755
index 00000000..44ff654b
--- /dev/null
+++ b/coin/provisioning/common/linux/gcc.sh
@@ -0,0 +1,102 @@
+#!/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 builds GCC from sources
+
+# shellcheck source=../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+
+set -ex
+
+function InstallGCC() {
+ version=$1
+ priority=$2
+ prebuiltSHA1=$3
+ sourcesSHA1=$4
+
+ tmpFolder="/tmp"
+
+ prebuiltGCC="http://ci-files01-hki.intra.qt.io/input/gcc/gcc-$version-prebuilt.tar.gz"
+ prebuiltTarget="$tmpFolder/gcc-$version-prebuilt.tar.gz"
+ installPrefix="/usr/local"
+
+ suffixVersion=$(echo "$version" | cut -d "." -f1,2)
+ sourceFile="gcc-$version.tar.xz"
+ cachedUrl="http://ci-files01-hki.intra.qt.io/input/gcc/$sourceFile"
+ officialUrl="ftp://ftp.mpi-sb.mpg.de/pub/gnu/mirror/gcc.gnu.org/pub/gcc/releases/gcc-$version/$sourceFile"
+
+ targetFile="$tmpFolder/$sourceFile"
+ buildFolder="$HOME/gcc_build"
+
+ echo "Fetching prebuilt GCC."
+ curl --fail -L --retry 5 --retry-delay 5 -o "$prebuiltTarget" "$prebuiltGCC" || (
+ echo "Fetching prebuilt GCC failed. Building from sources."
+ DownloadURL "$cachedUrl" "$officialUrl" "$sourcesSHA1" "$targetFile"
+ )
+
+ if [ -f "$prebuiltTarget" ]; then
+ echo "$prebuiltSHA1 *$prebuiltTarget" | sha1sum -c -
+ sudo tar -xzf "$prebuiltTarget" -C "$installPrefix"
+ rm -rf "$prebuiltTarget"
+ else
+ tar -C "$tmpFolder" -xJf "$targetFile"
+ mkdir -p "$buildFolder"
+ cd "$tmpFolder/gcc-$version"
+ sudo "$tmpFolder/gcc-$version/contrib/download_prerequisites"
+ cd "$buildFolder"
+ "$tmpFolder/gcc-$version/configure" --disable-bootstrap --enable-languages=c,c++,lto --prefix="$installPrefix" --program-suffix="-$suffixVersion"
+ make -j4
+ sudo make install
+
+ rm -rf "$targetFile"
+ rm -rf "$tmpFolder/gcc-$version"
+ fi
+
+ # openSUSE has update-alternatives under /usr/sbin and it has grouped the commands by means of master and slave links
+ if [ -f "/usr/sbin/update-alternatives" ]; then
+ sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc "$installPrefix/bin/gcc-$suffixVersion" "$priority" \
+ --slave /usr/bin/g++ g++ "$installPrefix/bin/g++-$suffixVersion" \
+ --slave /usr/bin/cc cc "$installPrefix/bin/gcc-$suffixVersion" \
+ --slave /usr/bin/c++ c++ "$installPrefix/bin/g++-$suffixVersion"
+ else
+ sudo /usr/bin/update-alternatives --install /usr/bin/gcc gcc "$installPrefix/bin/gcc-$suffixVersion" "$priority"
+ sudo /usr/bin/update-alternatives --install /usr/bin/g++ g++ "$installPrefix/bin/g++-$suffixVersion" "$priority"
+ sudo /usr/bin/update-alternatives --install /usr/bin/cc cc "$installPrefix/bin/gcc-$suffixVersion" "$priority"
+ sudo /usr/bin/update-alternatives --install /usr/bin/c++ c++ "$installPrefix/bin/g++-$suffixVersion" "$priority"
+ fi
+
+
+ echo "GCC = $version" >> ~/versions.txt
+}
diff --git a/coin/provisioning/common/linux/remove_update-manager.sh b/coin/provisioning/common/linux/remove_update-manager.sh
new file mode 100755
index 00000000..d5dc1ca4
--- /dev/null
+++ b/coin/provisioning/common/linux/remove_update-manager.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+sudo apt-get remove update-manager
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/99-version.sh b/coin/provisioning/common/linux/ubuntu-version.sh
index 21a4c4cf..d403df13 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/99-version.sh
+++ b/coin/provisioning/common/linux/ubuntu-version.sh
@@ -43,4 +43,4 @@ echo "***** All installed packages *****" >> ~/versions.txt
apt list --installed >> ~/versions.txt
echo "*********************************************" >> ~/versions.txt
-"$(dirname "$0")/../common/linux/version.sh"
+"$(dirname "$0")/version.sh"
diff --git a/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh b/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh
index 1185afeb..34bcf289 100755
--- a/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh
+++ b/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh
@@ -2,7 +2,7 @@
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2018 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
@@ -64,6 +64,9 @@ function InstallFromCompressedFileFromURL {
"zip")
unzip "$targetFile" -d "$targetDirectory"
;;
+ "xz")
+ tar -xf "$targetFile" --directory "$targetDirectory"
+ ;;
*)
exit 1
;;
diff --git a/coin/provisioning/common/unix/squishInstall.sh b/coin/provisioning/common/unix/squishInstall.sh
index cf1468c6..0f31e5fd 100755
--- a/coin/provisioning/common/unix/squishInstall.sh
+++ b/coin/provisioning/common/unix/squishInstall.sh
@@ -38,9 +38,9 @@ set -ex
# This script will install squish package for Linux and Mac.
# Squish is need by Release Test Automation (RTA)
-version="6.3.0"
+version="6.3.2"
# Branch version without dot
-qtBranch="59x"
+qtBranch="510x"
squishFolder="/opt/squish"
squishUrl="ci-files01-hki.intra.qt.io:/hdd/www/input/squish/coin/$qtBranch/"
squishFile="squish-$version-qt$qtBranch-linux64.run"
@@ -129,6 +129,7 @@ function MountAndInstall {
echo "'run-file', no need to uncompress"
sudo cp $targetFileMount $targetDirectory
UnMount
+ sudo chmod +x $targetDirectory/$targetFile
sudo $targetDirectory/$targetFile unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null 2>&1
sudo rm -fr "$targetDirectory/$targetFile"
if uname -a |grep -q "Ubuntu"; then
diff --git a/coin/provisioning/common/windows/jom.ps1 b/coin/provisioning/common/windows/jom.ps1
index 7c59c61c..21993184 100644
--- a/coin/provisioning/common/windows/jom.ps1
+++ b/coin/provisioning/common/windows/jom.ps1
@@ -1,11 +1,13 @@
. "$PSScriptRoot\helpers.ps1"
-$zip = Get-DownloadLocation "jom_1_1_2.zip"
+$version = "1_1_2"
+$zip = Get-DownloadLocation "jom_$version.zip"
-Invoke-WebRequest -UseBasicParsing http://download.qt.io/official_releases/jom/jom_1_1_2.zip -OutFile $zip
+Download http://download.qt.io/official_releases/jom/jom_$version.zip http://ci-files01-hki.ci.local/input/windows/jom_$version.zip $zip
Verify-Checksum $zip "80EE5678E714DE99DDAF5F7593AB04DB1C7928E4"
Extract-7Zip $zip C:\Utils\Jom
Set-EnvironmentVariable "CI_JOM_PATH" "C:\Utils\Jom"
-Write-Output "Jom = 1.1.2" >> ~/versions.txt
+$version = $version.replace('_','.')
+Write-Output "Jom = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/libclang.ps1 b/coin/provisioning/common/windows/libclang.ps1
index dd21f424..7caecc96 100644
--- a/coin/provisioning/common/windows/libclang.ps1
+++ b/coin/provisioning/common/windows/libclang.ps1
@@ -6,6 +6,7 @@ param(
. "$PSScriptRoot\helpers.ps1"
$libclang_version="6.0"
+Write-Output "libClang = $libclang_version" >> ~/versions.txt
# PySide versions following 5.6 use a C++ parser based on Clang (http://clang.org/).
# The Clang library (C-bindings), version 3.9 or higher is required for building.
@@ -13,6 +14,7 @@ $libclang_version="6.0"
# Starting from Qt 5.11 QDoc requires Clang to parse C++
$baseDestination = "C:\Utils\libclang-" + $libclang_version + "-" + $toolchain
+$libclang_version = $libclang_version -replace '["."]'
function install() {
@@ -23,7 +25,6 @@ function install() {
$zip = "c:\users\qt\downloads\libclang.7z"
- $libclang_version = $libclang_version -replace '["."]'
$script:OfficialUrl = "https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_$libclang_version-windows-$toolchain`_$archVer.7z"
$script:CachedUrl = "http://ci-files01-hki.intra.qt.io/input/libclang/qt/libclang-release_$libclang_version-windows-$toolchain`_$archVer.7z"
@@ -72,7 +73,6 @@ if ( $setDefault ) {
Set-EnvironmentVariable "LLVM_INSTALL_DIR" ($baseDestination + "-_ARCH_")
}
Set-EnvironmentVariable ("LLVM_INSTALL_DIR_" + $toolchainSuffix) ($baseDestination + "-_ARCH_")
-Write-Output "libClang = $libclang_version" >> ~/versions.txt
if ( $libclang_version -eq "60" ) {
# This is a hacked static build of libclang which requires special
diff --git a/coin/provisioning/common/windows/mesa_llvmpipe.ps1 b/coin/provisioning/common/windows/mesa_llvmpipe.ps1
index 2f613076..ee792896 100644
--- a/coin/provisioning/common/windows/mesa_llvmpipe.ps1
+++ b/coin/provisioning/common/windows/mesa_llvmpipe.ps1
@@ -35,20 +35,21 @@
$version = "11_2_2"
$package = "C:\Windows\temp\opengl32sw.7z"
$mesaOpenglSha1_64 = "b2ffa5f230a0caa2c2e0bb9a5398bcfb81a0e5d1"
-$mesaOpenglUrl_64 = "http://download.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-64-mesa_$version.7z"
+$mesaOpenglUrl_64_cache = "http://ci-files01-hki.intra.qt.io/input/windows/opengl32sw-64-mesa_$version.7z"
+$mesaOpenglUrl_64_alt = "http://download.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-64-mesa_$version.7z"
$mesaOpenglSha1_32 = "e742e9d4e16b9c69b6d844940861d3ef1748356b"
-$mesaOpenglUrl_32 = "http://download.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-32-mesa_$version.7z"
+$mesaOpenglUrl_32_cache = "http://ci-files01-hki.intra.qt.io/input/windows/opengl32sw-32-mesa_$version.7z"
+$mesaOpenglUrl_32_alt = "http://download.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-32-mesa_$version.7z"
function Extract-Mesa
{
Param (
- [string]$downloadUrl,
+ [string]$downloadUrlCache,
+ [string]$downloadUrlAlt,
[string]$sha1,
[string]$targetFolder
)
- Write-Host "Installing Mesa from $downloadUrl to $targetFolder"
- Write-Host "Downloading $downloadUrl to $package"
- Invoke-WebRequest -UseBasicParsing $downloadUrl -OutFile $package
+ Download $downloadUrlAlt $downloadUrlCache $package
Verify-Checksum $package $sha1
Extract-7Zip $package $targetFolder
Write-Host "Removing $package"
@@ -56,10 +57,10 @@ function Extract-Mesa
}
if (Is64BitWinHost) {
- Extract-Mesa $mesaOpenglUrl_64 $mesaOpenglSha1_64 "C:\Windows\System32"
- Extract-Mesa $mesaOpenglUrl_32 $mesaOpenglSha1_32 "C:\Windows\SysWOW64"
+ Extract-Mesa $mesaOpenglUrl_64_cache $mesaOpenglUrl_64_alt $mesaOpenglSha1_64 "C:\Windows\System32"
+ Extract-Mesa $mesaOpenglUrl_32_cache $mesaOpenglUrl_32_alt $mesaOpenglSha1_32 "C:\Windows\SysWOW64"
} else {
- Extract-Mesa $mesaOpenglUrl_32 $mesaOpenglSha1_32 "C:\Windows\system32"
+ Extract-Mesa $mesaOpenglUrl_32_cache $mesaOpenglUrl_32_alt $mesaOpenglSha1_32 "C:\Windows\system32"
}
Write-Output "Mesa llvmpipe = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/squishInstall.ps1 b/coin/provisioning/common/windows/squishInstall.ps1
index 8db53ca7..5fb032f5 100644
--- a/coin/provisioning/common/windows/squishInstall.ps1
+++ b/coin/provisioning/common/windows/squishInstall.ps1
@@ -38,11 +38,11 @@
# NOTE! Make sure 64bit versions are always installed before 32bit,
# because they use same folder name before a rename
-$version = "6.3.0"
+$version = "6.3.2"
# Qt branch without dot (*.*)
-$qtBranch = "59x"
-# So far Squish built with Qt5.9 works also with 5.10 and 5.11, but we have to be prepared that on some point
+$qtBranch = "510x"
+# So far Squish built with Qt5.10 works also with 5.11, but we have to be prepared that on some point
# the compatibility breaks, and we may need to have separate Squish packages for different Qt versions.
$targetDir = "C:\Utils\squish"
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-disable-mlocate.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-disable-mlocate.sh
new file mode 100755
index 00000000..f12cff1e
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-disable-mlocate.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/linux/disable-mlocate.sh
+"$BASEDIR/../common/linux/disable-mlocate.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-disable-mlocate.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-disable-mlocate.sh
new file mode 100755
index 00000000..f12cff1e
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-disable-mlocate.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/linux/disable-mlocate.sh
+"$BASEDIR/../common/linux/disable-mlocate.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-cracklib.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-cracklib.sh
new file mode 100755
index 00000000..8590d4e4
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-cracklib.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+
+# shellcheck source=../common/linux/disable-cracklib.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable-cracklib.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-mlocate.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-mlocate.sh
new file mode 100755
index 00000000..f12cff1e
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-mlocate.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/linux/disable-mlocate.sh
+"$BASEDIR/../common/linux/disable-mlocate.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-remove_update-manager b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-remove_update-manager
new file mode 100755
index 00000000..12302976
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-remove_update-manager
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+
+# shellcheck source=../common/linux/remove_update-manager.sh
+source "${BASH_SOURCE%/*}/../common/linux/remove_update-manager.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-cracklib.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-cracklib.sh
new file mode 100755
index 00000000..8590d4e4
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-cracklib.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+
+# shellcheck source=../common/linux/disable-cracklib.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable-cracklib.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-mlocate.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-mlocate.sh
new file mode 100755
index 00000000..f12cff1e
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-mlocate.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/linux/disable-mlocate.sh
+"$BASEDIR/../common/linux/disable-mlocate.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-remove_update-manager b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-remove_update-manager
new file mode 100755
index 00000000..12302976
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-remove_update-manager
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+
+# shellcheck source=../common/linux/remove_update-manager.sh
+source "${BASH_SOURCE%/*}/../common/linux/remove_update-manager.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh
index 90c3a7eb..4a6681f3 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh
@@ -1,52 +1,4 @@
-#!/usr/bin/env bash
+#!/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 -ex
-
-# Download and install the docker engine.
-sudo apt-get install curl -y
-curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
-sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
-sudo apt-get update
-sudo apt-get install docker-ce -y
-sudo usermod -a -G docker $USER
-sudo docker info
-
-# Download and install the docker-compose extension.
-sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
-sudo chmod +x /usr/local/bin/docker-compose
-
-# Start testserver provisioning
-source "${BASH_SOURCE%/*}/../common/linux/testserver/docker_testserver.sh"
+BASEDIR=$(dirname "$0")
+$BASEDIR/../common/linux/docker.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh
index eb0361b3..d4f136a6 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh
@@ -96,6 +96,7 @@ installPackages+=(g++-multilib)
installPackages+=(python3-dev)
installPackages+=(python3-pip)
installPackages+=(python3-virtualenv)
+installPackages+=(python3-wheel)
# python2 development package
installPackages+=(python-dev)
# Automates interactive applications (Needed by RTA to automate configure testing)
@@ -155,3 +156,9 @@ sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}
echo "Running update for apt"
waitLoop
sudo apt-get update
+
+# Install all needed packages in a special wheel cache directory
+pip3 wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../common/shared/requirements.txt
+
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh
new file mode 100755
index 00000000..62940e21
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/linux/gcc.sh
+source "${BASH_SOURCE%/*}/../common/linux/gcc.sh"
+
+InstallGCC 8.2.0 50 19e40bea7df5dbadb22eec09ada621ecd9235687 19926bdb6c4b58891015929853d41aeff019d400
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/22-mqtt_broker.sh
index 97b546f2..4527e984 100644..100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/22-mqtt_broker.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/22-mqtt_broker.sh
@@ -5,7 +5,7 @@
## Copyright (C) 2018 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
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/60-qnx660.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/60-qnx660.sh
index 6b5cf23c..1a185223 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/60-qnx660.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/60-qnx660.sh
@@ -1,4 +1,4 @@
-#!/bin/env bash
+#!/usr/bin/env bash
#############################################################################
##
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/70-qnx700.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/70-qnx700.sh
index 7f24d224..24ac2ac0 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/70-qnx700.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/70-qnx700.sh
@@ -1,4 +1,4 @@
-#!/bin/env bash
+#!/usr/bin/env bash
#############################################################################
##
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/80-docker.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/80-docker.sh
new file mode 100755
index 00000000..4a6681f3
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/80-docker.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+BASEDIR=$(dirname "$0")
+$BASEDIR/../common/linux/docker.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-version.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-version.sh
new file mode 100644
index 00000000..b062800a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-version.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+BASEDIR=$(dirname "$0")
+$BASEDIR/../common/linux/ubuntu-version.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/yocto_ssh_configurations.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/yocto_ssh_configurations.sh
index e4d988fc..e4d988fc 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/yocto_ssh_configurations.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/yocto_ssh_configurations.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/55-emsdk.sh
new file mode 100755
index 00000000..ecce5ae7
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/55-emsdk.sh
@@ -0,0 +1,38 @@
+#!/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$
+##
+#############################################################################
+
+set -ex
+
+source "${BASH_SOURCE%/*}/../common/linux/emsdk.sh"