diff options
author | Liang Qi <liang.qi@qt.io> | 2018-09-16 16:39:28 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2018-09-16 16:39:28 +0200 |
commit | a03ecaa7fdc03eef86a2b76b4e9f09a2a7c11179 (patch) | |
tree | c429463ea4ed90ed92f0e130426359a6cad2748b /coin | |
parent | 291aa4d3662f537f03b42299e6608baed2e066aa (diff) | |
parent | e59a97be63c388e041f8c9b6a6fa324ca2aeff6e (diff) |
Merge remote-tracking branch 'origin/5.12' into dev
Change-Id: I433d7f0d4fd69509acc405b3de3979426dbbc660
Diffstat (limited to 'coin')
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" |