aboutsummaryrefslogtreecommitdiffstats
path: root/coin/provisioning/common
diff options
context:
space:
mode:
authorJoni Jantti <joni.jantti@qt.io>2018-01-24 10:48:07 +0200
committerLiang Qi <liang.qi@qt.io>2018-01-26 13:12:41 +0000
commit6d1190aaa0d6c258f159e50d4aa3073b3e7f105f (patch)
treed31134769bd849598ab646f7d61bf34a5488e084 /coin/provisioning/common
parent7681e742d701d6167484ece5fb6fcd33ba5202ff (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-xcoin/provisioning/common/linux/android_linux.sh9
-rwxr-xr-xcoin/provisioning/common/linux/cmake_linux.sh8
-rwxr-xr-xcoin/provisioning/common/linux/fbx_linux.sh4
-rwxr-xr-xcoin/provisioning/common/linux/integrity.sh11
-rwxr-xr-xcoin/provisioning/common/linux/openssl_for_android_linux.sh4
-rwxr-xr-xcoin/provisioning/common/linux/qnx_700.sh8
-rwxr-xr-xcoin/provisioning/common/macos/cmake.sh5
-rwxr-xr-xcoin/provisioning/common/macos/fbx_macos.sh5
-rwxr-xr-xcoin/provisioning/common/macos/python3.sh6
-rwxr-xr-xcoin/provisioning/common/unix/SetEnvVar.sh51
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
+}