diff options
Diffstat (limited to 'coin/provisioning')
76 files changed, 457 insertions, 157 deletions
diff --git a/coin/provisioning/common/linux/android_linux.sh b/coin/provisioning/common/linux/android_linux.sh index 5679c4c6..68e77dd1 100755 --- a/coin/provisioning/common/linux/android_linux.sh +++ b/coin/provisioning/common/linux/android_linux.sh @@ -37,8 +37,11 @@ # It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version +# shellcheck source=../unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" +# shellcheck source=../unix/check_and_set_proxy.sh source "${BASH_SOURCE%/*}/../unix/check_and_set_proxy.sh" +# shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" targetFolder="/opt/android" @@ -78,10 +81,11 @@ else fi echo "Running SDK manager for platforms;$sdkApiLevel, tools, platform-tools and build-tools;$sdkBuildToolsVersion." +# shellcheck disable=SC2031 if [ "$http_proxy" != "" ]; then - proxy_host=$(echo $proxy | cut -d'/' -f3 | cut -d':' -f1) - proxy_port=$(echo $proxy | cut -d':' -f3) - echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" --no_https --proxy=http --proxy_host=$proxy_host --proxy_port=$proxy_port "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" + proxy_host=$(echo "$proxy" | cut -d'/' -f3 | cut -d':' -f1) + proxy_port=$(echo "$proxy" | cut -d':' -f3) + echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" --no_https --proxy=http --proxy_host="$proxy_host" --proxy_port="$proxy_port" "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" else echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" fi @@ -91,12 +95,13 @@ SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersion" SetEnvVar "ANDROID_NDK_HOST" "linux-x86_64" SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel" +# shellcheck disable=SC2129 echo "Android SDK tools = $toolsVersion" >> ~/versions.txt echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt echo "Android NDK = $ndkVersion" >> ~/versions.txt -cd $sdkTargetFolder/tools/bin +cd "$sdkTargetFolder/tools/bin" echo "y" | ./sdkmanager --install "system-images;android-21;google_apis;x86" echo "no" | ./avdmanager create avd -n x86emulator -k "system-images;android-21;google_apis;x86" -c 2048M -f # Purely informative, show the list of avd devices diff --git a/coin/provisioning/common/linux/cmake_linux.sh b/coin/provisioning/common/linux/cmake_linux.sh index 7154d822..9b4f6851 100755 --- a/coin/provisioning/common/linux/cmake_linux.sh +++ b/coin/provisioning/common/linux/cmake_linux.sh @@ -37,7 +37,9 @@ # CMake is needed for autotests that verify that Qt can be built with CMake +# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh" +# shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" version="3.6.2" @@ -50,3 +52,6 @@ appPrefix="cmake-$version-Linux-x86_64" InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$targetFolder" "$appPrefix" SetEnvVar "PATH" "$targetFolder/bin:\$PATH" + +echo "CMake = $version" >> ~/versions.txt + diff --git a/coin/provisioning/common/linux/disable-ntp_linux.sh b/coin/provisioning/common/linux/disable-ntp_linux.sh index 56f98c52..b73e44a5 100755 --- a/coin/provisioning/common/linux/disable-ntp_linux.sh +++ b/coin/provisioning/common/linux/disable-ntp_linux.sh @@ -40,5 +40,5 @@ echo "Disable Network Time Protocol (NTP)" if uname -a |grep -q "Ubuntu"; then sudo timedatectl set-ntp false else - systemctl &>/dev/null && sudo systemctl disable ntpd || sudo /sbin/chkconfig ntpd off + (systemctl &>/dev/null && sudo systemctl disable ntpd) || sudo /sbin/chkconfig ntpd off fi diff --git a/coin/provisioning/common/linux/fbx_linux.sh b/coin/provisioning/common/linux/fbx_linux.sh index a6c00f61..f04eb89f 100755 --- a/coin/provisioning/common/linux/fbx_linux.sh +++ b/coin/provisioning/common/linux/fbx_linux.sh @@ -34,7 +34,10 @@ ############################################################################# # This script installs FBX SDK + +# shellcheck source=../unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" +# shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" set -e diff --git a/coin/provisioning/common/linux/integrity.sh b/coin/provisioning/common/linux/integrity.sh index e291358d..180881a3 100755 --- a/coin/provisioning/common/linux/integrity.sh +++ b/coin/provisioning/common/linux/integrity.sh @@ -35,7 +35,9 @@ # This script installs INTEGRITY +# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh" +# shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" version="11.4.4" diff --git a/coin/provisioning/common/linux/open62541.sh b/coin/provisioning/common/linux/open62541.sh index 4d907f17..433748d1 100755 --- a/coin/provisioning/common/linux/open62541.sh +++ b/coin/provisioning/common/linux/open62541.sh @@ -35,6 +35,8 @@ set +e +# shellcheck disable=SC1090 + # We need to source to be able to use cmake in the shell if uname -a |grep -q "Ubuntu"; then source ~/.profile @@ -44,11 +46,13 @@ fi set -ex +# shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" TEMPDIR=$(mktemp --directory) || echo "Failed to create temporary directory" +# shellcheck disable=SC2064 trap "sudo rm -fr $TEMPDIR" EXIT -cd $TEMPDIR +cd "$TEMPDIR" sudo pip install --upgrade pip sudo pip install six diff --git a/coin/provisioning/common/linux/openssl_for_android_linux.sh b/coin/provisioning/common/linux/openssl_for_android_linux.sh index 30022c39..353722f2 100755 --- a/coin/provisioning/common/linux/openssl_for_android_linux.sh +++ b/coin/provisioning/common/linux/openssl_for_android_linux.sh @@ -36,15 +36,17 @@ # This script install OpenSSL from sources. # Requires GCC and Perl to be in PATH. +# shellcheck source=../unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" +# shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" -version="1.0.2g" +version="1.0.2o" officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz" cachedUrl="http://ci-files01-hki.intra.qt.io/input/openssl/openssl-$version.tar.gz" targetFile="/tmp/openssl-$version.tar.gz" installFolder="/home/qt/" -sha="36af23887402a5ea4ebef91df8e61654906f58f2" +sha="a47faaca57b47a0d9d5fb085545857cc92062691" # Until every VM doing Linux Android builds have provisioned the env variable # OPENSSL_ANDROID_HOME, we can't change the hard coded path that's currently in Coin. # QTQAINFRA-1436 @@ -54,7 +56,7 @@ DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile" tar -xzf "$targetFile" -C "$installFolder" # This rename should be removed once hard coded path from Coin is fixed. (QTQAINFRA-1436) -mv "${opensslHome}g" "${opensslHome}" +mv "${opensslHome}o" "${opensslHome}" pushd "$opensslHome" echo "Running configure" diff --git a/coin/provisioning/common/linux/qnx_700.sh b/coin/provisioning/common/linux/qnx_700.sh index b53c1d26..49fb7243 100755 --- a/coin/provisioning/common/linux/qnx_700.sh +++ b/coin/provisioning/common/linux/qnx_700.sh @@ -37,6 +37,7 @@ set -ex +# shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" targetFolder="/opt/" diff --git a/coin/provisioning/common/macos/InstallAppFromCompressedFileFromURL.sh b/coin/provisioning/common/macos/InstallAppFromCompressedFileFromURL.sh index d20a4ed8..1dd48e87 100755 --- a/coin/provisioning/common/macos/InstallAppFromCompressedFileFromURL.sh +++ b/coin/provisioning/common/macos/InstallAppFromCompressedFileFromURL.sh @@ -39,7 +39,7 @@ set -ex -# shellcheck source=DownloadURL.sh +# shellcheck source=../unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" function InstallAppFromCompressedFileFromURL { diff --git a/coin/provisioning/common/macos/InstallPKGFromURL.sh b/coin/provisioning/common/macos/InstallPKGFromURL.sh index f5c4e2e4..77ef128a 100755 --- a/coin/provisioning/common/macos/InstallPKGFromURL.sh +++ b/coin/provisioning/common/macos/InstallPKGFromURL.sh @@ -50,8 +50,8 @@ function InstallPKGFromURL { curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url_alt" ) echo "Checking SHA1 on PKG '$targetFile'" - echo "$expectedSha1 *$targetFile" > $targetFile.sha1 - /usr/bin/shasum --check $targetFile.sha1 + echo "$expectedSha1 *$targetFile" > "$targetFile.sha1" + /usr/bin/shasum --check "$targetFile.sha1" echo "Run installer on PKG" sudo installer -package "$targetFile" -target "$targetDirectory" echo "Removing file '$targetFile'" diff --git a/coin/provisioning/common/macos/fbx_macos.sh b/coin/provisioning/common/macos/fbx_macos.sh index 40776938..7e58a107 100755 --- a/coin/provisioning/common/macos/fbx_macos.sh +++ b/coin/provisioning/common/macos/fbx_macos.sh @@ -48,8 +48,6 @@ targetFolder="/tmp" targetFile="$targetFolder/$fileName" installer="$targetFolder/fbx20161_2_fbxsdk_clang_macos.pkg" -ExceptionExtractPrimaryUrl=100 - echo "Extracting '$cachedUrl'" tar -xzf "$cachedUrl" -C "$targetFolder" || ( echo "Failed to uncompress from '$cachedUrl'" diff --git a/coin/provisioning/common/macos/install-commandlinetools.sh b/coin/provisioning/common/macos/install-commandlinetools.sh index 18ff1036..2be234e7 100755 --- a/coin/provisioning/common/macos/install-commandlinetools.sh +++ b/coin/provisioning/common/macos/install-commandlinetools.sh @@ -32,6 +32,7 @@ ## $QT_END_LICENSE$ ## ############################################################################# +# shellcheck source=../unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" set -ex @@ -44,19 +45,19 @@ function InstallCommandLineTools { packageName=$4 version=$5 - DownloadURL $url $url_alt $expectedSha1 /tmp/$packageName + DownloadURL "$url" "$url_alt" "$expectedSha1" "/tmp/$packageName" echo "Mounting $packageName" - hdiutil attach /tmp/$packageName + hdiutil attach "/tmp/$packageName" cd "/Volumes/Command Line Developer Tools" echo "Installing" - sudo installer -verbose -pkg *.pkg -target / + sudo installer -verbose -pkg ./*.pkg -target / cd / # Let's fait for 5 second before unmounting. Sometimes resource is busy and cant be unmounted sleep 3 echo "Unmounting" umount /Volumes/Command\ Line\ Developer\ Tools/ echo "Removing $packageName" - rm /tmp/$packageName + rm "/tmp/$packageName" echo "Command Line Tools = $version" >> ~/versions.txt } diff --git a/coin/provisioning/common/macos/python2.sh b/coin/provisioning/common/macos/python2.sh index 687b9be5..f4016f8d 100755 --- a/coin/provisioning/common/macos/python2.sh +++ b/coin/provisioning/common/macos/python2.sh @@ -37,7 +37,7 @@ # shellcheck source=./InstallPKGFromURL.sh source "${BASH_SOURCE%/*}/InstallPKGFromURL.sh" -# shellcheck source=./../unix/SetEnvVar.sh +# shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" # shellcheck source=./pip.sh source "${BASH_SOURCE%/*}/pip.sh" diff --git a/coin/provisioning/common/macos/python3.sh b/coin/provisioning/common/macos/python3.sh index f2876a20..545a6d02 100755 --- a/coin/provisioning/common/macos/python3.sh +++ b/coin/provisioning/common/macos/python3.sh @@ -38,7 +38,7 @@ # shellcheck source=./InstallPKGFromURL.sh source "${BASH_SOURCE%/*}/InstallPKGFromURL.sh" -# shellcheck source=./../unix/SetEnvVar.sh +# shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" # shellcheck source=./pip.sh source "${BASH_SOURCE%/*}/pip.sh" diff --git a/coin/provisioning/common/macos/sha1sum-compatibility.sh b/coin/provisioning/common/macos/sha1sum-compatibility.sh index 5080f8fc..c3936499 100755 --- a/coin/provisioning/common/macos/sha1sum-compatibility.sh +++ b/coin/provisioning/common/macos/sha1sum-compatibility.sh @@ -45,5 +45,6 @@ # /usr/local/bin/sha1sum -> /usr/bin/shasum5.18 [ -d /usr/local/bin ] || sudo mkdir -p /usr/local/bin +# shellcheck disable=SC2012 SHASUM_TOOLNAME=$(ls -r /usr/bin/shasum?.* | head -n1) sudo ln -s "${SHASUM_TOOLNAME}" /usr/local/bin/sha1sum diff --git a/coin/provisioning/common/shared/http_proxy.txt b/coin/provisioning/common/shared/http_proxy.txt index 3aa6ceba..88d0e630 100644 --- a/coin/provisioning/common/shared/http_proxy.txt +++ b/coin/provisioning/common/shared/http_proxy.txt @@ -1,2 +1,2 @@ -proxy="http://proxy.intra.qt.io:3128" +proxy=http://proxy.intra.qt.io:3128 diff --git a/coin/provisioning/common/unix/DownloadURL.sh b/coin/provisioning/common/unix/DownloadURL.sh index d1f2f1bf..14d1322d 100755 --- a/coin/provisioning/common/unix/DownloadURL.sh +++ b/coin/provisioning/common/unix/DownloadURL.sh @@ -54,8 +54,8 @@ function DownloadURL { ) echo "Checking SHA1 on PKG '$targetFile'" - echo "$expectedSha1 *$targetFile" > $targetFile.sha1 - sha1sum --check $targetFile.sha1 - rm -f $targetFile.sha1 + echo "$expectedSha1 *$targetFile" > "$targetFile.sha1" + sha1sum --check "$targetFile.sha1" + rm -f "$targetFile.sha1" } diff --git a/coin/provisioning/common/unix/check_and_set_proxy.sh b/coin/provisioning/common/unix/check_and_set_proxy.sh index 1cbee166..3e55b09f 100755 --- a/coin/provisioning/common/unix/check_and_set_proxy.sh +++ b/coin/provisioning/common/unix/check_and_set_proxy.sh @@ -34,6 +34,7 @@ set -ex +# shellcheck source=../shared/http_proxy.txt source "${BASH_SOURCE%/*}/../shared/http_proxy.txt" (wget -q -e "http_proxy=$proxy" --spider proxy.intra.qt.io && echo "Setting http_proxy to $proxy" && export http_proxy=$proxy) || echo "Proxy not detected at $proxy" diff --git a/coin/provisioning/common/unix/libclang.sh b/coin/provisioning/common/unix/libclang.sh index 53b9dfda..f024130f 100755 --- a/coin/provisioning/common/unix/libclang.sh +++ b/coin/provisioning/common/unix/libclang.sh @@ -40,10 +40,12 @@ # 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" BASEDIR=$(dirname "$0") -. $BASEDIR/../shared/sw_versions.txt +# shellcheck source=../shared/sw_versions.txt +. "$BASEDIR/../shared/sw_versions.txt" url=$1 sha1=$2 version=$3 @@ -61,10 +63,10 @@ destination="/usr/local/libclang-$version" curl --fail -L --retry 5 --retry-delay 5 -o "$zip" "$url" echo "$sha1 $zip" | sha1sum --check -7z x $zip -o/tmp/ -rm -rf $zip +7z x "$zip" -o/tmp/ +rm -rf "$zip" -sudo mv /tmp/libclang $destination +sudo mv /tmp/libclang "$destination" echo "export LLVM_INSTALL_DIR=$destination" >> ~/.bash_profile echo "libClang = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/unix/squishInstall.sh b/coin/provisioning/common/unix/squishInstall.sh index 0ed9b0a0..ab0102ec 100755 --- a/coin/provisioning/common/unix/squishInstall.sh +++ b/coin/provisioning/common/unix/squishInstall.sh @@ -93,7 +93,7 @@ function MountAndInstall { targetFileMount="$mountFolder"/"$targetFile" echo "Mounting $url to $mountFolder" - sudo mount "$url" $mountFolder + sudo mount "$url" "$mountFolder" echo "Create $targetDirectory if needed" if [ ! -d "/opt" ]; then sudo mkdir "/opt" @@ -112,19 +112,19 @@ function MountAndInstall { fi sudo tar -xzf "$targetFileMount" --directory "$target" echo "Unmounting $mountFolder" - sudo umount $mountFolder + sudo umount "$mountFolder" elif [[ $targetFile == *.dmg ]]; then echo "'dmg-file', no need to uncompress" - sudo cp $targetFileMount /tmp - sudo umount $mountFolder + sudo cp "$targetFileMount" /tmp + sudo umount "$mountFolder" sudo hdiutil attach "/tmp/$targetFile" sudo /Volumes/froglogic\ Squish/Install\ Squish.app/Contents/MacOS/Squish unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" sudo hdiutil unmount /Volumes/froglogic\ Squish/ elif [[ $targetFile == *.run ]]; then echo "'run-file', no need to uncompress" - sudo cp $targetFileMount $targetDirectory - sudo umount $mountFolder - sudo $targetDirectory/$targetFile unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null 2>&1 + sudo cp "$targetFileMount" "$targetDirectory" + sudo umount "$mountFolder" + 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 sudo mkdir /usr/lib/tcl8.6 diff --git a/coin/provisioning/common/windows/03-conan.ps1 b/coin/provisioning/common/windows/03-conan.ps1 index d900f5a7..74c21e20 100644 --- a/coin/provisioning/common/windows/03-conan.ps1 +++ b/coin/provisioning/common/windows/03-conan.ps1 @@ -56,3 +56,5 @@ function Run-Conan-Install Copy-Item -Path $conanfile -Destination "$outpwd\conanfile.txt" } } + +Write-Output "Conan = 0.24.0" >> ~\versions.txt diff --git a/coin/provisioning/common/windows/3dstudio_3rdparty.ps1 b/coin/provisioning/common/windows/3dstudio_3rdparty.ps1 index 924d8606..ed408b6c 100644 --- a/coin/provisioning/common/windows/3dstudio_3rdparty.ps1 +++ b/coin/provisioning/common/windows/3dstudio_3rdparty.ps1 @@ -5,7 +5,7 @@ $url = "http://ci-files01-hki.intra.qt.io/input/3rdparty/Qt3DStudio-3rdparty-win Download $url $url $zip Verify-Checksum $zip "08D740D2EFB4CBCDE7D012908B89AA48DE5CD4E1" -Extract-Zip $zip C:\Utils\Qt3DStudio3rdparty +Extract-7Zip $zip C:\Utils\Qt3DStudio3rdparty Remove-Item -Path $zip Set-EnvironmentVariable "QT3DSTUDIO_3RDPARTY_DIR" "C:/Utils/Qt3DStudio3rdparty" diff --git a/coin/provisioning/common/windows/android-openssl.ps1 b/coin/provisioning/common/windows/android-openssl.ps1 index b0363c4c..53c2ee17 100644 --- a/coin/provisioning/common/windows/android-openssl.ps1 +++ b/coin/provisioning/common/windows/android-openssl.ps1 @@ -39,9 +39,9 @@ # Msys need to be installed to target machine # More info and building instructions can be found from http://doc.qt.io/qt-5/opensslsupport.html -$version = "1.0.2j" +$version = "1.0.2o" $zip = "c:\users\qt\downloads\openssl-$version.tar.gz" -$sha1 = "bdfbdb416942f666865fa48fe13c2d0e588df54f" +$sha1 = "a47faaca57b47a0d9d5fb085545857cc92062691" $destination = "C:\Utils\openssl-android-master" Download https://www.openssl.org/source/openssl-$version.tar.gz \\ci-files01-hki.intra.qt.io\provisioning\openssl\openssl-$version.tar.gz $zip @@ -67,3 +67,5 @@ Pop-Location # Following command is needed when using version 1.1.0. With version 1.1.0 msys is not needed. # C:\mingw530\bin\mingw32-make.exe include\openssl\opensslconf.h + +Write-Output "Android OpenSSL = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/android.ps1 b/coin/provisioning/common/windows/android.ps1 index 2048d6a9..9a09e919 100644 --- a/coin/provisioning/common/windows/android.ps1 +++ b/coin/provisioning/common/windows/android.ps1 @@ -66,7 +66,7 @@ function Install($1, $2, $3, $4) { Download $offcialUrl $cacheUrl $zip Verify-Checksum $zip "$checksum" - Extract-Zip $zip C:\Utils + Extract-7Zip $zip C:\Utils } function SdkUpdate ($1, $2) { @@ -98,3 +98,9 @@ if ($p -ne $null) { } else { Write-Host "adb.exe not running" } + +Write-Output "Android SDK tools= $sdkVersion" >> ~/versions.txt +Write-Output "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt +Write-Output "Android SDK Api Level = $sdkApiLevel" >> ~/versions.txt +Write-Output "Android NDK = $ndkVersion" >> ~/versions.txt + diff --git a/coin/provisioning/common/windows/cmake.ps1 b/coin/provisioning/common/windows/cmake.ps1 index c0ead98e..ace68835 100644 --- a/coin/provisioning/common/windows/cmake.ps1 +++ b/coin/provisioning/common/windows/cmake.ps1 @@ -46,7 +46,7 @@ Remove-Item "C:\CMake" -Force -Recurse -ErrorAction SilentlyContinue Download $officialurl $cachedurl $zip Verify-Checksum $zip "541F6E7EFD228E46770B8631FFE57097576E4D4E" -Extract-Zip $zip C: +Extract-7Zip $zip C: $defaultinstallfolder = "C:\cmake-" + $version + "-win32-x86" Rename-Item $defaultinstallfolder C:\CMake diff --git a/coin/provisioning/common/windows/helpers.ps1 b/coin/provisioning/common/windows/helpers.ps1 index 45779c04..8a4b452e 100644 --- a/coin/provisioning/common/windows/helpers.ps1 +++ b/coin/provisioning/common/windows/helpers.ps1 @@ -38,7 +38,8 @@ function Extract-7Zip { Param ( [string]$Source, - [string]$Destination + [string]$Destination, + [string]$Filter ) Write-Host "Extracting '$Source' to '$Destination'..." @@ -54,47 +55,10 @@ function Extract-7Zip $zipExe = "7z.exe" } - Run-Executable "$zipExe" "x -y `"-o$Destination`" `"$Source`"" -} - -function Extract-Zip -{ - Param ( - [string]$Source, - [string]$Destination - ) - Write-Host "Extracting '$Source' to '$Destination'..." - - New-Item -ItemType Directory -Force -Path $Destination - $shell = new-object -com shell.application - $zipfile = $shell.Namespace($Source) - $destinationFolder = $shell.Namespace($Destination) - $destinationFolder.CopyHere($zipfile.Items(), 16) -} - -function Extract-Dev-Folders-From-Zip -{ - Param ( - [string]$package, - [string]$zipDir, - [string]$installPath - ) - - $shell = new-object -com shell.application - - Write-Host "Extracting contents of $package" - foreach ($subDir in "lib", "include", "bin", "share") { - $zip = $shell.Namespace($package + "\" + $zipDir + "\" + $subDir) - if ($zip) { - Write-Host "Extracting $subDir from zip archive" - } else { - Write-Host "$subDir is missing from zip archive - skipping" - continue - } - $destDir = $installPath + "\" + $subdir - New-Item $destDir -type directory - $destinationFolder = $shell.Namespace($destDir) - $destinationFolder.CopyHere($zip.Items(), 16) + if ([string]::IsNullOrEmpty($Filter)) { + Run-Executable "$zipExe" "x -y `"-o$Destination`" `"$Source`"" + } else { + Run-Executable "$zipExe" "x -y -aoa `"-o$Destination`" `"$Source`" $Filter" } } @@ -153,10 +117,10 @@ function Is64BitWinHost return [environment]::Is64BitOperatingSystem } -function isProxyEnabled { +function IsProxyEnabled { return (Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings').proxyEnable } -function getProxy { +function Get-Proxy { return (Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings').proxyServer } diff --git a/coin/provisioning/common/windows/icu.ps1 b/coin/provisioning/common/windows/icu.ps1 index a03d10c4..786eb88f 100644 --- a/coin/provisioning/common/windows/icu.ps1 +++ b/coin/provisioning/common/windows/icu.ps1 @@ -43,3 +43,5 @@ if (Is64BitWinHost) { Set-EnvironmentVariable "CI_ICU_PATH_Mingw49" "C:\Utils\icu_53_1_Mingw_builds_4_8_2_posix_seh_64_devel\icu53_1" } + +Write-Output "ICU = $version" >> ~\versions.txt diff --git a/coin/provisioning/common/windows/jom.ps1 b/coin/provisioning/common/windows/jom.ps1 index efdbb97d..68db6b17 100644 --- a/coin/provisioning/common/windows/jom.ps1 +++ b/coin/provisioning/common/windows/jom.ps1 @@ -4,6 +4,8 @@ $zip = "c:\users\qt\downloads\jom_1_1_2.zip" Invoke-WebRequest -UseBasicParsing http://download.qt.io/official_releases/jom/jom_1_1_2.zip -OutFile $zip Verify-Checksum $zip "80EE5678E714DE99DDAF5F7593AB04DB1C7928E4" -Extract-Zip $zip C:\Utils\Jom +Extract-7Zip $zip C:\Utils\Jom Set-EnvironmentVariable "CI_JOM_PATH" "C:\Utils\Jom" + +Write-Output "Jom = 1.1.2" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/libusb.ps1 b/coin/provisioning/common/windows/libusb.ps1 index d5340484..3207131b 100644 --- a/coin/provisioning/common/windows/libusb.ps1 +++ b/coin/provisioning/common/windows/libusb.ps1 @@ -45,3 +45,5 @@ Extract-7Zip $archive $libusb_location # Tell qt-apps/qdb build system where to find libusb Set-EnvironmentVariable "LIBUSB_PATH" $libusb_location + +Write-Output "libusb = libusb-1.0.21" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/mesa_llvmpipe.ps1 b/coin/provisioning/common/windows/mesa_llvmpipe.ps1 index 3f688f4c..2f613076 100644 --- a/coin/provisioning/common/windows/mesa_llvmpipe.ps1 +++ b/coin/provisioning/common/windows/mesa_llvmpipe.ps1 @@ -62,3 +62,4 @@ if (Is64BitWinHost) { Extract-Mesa $mesaOpenglUrl_32 $mesaOpenglSha1_32 "C:\Windows\system32" } +Write-Output "Mesa llvmpipe = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/mqtt_broker.ps1 b/coin/provisioning/common/windows/mqtt_broker.ps1 index b88f568e..205d9c95 100644 --- a/coin/provisioning/common/windows/mqtt_broker.ps1 +++ b/coin/provisioning/common/windows/mqtt_broker.ps1 @@ -43,7 +43,7 @@ Download $externalUrl $internalUrl $zip Verify-Checksum $zip $sha1 Write-Host "MQTT: Installing $zip..." -Extract-Zip $zip C:\Utils +Extract-7Zip $zip C:\Utils Remove-Item -Path $zip Set-EnvironmentVariable "MQTT_TEST_BROKER_LOCATION" "C:\Utils\paho.mqtt.testing-c342c09dadc7a664d0a8befad1ca031f5a0b0bc0\interoperability\startbroker.py" diff --git a/coin/provisioning/common/windows/msvc-2013-update5.ps1 b/coin/provisioning/common/windows/msvc-2013-update5.ps1 index f28d8f0b..1d717fe6 100644 --- a/coin/provisioning/common/windows/msvc-2013-update5.ps1 +++ b/coin/provisioning/common/windows/msvc-2013-update5.ps1 @@ -38,13 +38,13 @@ $version = "2013 Update 5 (KB2829760)" $package = "C:\Windows\Temp\vs12-kb2829760.exe" $url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\VS2013.5.exe" -Write-Output "Fetching patch for Visual Studio $version..." +Write-Host "Fetching patch for Visual Studio $version..." Copy-Item $url_cache $package -Write-Output "Installing Update 5 for Visual Studio $version..." -Start-Process -FilePath $package -ArgumentList "/norestart /passive" -Wait +Write-Host "Installing Update 5 for Visual Studio $version..." +Run-Executable "$package" "/norestart /passive" -Write-Output "Removing $package ..." +Write-Host "Removing $package ..." Remove-Item $package Write-Output "Visual Studio = $version" >> ~\versions.txt diff --git a/coin/provisioning/common/windows/msvc_2015_update3_patch.ps1 b/coin/provisioning/common/windows/msvc_2015_update3_patch.ps1 index a153e9d8..bfbb397a 100644 --- a/coin/provisioning/common/windows/msvc_2015_update3_patch.ps1 +++ b/coin/provisioning/common/windows/msvc_2015_update3_patch.ps1 @@ -63,3 +63,5 @@ Write-Host "Installing patch for Visual Studio $version..." Run-Executable $executable "/norestart /passive" Remove-Item -Force -Recurse -Path $toRemove + +Write-Output "Visual Studio = $version" >> ~\versions.txt diff --git a/coin/provisioning/common/windows/mysql.ps1 b/coin/provisioning/common/windows/mysql.ps1 index a22e439a..29ce0ab4 100644 --- a/coin/provisioning/common/windows/mysql.ps1 +++ b/coin/provisioning/common/windows/mysql.ps1 @@ -37,8 +37,11 @@ # Both x86 and x64 versions needed when x86 integrations are done on x64 machine $version = "5.6.11" -$packagex64 = "C:\Windows\temp\mysql-$version-winx64.zip" -$packagex86 = "C:\Windows\temp\mysql-$version-win32.zip" +$baseNameX64 = "mysql-$version-winx64" +$packagex64 = "C:\Windows\temp\$baseNameX64.zip" +$baseNameX86 = "mysql-$version-win32" +$packagex86 = "C:\Windows\temp\$baseNameX86.zip" +$installFolder = "C:\Utils\my_sql" function DownloadAndInstall { @@ -52,7 +55,7 @@ function DownloadAndInstall Copy-Item $internalUrl $package $zipDir = [io.path]::GetFileNameWithoutExtension($package) - Extract-Dev-Folders-From-Zip $package $zipDir $installPath + Extract-7Zip $package $installPath "$zipDir\lib $zipDir\bin $zipDir\share $zipDir\include" Remove-Item -Path $package } @@ -60,28 +63,21 @@ function DownloadAndInstall if (Is64BitWinHost) { # Install x64 bit version $architecture = "x64" - $installFolder = "C:\Utils\my_sql\my_sql" $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\mysql-$version-winx64.zip" DownloadAndInstall $internalUrl $packagex64 $installFolder - Set-EnvironmentVariable "MYSQL_INCLUDE_x64" "$installFolder\include" - Set-EnvironmentVariable "MYSQL_LIB_x64" "$installFolder\lib" + Set-EnvironmentVariable "MYSQL_INCLUDE_x64" "$installFolder\$baseNameX64\include" + Set-EnvironmentVariable "MYSQL_LIB_x64" "$installFolder\$baseNameX64\lib" } # Install x86 bit version $architecture = "x86" $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\mysql-$version-win32.zip" -if (Is64BitWinHost) { - $installFolder = "C:\Utils\my_sql\my_sql$architecture" -} else { - $installFolder = "C:\Utils\my_sql\my_sql" -} - DownloadAndInstall $internalUrl $packagex86 $installFolder -Set-EnvironmentVariable "MYSQL_INCLUDE_x86" "$installFolder\include" -Set-EnvironmentVariable "MYSQL_LIB_x86" "$installFolder\lib" +Set-EnvironmentVariable "MYSQL_INCLUDE_x86" "$installFolder\$baseNameX86\include" +Set-EnvironmentVariable "MYSQL_LIB_x86" "$installFolder\$baseNameX86\lib" # Store version information to ~/versions.txt, which is used to print version information to provision log. Write-Output "MySQL = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/ninja.ps1 b/coin/provisioning/common/windows/ninja.ps1 index dd60ad69..5b6729f5 100644 --- a/coin/provisioning/common/windows/ninja.ps1 +++ b/coin/provisioning/common/windows/ninja.ps1 @@ -5,7 +5,9 @@ $zip = "c:\users\qt\downloads\ninja-1.6.0-win-x86.zip" Download https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-win.zip \\ci-files01-hki.intra.qt.io\provisioning\ninja\ninja-1.6.0-win-x86.zip $zip Verify-Checksum $zip "E01093F6533818425F8EFB0843CED7DCAABEA3B2" -Extract-Zip $zip C:\Utils\Ninja +Extract-7Zip $zip C:\Utils\Ninja Remove-Item -Path $zip Add-Path "C:\Utils\Ninja" + +Write-Output "Ninja = 1.6.0" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/openssl.ps1 b/coin/provisioning/common/windows/openssl.ps1 index c884dd94..50bee891 100644 --- a/coin/provisioning/common/windows/openssl.ps1 +++ b/coin/provisioning/common/windows/openssl.ps1 @@ -36,7 +36,7 @@ # This script installs OpenSSL $version. # Both x86 and x64 versions needed when x86 integrations are done on x64 machine -$version = "1_0_2j" +$version = "1_0_2o" $packagex64 = "C:\Windows\Temp\Win64OpenSSL-$version.exe" $packagex86 = "C:\Windows\Temp\Win32OpenSSL-$version.exe" @@ -47,7 +47,7 @@ if (Is64BitWinHost) { $installFolder = "C:\openssl" $externalUrl = "https://slproweb.com/download/Win64OpenSSL-$version.exe" $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\Win64OpenSSL-$version.exe" - $sha1 = "b1660dbdcc77e1b3d81d780c7167be1c75384d44" + $sha1 = "86c71a28eda53fa406b957dd37491d616344b464" Write-Host "Fetching from URL ..." Download $externalUrl $internalUrl $packagex64 @@ -74,7 +74,7 @@ if (Is64BitWinHost) { $externalUrl = "https://slproweb.com/download/Win32OpenSSL-$version.exe" $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\Win32OpenSSL-$version.exe" -$sha1 = "29b31d20545214ab4e4c57afb20be2338c317cc3" +$sha1 = "bfc14fc03bd1d4dd03bf5459f62969d6b0ee96fe" Write-Host "Fetching from URL ..." Download $externalUrl $internalUrl $packagex86 diff --git a/coin/provisioning/common/windows/postgresql.ps1 b/coin/provisioning/common/windows/postgresql.ps1 index b9681809..46d7501a 100644 --- a/coin/provisioning/common/windows/postgresql.ps1 +++ b/coin/provisioning/common/windows/postgresql.ps1 @@ -43,7 +43,7 @@ $packagex86 = "C:\Windows\temp\postgresql-$version-windows-binaries.zip" if (Is64BitWinHost) { # Install x64 bit versions $architecture = "x64" - $installFolder = "C:\Utils\postgresql\pgsql" + $installFolder = "C:\Utils\postgresql" $externalUrl = "http://get.enterprisedb.com/postgresql/postgresql-$version-windows-x64-binaries.zip" $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\postgresql-$version-windows-x64-binaries.zip" $sha1 = "4da0453cdfda335e064d4437cf5bb9d356054cfd" @@ -52,13 +52,13 @@ if (Is64BitWinHost) { Download $externalUrl $internalUrl $packagex64 Verify-Checksum $packagex64 $sha1 Write-Host "Installing $packagex64 ..." - Extract-Dev-Folders-From-Zip $packagex64 "pgsql" $installFolder + Extract-7Zip $packagex64 $installFolder "pgsql\lib pgsql\bin pgsql\share pgsql\include" Write-Host "Remove downloaded $packagex64 ..." Remove-Item -Path $packagex64 - Set-EnvironmentVariable "POSTGRESQL_INCLUDE_x64" "$installFolder\include" - Set-EnvironmentVariable "POSTGRESQL_LIB_x64" "$installFolder\lib" + Set-EnvironmentVariable "POSTGRESQL_INCLUDE_x64" "$installFolder\pgsql\include" + Set-EnvironmentVariable "POSTGRESQL_LIB_x64" "$installFolder\pgsql\lib" } # Install x86 bit version @@ -67,9 +67,9 @@ $externalUrl = "http://get.enterprisedb.com/postgresql/postgresql-$version-windo $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\postgresql-$version-windows-binaries.zip" $sha1 = "eb4f01845e1592800edbb74f60944b6c0aca51a9" if (Is64BitWinHost) { - $installFolder = "C:\Utils\postgresql$architecture\pgsql" + $installFolder = "C:\Utils\postgresql$architecture" } else { - $installFolder = "C:\Utils\postgresql\pgsql" + $installFolder = "C:\Utils\postgresql" } @@ -77,13 +77,13 @@ Write-Host "Fetching from URL..." Download $externalUrl $internalUrl $packagex86 Verify-Checksum $packagex86 $sha1 Write-Host "Installing $packagex86 ..." -Extract-Dev-Folders-From-Zip $packagex86 "pgsql" $installFolder +Extract-7Zip $packagex86 $installFolder "pgsql\lib pgsql\bin pgsql\share pgsql\include" Write-Host "Remove downloaded $packagex86 ..." Remove-Item -Path $packagex86 -Set-EnvironmentVariable "POSTGRESQL_INCLUDE_x86" "$installFolder\include" -Set-EnvironmentVariable "POSTGRESQL_LIB_x86" "$installFolder\lib" +Set-EnvironmentVariable "POSTGRESQL_INCLUDE_x86" "$installFolder\pgsql\include" +Set-EnvironmentVariable "POSTGRESQL_LIB_x86" "$installFolder\pgsql\lib" # Store version information to ~/versions.txt, which is used to print version information to provision log. Write-Output "PostgreSQL = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/python.ps1 b/coin/provisioning/common/windows/python.ps1 index ae9cbbbd..05811c58 100644 --- a/coin/provisioning/common/windows/python.ps1 +++ b/coin/provisioning/common/windows/python.ps1 @@ -64,8 +64,11 @@ Add-Path "C:\Python27;C:\Python27\Scripts" Run-Executable "C:\Python27\python.exe" "-m ensurepip" # Install python virtual env -#if (isProxyEnabled) { -# Write-Host "Using proxy with pip" -# $pip_args = "--proxy=" + (getProxy) -#} -Run-Executable "C:\Python27\Scripts\pip.exe" "install virtualenv" +if (IsProxyEnabled) { + $proxy = Get-Proxy + Write-Host "Using proxy ($proxy) with pip" + $pip_args = "--proxy=$proxy" +} +Run-Executable "C:\Python27\Scripts\pip.exe" "$pip_args install virtualenv" + +Write-Output "Python = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/python3.ps1 b/coin/provisioning/common/windows/python3.ps1 index 0ea93133..d5d5998a 100644 --- a/coin/provisioning/common/windows/python3.ps1 +++ b/coin/provisioning/common/windows/python3.ps1 @@ -65,8 +65,12 @@ Set-EnvironmentVariable "PYTHON3_PATH" "$install_path" Set-EnvironmentVariable "PIP3_PATH" "$install_path\Scripts" # Install python virtual env -#if (isProxyEnabled) { -# Write-Host "Using proxy with pip" -# $pip_args = "--proxy=" + (getProxy) -#} -Run-Executable "$install_path\Scripts\pip3.exe" "install virtualenv" +if (IsProxyEnabled) { + $proxy = Get-Proxy + Write-Host "Using proxy ($proxy) with pip" + $pip_args = "--proxy=$proxy" +} +Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install virtualenv" + +Write-Output "Python3 = $version" >> ~/versions.txt + diff --git a/coin/provisioning/common/windows/set-proxy.ps1 b/coin/provisioning/common/windows/set-proxy.ps1 index 23c0e6aa..08d6a204 100644 --- a/coin/provisioning/common/windows/set-proxy.ps1 +++ b/coin/provisioning/common/windows/set-proxy.ps1 @@ -35,7 +35,7 @@ $n = Get-Content "$PSScriptRoot\..\shared\http_proxy.txt" $n = $n.Split('=') New-Variable -Name $n[0] -Value $n[1] -if (([string]::IsNullOrEmpty($proxy)) -or ($proxy -eq '""')) { +if ([string]::IsNullOrEmpty($proxy)) { Write-Host "No proxy is defined." } else { Write-Host "Checking proxy @ $proxy" diff --git a/coin/provisioning/common/windows/squishInstall.ps1 b/coin/provisioning/common/windows/squishInstall.ps1 index 04eb563b..8db53ca7 100644 --- a/coin/provisioning/common/windows/squishInstall.ps1 +++ b/coin/provisioning/common/windows/squishInstall.ps1 @@ -104,11 +104,11 @@ Function TestSquish { [string]$squishPackage ) - echo "Verifying Squish Installation" + Write-Host "Verifying Squish Installation" if (cmd /c "$targetDir\$squishPackage\bin\squishrunner.exe --testsuite $targetDir\$testSuite" |Select-String -Pattern "Squish test run successfully") { - echo "Squish installation tested successfully!" + Write-Host "Squish installation tested successfully!" } else { - echo "Squish test failed! $squishPackage wasn't installed correctly." + Write-Host "Squish test failed! $squishPackage wasn't installed correctly." [Environment]::Exit(1) } } diff --git a/coin/provisioning/common/windows/unset-proxy.ps1 b/coin/provisioning/common/windows/unset-proxy.ps1 index d0a374ef..9c3dddb3 100644 --- a/coin/provisioning/common/windows/unset-proxy.ps1 +++ b/coin/provisioning/common/windows/unset-proxy.ps1 @@ -32,6 +32,8 @@ ############################################################################# Write-Host "Disabling proxy" +# A bit-mask is needed to disable "Automatically detect settings" from LAN +# settings that disturb and re-enable proxy even after disabling it. $dcs = (Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections").DefaultConnectionSettings $dcs[8] = $_ -band 0xF7 Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections" -Name DefaultConnectionSettings -Value $dcs diff --git a/coin/provisioning/common/windows/winrtrunner.ps1 b/coin/provisioning/common/windows/winrtrunner.ps1 index 89a64344..9cdd04ab 100644 --- a/coin/provisioning/common/windows/winrtrunner.ps1 +++ b/coin/provisioning/common/windows/winrtrunner.ps1 @@ -5,7 +5,7 @@ $url = "http://download.qt.io/development_releases/prebuilt/winrtrunner/winrtrun Download $url $url $zip Verify-Checksum $zip "C19098A4C9DBD20EDEB4E5E0D3E6A5BBBCA73C42" -Extract-Zip $zip C:\Utils\winrtrunner +Extract-7Zip $zip C:\Utils\winrtrunner Remove-Item -Path $zip Set-EnvironmentVariable "CI_WINRTRUNNER_PATH" "C:\Utils\winrtrunner" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-systemsetup.sh index 85ceaa24..c0f94a49 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-systemsetup.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-systemsetup.sh @@ -36,7 +36,8 @@ set -ex BASEDIR=$(dirname "$0") -source $BASEDIR/../common/shared/network_test_server_ip.txt +# shellcheck source=../common/shared/network_test_server_ip.txt +source "$BASEDIR/../common/shared/network_test_server_ip.txt" echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts" echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/03-install-rhel-epel.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/03-install-rhel-epel.sh index 4eb9882d..5cdf7df0 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/03-install-rhel-epel.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/03-install-rhel-epel.sh @@ -35,6 +35,7 @@ set -ex +# shellcheck source=../common/unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" package="epel-release-7-11.noarch.rpm" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/05-libclang.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/05-libclang.sh index e125a9e2..ed589644 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/05-libclang.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/05-libclang.sh @@ -2,9 +2,10 @@ set -ex BASEDIR=$(dirname "$0") -. $BASEDIR/../common/shared/sw_versions.txt +# shellcheck source=../common/shared/sw_versions.txt +. "$BASEDIR/../common/shared/sw_versions.txt" VERSION=$libclang_version URL="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${VERSION//\./}-linux-Rhel7.2-gcc5.3-x86_64.7z" SHA1="71194c4d6065a62ac1a891123df79fd9da311bf0" -$BASEDIR/../common/unix/libclang.sh "$URL" "$SHA1" "$VERSION" +"$BASEDIR/../common/unix/libclang.sh" "$URL" "$SHA1" "$VERSION" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/06-cmake.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/06-cmake.sh index 9800229d..062b2790 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/06-cmake.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/06-cmake.sh @@ -39,4 +39,5 @@ set -ex # CMake is needed for autotests that verify that Qt can be built with CMake +# shellcheck source=../common/linux/cmake_linux.sh source "${BASH_SOURCE%/*}/../common/linux/cmake_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/07-qnx_700.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/07-qnx_700.sh index 970d80b1..92c741fb 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/07-qnx_700.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/07-qnx_700.sh @@ -35,4 +35,5 @@ set -ex +# shellcheck source=../common/linux/qnx_700.sh source "${BASH_SOURCE%/*}/../common/linux/qnx_700.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/08-integrity.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/08-integrity.sh index 1710b878..154370da 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/08-integrity.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/08-integrity.sh @@ -35,4 +35,5 @@ set -ex +# shellcheck source=../common/linux/integrity.sh source "${BASH_SOURCE%/*}/../common/linux/integrity.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/09-disable_selinux.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/09-disable_selinux.sh index e4d2dc15..b7a53cd4 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/09-disable_selinux.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/09-disable_selinux.sh @@ -35,4 +35,5 @@ set -ex +# shellcheck source=../common/linux/disable_selinux.sh source "${BASH_SOURCE%/*}/../common/linux/disable_selinux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/10-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/10-openssl_for_android_linux.sh index 9b0cd0f6..ef2b3ba8 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/10-openssl_for_android_linux.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/10-openssl_for_android_linux.sh @@ -34,8 +34,10 @@ ############################################################################# set +e +# shellcheck disable=SC1091 source /opt/rh/devtoolset-4/enable set -ex +# shellcheck source=../common/linux/openssl_for_android_linux.sh source "${BASH_SOURCE%/*}/../common/linux/openssl_for_android_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/22-mqtt_broker.sh index 04c09770..505374c5 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/22-mqtt_broker.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/22-mqtt_broker.sh @@ -33,4 +33,5 @@ ## ############################################################################# +# shellcheck source=../common/unix/mqtt_broker.sh source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-fbx.sh index ca24a70e..d8df4375 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-fbx.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-fbx.sh @@ -3,4 +3,4 @@ set -ex BASEDIR=$(dirname "$0") -$BASEDIR/../common/linux/fbx_linux.sh +"$BASEDIR/../common/linux/fbx_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-install_icu.sh index ed9d6679..cb23bbca 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-install_icu.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-install_icu.sh @@ -47,26 +47,26 @@ develPackageURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/ echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation" -targetFile=`mktemp` -wget --tries=5 --waitretry=5 --output-document=$targetFile $baseBinaryPackageURL +targetFile=$(mktemp) +wget --tries=5 --waitretry=5 --output-document="$targetFile" "$baseBinaryPackageURL" echo "$sha1 $targetFile" | sha1sum --check -sudo 7z x -y -o"/usr/lib64" $targetFile -sudo rm $targetFile +sudo 7z x -y -o/usr/lib64 "$targetFile" +sudo rm "$targetFile" echo "Installing custom ICU devel packages on RHEL" -tempDir=`mktemp -d` +tempDir=$(mktemp -d) -targetFile=`mktemp` -wget --tries=5 --waitretry=5 --output-document=$targetFile $develPackageURL +targetFile=$(mktemp) +wget --tries=5 --waitretry=5 --output-document="$targetFile" "$develPackageURL" echo "$sha1Dev $targetFile" | sha1sum --check -7z x -y -o$tempDir $targetFile +7z x -y -o"$tempDir" "$targetFile" -sudo cp -a $tempDir/lib/* /usr/lib64 -sudo cp -a $tempDir/* /usr/ +sudo cp -a "$tempDir"/lib/* /usr/lib64 +sudo cp -a "$tempDir"/* /usr/ -sudo rm $targetFile -sudo rm -fr $tempDir +sudo rm "$targetFile" +sudo rm -fr "$tempDir" sudo /sbin/ldconfig diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/40-android_linux.sh index ffe96d30..a6c4dfff 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/40-android_linux.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/40-android_linux.sh @@ -35,4 +35,5 @@ set -ex +# shellcheck source=../common/linux/android_linux.sh source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-open62541.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-open62541.sh index 6cc2b44f..049cdd2d 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-open62541.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-open62541.sh @@ -33,4 +33,5 @@ ## ############################################################################# +# shellcheck source=../common/linux/open62541.sh source "${BASH_SOURCE%/*}/../common/linux/open62541.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/90-squish.sh index 27ff15c3..e4281588 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/90-squish.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/90-squish.sh @@ -1,4 +1,4 @@ #!/usr/bin/env bash BASEDIR=$(dirname "$0") -$BASEDIR/../common/unix/squishInstall.sh +"$BASEDIR/../common/unix/squishInstall.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/99-version.sh new file mode 100755 index 00000000..03565da2 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/99-version.sh @@ -0,0 +1,48 @@ +#!/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 needs to be called last during provisioning so that the software information will show up last in provision log. + +# Storage installed RPM packages information + +set -ex + +# shellcheck disable=SC2129 +echo "*********************************************" >> ~/versions.txt +echo "***** All installed RPM packages *****" >> ~/versions.txt +rpm -q -a | sort >> ~/versions.txt +echo "*********************************************" >> ~/versions.txt + +"$(dirname "$0")/../common/linux/version.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-systemsetup.sh new file mode 100755 index 00000000..ee6af148 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-systemsetup.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# This script modifies system settings for automated use + +set -ex + +# shellcheck source=../common/unix/check_and_set_proxy.sh +source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" + +NTS_IP=10.212.2.216 + +echo "Set timezone to UTC." +sudo timedatectl set-timezone Etc/UTC +echo "Timeout for blanking the screen (0 = never)" +gsettings set org.gnome.desktop.session idle-delay 0 +echo "Prevents screen lock when screesaver goes active." +gsettings set org.gnome.desktop.screensaver lock-enabled false +echo "Disable questions on shutdown." +gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown true + +echo "Set Network Test Server address to $NTS_IP in /etc/hosts" +echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts + +if [ "$proxy" != "" ]; then + echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf +fi diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/02-apt.sh new file mode 100755 index 00000000..bfbb6a8e --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/02-apt.sh @@ -0,0 +1,55 @@ +#!/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$ +## +############################################################################# + +# Install required packages with APT + +set -ex + +echo "Disabling auto update" +sudo sed -i 's/APT::Periodic::Update-Package-Lists "1";/APT::Periodic::Update-Package-Lists "0";/' /etc/apt/apt.conf.d/10periodic +for service in apt-daily.timer apt-daily-upgrade.timer apt-daily.service apt-daily-upgrade.service; do + sudo systemctl stop $service + sudo systemctl disable $service +done + +installPackages+=(git) +installPackages+=(p7zip-full) +installPackages+=(expect) + +echo "Running update for apt" +sudo apt-get update +echo "Installing packages" +sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/90-squish.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/90-squish.sh new file mode 100755 index 00000000..965112af --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/90-squish.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/squishInstall.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh index 119a1008..938ef37c 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh @@ -59,3 +59,6 @@ echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/h if [ "$http_proxy" != "" ]; then echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf fi + +# This won't be needed for Ubuntu 17 and above, see QTBUG-67757. +sudo sed -i '/-UnityDecoration-extents/c\ -UnityDecoration-extents: 0 0 0 0;' /usr/share/themes/Ambiance/gtk-3.0/apps/unity.css diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh index 40e07fe6..e78cba17 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh @@ -124,6 +124,7 @@ installPackages+=(curl) installPackages+=(libicu-dev) installPackages+=(zlib1g-dev) installPackages+=(zlib1g) +installPackages+=(zlib1g:i386) installPackages+=(openjdk-8-jdk) installPackages+=(libgtk-3-dev) installPackages+=(ninja-build) diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/99-version.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/99-version.sh new file mode 100755 index 00000000..21a4c4cf --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/99-version.sh @@ -0,0 +1,46 @@ +#!/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 needs to be called last during provisioning so that the software information will show up last in provision log. + +set -ex + +# shellcheck disable=SC2129 +echo "*********************************************" >> ~/versions.txt +echo "***** All installed packages *****" >> ~/versions.txt +apt list --installed >> ~/versions.txt +echo "*********************************************" >> ~/versions.txt + +"$(dirname "$0")/../common/linux/version.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/01-systemsetup.sh index 053adfe1..0e677642 100755 --- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/01-systemsetup.sh +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/01-systemsetup.sh @@ -3,7 +3,9 @@ set -ex BASEDIR=$(dirname "$0") -source $BASEDIR/../common/shared/network_test_server_ip.txt +# shellcheck source=../common/shared/network_test_server_ip.txt +source "$BASEDIR/../common/shared/network_test_server_ip.txt" +# shellcheck source=../common/unix/check_and_set_proxy.sh source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" sed -i '$ a\[Daemon\]\nAutolock=false\nLockOnResume=false' ~/.config/kscreenlockerrc @@ -17,6 +19,7 @@ sudo balooctl disable echo "Disable update notifications" sudo zypper -nq remove plasma5-pk-updates +# shellcheck disable=SC2031 if [ "$http_proxy" != "" ]; then sudo sed -i 's/PROXY_ENABLED=\"no\"/PROXY_ENABLED=\"yes\"/' /etc/sysconfig/proxy sudo sed -i "s|HTTP_PROXY=\".*\"|HTTP_PROXY=\"$proxy\"|" /etc/sysconfig/proxy diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-disable-ntp.sh index 97bb177c..38707a8a 100755 --- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-disable-ntp.sh +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-disable-ntp.sh @@ -1,2 +1,3 @@ #!/usr/bin/env bash +# shellcheck source=../common/linux/disable-ntp_linux.sh source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-libclang.sh index 53715dd4..5113633a 100755 --- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-libclang.sh +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-libclang.sh @@ -3,9 +3,10 @@ set -ex BASEDIR=$(dirname "$0") -. $BASEDIR/../common/shared/sw_versions.txt +# shellcheck source=../common/shared/sw_versions.txt +. "$BASEDIR/../common/shared/sw_versions.txt" VERSION=$libclang_version URL="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${VERSION//\./}-linux-Rhel7.2-gcc5.3-x86_64.7z" SHA1="71194c4d6065a62ac1a891123df79fd9da311bf0" -$BASEDIR/../common/unix/libclang.sh "$URL" "$SHA1" "$VERSION" +"$BASEDIR/../common/unix/libclang.sh" "$URL" "$SHA1" "$VERSION" diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/09-cmake.sh index 2044310c..5eb53566 100755 --- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/09-cmake.sh +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/09-cmake.sh @@ -2,4 +2,4 @@ set -ex -$(dirname $0)/../common/linux/cmake_linux.sh +"$(dirname "$0")/../common/linux/cmake_linux.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/18-icc.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/18-icc.sh index e5a4208b..7ab8528a 100755 --- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/18-icc.sh +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/18-icc.sh @@ -35,6 +35,7 @@ # This script install Intel Parallel Studio XE Composer Edition for C++ Linux +# shellcheck source=../common/unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" set -ex diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/22-mqtt_broker.sh index 04c09770..505374c5 100755 --- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/22-mqtt_broker.sh +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/22-mqtt_broker.sh @@ -33,4 +33,5 @@ ## ############################################################################# +# shellcheck source=../common/unix/mqtt_broker.sh source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/50-open62541.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/50-open62541.sh index 6cc2b44f..049cdd2d 100755 --- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/50-open62541.sh +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/50-open62541.sh @@ -33,4 +33,5 @@ ## ############################################################################# +# shellcheck source=../common/linux/open62541.sh source "${BASH_SOURCE%/*}/../common/linux/open62541.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/90-squish.sh index 27ff15c3..e4281588 100755 --- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/90-squish.sh +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/90-squish.sh @@ -1,4 +1,4 @@ #!/usr/bin/env bash BASEDIR=$(dirname "$0") -$BASEDIR/../common/unix/squishInstall.sh +"$BASEDIR/../common/unix/squishInstall.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/99-version.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/99-version.sh new file mode 100755 index 00000000..03565da2 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/99-version.sh @@ -0,0 +1,48 @@ +#!/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 needs to be called last during provisioning so that the software information will show up last in provision log. + +# Storage installed RPM packages information + +set -ex + +# shellcheck disable=SC2129 +echo "*********************************************" >> ~/versions.txt +echo "***** All installed RPM packages *****" >> ~/versions.txt +rpm -q -a | sort >> ~/versions.txt +echo "*********************************************" >> ~/versions.txt + +"$(dirname "$0")/../common/linux/version.sh" diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh index a68704f9..8532f99a 100755 --- a/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh +++ b/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh @@ -42,11 +42,11 @@ source "${BASH_SOURCE%/*}/../common/unix/InstallFromCompressedFileFromURL.sh" # shellcheck source=../common/unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" -opensslVersion="1.0.2k" +opensslVersion="1.0.2o" opensslFile="openssl-$opensslVersion.tar.gz" opensslDlUrl="http://ci-files01-hki.intra.qt.io/input/openssl/$opensslFile" opensslAltDlUrl="https://www.openssl.org/source/$opensslFile" -opensslSha1="5f26a624479c51847ebd2f22bb9f84b3b44dcb44" +opensslSha1="a47faaca57b47a0d9d5fb085545857cc92062691" # Below target location has been hard coded into Coin. # QTQAINFRA-1195 diff --git a/coin/provisioning/qtci-windows-10-x86_64/90-signing-tools.ps1 b/coin/provisioning/qtci-windows-10-x86_64/90-signing-tools.ps1 index 854bee01..daaab36f 100644 --- a/coin/provisioning/qtci-windows-10-x86_64/90-signing-tools.ps1 +++ b/coin/provisioning/qtci-windows-10-x86_64/90-signing-tools.ps1 @@ -40,5 +40,5 @@ $url = "http://ci-files01-hki.intra.qt.io/input/semisecure/sign/sign.zip" $destination = "C:\Windows\temp\sign.zip" Download $url $url $destination -Extract-Zip "$destination" "C:\Utils" +Extract-7Zip "$destination" "C:\Utils" Remove-Item -Path "$destination" diff --git a/coin/provisioning/qtci-windows-7-x86/04-msys.ps1 b/coin/provisioning/qtci-windows-7-x86/04-msys.ps1 index 8bfcdbae..be52fb2a 100644 --- a/coin/provisioning/qtci-windows-7-x86/04-msys.ps1 +++ b/coin/provisioning/qtci-windows-7-x86/04-msys.ps1 @@ -12,3 +12,5 @@ $destination = "C:\msys" Download $url $url $zip Verify-Checksum $zip $sha1 C:\Utils\sevenzip\7z.exe x $zip -oC:\ + +Write-Output "Msys = $version" >> ~/versions.txt |