diff options
author | Joni Jantti <joni.jantti@qt.io> | 2018-01-24 10:48:07 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2018-01-26 13:12:41 +0000 |
commit | 6d1190aaa0d6c258f159e50d4aa3073b3e7f105f (patch) | |
tree | d31134769bd849598ab646f7d61bf34a5488e084 /coin/provisioning/common | |
parent | 7681e742d701d6167484ece5fb6fcd33ba5202ff (diff) |
Provisioning: Use SetEnvVar helper function in scripts
Currently when adding an environment variable in provisioning we have
to check if the system is Ubuntu and use .profile instead of .bashrc.
This check should be done in a function so we don't have to duplicate
it for every provisioning script separately.
Change-Id: I2fa128032123e17d20dfb39cd3668e22e4bb0d55
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Diffstat (limited to 'coin/provisioning/common')
-rwxr-xr-x | coin/provisioning/common/linux/android_linux.sh | 9 | ||||
-rwxr-xr-x | coin/provisioning/common/linux/cmake_linux.sh | 8 | ||||
-rwxr-xr-x | coin/provisioning/common/linux/fbx_linux.sh | 4 | ||||
-rwxr-xr-x | coin/provisioning/common/linux/integrity.sh | 11 | ||||
-rwxr-xr-x | coin/provisioning/common/linux/openssl_for_android_linux.sh | 4 | ||||
-rwxr-xr-x | coin/provisioning/common/linux/qnx_700.sh | 8 | ||||
-rwxr-xr-x | coin/provisioning/common/macos/cmake.sh | 5 | ||||
-rwxr-xr-x | coin/provisioning/common/macos/fbx_macos.sh | 5 | ||||
-rwxr-xr-x | coin/provisioning/common/macos/python3.sh | 6 | ||||
-rwxr-xr-x | coin/provisioning/common/unix/SetEnvVar.sh | 51 |
10 files changed, 87 insertions, 24 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/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 +} |