diff options
Diffstat (limited to 'coin/provisioning/common/linux')
-rwxr-xr-x | coin/provisioning/common/linux/android_linux.sh | 11 | ||||
-rwxr-xr-x | coin/provisioning/common/linux/cmake_linux.sh | 10 | ||||
-rwxr-xr-x | coin/provisioning/common/linux/docker.sh | 43 | ||||
-rwxr-xr-x | coin/provisioning/common/linux/gcc.sh | 19 | ||||
-rwxr-xr-x | coin/provisioning/common/linux/install_dwz.sh | 71 | ||||
-rwxr-xr-x | coin/provisioning/common/linux/openssl_for_android_linux.sh | 6 | ||||
-rwxr-xr-x | coin/provisioning/common/linux/qnx_700.sh | 4 | ||||
-rwxr-xr-x | coin/provisioning/common/linux/remove-update_notifier.sh | 2 | ||||
-rwxr-xr-x | coin/provisioning/common/linux/remove_update-manager.sh | 3 | ||||
-rwxr-xr-x | coin/provisioning/common/linux/version.sh | 6 |
10 files changed, 138 insertions, 37 deletions
diff --git a/coin/provisioning/common/linux/android_linux.sh b/coin/provisioning/common/linux/android_linux.sh index 44bd2281..01de5f07 100755 --- a/coin/provisioning/common/linux/android_linux.sh +++ b/coin/provisioning/common/linux/android_linux.sh @@ -37,6 +37,8 @@ # It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version +set -e + # shellcheck source=../unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" # shellcheck source=../unix/check_and_set_proxy.sh @@ -53,8 +55,8 @@ toolsVersion="r26.1.1" toolsFile="sdk-tools-linux-4333796.zip" ndkVersion="r20" ndkFile="android-ndk-$ndkVersion-linux-x86_64.zip" -sdkBuildToolsVersion="28.0.3" -sdkApiLevel="android-28" +sdkBuildToolsVersion="29.0.3" +sdkApiLevel="android-29" toolsSha1="8c7c28554a32318461802c1291d76fccfafde054" ndkSha1="8665fc84a1b1f0d6ab3b5fdd1e30200cc7b9adff" @@ -80,8 +82,11 @@ else sudo chown -R qt:users "$targetFolder" fi -# Run the following command under `eval` or `sh -c` so that the shell properly splits it +# Stop the sdkmanager from printing thousands of lines of #hashmarks. +# Run the following command under `eval` or `sh -c` so that the shell properly splits it. sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'" +# But don't let the pipeline hide sdkmanager failures. +set -o pipefail echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion." # shellcheck disable=SC2031 diff --git a/coin/provisioning/common/linux/cmake_linux.sh b/coin/provisioning/common/linux/cmake_linux.sh index 2b8d71d0..a3b2a9cc 100755 --- a/coin/provisioning/common/linux/cmake_linux.sh +++ b/coin/provisioning/common/linux/cmake_linux.sh @@ -33,7 +33,7 @@ ## ############################################################################# -# This script installs CMake 3.6.2 +# This script installs CMake 3.7.2 # CMake is needed for autotests that verify that Qt can be built with CMake @@ -42,10 +42,10 @@ source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh" # shellcheck source=../unix/SetEnvVar.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" -AltUrl="https://cmake.org/files/v3.6/cmake-3.6.2-Linux-x86_64.tar.gz" -SHA1="dd9d8d57b66109d4bac6eef9209beb94608a185c" +version="3.7.2" +PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/cmake/cmake-3.7.2-Linux-x86_64.tar.gz" +AltUrl="https://cmake.org/files/v3.7/cmake-3.7.2-Linux-x86_64.tar.gz" +SHA1="915bc981aab354821fb9fd28374a720fdb3aa180" targetFolder="/opt/cmake-$version" appPrefix="cmake-$version-Linux-x86_64" diff --git a/coin/provisioning/common/linux/docker.sh b/coin/provisioning/common/linux/docker.sh index 9be84e38..cf2ff717 100755 --- a/coin/provisioning/common/linux/docker.sh +++ b/coin/provisioning/common/linux/docker.sh @@ -33,21 +33,42 @@ ## ############################################################################# -set -ex - -# Download and install the docker engine. -sudo apt-get install curl -y -curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - -sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" -sudo apt-get update -sudo apt-get install docker-ce -y +set -e + + +PROVISIONING_DIR="$(dirname "$0")/../../" +. "$PROVISIONING_DIR"/common/unix/common.sourced.sh +. "$PROVISIONING_DIR"/common/unix/DownloadURL.sh + + +localRepo=http://ci-files01-hki.intra.qt.io/input/docker +upstreamRepo=https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64 + +echo ' + f4c941807310e3fa470dddfb068d599174a3daec containerd.io_1.2.10-3_amd64.deb + ee640d9258fd4d3f4c7017ab2a71da63cbbead55 docker-ce_19.03.4~3-0~ubuntu-bionic_amd64.deb + 09402bf5dac40f0c50f1071b17f38f6584a42ad1 docker-ce-cli_19.03.4~3-0~ubuntu-bionic_amd64.deb +' \ + | xargs -n2 | while read sha f +do + DownloadURL $localRepo/$f $upstreamRepo/$f $sha +done + +sudo apt-get -y install ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb +rm -f ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb + sudo usermod -a -G docker $USER sudo docker --version -# Download and install the docker-compose extension. -sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose -sudo chmod +x /usr/local/bin/docker-compose +# Download and install the docker-compose extension from https://github.com/docker/compose/releases +f=docker-compose-$(uname -s)-$(uname -m) +DownloadURL \ + $localRepo/$f-1.24.1 \ + https://github.com/docker/compose/releases/download/1.24.1/$f \ + cfb3439956216b1248308141f7193776fcf4b9c9b49cbbe2fb07885678e2bb8a +sudo install -m 755 ./docker-compose* /usr/local/bin/docker-compose sudo docker-compose --version +rm ./docker-compose* # Install Avahi to discover Docker containers in the test network sudo apt-get install avahi-daemon -y diff --git a/coin/provisioning/common/linux/gcc.sh b/coin/provisioning/common/linux/gcc.sh index c26c9bf1..deb29ea6 100755 --- a/coin/provisioning/common/linux/gcc.sh +++ b/coin/provisioning/common/linux/gcc.sh @@ -1,8 +1,9 @@ + #!/usr/bin/env bash ############################################################################# ## -## Copyright (C) 2018 The Qt Company Ltd. +## Copyright (C) 2020 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -88,15 +89,15 @@ function InstallGCC() { # openSUSE has update-alternatives under /usr/sbin and it has grouped the commands by means of master and slave links if [ -f "/usr/sbin/update-alternatives" ]; then - sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc "$installPrefix/bin/gcc-$suffixVersion" "$priority" \ - --slave /usr/bin/g++ g++ "$installPrefix/bin/g++-$suffixVersion" \ - --slave /usr/bin/cc cc "$installPrefix/bin/gcc-$suffixVersion" \ - --slave /usr/bin/c++ c++ "$installPrefix/bin/g++-$suffixVersion" + sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc "$installPrefix/bin/gcc${suffixVersion}" "$priority" \ + --slave /usr/bin/g++ g++ "$installPrefix/bin/g++${suffixVersion}" \ + --slave /usr/bin/cc cc "$installPrefix/bin/gcc${suffixVersion}" \ + --slave /usr/bin/c++ c++ "$installPrefix/bin/g++${suffixVersion}" else - sudo /usr/bin/update-alternatives --install /usr/bin/gcc gcc "$installPrefix/bin/gcc-$suffixVersion" "$priority" - sudo /usr/bin/update-alternatives --install /usr/bin/g++ g++ "$installPrefix/bin/g++-$suffixVersion" "$priority" - sudo /usr/bin/update-alternatives --install /usr/bin/cc cc "$installPrefix/bin/gcc-$suffixVersion" "$priority" - sudo /usr/bin/update-alternatives --install /usr/bin/c++ c++ "$installPrefix/bin/g++-$suffixVersion" "$priority" + sudo /usr/bin/update-alternatives --install /usr/bin/gcc gcc "$installPrefix/bin/gcc-${suffixVersion}" "$priority" + sudo /usr/bin/update-alternatives --install /usr/bin/g++ g++ "$installPrefix/bin/g++-${suffixVersion}" "$priority" + sudo /usr/bin/update-alternatives --install /usr/bin/cc cc "$installPrefix/bin/gcc-${suffixVersion}" "$priority" + sudo /usr/bin/update-alternatives --install /usr/bin/c++ c++ "$installPrefix/bin/g++-${suffixVersion}" "$priority" fi echo "/usr/local/lib64" | sudo tee /etc/ld.so.conf.d/gcc-libraries.conf diff --git a/coin/provisioning/common/linux/install_dwz.sh b/coin/provisioning/common/linux/install_dwz.sh new file mode 100755 index 00000000..1df959e2 --- /dev/null +++ b/coin/provisioning/common/linux/install_dwz.sh @@ -0,0 +1,71 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Copyright (C) 2020 Konstantin Tokarev <annulen@yandex.ru> +## 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$ +## +############################################################################# + +# shellcheck source=../unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + +# This script will install dwz 0.13 - optimization tool for DWARF debug info + +version="0.13" +sha1="21e6d5878bb84ac6c9ad07b00ed248d8c547bc7d" +internalUrl="http://ci-files01-hki.intra.qt.io/input/rhel7/dwz-$version.tar.xz" +externalUrl="https://www.sourceware.org/ftp/dwz/releases/dwz-$version.tar.xz" + +targetDir="$HOME/dwz" +targetFile="$HOME/dwz-$version.zip" +DownloadURL "$internalUrl" "$externalUrl" "$sha1" "$targetFile" +tar -xJf "$targetFile" -C "$HOME" +sudo rm "$targetFile" + +# devtoolset is needed when running configuration +export PATH="/opt/rh/devtoolset-4/root/usr/bin:$PATH" + +installPrefix="/opt/dwz-$version" + +echo "Configuring and building dwz" +cd "$targetDir" +# dwz uses plain makefile instead of autotools, so it works a bit unconventionally +./configure +make -j5 +sudo make install prefix=$installPrefix + +sudo rm -r "$targetDir" + +SetEnvVar "PATH" "$installPrefix/bin:\$PATH" + +echo "dwz = $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 d833975f..65e3b022 100755 --- a/coin/provisioning/common/linux/openssl_for_android_linux.sh +++ b/coin/provisioning/common/linux/openssl_for_android_linux.sh @@ -2,7 +2,7 @@ ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## Copyright (C) 2020 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -53,11 +53,11 @@ else rm -rf "$exports_file" fi -version="1.1.1b" +version="1.1.1g" 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" -sha="e9710abf5e95c48ebf47991b10cbb48c09dae102" +sha="b213a293f2127ec3e323fb3cfc0c9807664fd997" opensslHome="${HOME}/openssl/android/openssl-${version}" DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile" mkdir -p "${HOME}/openssl/android/" diff --git a/coin/provisioning/common/linux/qnx_700.sh b/coin/provisioning/common/linux/qnx_700.sh index 02cd57d3..f344c275 100755 --- a/coin/provisioning/common/linux/qnx_700.sh +++ b/coin/provisioning/common/linux/qnx_700.sh @@ -41,8 +41,8 @@ set -ex source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" targetFolder="/opt/" -sourceFile="http://ci-files01-hki.intra.qt.io/input/qnx/qnx700-20190325-linux.tar.xz" -sha1="a278234bf38cc70ead98fc0a8d2e63070fb69621" +sourceFile="http://ci-files01-hki.intra.qt.io/input/qnx/qnx700-20190325-2-linux.tar.xz" +sha1="9fb115b2c84b8e7b6016a51cc421a763bda298a1" folderName="qnx700" targetFile="qnx700.tar.xz" wget --tries=5 --waitretry=5 --progress=dot:giga --output-document="$targetFile" "$sourceFile" diff --git a/coin/provisioning/common/linux/remove-update_notifier.sh b/coin/provisioning/common/linux/remove-update_notifier.sh index 152d7fa8..4ee32d61 100755 --- a/coin/provisioning/common/linux/remove-update_notifier.sh +++ b/coin/provisioning/common/linux/remove-update_notifier.sh @@ -1,3 +1,3 @@ #!/usr/bin/env bash -sudo apt -q -y remove update-notifier update-manager +sudo apt -q -y remove update-notifier update-manager python3-distupgrade python3-update-manager ubuntu-release-upgrader-core update-manager-core diff --git a/coin/provisioning/common/linux/remove_update-manager.sh b/coin/provisioning/common/linux/remove_update-manager.sh deleted file mode 100755 index d5dc1ca4..00000000 --- a/coin/provisioning/common/linux/remove_update-manager.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -sudo apt-get remove update-manager diff --git a/coin/provisioning/common/linux/version.sh b/coin/provisioning/common/linux/version.sh index 3e2a7f19..9e23a77e 100755 --- a/coin/provisioning/common/linux/version.sh +++ b/coin/provisioning/common/linux/version.sh @@ -41,3 +41,9 @@ echo "*********************************************" echo "***** SW VERSIONS *****" cat ~/versions.txt echo "*********************************************" +echo "*************** mount ***********************" +mount +echo "*********************************************" +echo "*************** df **************************" +df -hT +echo "*********************************************" |