diff options
Diffstat (limited to 'coin/provisioning')
32 files changed, 403 insertions, 68 deletions
diff --git a/coin/provisioning/common/linux/android_linux.sh b/coin/provisioning/common/linux/android_linux.sh index ca9110b8..01de5f07 100755 --- a/coin/provisioning/common/linux/android_linux.sh +++ b/coin/provisioning/common/linux/android_linux.sh @@ -55,8 +55,8 @@ toolsVersion="r26.1.1" toolsFile="sdk-tools-linux-4333796.zip" ndkVersion="r20" ndkFile="android-ndk-$ndkVersion-linux-x86_64.zip" -sdkBuildToolsVersion="28.0.3" -sdkApiLevel="android-28" +sdkBuildToolsVersion="29.0.3" +sdkApiLevel="android-29" toolsSha1="8c7c28554a32318461802c1291d76fccfafde054" ndkSha1="8665fc84a1b1f0d6ab3b5fdd1e30200cc7b9adff" diff --git a/coin/provisioning/common/macos/libusb.sh b/coin/provisioning/common/macos/libusb.sh index cf9e7150..0022d209 100755 --- a/coin/provisioning/common/macos/libusb.sh +++ b/coin/provisioning/common/macos/libusb.sh @@ -37,7 +37,7 @@ set -ex source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" -brew install libusb +brew install --build-from-source libusb read -r -a arr <<< $(brew list --versions libusb) version=${arr[1]} echo "libusb = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/macos/macos-version.sh b/coin/provisioning/common/macos/macos-version.sh index 9f357b8c..c88cd9b8 100755 --- a/coin/provisioning/common/macos/macos-version.sh +++ b/coin/provisioning/common/macos/macos-version.sh @@ -44,8 +44,6 @@ sw_vers >> ~/versions.txt echo "***** All installed packages *****" >> ~/versions.txt echo "***** HomeBrew *****" >> ~/versions.txt brew list --versions >> ~/versions.txt -echo "***** HomeBrew Casks*****" >> ~/versions.txt -brew cask list --versions >> ~/versions.txt echo "***** Apple's installer *****" >> ~/versions.txt pkgutil --pkgs >> ~/versions.txt echo "*********************************************" >> ~/versions.txt diff --git a/coin/provisioning/common/unix/libclang-v100-dyn.sh b/coin/provisioning/common/unix/libclang-v100-dyn.sh new file mode 100755 index 00000000..d6609429 --- /dev/null +++ b/coin/provisioning/common/unix/libclang-v100-dyn.sh @@ -0,0 +1,83 @@ +#!/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$ +## +############################################################################# + +# 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. + +# This same script is used to provision libclang to Linux and macOS. +# In case of Linux, we expect to get the values as args +set -e + +# shellcheck source=./check_and_set_proxy.sh +source "${BASH_SOURCE%/*}/check_and_set_proxy.sh" +# shellcheck source=./SetEnvVar.sh +source "${BASH_SOURCE%/*}/SetEnvVar.sh" +# shellcheck source=./DownloadURL.sh +source "${BASH_SOURCE%/*}/DownloadURL.sh" + +libclang_version=10.0 + +if uname -a |grep -q Darwin; then + version=$libclang_version + url="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${version//\./}-based-mac.7z" + sha1="0fe1fa50b1b469d2c05acc3a3468bc93a66f1e5a" + url_cached="http://ci-files01-hki.intra.qt.io/input/libclang/qt/libclang-release_${version//\./}-based-mac.7z" +elif test -f /etc/redhat-release || /etc/centos-release; then + version=$libclang_version + url="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${version//\./}-based-linux-Rhel7.6-gcc5.3-x86_64.7z" + sha1="1d2e265502fc0832a854f989d757105833fbd179" + url_cached="http://ci-files01-hki.intra.qt.io/input/libclang/libclang-release_${version//\./}-based-linux-Rhel7.6-gcc5.3-x86_64.7z" +else + version=$libclang_version + url="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${version//\./}-based-linux-Ubuntu18.04-gcc9.2-x86_64.7z" + sha1="c1580acb3a82e193acf86f18afb52427c5e67de8" + url_cached="http://ci-files01-hki.intra.qt.io/input/libclang/libclang-release_${version//\./}-based-linux-Ubuntu18.04-gcc9.2-x86_64.7z" +fi + +zip="/tmp/libclang.7z" +destination="/usr/local/libclang-dynlibs-$version" + +DownloadURL $url_cached $url $sha1 $zip +if command -v 7zr &> /dev/null; then + sudo 7zr x $zip -o/usr/local/ +else + sudo 7z x $zip -o/usr/local/ +fi +sudo mv /usr/local/libclang "$destination" +rm -rf $zip + + +echo "export LLVM_DYNAMIC_LIBS_100=$destination" >> ~/.bash_profile +echo "libClang for QtForPython= $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/disable-netadapterlso.ps1 b/coin/provisioning/common/windows/disable-netadapterlso.ps1 index 36fff06e..2df955b9 100644 --- a/coin/provisioning/common/windows/disable-netadapterlso.ps1 +++ b/coin/provisioning/common/windows/disable-netadapterlso.ps1 @@ -1,2 +1,2 @@ -Disable-NetAdapterLso Ethernet +Disable-NetAdapterLso "Ethernet 2" Start-Sleep -s 15 # Give windows some time to adjust network settings diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/90-python-modules.sh b/coin/provisioning/common/windows/install-azure-tool.ps1 index 8a3fc7b9..937804fd 100755..100644 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/90-python-modules.sh +++ b/coin/provisioning/common/windows/install-azure-tool.ps1 @@ -1,8 +1,6 @@ -#!/usr/bin/env bash - ############################################################################# ## -## Copyright (C) 2019 The Qt Company Ltd. +## Copyright (C) 2020 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -32,8 +30,11 @@ ## $QT_END_LICENSE$ ## ############################################################################# +. "$PSScriptRoot\helpers.ps1" + +# This script will install Azure singtool using Dotnet SDK +$dotnet = "C:\Program Files\dotnet\dotnet.exe" -set -ex +$version = "2.0.17" +Run-Executable "$dotnet" "tool install --global AzureSignTool --version $version" -# shellcheck source=../common/unix/python-modules.sh -source "${BASH_SOURCE%/*}/../common/unix/python-modules.sh" diff --git a/coin/provisioning/common/windows/install-dotnet.ps1 b/coin/provisioning/common/windows/install-dotnet.ps1 new file mode 100644 index 00000000..8578c9b4 --- /dev/null +++ b/coin/provisioning/common/windows/install-dotnet.ps1 @@ -0,0 +1,59 @@ +############################################################################# +## +## Copyright (C) 2020 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$ +## +############################################################################# +. "$PSScriptRoot\helpers.ps1" + +# This script will install Dotnet SDK which is required for Azure installation + +$version = "2.1" +if (Is64BitWinHost) { + $urlCache = "http://ci-files01-hki.intra.qt.io/input/windows/dotnet-sdk-2.1.809-win-x64.exe" + $urlOfficial = "https://download.visualstudio.microsoft.com/download/pr/c980b6fb-e570-4c73-b344-e4dae6573777/f844ac1a4c6ea5de7227a701786126fd/dotnet-sdk-2.1.809-win-x64.exe" + $sha1 = "343e80c2ab558a30696dbe03ad2288bf435d5cd8" +} else { + $urlCache = "http://ci-files01-hki.intra.qt.io/input/windows/dotnet-sdk-2.1.809-win-x86.exe" + $urlOfficial = "https://download.visualstudio.microsoft.com/download/pr/cf86a2f3-f6b2-4959-8e41-cf84b0d2f294/a61e834f56abe2dc2e12599e1a60c10b/dotnet-sdk-2.1.809-win-x86.exe" + $sha1 = "b38a4e1392f17aed110508a1687f1c65b9d86161" +} +$installer = "C:\Windows\Temp\dotnet-sdk-$version.exe" + +Write-Host "Installing Dotnet SDK $version" +Download $urlOfficial $urlCache $installer +Verify-Checksum $installer $sha1 +Run-Executable "$installer" "/install /passive" +Prepend-Path "C:\Program Files\dotnet" +Remove $installer + +Write-Output "Dotnet SDK = $version" >> ~/versions.txt + + + diff --git a/coin/provisioning/common/windows/install-msys2.ps1 b/coin/provisioning/common/windows/install-msys2.ps1 index 784b09dc..2be0d35c 100644 --- a/coin/provisioning/common/windows/install-msys2.ps1 +++ b/coin/provisioning/common/windows/install-msys2.ps1 @@ -33,46 +33,50 @@ . "$PSScriptRoot\helpers.ps1" -# This script installs 7-Zip +# This script will installs msys2 -$version = "20181211" +$version = "20200903" $prog = "msys2" -if (Is64BitWinHost) { - $arch = "x86_64" - $sha1 = "d689ff74fd060934bd7aaf458a11db67833463c2" - $folder = "msys64" -} else { - $arch = "i686" - $sha1 = "928f9d1537d1a77dc7f2adab74fb438e7d11a98e" - $folder = "msys32" -} -$package = $prog + "-base-" + $arch + "-" + $version + ".tar.xz" +$arch = "x86_64" +$sha1 = "5a1644585fac2d58855d48b4ba4a92579a14cf03" +$sha1_prebuilt = "d86d45d72228f53f7ae060771bc95b6f54c703c8" +$folder = "msys64" +$package_prebuilt = $folder + "_" + $version + "_prebuilt.7z" +$package = $prog + "-base-" + $arch + "-" + $version + ".tar.xz" +$url_cache_prebuilt = "\\ci-files01-hki.intra.qt.io\provisioning\windows\$package_prebuilt" $url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\$package" $url_official = "http://repo.msys2.org/distrib/$arch/$package" -$PackagePath = "C:\Windows\Temp\$package" $TargetLocation = "C:\Utils" -Download $url_official $url_cache $PackagePath -Verify-Checksum $PackagePath $sha1 -Extract-tar_gz $PackagePath $TargetLocation -$msys = "$TargetLocation\$folder\msys2_shell.cmd" +if ((Test-Path $url_cache_prebuilt)) { + $PackagePath = "C:\Windows\Temp\$package_prebuilt" + Download $url_cache_prebuilt $url_cache_prebuilt $PackagePath + Verify-Checksum $PackagePath $sha1_prebuilt + Extract-7Zip $PackagePath $TargetLocation +} else { + $PackagePath = "C:\Windows\Temp\$package" + Download $url_official $url_cache $PackagePath + Verify-Checksum $PackagePath $sha1 + Extract-tar_gz $PackagePath $TargetLocation + $msys = "$TargetLocation\$folder\msys2_shell.cmd" -# install perl -# Run these without 'Run-Executable' function. When using the function the gpg-agent will lock the needed tmp*.tmp file. -cmd /c "$msys `"-l`" `"-c`" `"rm -rf /etc/pacman.d/gnupg;pacman-key --init;pacman-key --populate msys2;pacman -S --noconfirm perl make`"" -Start-Sleep -s 30 -cmd /c "$msys `"-l`" `"-c`" `"cpan -i Text::Template Test::More`"" + # install perl + # Run these without 'Run-Executable' function. When using the function the gpg-agent will lock the needed tmp*.tmp file. + cmd /c "$msys `"-l`" `"-c`" `"rm -rf /etc/pacman.d/gnupg;pacman-key --init;pacman-key --populate msys2;pacman -S --noconfirm perl make`"" + Start-Sleep -s 60 + cmd /c "$msys `"-l`" `"-c`" `"echo y | cpan -i Text::Template Test::More`"" -# Sometimes gpg-agent won't get killed after the installation process. If that happens the provisioning will won't continue and it will hang until timeout. So we need make sure it will be killed. -# Let's sleep for awhile and wait that msys installation is finished. Otherwise the installation might start up gpg-agent or dirmngr after the script has passed the killing process. -Start-Sleep -s 180 -if (Get-Process -Name "gpg-agent" -ErrorAction SilentlyContinue) { Stop-Process -Force -Name gpg-agent } -if (Get-Process -Name "dirmngr" -ErrorAction SilentlyContinue) { Stop-Process -Force -Name dirmngr } + # Sometimes gpg-agent won't get killed after the installation process. If that happens the provisioning will won't continue and it will hang until timeout. So we need make sure it will be killed. + # Let's sleep for awhile and wait that msys installation is finished. Otherwise the installation might start up gpg-agent or dirmngr after the script has passed the killing process. + Start-Sleep -s 360 + if (Get-Process -Name "gpg-agent" -ErrorAction SilentlyContinue) { Stop-Process -Force -Name gpg-agent } + if (Get-Process -Name "dirmngr" -ErrorAction SilentlyContinue) { Stop-Process -Force -Name dirmngr } +} Write-Host "Cleaning $PackagePath.." Remove-Item -Recurse -Force -Path "$PackagePath" -Write-Output "7-Zip = $version" >> ~\versions.txt +Write-Output "msys2 = $version" >> ~\versions.txt diff --git a/coin/provisioning/common/windows/libclang-v100-dyn.ps1 b/coin/provisioning/common/windows/libclang-v100-dyn.ps1 new file mode 100644 index 00000000..b0792a07 --- /dev/null +++ b/coin/provisioning/common/windows/libclang-v100-dyn.ps1 @@ -0,0 +1,50 @@ +param( + [Int32]$archVer=32, + [string]$toolchain="vs2019", + [bool]$setDefault=$true +) +. "$PSScriptRoot\helpers.ps1" + +$libclang_version="10.0" +Write-Output "libClang for QtForPython = $libclang_version" >> ~/versions.txt + +# PySide versions following Qt6 use a C++ parser based on Clang (http://clang.org/). +# The Clang library (C-bindings), version 8.0 or higher is required for building. + +# Starting from Qt 5.11 QDoc requires Clang to parse C++ + +$baseDestination = "C:\Utils\libclang-" + $libclang_version + "-dynlibs-" + $toolchain +$libclang_version = $libclang_version -replace '["."]' + +function install() { + + param( + [string]$sha1=$1, + [string]$destination=$2 + ) + + $zip = "c:\users\qt\downloads\libclang-dyn.7z" + + $script:OfficialUrl = "https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_$libclang_version-based-windows-$toolchain`_$archVer.7z" + $script:CachedUrl = "http://ci-files01-hki.intra.qt.io/input/libclang/libclang-release_$libclang_version-based-windows-$toolchain`_$archVer.7z" + + Download $OfficialUrl $CachedUrl $zip + Verify-Checksum $zip $sha1 + Extract-7Zip $zip C:\Utils\ + Rename-Item C:\Utils\libclang $destination + Remove-Item -Force -Path $zip +} + +if ( $toolchain -eq "vs2019" ) { + if ( $archVer -eq 64 ) { + $sha1 = "B2C4F24B2388AEBAA6B8FCE3AE4E63D34D1517FE" + } + else { + $sha1 = "b970f51df255a27e0fdb7b665e70ed5281257f40" + } +} + +install $sha1 $baseDestination-$archVer + +Set-EnvironmentVariable "LLVM_DYNAMIC_LIBS_100" ($baseDestination + "-_ARCH_") + diff --git a/coin/provisioning/common/windows/nodejs.ps1 b/coin/provisioning/common/windows/nodejs.ps1 index c56f6db6..24b06751 100644 --- a/coin/provisioning/common/windows/nodejs.ps1 +++ b/coin/provisioning/common/windows/nodejs.ps1 @@ -37,25 +37,25 @@ # Needed by QtWebengine $version = "12.18.0" -$package = "C:\Windows\temp\nodejs-$version.zip" -$targetFolder = "C:\Utils\nodejs" -$arch = "$((Get-WmiObject Win32_Processor).AddressWidth)" -$externalUrl = "https://nodejs.org/dist/v$version/node-v$version-win-x$arch.zip" -$internalUrl = "http://ci-files01-hki.intra.qt.io/input/windows/node-v$version-win-x$arch.zip" - -if ( $arch -eq 64 ) { +if (Is64BitWinHost) { + $arch = "x64" $sha1 = "457b1527d249ee471a9445953a906cb10c75378d" } else { + $arch = "x86" $sha1 = "58801900f5bddca9c00feed6b84fed729426fc92" - } +$package = "C:\Windows\temp\nodejs-$version.zip" +$targetFolder = "C:\Utils" +$installFolder = "C:\Utils\node-v$version-win-$arch" +$externalUrl = "https://nodejs.org/dist/v$version/node-v$version-win-$arch.zip" +$internalUrl = "http://ci-files01-hki.intra.qt.io/input/windows/node-v$version-win-$arch.zip" + Write-Host "Installing Node.js" Download $externalUrl $internalUrl $package Verify-Checksum $package $sha1 -mkdir $targetFolder Extract-7Zip $package $targetFolder -Add-Path $targetFolder +Add-Path $installFolder Remove $package Write-Output "Node.js = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/squishInstall.ps1 b/coin/provisioning/common/windows/squishInstall.ps1 index 518de783..c615f9eb 100644 --- a/coin/provisioning/common/windows/squishInstall.ps1 +++ b/coin/provisioning/common/windows/squishInstall.ps1 @@ -40,7 +40,7 @@ $version = "6.6.1" $qtBranch = "515x" $targetDir = "C:\Utils\squish" $squishPackage = "C:\Utils\rta_squish" -$squishUrl = "\\ci-files01-hki.intra.qt.io\provisioning\squish\jenkins_build" +$squishUrl = "\\ci-files01-hki.intra.qt.io\provisioning\squish\jenkins_build\stable" $licenseUrl = "\\ci-files01-hki.intra.qt.io\provisioning\squish\coin" # Squish license @@ -62,7 +62,9 @@ if ($OSVersion -eq "Windows 10 Enterprise") { if (Is64BitWinHost) { $sha1 = "17b5bec83f448877e42e5effdc7daf723d157800" } else { - $sha1 = "1e6c1b3935e1c1bcdd28ec2511f24b8656d3ee6a" + $sha1 = "9c0fc186605522ac0ac11066c10c3f3e8a95a705" + #Remove special handling when all packages are in same dir, exception now for win10 x86->the archive had to be rebuild + $squishUrl = "\\ci-files01-hki.intra.qt.io\provisioning\squish\jenkins_build\stable\6.6.1_rerun" } } elseif ($OSVersion -eq "Windows 7 Enterprise") { $winVersion = "win7" @@ -70,7 +72,7 @@ if ($OSVersion -eq "Windows 10 Enterprise") { } $squishArchive = "prebuild-squish-$version-$qtBranch-$winVersion-$arch.zip" -Copy-Item "\\ci-files01-hki.intra.qt.io\provisioning\squish\jenkins_build\stable\$squishArchive" "C:\Utils" +Copy-Item "$squishUrl\$squishArchive" "C:\Utils" Verify-Checksum "C:\Utils\$squishArchive" $sha1 Extract-7Zip "C:\Utils\$squishArchive" "C:\Utils" Rename-Item "$squishPackage" "$targetDir" diff --git a/coin/provisioning/common/windows/update-msvc2019.ps1 b/coin/provisioning/common/windows/update-msvc2019.ps1 new file mode 100644 index 00000000..0b0f384d --- /dev/null +++ b/coin/provisioning/common/windows/update-msvc2019.ps1 @@ -0,0 +1,71 @@ +############################################################################ +## +## Copyright (C) 2020 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$ +## +############################################################################# + +. "$PSScriptRoot\helpers.ps1" + +# This script will update MSVC 2019. +# NOTE! Visual Studio is pre-installed to tier 1 image so this script won't install the whole Visual Studio. See ../../../pre-provisioning/qtci-windows-10-x86_64/msvc2019.txt +# MSVC 2019 online installers can be found from here https://docs.microsoft.com/en-us/visualstudio/releases/2019/history#installing-an-earlier-release + +$version = "16_7_5" +$urlCache_vsInstaller = "\\ci-files01-hki.intra.qt.io\provisioning\windows\msvc\vs2019_Professional_$version.exe" +$urlOfficial_vsInstaller = "https://download.visualstudio.microsoft.com/download/pr/e8bc3741-cb70-42aa-9b4e-2bd497de85dd/74b4e599138d5b5824d87ee657b78cbdeb3716f58a9645047e53bb5f68131516/vs_Professional.exe" +$sha1_vsInstaller = "70062274c1ae79f5f0f7cb91192347abc1ebcb00" +$urlCache_buildToolsInstaller = "\\ci-files01-hki.intra.qt.io\provisioning\windows\msvc\vs2019_BuildTools_$version.exe" +$urlOfficial_buildToolsInstaller = "https://download.visualstudio.microsoft.com/download/pr/e8bc3741-cb70-42aa-9b4e-2bd497de85dd/f3713de3e01b7829d529f67d6240116b73cc0743974bb5373a052f9629cc24d2/vs_BuildTools.exe" +$sha1_buildToolsInstaller = "efb4600bf9bd09adf55a36e2e5d0d47a3abd481e" +$installerPath = "C:\Windows\Temp\installer.exe" + +function Install { + + Param ( + [string] $urlOfficial = $(BadParam("Official url path")), + [string] $urlCache = $(BadParam("Cached url path")), + [string] $sha1 = $(BadParam("SHA1 checksum of the file")) + + ) + + Write-Host "Installing msvc 2019 $version" + Download $urlOfficial $urlCache $installerPath + Verify-Checksum $installerPath $sha1 + Run-Executable "$installerPath" "update --passive --wait" + Remove-Item -Force -Path $installerPath +} + +Install $urlOfficial_vsInstaller $urlCache_vsInstaller $sha1_vsInstaller +Install $urlOfficial_buildToolsInstaller $urlCache_buildToolsInstaller $sha1_buildToolsInstaller + +$msvc2019Version = (cmd /c "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property catalog_productDisplayVersion 2`>`&1) + +Write-Output "Visual Studio 2019 = $msvc2019Version" >> ~\versions.txt +Write-Output "Visual Studio 2019 Build Tools = $version" >> ~\versions.txt diff --git a/coin/provisioning/qtci-linux-CentOS-8.1-x86_64/05-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-CentOS-8.1-x86_64/05-libclang-v100-dyn.sh new file mode 100755 index 00000000..fbf34ddd --- /dev/null +++ b/coin/provisioning/qtci-linux-CentOS-8.1-x86_64/05-libclang-v100-dyn.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang-v100-dyn.sh +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/04-install-packages.sh index e3ba503c..5e3a4f8c 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/04-install-packages.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/04-install-packages.sh @@ -80,7 +80,7 @@ installPackages+=(pulseaudio-libs-devel) installPackages+=(libXtst-devel) installPackages+=(nspr-devel) installPackages+=(nss-devel) -installPackages+=(rh-nodejs12-nodejs) +installPackages+=(rh-nodejs12-nodejs) # NOTE! Nodejs12 needs to be added to PATH! installPackages+=(rh-nodejs12-nodejs-devel) # For Android builds installPackages+=(java-1.8.0-openjdk-devel) @@ -136,6 +136,9 @@ sudo ln -s /opt/rh/rh-python36/root/usr/bin/pip3 /usr/local/bin/pip3 sudo pip install --upgrade pip sudo pip install virtualenv wheel +# Needed by packaging scripts +sudo /usr/local/bin/pip3 install colorlog --user + sudo /usr/local/bin/pip3 install wheel # Install all needed packages in a special wheel cache directory /usr/local/bin/pip3 wheel --wheel-dir "$HOME/python3-wheels" -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt" @@ -143,3 +146,8 @@ sudo /usr/local/bin/pip3 install wheel # shellcheck source=../common/unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" +SetEnvVar "PATH" "/opt/rh/rh-nodejs12/root/usr/bin:\$PATH" + +gccVersion="$(gcc --version |grep gcc |cut -b 11-16)" +echo "GCC = $gccVersion" >> versions.txt + diff --git a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/08-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/08-libclang-v100-dyn.sh new file mode 100755 index 00000000..b0080cbc --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/08-libclang-v100-dyn.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang-v100-dyn.sh +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15-x86_64/02-enable-modules.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/02-enable-modules.sh new file mode 100644 index 00000000..52c67941 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/02-enable-modules.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -ex + +# Activate these modules + +# This is needed by Nodejs and QtWebEngine +sudo SUSEConnect -p sle-module-web-scripting/15/x86_64 diff --git a/coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh index 8c596142..bed165f1 100755 --- a/coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh +++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh @@ -2,7 +2,7 @@ ############################################################################# ## -## Copyright (C) 2019 The Qt Company Ltd. +## Copyright (C) 2020 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -105,3 +105,13 @@ sudo zypper -nq install sqlite3 sqlite3-devel # Java - needed by RTA jenkins sudo zypper -nq install java + +# open-vm-tools requires update. Version in tier1 is broken and causes segfault on boot. +sudo zypper -nq update open-vm-tools + +# Nodejs - needed by QtWebEngine +sudo zypper -nq install nodejs10 +sudo zypper -nq install nodejs10-devel + +gccVersion="$(gcc --version |grep gcc |cut -b 17-23)" +echo "GCC = $gccVersion" >> versions.txt 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 index 573b30a9..15142600 100755 --- 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 @@ -5,4 +5,4 @@ set -ex # shellcheck source=../common/linux/gcc.sh source "${BASH_SOURCE%/*}/../common/linux/gcc.sh" -InstallGCC 9.3.0 50 526bc0ed135e65366080350d0f991157752223c0 b746688bf045a316fc92c3528138ad10d0822b6b +InstallGCC 9.3.0 50 5038e8752407d14e5a70c8efc80c20a6d4219aaa 212f77d7b7fe1fdf01a1c0b0ebc9d82aeda5e1e0 diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang-v100-dyn.sh new file mode 100755 index 00000000..dcd5b2d8 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang-v100-dyn.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/02-zypperpackages.sh index b509ff6c..79a29837 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/02-zypperpackages.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.1-x86_64/02-zypperpackages.sh @@ -36,7 +36,7 @@ sudo zypper -nq install libicu-devel libicu60_2 # qtwebengine sudo zypper -nq install alsa-devel dbus-1-devel \ libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \ - mozilla-nspr-devel mozilla-nss-devel nodejs10 nodejs10-devel + mozilla-nspr-devel mozilla-nss-devel nodejs10 nodejs10-devel glproto-devel # qtwebkit sudo zypper -nq install libxml2-devel libxslt-devel @@ -50,3 +50,5 @@ sudo zypper -nq install cups-devel #speech-dispatcher sudo zypper -nq install libspeechd-devel +gccVersion="$(gcc --version |grep gcc |cut -b 17-23)" +echo "GCC = $gccVersion" >> versions.txt diff --git a/coin/provisioning/qtci-linux-openSUSE-15.2-x86_64/08-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-openSUSE-15.2-x86_64/08-libclang-v100-dyn.sh new file mode 100755 index 00000000..b0080cbc --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.2-x86_64/08-libclang-v100-dyn.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang-v100-dyn.sh +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-10.13-x86_64/07-openssl-sh index 44fa76f1..44fa76f1 100755 --- a/coin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/07-openssl-sh diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-10.13-x86_64/08-homebrew.sh index f7f9e214..f7f9e214 100755 --- a/coin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/08-homebrew.sh diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/08-nodejs.sh b/coin/provisioning/qtci-macos-10.13-x86_64/08-nodejs.sh new file mode 100755 index 00000000..4600a8c2 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/08-nodejs.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install --build-from-source node diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-10.13-x86_64/28-libclang-v100-dyn.sh new file mode 100755 index 00000000..c9d6e93d --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/28-libclang-v100-dyn.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-10.13-x86_64/30-nodejs.sh deleted file mode 100755 index ab992405..00000000 --- a/coin/provisioning/qtci-macos-10.13-x86_64/30-nodejs.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -brew install nodejs - diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-10.14-x86_64/28-libclang-v100-dyn.sh new file mode 100755 index 00000000..c9d6e93d --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/28-libclang-v100-dyn.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-windows-10-x86_64/01-enable-guest-logon.ps1 b/coin/provisioning/qtci-windows-10-x86_64/01-enable-guest-logon.ps1 new file mode 100644 index 00000000..3cf989d3 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/01-enable-guest-logon.ps1 @@ -0,0 +1,2 @@ +# Allow SMB client guest logons to SMB server. +reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /V AllowInsecureGuestAuth /T REG_dWORD /D 1 /F diff --git a/coin/provisioning/qtci-windows-10-x86_64/05-msvc.ps1 b/coin/provisioning/qtci-windows-10-x86_64/05-msvc.ps1 index 72ac1ca7..b2949632 100644 --- a/coin/provisioning/qtci-windows-10-x86_64/05-msvc.ps1 +++ b/coin/provisioning/qtci-windows-10-x86_64/05-msvc.ps1 @@ -1,6 +1,6 @@ ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## Copyright (C) 2020 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -36,8 +36,5 @@ # MSVC 2015 Update 3 Write-Output "Visual Studio 2015 = Version 14.0.25431.01 Update 3" >> ~\versions.txt -# MSVC 2017 -Write-Output "Visual Studio 2017 = Version 15.8.5" >> ~\versions.txt +# MSVC 2019 and Build Tools are pre-provisioned, but the updating happens with "$PSScriptRoot\..\common\windows\update-msvc2019.ps1" -# MSVC 2017 Build Tools -Write-Output "Visual Studio 2017 Build Tools = Version 15.1 (26403.7)" >> ~\versions.txt diff --git a/coin/provisioning/qtci-windows-10-x86_64/08-libclang-v100-dyn.ps1 b/coin/provisioning/qtci-windows-10-x86_64/08-libclang-v100-dyn.ps1 new file mode 100644 index 00000000..82b91257 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/08-libclang-v100-dyn.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 64 vs2019 +. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 32 vs2019 diff --git a/coin/provisioning/qtci-windows-10-x86_64/90-install-dotnet.ps1 b/coin/provisioning/qtci-windows-10-x86_64/90-install-dotnet.ps1 new file mode 100644 index 00000000..a2ecfba2 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/90-install-dotnet.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\install-dotnet.ps1" + diff --git a/coin/provisioning/qtci-windows-10-x86_64/91-install-azure-tool.ps1 b/coin/provisioning/qtci-windows-10-x86_64/91-install-azure-tool.ps1 new file mode 100644 index 00000000..f1d5acc3 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/91-install-azure-tool.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-azure-tool.ps1" |