Set up proxy for provisioning scripts

Task-number: QTQAINFRA-1669
Change-Id: I582dc5037bd2b46dcd5c9c3b2cb13784e122d6a5
Reviewed-by: Simo Fält <simo.falt@qt.io>
This commit is contained in:
Tony Sarajärvi
2017-12-29 10:22:08 +02:00
parent b9aae857f9
commit 4fb893fcf8
9 changed files with 165 additions and 1 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1,2 @@
proxy="http://proxy.intra.qt.io:3128"

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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
}

View File

@@ -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

View File

@@ -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