aboutsummaryrefslogtreecommitdiffstats
path: root/coin
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2020-02-16 12:04:36 +0100
committerLiang Qi <liang.qi@qt.io>2020-02-16 12:04:36 +0100
commit769362560f49578bff4a5a64ce1568e2b34dd3b5 (patch)
treece2245c9e339807ae1b92f35c16b42a59d44393f /coin
parente3bbc27500db5a0284eb9f9b05d11694da388036 (diff)
parentfdb88edba04d175b1eadd8d6142e5e8132d414f8 (diff)
Merge remote-tracking branch 'origin/5.14' into 5.15
Diffstat (limited to 'coin')
-rwxr-xr-xcoin/provisioning/common/linux/android_linux.sh7
-rwxr-xr-xcoin/provisioning/common/linux/version.sh6
-rwxr-xr-xcoin/provisioning/common/macos/InstallPKGFromURL.sh14
-rwxr-xr-xcoin/provisioning/common/macos/homebrew.sh17
-rw-r--r--coin/provisioning/common/macos/telegraf-coin.conf8
-rwxr-xr-xcoin/provisioning/common/macos/version.sh6
-rw-r--r--coin/provisioning/common/shared/requirements.txt2
-rw-r--r--coin/provisioning/common/shared/telegraf/telegraf_packages.sha256.txt10
-rwxr-xr-xcoin/provisioning/common/unix/DownloadURL.sh41
-rwxr-xr-xcoin/provisioning/common/unix/libclang.sh4
-rwxr-xr-xcoin/provisioning/common/unix/telegraf_install.sh2
-rw-r--r--coin/provisioning/common/windows/android.ps15
-rw-r--r--coin/provisioning/common/windows/install_telegraf.ps16
-rw-r--r--coin/provisioning/common/windows/version.ps16
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.6-x86_64/04-install-packages.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/01-systemsetup.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/08-pythondev.sh54
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.0-x86_64/01-systemsetup.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.0-x86_64/08-pythondev.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/30-android.sh12
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/25-homebrew.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/30-android.sh7
-rw-r--r--coin/provisioning/qtci-windows-10-x86/99-version.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/99-version.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/99-version.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/99-version.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86/99-version.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/99-version.ps11
30 files changed, 176 insertions, 56 deletions
diff --git a/coin/provisioning/common/linux/android_linux.sh b/coin/provisioning/common/linux/android_linux.sh
index 44bd2281..ca9110b8 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
@@ -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/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 "*********************************************"
diff --git a/coin/provisioning/common/macos/InstallPKGFromURL.sh b/coin/provisioning/common/macos/InstallPKGFromURL.sh
index 77ef128a..d9b55d3b 100755
--- a/coin/provisioning/common/macos/InstallPKGFromURL.sh
+++ b/coin/provisioning/common/macos/InstallPKGFromURL.sh
@@ -42,7 +42,9 @@ function InstallPKGFromURL {
targetDirectory=$4
echo "Creating temporary file"
- targetFile=$(mktemp "$TMPDIR$(uuidgen).pkg")
+ package_basename=$(echo "$url" | sed 's|^.*/||')
+ tmpdir=$(mktemp -d)
+ targetFile="$tmpdir/$package_basename"
echo "Downloading PKG from primary URL '$url'"
curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || (
echo "Failed to download '$url' multiple times"
@@ -50,10 +52,12 @@ function InstallPKGFromURL {
curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url_alt"
)
echo "Checking SHA1 on PKG '$targetFile'"
- echo "$expectedSha1 *$targetFile" > "$targetFile.sha1"
- /usr/bin/shasum --check "$targetFile.sha1"
+ echo "$expectedSha1 *$targetFile" > "$targetFile".sha1
+ /usr/bin/shasum --check "$targetFile".sha1
echo "Run installer on PKG"
sudo installer -package "$targetFile" -target "$targetDirectory"
- echo "Removing file '$targetFile'"
- rm "$targetFile"
+
+ rm -f "$targetFile".sha1
+ rm -f "$targetFile"
+ rmdir "$tmpdir"
}
diff --git a/coin/provisioning/common/macos/homebrew.sh b/coin/provisioning/common/macos/homebrew.sh
index 715477c0..66463c44 100755
--- a/coin/provisioning/common/macos/homebrew.sh
+++ b/coin/provisioning/common/macos/homebrew.sh
@@ -1,12 +1,21 @@
-#!/usr/bin/env bash
+#!/bin/sh
# Will install homebrew package manager for macOS.
# WARNING: Requires commandlinetools
-# TODO audit and cache this file locally, see QTQAINFRA-3134
-curl -L -o /tmp/homebrew_install https://raw.githubusercontent.com/Homebrew/install/master/install
+set -e
+
+. "$(dirname "$0")"/../../common/unix/DownloadURL.sh
+
+
+DownloadURL \
+ http://ci-files01-hki.intra.qt.io/input/mac/homebrew-install.c744a716f9845988d01e6e238eee7117b8c366c9.rb \
+ https://raw.githubusercontent.com/Homebrew/install/c744a716f9845988d01e6e238eee7117b8c366c9/install \
+ b9782cc0b550229de77b429b56ffce04157e60486ab9df00461ccf3dad565b0a \
+ /tmp/homebrew_install
/usr/bin/ruby /tmp/homebrew_install </dev/null
-brew update
+# No need to manually do `brew update`, the homebrew installer script does it.
+### brew update
diff --git a/coin/provisioning/common/macos/telegraf-coin.conf b/coin/provisioning/common/macos/telegraf-coin.conf
index 24440a05..006de88c 100644
--- a/coin/provisioning/common/macos/telegraf-coin.conf
+++ b/coin/provisioning/common/macos/telegraf-coin.conf
@@ -24,7 +24,13 @@
# collect_cpu_time = false
# report_active = false
[[inputs.disk]]
- ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
+ # macOS needs two extra filesystem exceptions:
+ # + cd9660: This is a read-only filesystem, and always 100% full
+ # + msdos: Sometimes at boot a short-lived unique mount of type "msdos"
+ # is performed, at the random directory
+ # /Volumes/firmwaresyncd.XXXXXX.
+ # The uniqueness of the path bloats the cardinality of InfluxDB.
+ ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs", "cd9660", "msdos"]
#[[inputs.diskio]] # linux-only
[[inputs.kernel]]
[[inputs.mem]]
diff --git a/coin/provisioning/common/macos/version.sh b/coin/provisioning/common/macos/version.sh
index 3e2a7f19..e57fb60b 100755
--- a/coin/provisioning/common/macos/version.sh
+++ b/coin/provisioning/common/macos/version.sh
@@ -41,3 +41,9 @@ echo "*********************************************"
echo "***** SW VERSIONS *****"
cat ~/versions.txt
echo "*********************************************"
+echo "*************** mount ***********************"
+mount
+echo "*********************************************"
+echo "*************** df **************************"
+df -h
+echo "*********************************************"
diff --git a/coin/provisioning/common/shared/requirements.txt b/coin/provisioning/common/shared/requirements.txt
index 60239142..7285caca 100644
--- a/coin/provisioning/common/shared/requirements.txt
+++ b/coin/provisioning/common/shared/requirements.txt
@@ -9,7 +9,7 @@ argh==0.26.2
click==6.7
coloredlogs==10.0
humanfriendly==4.15.1
-Jinja2==2.10
+Jinja2==2.10.3
MarkupSafe==1.0
path.py==11.0.1
pathtools==0.1.2
diff --git a/coin/provisioning/common/shared/telegraf/telegraf_packages.sha256.txt b/coin/provisioning/common/shared/telegraf/telegraf_packages.sha256.txt
index 7d1cdada..28304114 100644
--- a/coin/provisioning/common/shared/telegraf/telegraf_packages.sha256.txt
+++ b/coin/provisioning/common/shared/telegraf/telegraf_packages.sha256.txt
@@ -1,6 +1,4 @@
-https://dl.influxdata.com/telegraf/releases/telegraf-1.12.1_windows_i386.zip d2dea67a28fd7a9e21395d14f0b7ce1b6413e85cc9ffd89cc7ff8f35e8af5837
-https://dl.influxdata.com/telegraf/releases/telegraf-1.12.1_windows_amd64.zip 88d8c8146b561f43726e61688b42d0b5ab88fc22607b94df5a2c8245bbb27e29
-https://dl.influxdata.com/telegraf/releases/telegraf-1.12.1_darwin_amd64.tar.gz 58a2b294c1b6408c396b5526719cf7cad557f7075fed10ff0b2a74141ea2d629
-https://dl.influxdata.com/telegraf/releases/telegraf-1.12.1_linux_amd64.tar.gz 070a76800d1a5f33413b8948286f75caa55ebd924f6fb6996a753b9979799ef5
-https://dl.influxdata.com/telegraf/releases/telegraf-1.12.1_linux_i386.tar.gz 964077b6846708f579a100d7ea6090e2d8350ace75ec735d539bc452bc551038
-https://dl.influxdata.com/telegraf/releases/telegraf-1.12.1-static_linux_amd64.tar.gz bb03814c99c037ce0758e3884660910f2f6fd78f3d49a8e1ef531693b3cfe25d
+https://dl.influxdata.com/telegraf/releases/telegraf-1.12.6_darwin_amd64.tar.gz 2bc056e1ad38af2ba95d2cb1d43b513cc611fdd3b851b2ff5e09991d52b01253
+https://dl.influxdata.com/telegraf/releases/telegraf-1.12.6_linux_amd64.tar.gz b33cf0f5935a5c225ab0de69db1e6b249d581f3213313de62a8de928aedadbec
+https://dl.influxdata.com/telegraf/releases/telegraf-1.12.6_windows_amd64.zip 5d025d85070e8c180c443580afa8a27421a7bbcf14b5044894e9f3298d0ce97a
+https://dl.influxdata.com/telegraf/releases/telegraf-1.12.6_windows_i386.zip 5178a0bdaab448c2ef965b0e36f835849cea731ccd87c4a4527f0f05fbbdf271
diff --git a/coin/provisioning/common/unix/DownloadURL.sh b/coin/provisioning/common/unix/DownloadURL.sh
index 5bafc33d..1d48a565 100755
--- a/coin/provisioning/common/unix/DownloadURL.sh
+++ b/coin/provisioning/common/unix/DownloadURL.sh
@@ -39,10 +39,12 @@
# based on the SHA length). Target filename should also be given.
############################ BOILERPLATE ###############################
-command -v sha1sum >/dev/null || alias sha1sum='shasum -a 1'
-command -v sha256sum >/dev/null || alias sha256sum='shasum -a 256'
-command -v sha384sum >/dev/null || alias sha384sum='shasum -a 384'
-command -v sha512sum >/dev/null || alias sha512sum='shasum -a 512'
+
+command -v sha1sum >/dev/null || sha1sum () { shasum -a 1 "$@" ; }
+command -v sha256sum >/dev/null || sha256sum () { shasum -a 256 "$@" ; }
+command -v sha384sum >/dev/null || sha384sum () { shasum -a 384 "$@" ; }
+command -v sha512sum >/dev/null || sha512sum () { shasum -a 512 "$@" ; }
+
########################################################################
@@ -98,20 +100,27 @@ DownloadURL () {
targetFile=$4
fi
- if VerifyHash "$targetFile" "$expectedHash"
+ # If a non-empty file already exists
+ if [ -s "$targetFile" ]
then
- echo "Skipping download, found and validated existing file: $targetFile"
- else
- echo "Downloading from primary URL: $url"
- if ! Download "$url" "$targetFile"
+ if VerifyHash "$targetFile" "$expectedHash"
+ then
+ echo "Skipping download, found and validated existing file: $targetFile"
+ return
+ else
+ echo "WARNING: Non-empty but different file found at destination; will re-download and overwrite file: $targetFile"
+ fi
+ fi
+
+ echo "Downloading from primary URL: $url"
+ if ! Download "$url" "$targetFile"
+ then
+ echo "FAIL! to download, trying alternative URL: $url2" 1>&2
+ if ! Download "$url2" "$targetFile"
then
- echo "FAIL! to download, trying alternative URL: $url2" 1>&2
- if ! Download "$url2" "$targetFile"
- then
- echo 'FAIL! to download even from alternative URL' 1>&2
- return 1
- fi
+ echo 'FAIL! to download even from alternative URL' 1>&2
+ return 1
fi
- VerifyHash "$targetFile" "$expectedHash"
fi
+ VerifyHash "$targetFile" "$expectedHash"
}
diff --git a/coin/provisioning/common/unix/libclang.sh b/coin/provisioning/common/unix/libclang.sh
index a9d1cc49..6fa6c040 100755
--- a/coin/provisioning/common/unix/libclang.sh
+++ b/coin/provisioning/common/unix/libclang.sh
@@ -65,10 +65,10 @@ zip="/tmp/libclang.7z"
destination="/usr/local/libclang-$version"
DownloadURL $url_cached $url $sha1 $zip
-7z x $zip -o/tmp/
+sudo 7z x $zip -o/usr/local/
+sudo mv /usr/local/libclang "$destination"
rm -rf $zip
-sudo mv /tmp/libclang "$destination"
echo "export LLVM_INSTALL_DIR=$destination" >> ~/.bash_profile
echo "libClang = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/unix/telegraf_install.sh b/coin/provisioning/common/unix/telegraf_install.sh
index 1412650e..b2dd244e 100755
--- a/coin/provisioning/common/unix/telegraf_install.sh
+++ b/coin/provisioning/common/unix/telegraf_install.sh
@@ -73,7 +73,7 @@ $CMD_INSTALL -m 755 "$PROVISIONING_DIR"/common/shared/telegraf/telegraf-ioping.
[ x"$PROVISIONING_OS" = xmacos ] && os=darwin || os=linux
[ x"$PROVISIONING_ARCH" = xx86 ] && arch=i386 || arch=amd64
-package_filename=telegraf-1.12.1_${os}_${arch}.tar.gz
+package_filename=telegraf-1.12.6_${os}_${arch}.tar.gz
package_sha256_list="$PROVISIONING_DIR"/common/shared/telegraf/telegraf_packages.sha256.txt
package_sha256=$(sed -n "s/.*$package_filename *//p" "$package_sha256_list")
diff --git a/coin/provisioning/common/windows/android.ps1 b/coin/provisioning/common/windows/android.ps1
index 537e14a2..2cf18cdc 100644
--- a/coin/provisioning/common/windows/android.ps1
+++ b/coin/provisioning/common/windows/android.ps1
@@ -95,9 +95,12 @@ Out-File -FilePath C:\Utils\Android\licenses\android-sdk-license -Encoding utf8
# Get a PATH where Java's path is defined from previous provisioning
[Environment]::SetEnvironmentVariable("PATH", [Environment]::GetEnvironmentVariable("PATH", "Machine"), "Process")
+# Attempt to catch all errors of sdkmanager.bat, even when hidden behind a pipeline.
+$ErrorActionPreference = "Stop"
+
cd $toolsFolder\bin\
$sdkmanager_args += "platforms;$sdkApiLevel", "platform-tools", "build-tools;$sdkBuildToolsVersion"
-$command = 'for($i=0;$i -lt 6;$i++) { $response += "y`n"}; $response | .\sdkmanager.bat @sdkmanager_args'
+$command = 'for($i=0;$i -lt 6;$i++) { $response += "y`n"}; $response | .\sdkmanager.bat @sdkmanager_args | Out-Null'
Invoke-Expression $command
$command = 'for($i=0;$i -lt 6;$i++) { $response += "y`n"}; $response | .\sdkmanager.bat --licenses'
iex $command
diff --git a/coin/provisioning/common/windows/install_telegraf.ps1 b/coin/provisioning/common/windows/install_telegraf.ps1
index fee550b1..0a64cfd4 100644
--- a/coin/provisioning/common/windows/install_telegraf.ps1
+++ b/coin/provisioning/common/windows/install_telegraf.ps1
@@ -37,14 +37,14 @@
# Install a specific version of Telegraf
# https://github.com/influxdata/telegraf/releases
-$version = "1.12.1"
+$version = "1.12.6"
if (Is64BitWinHost) {
$arch = "amd64"
- $sha256 = "88d8c8146b561f43726e61688b42d0b5ab88fc22607b94df5a2c8245bbb27e29"
+ $sha256 = "5d025d85070e8c180c443580afa8a27421a7bbcf14b5044894e9f3298d0ce97a"
} else {
$arch = "i386"
- $sha256 = "d2dea67a28fd7a9e21395d14f0b7ce1b6413e85cc9ffd89cc7ff8f35e8af5837"
+ $sha256 = "5178a0bdaab448c2ef965b0e36f835849cea731ccd87c4a4527f0f05fbbdf271"
}
$filename = "telegraf-" + $version + "_windows_" + $arch + ".zip"
diff --git a/coin/provisioning/common/windows/version.ps1 b/coin/provisioning/common/windows/version.ps1
new file mode 100644
index 00000000..7f701f63
--- /dev/null
+++ b/coin/provisioning/common/windows/version.ps1
@@ -0,0 +1,6 @@
+Write-Host '******************** SW VERSIONS ********************'
+type ~/versions.txt
+Write-Host '*****************************************************'
+Write-Host '******************** Get-PSDrive ********************'
+Get-PSDrive
+Write-Host '*****************************************************'
diff --git a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/04-install-packages.sh
index d3dcc420..b3ecceea 100755
--- a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/04-install-packages.sh
+++ b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/04-install-packages.sh
@@ -120,6 +120,8 @@ installPackages+=(xz-devel)
installPackages+=(zlib-devel)
installPackages+=(libffi-devel)
installPackages+=(libsqlite3x-devel)
+# Build.pl
+installPackages+=(perl-Data-Dumper)
sudo yum -y install "${installPackages[@]}"
diff --git a/coin/provisioning/qtci-linux-SLES-15-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/01-systemsetup.sh
index ee0b6894..28f25728 100755
--- a/coin/provisioning/qtci-linux-SLES-15-x86_64/01-systemsetup.sh
+++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/01-systemsetup.sh
@@ -59,10 +59,12 @@ echo 'export DISPLAY=":0"' >> ~/.bashrc
sudo systemctl stop packagekit
sudo systemctl disable packagekit
+sudo systemctl mask packagekit
while sudo fuser /usr/lib/packagekitd >/dev/null 2>&1 ; do
echo "Waiting for PackageKit to finish..."
sleep 5
done
+sudo zypper -nq remove gnome-software
# shellcheck disable=SC2031
if [ "$http_proxy" != "" ]; then
diff --git a/coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh
index 12f3a673..3ea67ef0 100755
--- a/coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh
+++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh
@@ -35,10 +35,9 @@
set -ex
-
sudo zypper -nq install elfutils binutils
-sudo zypper -nq install git gcc gcc-c++
+sudo zypper -nq install git gcc gcc-c++ make patch wget tar
sudo zypper -nq install bison flex gperf \
zlib-devel \
diff --git a/coin/provisioning/qtci-linux-SLES-15-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/08-pythondev.sh
index cda48de7..2da45c2b 100755
--- a/coin/provisioning/qtci-linux-SLES-15-x86_64/08-pythondev.sh
+++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/08-pythondev.sh
@@ -39,13 +39,57 @@
set -ex
-sudo zypper -nq install python-devel
+PROVISIONING_DIR="$(dirname "$0")/../"
+. "$PROVISIONING_DIR"/common/unix/common.sourced.sh
+. "$PROVISIONING_DIR"/common/unix/DownloadURL.sh
-wget -q https://raw.githubusercontent.com/linux-on-ibm-z/scripts/master/Python3/build_python3.sh
-bash build_python3.sh
-export
-python3 --version
+# Python 2
+$CMD_PKG_INSTALL python-devel
+
+# Selected installation instructions coming from:
+# https://raw.githubusercontent.com/linux-on-ibm-z/scripts/master/Python3/build_python3.sh
+export PACKAGE_NAME="python"
+export PACKAGE_VERSION="3.7.6"
+export PACKAGE_SHA=55a2cce72049f0794e9a11a84862e9039af9183603b78bc60d89539f82cf533f
+(
+
+ $CMD_PKG_INSTALL ncurses zlib-devel libffi-devel libopenssl-devel
+
+ echo 'Configuration and Installation started'
+
+ #Download Source code
+ DownloadURL \
+ http://ci-files01-hki.intra.qt.io/input/python/Python-${PACKAGE_VERSION}.tar.xz \
+ https://www.python.org/ftp/${PACKAGE_NAME}/${PACKAGE_VERSION}/Python-${PACKAGE_VERSION}.tar.xz \
+ $PACKAGE_SHA
+ tar -xf "Python-${PACKAGE_VERSION}.tar.xz"
+
+ #Configure and Build
+ cd "Python-${PACKAGE_VERSION}"
+ ./configure --prefix=/usr/local --exec-prefix=/usr/local
+ make
+ sudo make install
+
+ echo 'Installed python successfully'
+
+ #Cleanup
+ cd -
+ rm "Python-${PACKAGE_VERSION}.tar.xz"
+
+ #Verify python installation
+ export PATH="/usr/local/bin:${PATH}"
+ if command -V "$PACKAGE_NAME"${PACKAGE_VERSION:0:1} >/dev/null
+ then
+ printf -- "%s installation completed. Please check the Usage to start the service.\n" "$PACKAGE_NAME"
+ else
+ printf -- "Error while installing %s, exiting with 127 \n" "$PACKAGE_NAME"
+ exit 127
+ fi
+)
+
+
+python3 --version | fgrep "$PACKAGE_VERSION"
pip3 install --user wheel
pip3 install --user virtualenv
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/01-systemsetup.sh
index 7e6993a5..d3724ceb 100755
--- a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/01-systemsetup.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/01-systemsetup.sh
@@ -23,6 +23,9 @@ echo 'export DISPLAY=":0"' >> ~/.bashrc
echo "Disabling file indexing."
sudo balooctl disable
+sudo systemctl stop packagekit
+sudo systemctl disable packagekit
+sudo systemctl mask packagekit
while sudo fuser /usr/lib/packagekitd >/dev/null 2>&1 ; do
echo "Waiting for PackageKit to finish..."
sleep 0.5
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/08-pythondev.sh
index 6c5d2a0f..12dabace 100755
--- a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/08-pythondev.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/08-pythondev.sh
@@ -5,11 +5,10 @@
set -ex
-sudo pkcon -y refresh
-sudo pkcon -y install python-devel python-virtualenv
+sudo zypper -nq install python-devel python-virtualenv
# install python3
-sudo pkcon -y install libpython3_4m1_0 python3-base python3 python3-pip python3-devel python3-virtualenv python3-wheel
+sudo zypper -nq install python3-base python3 python3-pip python3-devel python3-virtualenv python3-wheel
# Install all needed packages in a special wheel cache directory
pip3 wheel --wheel-dir "$HOME/python3-wheels" -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh
index 06e984ec..f7f9e214 100755
--- a/coin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
-set -ex
+set -e
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/macos/homebrew.sh"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh b/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh
index 1886cce3..bc123111 100755
--- a/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh
@@ -37,7 +37,7 @@
# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
-set -ex
+set -e
# shellcheck source=../common/unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
@@ -68,8 +68,16 @@ sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
echo "Changing ownership of Android files."
sudo chown -R qt:wheel "$targetFolder"
+# 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."
-(echo "y"; echo "y") |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion"
+(echo "y"; echo "y") | "$sdkTargetFolder/tools/bin/sdkmanager" \
+ "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
+ | eval $sdkmanager_no_progress_bar_cmd
echo "Checking the contents of Android SDK..."
ls -l "$sdkTargetFolder"
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-10.14-x86_64/25-homebrew.sh
index 06e984ec..f7f9e214 100755
--- a/coin/provisioning/qtci-macos-10.14-x86_64/25-homebrew.sh
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/25-homebrew.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
-set -ex
+set -e
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/macos/homebrew.sh"
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh b/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh
index 1886cce3..aa0935f0 100755
--- a/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh
@@ -68,8 +68,13 @@ sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
echo "Changing ownership of Android files."
sudo chown -R qt:wheel "$targetFolder"
+# 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 '^\[[ =]*\]'"
+
echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
-(echo "y"; echo "y") |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion"
+(echo "y"; echo "y") | "$sdkTargetFolder/tools/bin/sdkmanager" \
+ "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
+ | eval $sdkmanager_no_progress_bar_cmd
echo "Checking the contents of Android SDK..."
ls -l "$sdkTargetFolder"
diff --git a/coin/provisioning/qtci-windows-10-x86/99-version.ps1 b/coin/provisioning/qtci-windows-10-x86/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/99-version.ps1 b/coin/provisioning/qtci-windows-10-x86_64/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/99-version.ps1 b/coin/provisioning/qtci-windows-7-x86/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-7-x86/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/99-version.ps1 b/coin/provisioning/qtci-windows-7-x86_64/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-7-x86_64/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86/99-version.ps1 b/coin/provisioning/qtci-windows-8.1-x86/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/99-version.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86_64/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"