Merge remote-tracking branch 'origin/5.9' into 5.10

Fixed up provisioning script locations after the reshuffeling into
common/platform folders.

Change-Id: Ia0b7d076e475ccc207f2955572fb9ab4171e5d9d
This commit is contained in:
Liang Qi
2018-01-11 09:40:10 +01:00
committed by Frederik Gladhorn
299 changed files with 269 additions and 271 deletions

View File

@@ -0,0 +1,135 @@
#!/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$
##
#############################################################################
# This script install Android sdk and ndk.
# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
source "${BASH_SOURCE%/*}/../unix/try_catch.sh"
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
source "${BASH_SOURCE%/*}/../unix/check_and_set_proxy.sh"
targetFolder="/opt/android"
sdkTargetFolder="$targetFolder/sdk"
basePath="http://ci-files01-hki.intra.qt.io/input/android"
toolsVersion="r25.2.5"
toolsFile="tools_$toolsVersion-linux.zip"
ndkVersion="r10e"
ndkFile="android-ndk-$ndkVersion-linux-x86_64.zip"
sdkBuildToolsVersion="25.0.2"
sdkApiLevel="android-21"
toolsSha1="72df3aa1988c0a9003ccdfd7a13a7b8bd0f47fc1"
ndkSha1="f692681b007071103277f6edc6f91cb5c5494a32"
toolsTargetFile="/tmp/$toolsFile"
toolsSourceFile="$basePath/$toolsFile"
ndkTargetFile="/tmp/$ndkFile"
ndkSourceFile="$basePath/$ndkFile"
ExceptionDownload=99
ExceptionUnzipTools=100
ExceptionUnzipNdk=101
ExceptionRmTools=102
ExceptionRmNdk=103
ExceptionSdkManager=104
try
(
(DownloadURL "$toolsSourceFile" "$toolsSourceFile" "$toolsSha1" "$toolsTargetFile") || throw $ExceptionDownload
(DownloadURL "$ndkSourceFile" "$ndkSourceFile" "$ndkSha1" "$ndkTargetFile") || throw $ExceptionDownload
echo "Unzipping Android NDK to '$targetFolder'"
sudo unzip -q "$ndkTargetFile" -d "$targetFolder" || throw $ExceptionUnzipNdk
echo "Unzipping Android Tools to '$sdkTargetFolder'"
sudo unzip -q "$toolsTargetFile" -d "$sdkTargetFolder" || throw $ExceptionUnzipTools
rm "$ndkTargetFile" || throw $ExceptionRmNdk
rm "$toolsTargetFile" || throw $ExceptionRmTools
echo "Changing ownership of Android files."
if uname -a |grep -q "el6\|el7"; then
sudo chown -R qt:wheel "$targetFolder"
else
sudo chown -R qt:users "$targetFolder"
fi
echo "Running SDK manager for platforms;$sdkApiLevel, tools, platform-tools and build-tools;$sdkBuildToolsVersion."
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
echo "export ANDROID_NDK_HOST=linux-x86_64" >> ~/.bashrc
echo "export ANDROID_API_VERSION=$sdkApiLevel" >> ~/.bashrc
echo "Android SDK tools = $toolsVersion" >> ~/versions.txt
echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt
echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt
echo "Android NDK = $ndkVersion" >> ~/versions.txt
)
catch || {
case $ex_code in
$ExceptionDownload)
exit 1;
;;
$ExceptionUnzipTools)
echo "Failed to unzip Android SDK Tools."
exit 1;
;;
$ExceptionUnzipNdk)
echo "Failed to unzip Android NDK."
exit 1;
;;
$ExceptionRmTools)
echo "Failed to remove temporary tools package '$toolsTargetFile'."
exit 1;
;;
$ExceptionRmNdk)
echo "Failed to remove temporary NDK package '$ndkTargetFile'."
exit 1;
;;
$ExceptionSdkManager)
echo "Failed to run sdkmanager."
exit 1;
;;
esac
}

View File

@@ -0,0 +1,57 @@
#!/usr/bin/env bash
#############################################################################
##
## Copyright (C) 2016 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$
##
#############################################################################
# This script installs CMake 3.6.2
# CMake is needed for autotests that verify that Qt can be built with CMake
# shellcheck source=InstallFromCompressedFileFromURL.sh
source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
version="3.6.2"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/cmake/cmake-3.6.2-Linux-x86_64.tar.gz"
AltUrl="https://cmake.org/files/v3.6/cmake-3.6.2-Linux-x86_64.tar.gz"
SHA1="dd9d8d57b66109d4bac6eef9209beb94608a185c"
targetFolder="/opt/cmake-$version"
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

View File

@@ -0,0 +1,5 @@
# We need to disable selinux while we are overwriting some binaries
# required by it. If this is not done, ICU provisioning will create
# template that is not booting.
sudo sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config

View File

@@ -0,0 +1,62 @@
#!/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$
##
#############################################################################
# This script installs FBX SDK
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
#s script installs FBX SDK
set -e
tarballName="fbx20161_2_fbxsdk_linux.tar.gz"
targetFolder="/opt/fbx"
cachedUrl="http://ci-files01-hki.intra.qt.io/input/fbx/$tarballName"
officialUrl="http://download.autodesk.com/us/fbx_release_older/2016.1.2/$tarballName"
sha1="b0a08778de025e2c6e90d6fbdb6531f74a3da605"
tmpFolder="/tmp"
targetFile="$tmpFolder/$tarballName"
installer="$tmpFolder/fbx20161_2_fbxsdk_linux"
DownloadURL "$cachedUrl" "$officialUrl" "$sha1" "$targetFile"
sudo tar -C $tmpFolder -xf "$targetFile"
sudo mkdir -p $targetFolder
(echo "yes"; echo "n") | sudo "$installer" -w "$tmpFolder" "$targetFolder"
rm -rf "$targetFile"
# Set env variables
echo "export FBXSDK=$targetFolder" >> ~/.profile
echo "FBX SDK = 2016.1.2" >> ~/versions.txt

View File

@@ -0,0 +1,55 @@
#!/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$
##
#############################################################################
# This script installs INTEGRITY
source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
version="11.4.4"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/integrity/ghs_$version.tar.gz"
AltUrl="$PrimaryUrl" # we lack an external source for this
SHA1="4afa3c15e13c91734951b73f6b21388294c5d794"
targetFolder="/opt/ghs"
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
echo "INTEGRITY = $version" >> ~/versions.txt

View File

@@ -0,0 +1,85 @@
#!/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$
##
#############################################################################
# This script install OpenSSL from sources.
# Requires GCC and Perl to be in PATH.
source "${BASH_SOURCE%/*}/../unix/try_catch.sh"
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
version="1.0.2g"
officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz"
cachedUrl="http://ci-files01-hki.intra.qt.io/input/openssl/openssl-$version.tar.gz"
targetFile="/tmp/openssl-$version.tar.gz"
installFolder="/home/qt/"
sha="36af23887402a5ea4ebef91df8e61654906f58f2"
# Until every VM doing Linux Android builds have provisioned the env variable
# OPENSSL_ANDROID_HOME, we can't change the hard coded path that's currently in Coin.
# QTQAINFRA-1436
opensslHome="${installFolder}openssl-1.0.2"
ExceptionDownload=99
ExceptionTar=100
ExceptionConfig=101
try
(
(DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile") || throw $ExceptionDownload
tar -xzf "$targetFile" -C "$installFolder" || throw $ExceptionTar
# This rename should be removed once hard coded path from Coin is fixed. (QTQAINFRA-1436)
mv "${opensslHome}g" "${opensslHome}"
pushd "$opensslHome"
perl Configure shared android || throw $ExceptionConfig
echo "export OPENSSL_ANDROID_HOME=$opensslHome" >> ~/.bashrc
echo "OpenSSL for Android = $version" >> ~/versions.txt
)
catch || {
case $ex_code in
$ExceptionDownload)
exit 1;
;;
$ExceptionTar)
echo "Failed to extract $targetFile"
exit 1;
;;
$ExceptionConfig)
echo "Failed to run 'config'."
exit 1;
;;
esac
}

View File

@@ -0,0 +1,61 @@
#!/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$
##
#############################################################################
# This script installs QNX 7.
set -ex
targetFolder="/opt/"
sourceFile="http://ci-files01-hki.intra.qt.io/input/qnx/qnx700.tar.xz"
sha1="949a87c5f00d0756956cb4b1b3b213ecaeee9113"
folderName="qnx700"
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
fi
sudo tar -C $targetFolder -Jxf $targetFile
sudo chown -R qt:users "$targetFolder"/"$folderName"
# Verify that we have last file in tar
if [ ! -f $targetFolder/$folderName/qnxsdp-env.sh ]; then
echo "Installation failed!"
exit -1
fi
rm -rf $targetFile
# Set env variables
echo "export QNX_700=$targetFolder$folderName" >> ~/.bashrc
echo "QNX SDP = 7.0.0" >> ~/versions.txt

View File

@@ -0,0 +1,43 @@
#!/usr/bin/env bash
#############################################################################
##
## Copyright (C) 2016 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$
##
#############################################################################
# This script will print all installed software to provision log.
# Script needs to be named so that it will be ran at last during provisioning
# Print all build machines versions to provision log
echo "*********************************************"
echo "***** SW VERSIONS *****"
cat ~/versions.txt
echo "*********************************************"