diff options
Diffstat (limited to 'coin/provisioning/common')
18 files changed, 480 insertions, 27 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 + } + + +} |