aboutsummaryrefslogtreecommitdiffstats
path: root/coin/provisioning/common/linux
diff options
context:
space:
mode:
Diffstat (limited to 'coin/provisioning/common/linux')
-rwxr-xr-xcoin/provisioning/common/linux/android_linux.sh11
-rwxr-xr-xcoin/provisioning/common/linux/cmake_linux.sh10
-rwxr-xr-xcoin/provisioning/common/linux/docker.sh43
-rwxr-xr-xcoin/provisioning/common/linux/gcc.sh19
-rwxr-xr-xcoin/provisioning/common/linux/install_dwz.sh71
-rwxr-xr-xcoin/provisioning/common/linux/openssl_for_android_linux.sh6
-rwxr-xr-xcoin/provisioning/common/linux/qnx_700.sh4
-rwxr-xr-xcoin/provisioning/common/linux/remove-update_notifier.sh2
-rwxr-xr-xcoin/provisioning/common/linux/remove_update-manager.sh3
-rwxr-xr-xcoin/provisioning/common/linux/version.sh6
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 "*********************************************"