diff options
author | Frederik Gladhorn <frederik.gladhorn@qt.io> | 2018-01-29 13:34:28 +0100 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@qt.io> | 2018-01-29 13:34:28 +0100 |
commit | 485244b016172445aa20bd31fb84fec6b7724cf5 (patch) | |
tree | cf2a40fea5517379e56e624bcb27936873546f1e | |
parent | 3504be0d83cdfb565ee5e3c043c33c54dacbfa54 (diff) | |
parent | 00e31823d35eecfa6ee265b1ccdb563dfe1b905f (diff) |
Merge remote-tracking branch 'origin/5.9' into 5.10.1
This was pushed directly, bypassing codereview.qt-project.org to get
provisioning back into a working state.
Change-Id: Ia5d2e6f7079162f571cd7c7994c0f2b3133b1163
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
47 files changed, 606 insertions, 51 deletions
diff --git a/coin/provisioning/common/linux/android_linux.sh b/coin/provisioning/common/linux/android_linux.sh index b4a412c8..76db19d4 100755 --- a/coin/provisioning/common/linux/android_linux.sh +++ b/coin/provisioning/common/linux/android_linux.sh @@ -40,6 +40,7 @@ source "${BASH_SOURCE%/*}/../unix/try_catch.sh" source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" source "${BASH_SOURCE%/*}/../unix/check_and_set_proxy.sh" +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" targetFolder="/opt/android" sdkTargetFolder="$targetFolder/sdk" @@ -95,10 +96,10 @@ try echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" || throw $ExceptionSdkManager fi - echo "export ANDROID_SDK_HOME=$sdkTargetFolder" >> ~/.bashrc - echo "export ANDROID_NDK_HOME=$targetFolder/android-ndk-$ndkVersion" >> ~/.bashrc - echo "export ANDROID_NDK_HOST=linux-x86_64" >> ~/.bashrc - echo "export ANDROID_API_VERSION=$sdkApiLevel" >> ~/.bashrc + SetEnvVar "ANDROID_SDK_HOME" "$sdkTargetFolder" + SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersion" + SetEnvVar "ANDROID_NDK_HOST" "linux-x86_64" + SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel" echo "Android SDK tools = $toolsVersion" >> ~/versions.txt echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt diff --git a/coin/provisioning/common/linux/cmake_linux.sh b/coin/provisioning/common/linux/cmake_linux.sh index 27358a20..98af57c8 100755 --- a/coin/provisioning/common/linux/cmake_linux.sh +++ b/coin/provisioning/common/linux/cmake_linux.sh @@ -39,6 +39,7 @@ # shellcheck source=InstallFromCompressedFileFromURL.sh source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh" +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" version="3.6.2" PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/cmake/cmake-3.6.2-Linux-x86_64.tar.gz" @@ -49,9 +50,4 @@ appPrefix="cmake-$version-Linux-x86_64" InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$targetFolder" "$appPrefix" -echo "Adding $targetFolder/bin to PATH" -if uname -a |grep -q "Ubuntu"; then - echo "export PATH=$targetFolder/bin:\$PATH" >> ~/.profile -else - echo "export PATH=$targetFolder/bin:\$PATH" >> ~/.bashrc -fi +SetEnvVar "PATH" "$targetFolder/bin:\$PATH" diff --git a/coin/provisioning/common/linux/fbx_linux.sh b/coin/provisioning/common/linux/fbx_linux.sh index 0b587aed..a6c00f61 100755 --- a/coin/provisioning/common/linux/fbx_linux.sh +++ b/coin/provisioning/common/linux/fbx_linux.sh @@ -35,7 +35,7 @@ # This script installs FBX SDK source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" -#s script installs FBX SDK +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" set -e tarballName="fbx20161_2_fbxsdk_linux.tar.gz" @@ -56,7 +56,7 @@ sudo mkdir -p $targetFolder rm -rf "$targetFile" # Set env variables -echo "export FBXSDK=$targetFolder" >> ~/.profile +SetEnvVar "FBXSDK" "$targetFolder" echo "FBX SDK = 2016.1.2" >> ~/versions.txt diff --git a/coin/provisioning/common/linux/integrity.sh b/coin/provisioning/common/linux/integrity.sh index 0c7234b3..e291358d 100755 --- a/coin/provisioning/common/linux/integrity.sh +++ b/coin/provisioning/common/linux/integrity.sh @@ -36,6 +36,7 @@ # This script installs INTEGRITY source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh" +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" version="11.4.4" PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/integrity/ghs_$version.tar.gz" @@ -46,10 +47,10 @@ appPrefix="" InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$targetFolder" "$appPrefix" -echo "export INTEGRITY_BSP=platform-cortex-a9" >> ~/.bashrc -echo "export INTEGRITY_PATH=$targetFolder/comp_201654" >> ~/.bashrc -echo "export INTEGRITY_DIR=$targetFolder/int1144" >> ~/.bashrc -echo "export INTEGRITY_GL_INC_DIR=\$INTEGRITY_DIR/INTEGRITY-include/Vivante/sdk/inc" >> ~/.bashrc -echo "export INTEGRITY_GL_LIB_DIR=\$INTEGRITY_DIR/libs/Vivante" >> ~/.bashrc +SetEnvVar "INTEGRITY_BSP" "platform-cortex-a9" +SetEnvVar "INTEGRITY_PATH" "$targetFolder/comp_201654" +SetEnvVar "INTEGRITY_DIR" "$targetFolder/int1144" +SetEnvVar "INTEGRITY_GL_INC_DIR" "\$INTEGRITY_DIR/INTEGRITY-include/Vivante/sdk/inc" +SetEnvVar "INTEGRITY_GL_LIB_DIR" "\$INTEGRITY_DIR/libs/Vivante" echo "INTEGRITY = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/linux/openssl_for_android_linux.sh b/coin/provisioning/common/linux/openssl_for_android_linux.sh index cda41d72..e9f50b87 100755 --- a/coin/provisioning/common/linux/openssl_for_android_linux.sh +++ b/coin/provisioning/common/linux/openssl_for_android_linux.sh @@ -38,6 +38,7 @@ source "${BASH_SOURCE%/*}/../unix/try_catch.sh" source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" version="1.0.2g" officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz" @@ -64,7 +65,8 @@ try pushd "$opensslHome" perl Configure shared android || throw $ExceptionConfig - echo "export OPENSSL_ANDROID_HOME=$opensslHome" >> ~/.bashrc + SetEnvVar "OPENSSL_ANDROID_HOME" "$opensslHome" + echo "OpenSSL for Android = $version" >> ~/versions.txt ) catch || { diff --git a/coin/provisioning/common/linux/qnx_700.sh b/coin/provisioning/common/linux/qnx_700.sh index 73783468..5901b634 100755 --- a/coin/provisioning/common/linux/qnx_700.sh +++ b/coin/provisioning/common/linux/qnx_700.sh @@ -36,6 +36,9 @@ # This script installs QNX 7. set -ex + +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + targetFolder="/opt/" sourceFile="http://ci-files01-hki.intra.qt.io/input/qnx/qnx700.tar.xz" sha1="949a87c5f00d0756956cb4b1b3b213ecaeee9113" @@ -44,7 +47,7 @@ targetFile="qnx700.tar.xz" wget --tries=5 --waitretry=5 --output-document="$targetFile" "$sourceFile" echo "$sha1 $targetFile" | sha1sum --check if [ ! -d "$targetFolder" ]; then - mkdir -p $targetFolder + mkdir -p $targetFolder fi sudo tar -C $targetFolder -Jxf $targetFile sudo chown -R qt:users "$targetFolder"/"$folderName" @@ -57,5 +60,6 @@ fi rm -rf $targetFile # Set env variables -echo "export QNX_700=$targetFolder$folderName" >> ~/.bashrc +SetEnvVar "QNX_700" "$targetFolder$folderName" + echo "QNX SDP = 7.0.0" >> ~/versions.txt diff --git a/coin/provisioning/common/macos/cmake.sh b/coin/provisioning/common/macos/cmake.sh index c727c8ff..f926de89 100755 --- a/coin/provisioning/common/macos/cmake.sh +++ b/coin/provisioning/common/macos/cmake.sh @@ -39,6 +39,8 @@ # shellcheck source=./InstallAppFromCompressedFileFromURL.sh source "${BASH_SOURCE%/*}/InstallAppFromCompressedFileFromURL.sh" +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/osx_10.11_el_capitan/cmake-3.6.2-Darwin-x86_64.tar.gz" AltUrl="https://cmake.org/files/v3.6/cmake-3.6.2-Darwin-x86_64.tar.gz" @@ -47,5 +49,6 @@ appPrefix="cmake-3.6.2-Darwin-x86_64" InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" -echo "export PATH=/Applications/CMake.app/Contents/bin:\$PATH" >> ~/.bashrc +SetEnvVar "PATH" "/Applications/CMake.app/Contents/bin:\$PATH" + echo "CMake = 3.6.2" >> ~/versions.txt diff --git a/coin/provisioning/common/macos/fbx_macos.sh b/coin/provisioning/common/macos/fbx_macos.sh index 9dc97814..b2ec8154 100755 --- a/coin/provisioning/common/macos/fbx_macos.sh +++ b/coin/provisioning/common/macos/fbx_macos.sh @@ -36,6 +36,8 @@ # shellcheck source=./../unix/try_catch.sh source "${BASH_SOURCE%/*}/../unix/try_catch.sh" +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" fileName="fbx20161_2_fbxsdk_clang_mac.pkg.tgz" targetFolder="/opt/fbx" @@ -74,6 +76,7 @@ echo "Running installer for '$installer'" sudo installer -pkg "$installer" -target "/" # Set env variables -echo "export FBXSDK=/Applications/Autodesk/FBX\ SDK/2016.1.2/" >> ~/.bashrc +SetEnvVar "FBXSDK" "/Applications/Autodesk/FBX\ SDK/2016.1.2/" + echo "FBX SDK = 2016.1.2" >> ~/versions.txt diff --git a/coin/provisioning/common/macos/python3.sh b/coin/provisioning/common/macos/python3.sh index fc20aa2d..f38ab5e6 100755 --- a/coin/provisioning/common/macos/python3.sh +++ b/coin/provisioning/common/macos/python3.sh @@ -37,6 +37,7 @@ # This script installs python3 source "${BASH_SOURCE%/*}/InstallPKGFromURL.sh" +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/python-3.6.1-macosx10.6.pkg" AltUrl="https://www.python.org/ftp/python/3.6.1/python-3.6.1-macosx10.6.pkg" @@ -47,6 +48,7 @@ InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir" /Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 install virtualenv -echo "export PYTHON3_PATH=/Library/Frameworks/Python.framework/Versions/3.6/bin" >> ~/.bashrc -echo "export PIP3_PATH=/Library/Frameworks/Python.framework/Versions/3.6/bin" >> ~/.bashrc +SetEnvVar "PYTHON3_PATH" "/Library/Frameworks/Python.framework/Versions/3.6/bin" +SetEnvVar "PIP3_PATH" "/Library/Frameworks/Python.framework/Versions/3.6/bin" + echo "python3 = 3.6.1" >> ~/versions.txt diff --git a/coin/provisioning/common/network_test_server_ip.txt b/coin/provisioning/common/shared/network_test_server_ip.txt index ec3d058a..ec3d058a 100644 --- a/coin/provisioning/common/network_test_server_ip.txt +++ b/coin/provisioning/common/shared/network_test_server_ip.txt diff --git a/coin/provisioning/common/sw_versions.txt b/coin/provisioning/common/shared/sw_versions.txt index cc165dd5..cc165dd5 100644 --- a/coin/provisioning/common/sw_versions.txt +++ b/coin/provisioning/common/shared/sw_versions.txt diff --git a/coin/provisioning/common/unix/SetEnvVar.sh b/coin/provisioning/common/unix/SetEnvVar.sh new file mode 100755 index 00000000..e1b69169 --- /dev/null +++ b/coin/provisioning/common/unix/SetEnvVar.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the test suite of the Qt Toolkit. +## +## $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$ +## +############################################################################# + +# A helper script used for setting environment variables on Unix systems + +set -ex + +function SetEnvVar { + name=$1 + path=$2 + + echo "Setting environment variable $name to $path." + + if uname -a |grep -q "Ubuntu"; then + echo "export $name=$path" >> ~/.profile + else + echo "export $name=$path" >> ~/.bashrc + fi +} diff --git a/coin/provisioning/common/unix/libclang.sh b/coin/provisioning/common/unix/libclang.sh index 69d9ff96..d59c9fa2 100755 --- a/coin/provisioning/common/unix/libclang.sh +++ b/coin/provisioning/common/unix/libclang.sh @@ -43,7 +43,7 @@ set -e source "${BASH_SOURCE%/*}/check_and_set_proxy.sh" BASEDIR=$(dirname "$0") -. $BASEDIR/../sw_versions.txt +. $BASEDIR/../shared/sw_versions.txt url=$1 sha1=$2 version=$3 diff --git a/coin/provisioning/common/unix/squishInstall.sh b/coin/provisioning/common/unix/squishInstall.sh new file mode 100755 index 00000000..e2553fcf --- /dev/null +++ b/coin/provisioning/common/unix/squishInstall.sh @@ -0,0 +1,211 @@ +#!/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$ +## +############################################################################# + +source "${BASH_SOURCE%/*}/try_catch.sh" + +set -ex + +# This script will install squish package for Linux and Mac. +# Squish is need by Release Test Automation (RTA) + +version="6.3.0" +# Branch version without dot +qtBranch="59x" +squishFolder="/opt/squish" +squishUrl="ci-files01-hki.intra.qt.io:/hdd/www/input/squish/coin/$qtBranch/" +squishFile="squish-$version-qt$qtBranch-linux64.run" +if uname -a |grep -q Darwin; then + squishFile="squish-$version-qt$qtBranch-macx86_64.dmg" +fi + +squishLicenseUrl="ci-files01-hki.intra.qt.io:/hdd/www/input/squish/coin/" +squishLicenseFile=".squish-3-license.tar.gz" + +# These checks can be removed when Vanilla OS for all linux and Mac are in +if [ -d "$squishFolder" ]; then + echo "Move old squish to /tmp" + sudo mv "$squishFolder" "/tmp/squish_$(date)" +fi + +if [ -f "/etc/profile.d/squish_env.sh" ]; then + echo "Remove /etc/profile.d/squish_env.sh" + sudo rm -f "/etc/profile.d/squish_env.sh" + export SQUISH_LICENSEKEY_DIR=$HOME +fi + +ExceptionMount=100 +ExceptionCreateFolder=101 +ExceptionUncompress=102 +ExceptionUnknownFormat=103 +ExceptionCopy=104 +ExceptionUmount=105 +ExceptionHdiutilAttach=106 +ExceptionInstallSquish=107 +ExceptionChangeOwnership=108 + +function MountAndInstall { + + url=$1 + targetDirectory=$2 + targetFile=$3 + + # Check which platform + if uname -a |grep -q Darwin; then + usersGroup="staff" + mountFolder="/Volumes" + squishLicenseDir="/Users/qt" + elif uname -a |grep -q "el6\|el7"; then + usersGroup="qt" + mountFolder="/tmp" + squishLicenseDir="/root" + elif uname -a |grep -q "Ubuntu"; then + usersGroup="users" + mountFolder="/tmp" + squishLicenseDir="/home/qt" + else + usersGroup="users" + mountFolder="/tmp" + squishLicenseDir="/root" + fi + + targetFileMount="$mountFolder"/"$targetFile" + + try + ( + echo "Mounting $url to $mountFolder" + sudo mount "$url" $mountFolder || throw $ExceptionMount + echo "Create $targetDirectory if needed" + if [ ! -d "/opt" ]; then + sudo mkdir "/opt" || throw $ExceptionCreateFolder + fi + if [ ! -d "$targetDirectory" ]; then + sudo mkdir "$targetDirectory" || throw $ExceptionCreateFolder + fi + echo "Uncompress $targetFile" + if [[ $targetFile == *.tar.gz ]]; then + if [[ $targetFile == .squish-3-license.* ]]; then + target="$squishLicenseDir" + # Squish license need to be exists also in users home directory, because squish check it before it starts running tests + sudo tar -xzf "$targetFileMount" --directory "$HOME" || throw $ExceptionUncompress + else + target="$targetDirectory" + fi + sudo tar -xzf "$targetFileMount" --directory "$target" || throw $ExceptionUncompress + echo "Unmounting $mountFolder" + sudo umount $mountFolder || throw $ExceptionUmount + elif [[ $targetFile == *.dmg ]]; then + echo "'dmg-file', no need to uncompress" + sudo cp $targetFileMount /tmp || throw $ExceptionCopy + sudo umount $mountFolder || throw $ExceptionUmount + sudo hdiutil attach "/tmp/$targetFile" || throw $ExceptionHdiutilAttach + sudo /Volumes/froglogic\ Squish/Install\ Squish.app/Contents/MacOS/Squish unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" || throw $ExceptionInstallSquish + sudo hdiutil unmount /Volumes/froglogic\ Squish/ + elif [[ $targetFile == *.run ]]; then + echo "'run-file', no need to uncompress" + sudo cp $targetFileMount $targetDirectory || throw $ExceptionCopy + sudo umount $mountFolder || throw $ExceptionUmount + sudo $targetDirectory/$targetFile unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null 2>&1 || throw $ExceptionInstallSquish + sudo rm -fr "$targetDirectory/$targetFile" + if uname -a |grep -q "Ubuntu"; then + sudo mkdir /usr/lib/tcl8.6 || throw $ExceptionCreateFolder + sudo cp "$targetDirectory/package/tcl/lib/tcl8.6/init.tcl" /usr/lib/tcl8.6/ || throw $ExceptionCopy + fi + else + throw $ExceptionUnknownFormat + fi + + echo "Changing ownerships" + sudo chown -R qt:$usersGroup "$targetDirectory" || throw $ExceptionChangeOwnership + sudo chown qt:$usersGroup "$HOME/.squish-3-license" + + ) + + catch || { + case $ex_code in + $ExceptionMount) + echo "Failed to mount $url to $mountFolder." + exit 1; + ;; + $ExceptionCreateFolder) + echo "Failed to create folder" + exit 1; + ;; + $ExceptionUncompress) + echo "Failed extracting compressed file." + exit 1; + ;; + $ExceptionUnknownFormat) + echo "Unknown file format." + exit 1; + ;; + $ExceptionCopy) + echo "Failed to copy" + exit 1; + ;; + $ExceptionUmount) + echo "Failed to unmount $mountFolder." + exit 1; + ;; + $ExceptionHdiutilAttach) + echo "Failed to hdituli attach $mountFolder/$targetFile." + exit 1; + ;; + $ExceptionInstallSquish) + echo "Failed to install squish" + exit 1; + ;; + $ExceptionChangeOwnership) + echo "Failed to change ownership of $targetDirectory." + exit 1; + ;; + esac + } +} + +echo "Set commands for environment variables in .bashrc" + +if uname -a |grep -q "Ubuntu"; then + echo "export SQUISH_PATH=$squishFolder/package" >> ~/.profile + echo "export PATH=\$PATH:$quishFolder/squish-$version/bin" >> ~/.profile +else + echo "export SQUISH_PATH=$squishFolder/package" >> ~/.bashrc + echo "export PATH=\$PATH:$quishFolder/squish-$version/bin" >> ~/.bashrc +fi + +echo "Installing squish license to home directory.." +MountAndInstall "$squishLicenseUrl" "$squishFolder" "$squishLicenseFile" + +echo "Installing squish $version.." +MountAndInstall "$squishUrl" "$squishFolder" "$squishFile" diff --git a/coin/provisioning/common/windows/helpers.ps1 b/coin/provisioning/common/windows/helpers.ps1 index f6a9fd90..4248d0ed 100644 --- a/coin/provisioning/common/windows/helpers.ps1 +++ b/coin/provisioning/common/windows/helpers.ps1 @@ -127,3 +127,19 @@ function is64bitWinHost return 0 } } + +Function Execute-Command +{ + Param ( + [string]$command + ) + Try { + echo "Executing command '$command'..." + $process = Start-Process -FilePath "cmd" -ArgumentList "/c $command" -PassThru -Wait -WindowStyle Hidden + if ($process.ExitCode) {throw "Error running command: '$command'"} + } + Catch { + $_.Exception.Message + exit 1 + } +} diff --git a/coin/provisioning/common/windows/libclang.ps1 b/coin/provisioning/common/windows/libclang.ps1 index 9d857051..208d1ed4 100644 --- a/coin/provisioning/common/windows/libclang.ps1 +++ b/coin/provisioning/common/windows/libclang.ps1 @@ -4,7 +4,7 @@ param([Int32]$archVer=32) # 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. -Get-Content "$PSScriptRoot\..\sw_versions.txt" | Foreach-Object { +Get-Content "$PSScriptRoot\..\shared\sw_versions.txt" | Foreach-Object { $var = $_.Split('=') New-Variable -Name $var[0] -Value $var[1] $libclang_version = $libclang_version -replace '["."]' diff --git a/coin/provisioning/common/windows/set-network-test-server.ps1 b/coin/provisioning/common/windows/set-network-test-server.ps1 index 69059a2a..e6e92d48 100644 --- a/coin/provisioning/common/windows/set-network-test-server.ps1 +++ b/coin/provisioning/common/windows/set-network-test-server.ps1 @@ -35,7 +35,7 @@ # This script will set the network test server IP in to hosts file -$n = Get-Content "$PSScriptRoot\..\network_test_server_ip.txt" +$n = Get-Content "$PSScriptRoot\..\shared\network_test_server_ip.txt" $n = $n.Split('=') New-Variable -Name $n[0] -Value $n[1] diff --git a/coin/provisioning/common/windows/squishInstall.ps1 b/coin/provisioning/common/windows/squishInstall.ps1 new file mode 100644 index 00000000..7641c9fe --- /dev/null +++ b/coin/provisioning/common/windows/squishInstall.ps1 @@ -0,0 +1,163 @@ +############################################################################# +## +## 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$ +## +############################################################################# + +. "$PSScriptRoot\helpers.ps1" + + +# This script will install squish package for Windows. +# Squish is need by Release Test Automation (RTA) + +$version = "6.3.0" +# Qt branch without dot (*.*) +$qtBranch = "59x" +$targetDir = "C:\Utils\squish" +$squishUrl = "\\ci-files01-hki.intra.qt.io\provisioning\squish\coin" +$squishBranchUrl = "$squishUrl\$qtBranch" + +# Squish license +$licensePackage = ".squish-3-license" + +$OSVersion = (get-itemproperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name ProductName).ProductName + +# This can be removed when using vanilla os +if((Test-Path -Path "$targetDir" )){ + try { + echo "Renaming old Squish" + echo "Rename-Item -ErrorAction 'Stop' $targetDir $targetDir_deleted" + Rename-Item -ErrorAction 'Stop' "$targetDir" squish_deleted + } catch {} +} + +Function DownloadAndInstallSquish { + + Param ( + [string]$version, + [string]$squishBranchUrl, + [string]$qtBranch, + [string]$bit, + [string]$targetDir, + [string]$squishPackage + ) + + $SquishUrl = $squishBranchUrl + "\squish-" + $version + "-qt" + $qtBranch + "-" + $bit + "-" + $squishPackage + ".exe" + $SquishInstaller = "$targetDir\$squishPackage.exe" + $SquishParameters = "unattended=1 targetdir=$targetDir\$squishPackage" + $Command = "$SquishInstaller $SquishParameters" + + echo "Fetching from URL ..." + Copy-Item "$SquishUrl" "$SquishInstaller" + echo "Installing Squish" + Execute-Command $Command + remove-item $SquishInstaller +} + +Function DownloadSquishLicence { + + Param ( + [string]$licensePackage, + [string]$squishUrl, + [string]$targetDir + ) + + # This can be removed when using vanilla os + if ($Env:SQUISH_LICENSEKEY_DIR) + { + echo "Removing SQUISH_LICENSEKEY_DIR env variable" + Remove-Item Env:\SQUISH_LICENSEKEY_DIR + } + + echo "Installing Squish license to home directory" + Copy-Item $squishUrl\$licensePackage ~\$licensePackage +} + +echo "Creating $targetDir" +New-Item -ErrorAction Ignore -ItemType directory -Path "$targetDir" + +DownloadSquishLicence $licensePackage $squishUrl $targetDir + +if(($OSVersion -eq "Windows 10 Enterprise") -or ($OSVersion -eq "Windows 8.1 Enterprise")) +{ + # Squish for Visual Studio 2015 + $squishPackage = "msvc14" + $squishPackage64bit = "msvc14_64" + + if(($env:PROCESSOR_ARCHITECTURE -eq "AMD64") -or ($env:PROCESSOR_ARCHITEW6432 -eq "AMD64")) + { + echo "Installing $squishPackage_64" + DownloadAndInstallSquish $version $squishBranchUrl $qtBranch win64 $targetDir $squishPackage + mv $targetDir\$squishPackage $targetDir\$squishPackage64bit + } + + echo "Installing $squishPackage" + DownloadAndInstallSquish $version $squishBranchUrl $qtBranch win32 $targetDir $squishPackage +} +if($OSVersion -eq "Windows 8.1 Enterprise") +{ + # Squish for Visual Studio 2013 + $squishPackage64bit = "msvc12_64" + + if(($env:PROCESSOR_ARCHITECTURE -eq "AMD64") -or ($env:PROCESSOR_ARCHITEW6432 -eq "AMD64")) + { + echo "Installing $squishPackage_64" + DownloadAndInstallSquish $version $squishBranchUrl $qtBranch win64 $targetDir $squishPackage + mv $targetDir\$squishPackage $targetDir\$squishPackage64bit + } + else + { + echo "Change secret file to normal one" + attrib -h C:\Users\qt\.squish-3-license + } +} +else +{ + # Windows 7 + + # Squish for MinGW + $squishPackageMingw = "mingw_gcc53_posix_dwarf" + echo "Installing $squishPackageMingw" + DownloadAndInstallSquish $version $squishBranchUrl $qtBranch win32 $targetDir $squishPackageMingw + mv $targetDir\$squishPackageMingw $targetDir\mingw + + # Squish for Visual Studio 2015 + $squishPackage = "msvc14" + $squishPackage64bit = "msvc14_64" + + if(($env:PROCESSOR_ARCHITECTURE -eq "AMD64") -or ($env:PROCESSOR_ARCHITEW6432 -eq "AMD64")) + { + echo "Installing $squishPackage64bit" + DownloadAndInstallSquish $version $squishBranchUrl $qtBranch win64 $targetDir $squishPackage + mv $targetDir\$squishPackage $targetDir\$squishPackage64bit + } + + +} diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-refresh-subscription-manager.sh new file mode 100755 index 00000000..84238ebf --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-refresh-subscription-manager.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +set -ex + +# refresh local certificates +sudo subscription-manager refresh + +# Attach available subscriptions to system. This is needed when subscriptions are renewed. +sudo subscription-manager attach --auto + diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-libclang.sh index b418ed8b..fb5a81b3 100755 --- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-libclang.sh +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-libclang.sh @@ -3,7 +3,7 @@ set -ex BASEDIR=$(dirname "$0") -. $BASEDIR/../common/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-Rhel6.6-gcc4.9-x86_64.7z" SHA1="c7466109628418a6aa3db8b3f5825f847f1c4952" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-refresh-subscription-manager.sh index 8b10ffd1..84238ebf 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-refresh-subscription-manager.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-refresh-subscription-manager.sh @@ -2,7 +2,7 @@ ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## Copyright (C) 2018 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -38,3 +38,6 @@ set -ex # refresh local certificates sudo subscription-manager refresh +# Attach available subscriptions to system. This is needed when subscriptions are renewed. +sudo subscription-manager attach --auto + 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 f8847e51..a7718d96 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 @@ -37,7 +37,7 @@ set -ex BASEDIR=$(dirname "$0") source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" -source $BASEDIR/../common/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/05-libclang.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/05-libclang.sh index fa8d3a44..49d4d4f5 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,7 +2,7 @@ set -ex BASEDIR=$(dirname "$0") -. $BASEDIR/../common/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="bbdbbc0296f42310077539b7247d285386119ef4" 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 new file mode 100755 index 00000000..27ff15c3 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/90-squish.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +BASEDIR=$(dirname "$0") +$BASEDIR/../common/unix/squishInstall.sh + 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 b81162d5..d15e0059 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 @@ -56,6 +56,8 @@ try installPackages+=(git) # 7zip is a needed decompressing tool installPackages+=(p7zip-full) + # To be able to mount yocto-cache during builds + installPackages+=(nfs-common) # libssl-dev provides headers for OpenSSL installPackages+=(libssl-dev) # Needed libraries for X11 support accordingly to https://wiki.qt.io/Building_Qt_5_from_Git diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/03-qemu.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/03-qemu.sh index 74ef2b4e..9ff1ec6c 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/03-qemu.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/03-qemu.sh @@ -33,6 +33,9 @@ ############################################################################# set -ex + +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + # build latest qemu to usermode sudo apt-get -y install automake autoconf libtool @@ -91,4 +94,4 @@ sed $QEMU_FONTCONFFILE -e "s:/usr/share/fonts:$QEMU_FONTCONFPATH/fonts:" -i sed $QEMU_FONTCONFFILE -e "s:/usr/local/share/fonts:$QEMU_FONTCONFPATH/local_fonts:" -i # Set QEMU font configuration variables -echo "export QEMU_SET_ENV=\"FONTCONFIG_FILE=$QEMU_FONTCONFFILE,FONTCONFIG_PATH=$QEMU_FONTCONFPATH\"" >> ~/.profile +SetEnvVar "QEMU_SET_ENV" "\"FONTCONFIG_FILE=$QEMU_FONTCONFFILE,FONTCONFIG_PATH=$QEMU_FONTCONFPATH\"" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-yocto.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-yocto.sh index fbd75f22..cc799702 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-yocto.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-yocto.sh @@ -38,6 +38,7 @@ set -ex source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" echo "Installing Yocto toolchain for 32-bit b2qt..." @@ -76,10 +77,10 @@ chmod +x "$yoctoInstaller" rm -rf "$yoctoInstaller" if [ -e "$yoctoLocationARMv7/$sysrootARMv7" -a -e "$yoctoLocationARMv7/${crosscompileARMv7}g++" -a -e "$yoctoLocationARM64/$sysrootARM64" -a -e "$yoctoLocationARM64/${crosscompileARM64}g++" ]; then - echo "export QEMUARMV7_TOOLCHAIN_SYSROOT=$yoctoLocationARMv7/$sysrootARMv7" >> ~/.profile - echo "export QEMUARMV7_TOOLCHAIN_CROSS_COMPILE=$yoctoLocationARMv7/$crosscompileARMv7" >> ~/.profile - echo "export QEMUARM64_TOOLCHAIN_SYSROOT=$yoctoLocationARM64/$sysrootARM64" >> ~/.profile - echo "export QEMUARM64_TOOLCHAIN_CROSS_COMPILE=$yoctoLocationARM64/$crosscompileARM64" >> ~/.profile + SetEnvVar "QEMUARMV7_TOOLCHAIN_SYSROOT" "$yoctoLocationARMv7/$sysrootARMv7" + SetEnvVar "QEMUARMV7_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationARMv7/$crosscompileARMv7" + SetEnvVar "QEMUARM64_TOOLCHAIN_SYSROOT" "$yoctoLocationARM64/$sysrootARM64" + SetEnvVar "QEMUARM64_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationARM64/$crosscompileARM64" else echo "Error! Couldn't find installation paths for Yocto toolchain. Aborting provisioning." 1>&2 exit 1 diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/90-squish.sh new file mode 100755 index 00000000..27ff15c3 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/90-squish.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +BASEDIR=$(dirname "$0") +$BASEDIR/../common/unix/squishInstall.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 f419b7c1..4ebc1b44 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,7 @@ set -ex BASEDIR=$(dirname "$0") -source $BASEDIR/../common/network_test_server_ip.txt +source $BASEDIR/../common/shared/network_test_server_ip.txt source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" sed -i '$ a\[Daemon\]\nAutolock=false\nLockOnResume=false' ~/.config/kscreenlockerrc 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 65d3ad4b..b4155e86 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,7 +3,7 @@ set -ex BASEDIR=$(dirname "$0") -. $BASEDIR/../common/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="bbdbbc0296f42310077539b7247d285386119ef4" 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 new file mode 100755 index 00000000..27ff15c3 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/90-squish.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +BASEDIR=$(dirname "$0") +$BASEDIR/../common/unix/squishInstall.sh + diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-10.12-x86_64/07-SSL_keychain.sh index b68d62f8..6e7c796a 100755 --- a/coin/provisioning/qtci-macos-10.12-x86_64/07-SSL_keychain.sh +++ b/coin/provisioning/qtci-macos-10.12-x86_64/07-SSL_keychain.sh @@ -2,5 +2,8 @@ set -ex +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + # Enables the usage of temporary keychains for SSL autotests -echo "export QT_SSL_USE_TEMPORARY_KEYCHAIN=1" >> ~/.bashrc +SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1" diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/25-mysql.sh b/coin/provisioning/qtci-macos-10.12-x86_64/25-mysql.sh index b47f9705..a28e306f 100755 --- a/coin/provisioning/qtci-macos-10.12-x86_64/25-mysql.sh +++ b/coin/provisioning/qtci-macos-10.12-x86_64/25-mysql.sh @@ -41,6 +41,8 @@ set -ex # shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz" AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz" @@ -52,5 +54,5 @@ sudo mkdir -p "/opt" InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir" -echo "export MYSQLBINPATH=/opt/mysql57/bin" >> ~/.bashrc +SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin" echo "MySQL = 5.7.15" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/25-postgresql.sh b/coin/provisioning/qtci-macos-10.12-x86_64/25-postgresql.sh index 8f3f85ec..9f79c594 100755 --- a/coin/provisioning/qtci-macos-10.12-x86_64/25-postgresql.sh +++ b/coin/provisioning/qtci-macos-10.12-x86_64/25-postgresql.sh @@ -41,6 +41,8 @@ set -ex # shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" psqlVersion="9.6.0" @@ -51,5 +53,5 @@ appPrefix="" InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" -echo "export POSTGRESQLBINPATH=/Applications/Postgres.app/Contents/Versions/9.6/bin" >> ~/.bashrc +SetEnvVar "POSTGRESQLBINPATH" "/Applications/Postgres.app/Contents/Versions/9.6/bin" echo "PostgreSQL = $psqlVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/30-android.sh b/coin/provisioning/qtci-macos-10.12-x86_64/30-android.sh index b6e731f2..a46cb335 100755 --- a/coin/provisioning/qtci-macos-10.12-x86_64/30-android.sh +++ b/coin/provisioning/qtci-macos-10.12-x86_64/30-android.sh @@ -41,6 +41,8 @@ set -ex # shellcheck source=../common/unix/try_catch.sh source "${BASH_SOURCE%/*}/../common/unix/try_catch.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" targetFolder="/opt/android" sdkTargetFolder="$targetFolder/sdk" @@ -81,10 +83,10 @@ try echo "Running SDK manager for platforms;$sdkApiLevel, tools, platform-tools and build-tools;$sdkBuildToolsVersion." (echo "y"; echo "y") |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" || throw $ExceptionSdkManager - echo "export ANDROID_SDK_HOME=$sdkTargetFolder" >> ~/.bashrc - echo "export ANDROID_NDK_HOME=$targetFolder/android-ndk-$ndkVersion" >> ~/.bashrc - echo "export ANDROID_NDK_HOST=darwin-x86_64" >> ~/.bashrc - echo "export ANDROID_API_VERSION=$sdkApiLevel" >> ~/.bashrc + SetEnvVar "ANDROID_SDK_HOME" "$sdkTargetFolder" + SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersion" + SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64" + SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel" echo "Android SDK tools = $toolsVersion" >> ~/versions.txt echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt 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 ccff42c3..c169799b 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 @@ -41,6 +41,8 @@ set -ex source "${BASH_SOURCE%/*}/../common/unix/try_catch.sh" # shellcheck source=../common/unix/InstallFromCompressedFileFromURL.sh source "${BASH_SOURCE%/*}/../common/unix/InstallFromCompressedFileFromURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" opensslVersion="1.0.2k" opensslFile="openssl-$opensslVersion.tar.gz" @@ -75,8 +77,8 @@ try sudo mkdir -p "$path" sudo ln -s /usr/local/openssl-$opensslVersion $opensslTargetLocation || throw $ExceptionLN - echo "export PATH=\"$opensslTargetLocation/bin:\$PATH\"" >> ~/.bashrc - echo "export MANPATH=\"$opensslTargetLocation/share/man:\$MANPATH\"" >> ~/.bashrc + SetEnvVar "PATH" "\"$opensslTargetLocation/bin:\$PATH\"" + SetEnvVar "MANPATH" "\"$opensslTargetLocation/share/man:\$MANPATH\"" security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem || throw $ExceptionCertificate security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem || throw $ExceptionCertificate diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/90-squish.sh b/coin/provisioning/qtci-macos-10.12-x86_64/90-squish.sh new file mode 100755 index 00000000..27ff15c3 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.12-x86_64/90-squish.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +BASEDIR=$(dirname "$0") +$BASEDIR/../common/unix/squishInstall.sh + diff --git a/coin/provisioning/qtci-osx-10.10-x86_64/90-squish.sh b/coin/provisioning/qtci-osx-10.10-x86_64/90-squish.sh new file mode 100755 index 00000000..27ff15c3 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.10-x86_64/90-squish.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +BASEDIR=$(dirname "$0") +$BASEDIR/../common/unix/squishInstall.sh + diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-osx-10.11-x86_64/07-SSL_keychain.sh index b68d62f8..610f7a8e 100755 --- a/coin/provisioning/qtci-osx-10.11-x86_64/07-SSL_keychain.sh +++ b/coin/provisioning/qtci-osx-10.11-x86_64/07-SSL_keychain.sh @@ -1,6 +1,10 @@ -#!/usr/bin/env sh +#!/usr/bin/env bash set -ex +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + # Enables the usage of temporary keychains for SSL autotests -echo "export QT_SSL_USE_TEMPORARY_KEYCHAIN=1" >> ~/.bashrc +SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1" + diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/25-mysql.sh b/coin/provisioning/qtci-osx-10.11-x86_64/25-mysql.sh index 89534baf..1908c79b 100755 --- a/coin/provisioning/qtci-osx-10.11-x86_64/25-mysql.sh +++ b/coin/provisioning/qtci-osx-10.11-x86_64/25-mysql.sh @@ -41,6 +41,8 @@ set -ex # shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/osx_10.11_el_capitan/mysql-5.7.15-osx10.11-x86_64.tar.gz" AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz" @@ -52,6 +54,7 @@ sudo mkdir -p "/opt" InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir" -echo "export MYSQLBINPATH=/opt/mysql57/bin" >> ~/.bashrc +SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin" + echo "MySQL = 5.7.15" >> ~/versions.txt diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/25-postgresql.sh b/coin/provisioning/qtci-osx-10.11-x86_64/25-postgresql.sh index 8d88630b..7fedb4a2 100755 --- a/coin/provisioning/qtci-osx-10.11-x86_64/25-postgresql.sh +++ b/coin/provisioning/qtci-osx-10.11-x86_64/25-postgresql.sh @@ -41,6 +41,8 @@ set -ex # shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/osx_10.11_el_capitan/Postgres-9.6.0.zip" AltUrl="https://github.com/PostgresApp/PostgresApp/releases/download/9.6.0/Postgres-9.6.0.zip" @@ -49,6 +51,7 @@ appPrefix="" InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" -echo "export POSTGRESQLBINPATH=/Applications/Postgres.app/Contents/Versions/9.6/bin" >> ~/.bashrc +SetEnvVar "POSTGRESQLBINPATH" "/Applications/Postgres.app/Contents/Versions/9.6/bin" + echo "PostgreSQL = 9.6.0" >> ~/versions.txt diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/90-squish.sh b/coin/provisioning/qtci-osx-10.11-x86_64/90-squish.sh new file mode 100755 index 00000000..27ff15c3 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/90-squish.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +BASEDIR=$(dirname "$0") +$BASEDIR/../common/unix/squishInstall.sh + diff --git a/coin/provisioning/qtci-windows-10-x86/90-squish.ps1 b/coin/provisioning/qtci-windows-10-x86/90-squish.ps1 new file mode 100644 index 00000000..ff758845 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86/90-squish.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\squishInstall.ps1" diff --git a/coin/provisioning/qtci-windows-10-x86_64/90-squish.ps1 b/coin/provisioning/qtci-windows-10-x86_64/90-squish.ps1 new file mode 100644 index 00000000..ff758845 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/90-squish.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\squishInstall.ps1" diff --git a/coin/provisioning/qtci-windows-7-x86/90-squish.ps1 b/coin/provisioning/qtci-windows-7-x86/90-squish.ps1 new file mode 100644 index 00000000..ff758845 --- /dev/null +++ b/coin/provisioning/qtci-windows-7-x86/90-squish.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\squishInstall.ps1" diff --git a/coin/provisioning/qtci-windows-8.1-x86/90-squish.ps1 b/coin/provisioning/qtci-windows-8.1-x86/90-squish.ps1 new file mode 100644 index 00000000..ff758845 --- /dev/null +++ b/coin/provisioning/qtci-windows-8.1-x86/90-squish.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\squishInstall.ps1" diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/90-squish.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/90-squish.ps1 new file mode 100644 index 00000000..ff758845 --- /dev/null +++ b/coin/provisioning/qtci-windows-8.1-x86_64/90-squish.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\squishInstall.ps1" |