aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Sarajärvi <tony.sarajarvi@qt.io>2017-12-29 10:22:08 +0200
committerTony Sarajärvi <tony.sarajarvi@qt.io>2018-01-02 12:52:35 +0000
commit4fb893fcf8ef55ff3ebbdf684c4d1cfab913cea0 (patch)
tree64a257a3974b7a116dde5ba2fc124f4c12e162c8
parentb9aae857f9e2dbcc444a099a8345dc8ac31ff47e (diff)
Set up proxy for provisioning scripts
Task-number: QTQAINFRA-1669 Change-Id: I582dc5037bd2b46dcd5c9c3b2cb13784e122d6a5 Reviewed-by: Simo Fält <simo.falt@qt.io>
-rwxr-xr-xcoin/provisioning/common/android_linux.sh10
-rwxr-xr-xcoin/provisioning/common/check_and_set_proxy.sh50
-rw-r--r--coin/provisioning/common/http_proxy.txt2
-rwxr-xr-xcoin/provisioning/common/libclang.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-systemsetup.sh42
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-systemsetup.sh5
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-42.3-x86_64/01-systemsetup.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-42.3-x86_64/99-unset-proxy.sh39
9 files changed, 165 insertions, 1 deletions
diff --git a/coin/provisioning/common/android_linux.sh b/coin/provisioning/common/android_linux.sh
index 3fa906e1..c218ffe4 100755
--- a/coin/provisioning/common/android_linux.sh
+++ b/coin/provisioning/common/android_linux.sh
@@ -39,6 +39,7 @@
source "${BASH_SOURCE%/*}/../common/try_catch.sh"
source "${BASH_SOURCE%/*}/../common/DownloadURL.sh"
+source "${BASH_SOURCE%/*}/../common/check_and_set_proxy.sh"
targetFolder="/opt/android"
sdkTargetFolder="$targetFolder/sdk"
@@ -84,8 +85,15 @@ try
else
sudo chown -R qt:users "$targetFolder"
fi
+
echo "Running SDK manager for platforms;$sdkApiLevel, tools, platform-tools and build-tools;$sdkBuildToolsVersion."
- echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" || throw $ExceptionSdkManager
+ if [ "$proxy" != "" ]; then
+ proxy_host=$(echo $proxy | cut -d'/' -f3 | cut -d':' -f1)
+ proxy_port=$(echo $proxy | cut -d':' -f3)
+ echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" --no_https --proxy=http --proxy_host=$proxy_host --proxy_port=$proxy_port "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" || throw $ExceptionSdkManager
+ else
+ 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
diff --git a/coin/provisioning/common/check_and_set_proxy.sh b/coin/provisioning/common/check_and_set_proxy.sh
new file mode 100755
index 00000000..8dad878c
--- /dev/null
+++ b/coin/provisioning/common/check_and_set_proxy.sh
@@ -0,0 +1,50 @@
+#!/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$
+##
+#############################################################################
+
+source "${BASH_SOURCE%/*}/try_catch.sh"
+source "${BASH_SOURCE%/*}/http_proxy.txt"
+
+try
+(
+ wget -q -e "http_proxy=$proxy" --spider proxy.intra.qt.io
+)
+
+if [ $? -eq 0 ]; then
+ echo "Setting http_proxy to $proxy"
+ export http_proxy=$proxy
+
+else
+ echo "Proxy not detected at $proxy"
+fi
+
diff --git a/coin/provisioning/common/http_proxy.txt b/coin/provisioning/common/http_proxy.txt
new file mode 100644
index 00000000..3aa6ceba
--- /dev/null
+++ b/coin/provisioning/common/http_proxy.txt
@@ -0,0 +1,2 @@
+proxy="http://proxy.intra.qt.io:3128"
+
diff --git a/coin/provisioning/common/libclang.sh b/coin/provisioning/common/libclang.sh
index 381127b1..ea33d62d 100755
--- a/coin/provisioning/common/libclang.sh
+++ b/coin/provisioning/common/libclang.sh
@@ -40,6 +40,8 @@
# In case of Linux, we expect to get the values as args
set -e
+source "${BASH_SOURCE%/*}/../common/check_and_set_proxy.sh"
+
BASEDIR=$(dirname "$0")
. $BASEDIR/sw_versions.txt
url=$1
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-systemsetup.sh
new file mode 100755
index 00000000..945d2e99
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-systemsetup.sh
@@ -0,0 +1,42 @@
+#!/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$
+##
+#############################################################################
+
+set -ex
+
+source "${BASH_SOURCE%/*}/../common/check_and_set_proxy.sh"
+
+if [ "$proxy" != "" ]; then
+ echo "proxy=$proxy" | sudo tee -a /etc/yum.conf
+fi
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 1afe750b..52ac3d6c 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,6 +37,7 @@ set -ex
BASEDIR=$(dirname "$0")
source $BASEDIR/../common/network_test_server_ip.txt
+source "${BASH_SOURCE%/*}/../common/check_and_set_proxy.sh"
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
@@ -49,3 +50,7 @@ export DISPLAY=:0
gsettings set org.gnome.desktop.screensaver lock-enabled false
# disable blank screen power saving
gsettings set org.gnome.desktop.session idle-delay 0
+
+if [ "$proxy" != "" ]; then
+ echo "proxy=$proxy" | sudo tee -a /etc/yum.conf
+fi
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh
index e541d83b..b44c3014 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh
@@ -40,6 +40,7 @@
set -ex
source "${BASH_SOURCE%/*}/../common/try_catch.sh"
+source "${BASH_SOURCE%/*}/../common/check_and_set_proxy.sh"
NTS_IP=10.212.2.216
@@ -47,6 +48,7 @@ ExceptionGsettings1=100
ExceptionGsettings2=101
ExceptionGsettings3=102
ExceptionNTS=103
+ExceptionProxy=104
try
(
@@ -59,6 +61,10 @@ try
echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts || throw $ExceptionNTS
+
+ if [ "$proxy" != "" ]; then
+ echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf || throw $ExceptionProxy
+ fi
)
catch || {
case $ex_code in
@@ -78,6 +84,10 @@ catch || {
echo "Failed to set network teset server address into /etc/hosts."
exit 1;
;;
+ $ExceptionProxy)
+ echo "Failed to set proxy /etc/apt/apt.conf."
+ exit 1;
+ ;;
esac
}
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 e5da6fe7..eeb98b70 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
@@ -4,6 +4,7 @@ set -ex
BASEDIR=$(dirname "$0")
source $BASEDIR/../common/network_test_server_ip.txt
+source "${BASH_SOURCE%/*}/../common/check_and_set_proxy.sh"
sed -i '$ a\[Daemon\]\nAutolock=false\nLockOnResume=false' ~/.config/kscreenlockerrc
@@ -12,3 +13,8 @@ echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | su
echo "Set DISPLAY"
echo 'export DISPLAY=":0"' >> ~/.bashrc
+if [ "$proxy" != "" ]; then
+ sudo sed -i 's/PROXY_ENABLED=\"no\"/PROXY_ENABLED=\"yes\"/' /etc/sysconfig/proxy
+ sudo sed -i "s|HTTP_PROXY=\".*\"|HTTP_PROXY=\"$proxy\"|" /etc/sysconfig/proxy
+fi
+
diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/99-unset-proxy.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/99-unset-proxy.sh
new file mode 100755
index 00000000..5ff78055
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/99-unset-proxy.sh
@@ -0,0 +1,39 @@
+#!/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$
+##
+#############################################################################
+
+set -ex
+
+# Having proxy set while running autotests makes them fail
+sudo sed -i 's/PROXY_ENABLED=\"yes\"/PROXY_ENABLED=\"no\"/' /etc/sysconfig/proxy
+