aboutsummaryrefslogtreecommitdiffstats
path: root/coin/provisioning
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
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')
-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
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/03-qemu.sh5
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-yocto.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/07-SSL_keychain.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/25-mysql.sh4
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/25-postgresql.sh4
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/30-android.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh6
-rwxr-xr-xcoin/provisioning/qtci-osx-10.11-x86_64/07-SSL_keychain.sh8
-rwxr-xr-xcoin/provisioning/qtci-osx-10.11-x86_64/25-mysql.sh5
-rwxr-xr-xcoin/provisioning/qtci-osx-10.11-x86_64/25-postgresql.sh5
20 files changed, 130 insertions, 42 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
+}
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 ddb1d3dc..c792d8b5 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-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-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