Fix shellcheck complaints about provisioning scripts

Also adds executable attributes to shell scripts that were missing it.

Change-Id: Id52ef495147fdbfb5cb1a1f711fac530e0e85f3b
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
This commit is contained in:
Tony Sarajärvi
2023-03-29 12:04:54 +00:00
parent ddef5cc5f2
commit 620666bce4
263 changed files with 457 additions and 422 deletions

View File

@@ -39,14 +39,14 @@ function check_for_android_device
function check_if_fully_booted
{
# The "getprop" command separates lines with \r\n so we trim them
bootanim=` timeout 1 $ADB_EXEC shell getprop init.svc.bootanim | tr -d '\r\n'`
boot_completed=`timeout 1 $ADB_EXEC shell getprop sys.boot_completed | tr -d '\r\n'`
bootcomplete=` timeout 1 $ADB_EXEC shell getprop dev.bootcomplete | tr -d '\r\n'`
bootanim=$( timeout 1 "$ADB_EXEC" shell getprop init.svc.bootanim | tr -d '\r\n')
boot_completed=$(timeout 1 "$ADB_EXEC" shell getprop sys.boot_completed | tr -d '\r\n')
bootcomplete=$( timeout 1 "$ADB_EXEC" shell getprop dev.bootcomplete | tr -d '\r\n')
echo "bootanim=$bootanim boot_completed=$boot_completed bootcomplete=$bootcomplete"
[ "$bootanim" = stopped ] && [ "$boot_completed" = 1 ] && [ "$bootcomplete" = 1 ]
}
for counter in `seq ${EMULATOR_MAX_RETRIES}`
for counter in $(seq ${EMULATOR_MAX_RETRIES})
do
$ADB_EXEC kill-server
$ADB_EXEC start-server
@@ -62,22 +62,22 @@ do
EMULATOR_RUN_LOG_PATH=${EMULATOR_RUN_LOG_PATH//%iter/${counter}}
echo "Starting emulator ${ANDROID_EMULATOR}, try ${counter}/${EMULATOR_MAX_RETRIES}" \
| tee ${EMULATOR_RUN_LOG_PATH}
$EMULATOR_EXEC -avd $ANDROID_EMULATOR \
| tee "${EMULATOR_RUN_LOG_PATH}"
$EMULATOR_EXEC -avd "$ANDROID_EMULATOR" \
-gpu swiftshader_indirect -no-audio -no-window -no-boot-anim \
-cores 4 -memory 16000 -partition-size 4096 \
-detect-image-hang -restart-when-stalled -no-snapshot-save \
-no-nested-warnings -logcat-output ${LOGCAT_PATH} \
</dev/null >${EMULATOR_RUN_LOG_PATH} 2>&1 &
-no-nested-warnings -logcat-output "${LOGCAT_PATH}" \
</dev/null >"${EMULATOR_RUN_LOG_PATH}" 2>&1 &
emulator_pid=$!
disown $emulator_pid
echo "Waiting ${ADB_MAX_TIMEOUT} seconds for emulated device to appear..."
timeout ${ADB_MAX_TIMEOUT} $ADB_EXEC wait-for-device
timeout ${ADB_MAX_TIMEOUT} "$ADB_EXEC" wait-for-device
echo "Waiting a few minutes for the emulator to fully boot..."
emulator_status=down
for i in `seq ${ADB_MAX_TIMEOUT}`
for _ in $(seq ${ADB_MAX_TIMEOUT})
do
sleep 1
@@ -95,13 +95,13 @@ do
echo "Emulator started successfully"
break
else
if [ $counter -lt $EMULATOR_MAX_RETRIES ]
if [ "$counter" -lt "$EMULATOR_MAX_RETRIES" ]
then
echo "Emulator failed to start," \
"forcefully killing current instance and re-starting emulator"
kill $emulator_pid || true
sleep 5
elif [ $counter -eq $EMULATOR_MAX_RETRIES ]
elif [ "$counter" -eq "$EMULATOR_MAX_RETRIES" ]
then
echo "Emulator failed to start, reached maximum number of retries. Aborting\!"
exit 2

View File

@@ -15,12 +15,10 @@ source "${BASH_SOURCE%/*}/../unix/check_and_set_proxy.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
emulator_script="${BASH_SOURCE%/*}/android_emulator_launcher.sh"
targetFolder="/opt/android"
sdkTargetFolder="$targetFolder/sdk"
sudo mkdir -p $sdkTargetFolder
sudo mkdir -p "$sdkTargetFolder"
basePath="http://ci-files01-hki.ci.qt.io/input/android"
@@ -54,7 +52,7 @@ function InstallNdk() {
ndkVersion=$1
ndkSha1=$2
if [[ ! -d $targetFolder/android-ndk-$ndkVersion ]]; then
if [[ ! -d "$targetFolder/android-ndk-$ndkVersion" ]]; then
ndkFile="android-ndk-$ndkVersion-linux.zip"
ndkTargetFile="/tmp/$ndkFile"
@@ -97,11 +95,11 @@ if [ "$http_proxy" != "" ]; then
echo "y" | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" --sdk_root=$sdkTargetFolder \
--no_https --proxy=http --proxy_host="$proxy_host" --proxy_port="$proxy_port" \
"platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
| eval $sdkmanager_no_progress_bar_cmd
| eval "$sdkmanager_no_progress_bar_cmd"
else
echo "y" | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" --sdk_root=$sdkTargetFolder \
"platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
| eval $sdkmanager_no_progress_bar_cmd
| eval "$sdkmanager_no_progress_bar_cmd"
fi
echo "Checking the contents of Android SDK..."
@@ -112,19 +110,22 @@ SetEnvVar "ANDROID_NDK_HOST" "linux-x86_64"
SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
# shellcheck disable=SC2129
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
cat <<EOB >>~/versions.txt
Android SDK tools = $toolsVersion
Android SDK Build Tools = $sdkBuildToolsVersion
Android SDK API level = $sdkApiLevel
Android NDK = $ndkVersion
EOB
cd "$sdkTargetFolder/cmdline-tools/tools/bin"
./sdkmanager --install "emulator" --sdk_root=$sdkTargetFolder \
| eval $sdkmanager_no_progress_bar_cmd
echo "y" | ./sdkmanager --install "system-images;android-23;google_apis;x86" | eval $sdkmanager_no_progress_bar_cmd
echo "y" | ./sdkmanager --install "system-images;android-33;google_apis;x86_64" | eval $sdkmanager_no_progress_bar_cmd
echo "y" | ./sdkmanager --install "system-images;android-34;google_apis;x86_64" | eval $sdkmanager_no_progress_bar_cmd
./sdkmanager --install "emulator" --sdk_root="$sdkTargetFolder" \
| eval "$sdkmanager_no_progress_bar_cmd"
echo "y" | ./sdkmanager --install "system-images;android-23;google_apis;x86" \
| eval "$sdkmanager_no_progress_bar_cmd"
echo "y" | ./sdkmanager --install "system-images;android-33;google_apis;x86_64" \
| eval "$sdkmanager_no_progress_bar_cmd"
echo "y" | ./sdkmanager --install "system-images;android-34;google_apis;x86_64" \
| eval "$sdkmanager_no_progress_bar_cmd"
echo "Checking the contents of Android SDK again..."
ls -l "$sdkTargetFolder"
@@ -141,7 +142,7 @@ echo "no" | ./avdmanager create avd -n emulator_x86_64_api_34 -c 2048M -f \
echo "Install $sdkApiLevelAutomotive $androidAutomotive"
DownloadURL "$androidAutomotive12Url" "$androidAutomotive12Url" "$androidAutomotive12Sha" \
"/tmp/${sdkApiLevelAutomotive}_automotive.tar.gz"
sudo tar -xzf "/tmp/${sdkApiLevelAutomotive}_automotive.tar.gz" -C $sdkTargetFolder/system-images
sudo tar -xzf "/tmp/${sdkApiLevelAutomotive}_automotive.tar.gz" -C "$sdkTargetFolder/system-images"
echo "no" | ./avdmanager create avd -n automotive_emulator_x86_64_api_31 -c 2048M -f \
-k "system-images;${sdkApiLevelAutomotive};${androidAutomotive};x86_64"
@@ -150,6 +151,6 @@ echo "no" | ./avdmanager create avd -n automotive_emulator_x86_64_api_31 -c 2048
# To be used by the VMs to start the emulator for tests
emulator_script_filename="android_emulator_launcher.sh"
cp "$(dirname "$(readlink -f "$BASH_SOURCE")")/${emulator_script_filename}" ${HOME}
cp "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")/${emulator_script_filename}" "${HOME}"
ANDROID_EMULATOR_RUNNER="${HOME}/${emulator_script_filename}"
SetEnvVar "ANDROID_EMULATOR_RUNNER" "$ANDROID_EMULATOR_RUNNER"

View File

@@ -17,9 +17,9 @@ DownloadAndExtract () {
file=$3
DownloadURL "$url" "$url" "$sha" "$file"
tar -xzvf $file
tar -xzvf "$file"
rm -rf $file
rm -rf "$file"
}
@@ -27,13 +27,13 @@ DownloadAndExtract () {
sourceFile="http://ci-files01-hki.ci.qt.io/input/axivion/bauhaus-suite-7_6_0-wavefront-2023-03-16-x86_64-gnu_linux.tar.gz"
targetFile="bauhaus-suite-7_6_0-wavefront-2023-03-16-x86_64-gnu_linux.tar.gz"
sha1="20bfa8872b90ff11394098a833d536229425535e"
cd $HOME
cd "$HOME"
DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$HOME"
mkdir $HOME/.bauhaus
mkdir "$HOME/.bauhaus"
cd "$HOME/.bauhaus"
wget http://ci-files01-hki.ci.qt.io/input/axivion/Qt_Evaluation_20231231.key
cd $HOME
cd "$HOME"
#Axivion configuration
configurationFile="http://ci-files01-hki.ci.qt.io/input/axivion/axivion_config.tar.gz"

View File

@@ -11,10 +11,10 @@ set -ex
wrapper="${HOME}/bootstrap-agent.sh"
autostart_folder="${HOME}/.config/autostart"
# This directory should exist. Created in base image (tier 1)
mkdir -p ${autostart_folder}
mkdir -p "${autostart_folder}"
# Create autostart desktop file and shell wrapper
sudo tee ${autostart_folder}/coin-bootstrap-agent.desktop <<"EOF"
sudo tee "${autostart_folder}/coin-bootstrap-agent.desktop" <<"EOF"
[Desktop Entry]
Type=Application
Exec=/home/qt/bootstrap-agent.sh
@@ -23,7 +23,7 @@ X-GNOME-Autostart-enabled=true
Name=Coin
EOF
sudo tee $wrapper <<"EOF"
sudo tee "$wrapper" <<"EOF"
#!/bin/sh
# Wait for network to come up
x=0
@@ -85,5 +85,5 @@ fi
EOF
# set owner and permissions
sudo chown qt:users $wrapper
sudo chmod 755 $wrapper
sudo chown qt:users "$wrapper"
sudo chmod 755 "$wrapper"

View File

@@ -18,7 +18,7 @@ if grep -q "^$QT_USER:" /etc/passwd; then
else
echo "(WW) user $QT_USER not found."
echo "---- skipping cache cleanup."
exit 0;
exit 0
fi
# assume /home/qt as ~ won't expand into sudo
@@ -32,12 +32,11 @@ if sudo [ -d "$CACHEDIR" ]; then
echo "---- removing content:"
# List files and delete in a loop as wildcard won't expand into sudo
FILES=`sudo ls -A1 $CACHEDIR`
while read FILE;
do
sudo ls -A1 "$CACHEDIR" | while read -r FILE
do
echo "--- rm -rf $FILE"
sudo rm -rf "$CACHEDIR/$FILE"
done <<< $FILES
done
else
echo "(**) cache in $CACHEDIR is empty."
fi
@@ -46,7 +45,7 @@ else
# replace a cache file with a directory
echo "(WW) $CACHEDIR is a file."
echo "---- removing $CACHEDIR."
sudo rm -rf "$CACHEDIR"
sudo rm -r "$CACHEDIR"
else
echo "(WW) cache directory $CACHEDIR not found."
fi

View File

@@ -8,9 +8,9 @@ echo "Disable Network Time Protocol (NTP)"
if uname -a |grep -q "Ubuntu\|Debian" ; then
sudo timedatectl set-ntp false
elif cat /etc/os-release | grep "PRETTY_NAME" | grep -q "Leap 15"; then
elif grep "PRETTY_NAME" /etc/os-release | grep -q "Leap 15"; then
(sudo systemctl stop chronyd && sudo systemctl disable chronyd)
elif cat /etc/os-release |grep "SUSE Linux Enterprise Server 15"; then
elif grep -q "SUSE Linux Enterprise Server 15" /etc/os-release; then
sudo timedatectl set-ntp false
else
sudo systemctl disable ntpd || sudo /sbin/chkconfig ntpd off

View File

@@ -7,7 +7,7 @@ set -f
QT_USER="qt"
CONFDIR=".config"
KWINRC="kwinrc"
KWC5=`which kwriteconfig5`
KWC5=$(which kwriteconfig5)
if [ -z "$KWC5" ]; then
echo "(WW) kwriteconfig5 script not found."

View File

@@ -4,37 +4,38 @@
set -e
PROVISIONING_DIR="$(dirname "$0")/../../"
. "$PROVISIONING_DIR"/common/unix/common.sourced.sh
. "$PROVISIONING_DIR"/common/unix/DownloadURL.sh
# shellcheck source=../unix/common.sourced.sh
source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
# shellcheck source=../unix/DownloadURL.sh
source "$PROVISIONING_DIR"/common/unix/DownloadURL.sh
localRepo=http://ci-files01-hki.ci.qt.io/input/docker
upstreamRepo=https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/
echo '
2666840157bab3b77a850236fbf323c423fb564a containerd.io_1.6.9-1_amd64.deb
ec6a1ad99b19b6a674349fb13bcc10d62c54c404 docker-ce_23.0.0-1~ubuntu.20.04~focal_amd64.deb
130774916fa7e2c9997b8fcb4e7696a343f12fb0 docker-ce-cli_23.0.0-1~ubuntu.20.04~focal_amd64.deb
' \
| xargs -n2 | while read sha f
do
DownloadURL $localRepo/$f $upstreamRepo/$f $sha
done
function getEachUpstream () {
while read -r sha f
do DownloadURL "$localRepo/$f" "$upstreamRepo/$f" "$sha"
done
}
cat <<EOF | getEachUpstream
2666840157bab3b77a850236fbf323c423fb564a containerd.io_1.6.9-1_amd64.deb
ec6a1ad99b19b6a674349fb13bcc10d62c54c404 docker-ce_23.0.0-1~ubuntu.20.04~focal_amd64.deb
130774916fa7e2c9997b8fcb4e7696a343f12fb0 docker-ce-cli_23.0.0-1~ubuntu.20.04~focal_amd64.deb
EOF
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 usermod -a -G docker "$USER"
sudo docker --version
# Download and install the docker-compose extension from https://github.com/docker/compose/releases
f=docker-compose-$(uname -s)-$(uname -m)
dockerComposeVersion="v2.15.1"
DownloadURL \
$localRepo/$f-${dockerComposeVersion} \
https://github.com/docker/compose/releases/download/${dockerComposeVersion}/$f \
"$localRepo/$f-${dockerComposeVersion}" \
"https://github.com/docker/compose/releases/download/${dockerComposeVersion}/$f" \
bcfd9ea51dee4c19dccdfaeef0e7956ef68bf14f3d175933742061a7271ef0f5
sudo install -m 755 ./docker-compose* /usr/local/bin/docker-compose
sudo docker-compose --version
@@ -44,4 +45,4 @@ rm ./docker-compose*
sudo apt-get install avahi-daemon -y
# Start testserver provisioning
sudo "$(readlink -f $(dirname ${BASH_SOURCE[0]}))/../shared/testserver/docker_testserver.sh"
sudo "$(readlink -f "$(dirname "${BASH_SOURCE[0]}")")/../shared/testserver/docker_testserver.sh"

View File

@@ -2,7 +2,7 @@
# Copyright (C) 2023 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script install cpdb from sources.
# This script installs cpdb from sources.
# Requires GCC and Perl to be in PATH.
# The following dependencies should be pre-installed:
# make, autoconf, autopoint, libglib2.0-dev, libdbus-1-dev, libtool
@@ -13,14 +13,14 @@ gitUrl="https://github.com/openprinting/$repName.git"
tmpdir="/tmp"
repDir="$tmpdir/$repName"
prefix="/usr"
rm -rf $repDir
cd $tmpdir
git clone $gitUrl >/dev/null
cd $repDir
rm -rf "$repDir"
cd "$tmpdir"
git clone -q "$gitUrl"
cd "$repDir"
# cpdb-libs v2.0b4 with build bug fixed
git checkout ce848f1571a82ec03881fce127ff28bec8da239e > /dev/null
git checkout -q ce848f1571a82ec03881fce127ff28bec8da239e
./autogen.sh > /dev/null
./configure --prefix=$prefix > /dev/null
make -j$(nproc) > /dev/null && sudo make install > /dev/null
./configure --prefix="$prefix" > /dev/null
make "-j$(nproc)" > /dev/null && sudo make install > /dev/null
sudo ldconfig
rm -rf $repDir
rm -rf "$repDir"

View File

@@ -16,11 +16,11 @@ gitUrl="https://github.com/festvox/$repName.git"
tmpdir="/tmp"
repDir="$tmpdir/$repName"
prefix="/usr"
rm -rf $repDir
cd $tmpdir
git clone $gitUrl >/dev/null
cd $repDir
git checkout v2.2 > /dev/null
./configure --with-pic --enable-shared --prefix=$prefix > /dev/null
make -j$(nproc) > /dev/null && sudo make install > /dev/null
rm -rf $repDir
rm -rf "$repDir"
cd "$tmpdir"
git clone -q "$gitUrl"
cd "$repDir"
git checkout -q v2.2
./configure --with-pic --enable-shared --prefix="$prefix" > /dev/null
make "-j$(nproc)" > /dev/null && sudo make install > /dev/null
rm -rf "$repDir"

View File

@@ -18,16 +18,16 @@ targetFile="/tmp/git-$version.tar.gz"
sha="a17c11da2968f280a13832d97f48e9039edac354"
DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile"
sourceDir="/tmp/git-$version-source"
mkdir $sourceDir
tar -xzf "$targetFile" -C $sourceDir
mkdir "$sourceDir"
tar -xzf "$targetFile" -C "$sourceDir"
cd "$sourceDir/git-$version"
installDir="$HOME/git"
make configure
./configure --prefix=$installDir
./configure --prefix="$installDir"
make all
sudo make install
SetEnvVar "PATH" "\"$installDir/bin:\$PATH\""
$installDir/bin/git --version
"$installDir/bin/git" --version

View File

@@ -26,7 +26,7 @@ InstallFromCompressedFileFromURL "$urlToolchainEs7" "$urlToolchainEs7" "$SHA1_to
echo "Install Integrity toolchain addons"
DownloadURL "$urlLibeglmegapack" "$urlLibeglmegapack" "$SHA1_Libeglmegapack" "/tmp/integrity_libeglmegapack.zip"
unzip "/tmp/integrity_libeglmegapack.zip" -d "/tmp"
mv /tmp/toolchain/* $targetFolder/toolchain
mv $targetFolder/toolchain $targetFolder/integrity_toolchain
cp $toolchain_file "$targetFolder/integrity_toolchain/toolchain.cmake"
mv /tmp/toolchain/* "$targetFolder/toolchain"
mv "$targetFolder/toolchain" "$targetFolder/integrity_toolchain"
cp "$toolchain_file" "$targetFolder/integrity_toolchain/toolchain.cmake"
sudo rm -fr /tmp/toolchain

View File

@@ -7,8 +7,10 @@ set -e
SSL_VER=$1
PACK_TYPE=$2
PROVISIONING_DIR="$(dirname "$0")/../../"
. "$PROVISIONING_DIR"/common/unix/common.sourced.sh
. "$PROVISIONING_DIR"/common/unix/DownloadURL.sh
# shellcheck source=../unix/common.sourced.sh
source "${BASH_SOURCE%/*}/../unix/common.sourced.sh"
# shellcheck source=../unix/DownloadURL.sh
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
localRepo=http://ci-files01-hki.ci.qt.io/input/docker

View File

@@ -18,9 +18,9 @@ DownloadAndExtract () {
folder=$4
DownloadURL "$url" "$url" "$sha" "$file"
sudo tar -C $folder -Jxf $file
sudo tar -C "$folder" -Jxf "$file"
rm -rf $file
rm -rf "$file"
}
aarch64le_toolchain="${BASH_SOURCE%/*}/../shared/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake"
@@ -33,13 +33,13 @@ folderName="qnx710"
targetPath="$targetFolder$folderName"
qemuTargetPath="$HOME/QNX"
qemuIpAddress="172.31.1.10"
qemuNetwork="172.31.1.1"
export qemuNetwork="172.31.1.1"
qemuSSHuser="root"
qemuSSHurl="$qemuSSHuser@$qemuIpAddress"
qemuLDpath="/proc/boot:/system/lib:/system/lib/dll:/home/qt/work/install/target/lib"
if [ ! -d "$targetFolder" ]; then
mkdir -p $targetFolder
mkdir -p "$targetFolder"
fi
# QNX SDP
@@ -48,10 +48,10 @@ targetFile="qnx710.tar.xz"
sha1="134af2e0f75d7b7c516f824fafee265b89e51d48"
DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$targetFolder"
sudo cp $aarch64le_toolchain $targetPath
sudo cp $armv7le_toolchain $targetPath
sudo cp $x8664_toolchain $targetPath
cp -R $QNX_qemu_bld_files_dir $qemuTargetPath
sudo cp "$aarch64le_toolchain" "$targetPath"
sudo cp "$armv7le_toolchain" "$targetPath"
sudo cp "$x8664_toolchain" "$targetPath"
cp -R "$QNX_qemu_bld_files_dir" "$qemuTargetPath"
# fc-match tool is missing from QNX SDP and tst_qfont requires it to work corretly
# Download code-only package from https://www.iana.org/time-zones and follow README
# to build tools for QNX x86_64. If need to build new tool create new qnx_qemu_utils
@@ -60,9 +60,9 @@ sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/qnx_qemu_utils_20211208.tar
targetFile="qnx_qemu_utils.tar.xz"
targetFolder="$qemuTargetPath/local/misc_files"
sha1="7653f5d50f61f1591d7785c3ec261228ecc9dd22"
if [ ! -d "$targetFolder" ]; then
mkdir -p $targetFolder
fi
mkdir -p "$targetFolder"
DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$targetFolder"
# Add ssl certificates. Expects Ubuntu 20.04 LTS with ca-certificates package installed
@@ -73,10 +73,10 @@ cp -PR /etc/ssl/certs/* "$targetFolder/etc/ssl/certs"
sudo chown -R qt:users "$targetPath"
# Verify that we have last files in tars
if [ ! -f $targetPath/qnxsdp-env.sh ] || [ ! -f $targetPath/qnx-toolchain-x8664.cmake ]
if [ ! -f "$targetPath/qnxsdp-env.sh" ] || [ ! -f "$targetPath/qnx-toolchain-x8664.cmake" ]
then
echo "QNX toolchain installation failed!"
exit -1
exit 1
fi
# Set env variables

View File

@@ -11,7 +11,7 @@ function InstallPKGFromURL {
targetDirectory=$4
echo "Creating temporary file"
package_basename=$(echo "$url" | sed 's|^.*/||')
package_basename="${url/*\//}"
tmpdir=$(mktemp -d)
targetFile="$tmpdir/$package_basename"
echo "Downloading PKG from primary URL '$url'"

View File

@@ -8,7 +8,7 @@
set -ex
# shellcheck source=../common/unix/SetEnvVar.sh
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
targetFolder="/opt/android"
@@ -58,7 +58,7 @@ sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \
"platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
| eval $sdkmanager_no_progress_bar_cmd
| eval "$sdkmanager_no_progress_bar_cmd"
echo "Checking the contents of Android SDK..."
ls -l "$sdkTargetFolder"
@@ -69,7 +69,9 @@ SetEnvVar "ANDROID_NDK_ROOT_LATEST" "$targetFolder/android-ndk-$ndkVersionLatest
SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64"
SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
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 = $ndkVersionDefault" >> ~/versions.txt
cat << EOT >>~/versions.txt
Android SDK tools = $toolsVersion
Android SDK Build Tools = $sdkBuildToolsVersion
Android SDK API level = $sdkApiLevel
Android NDK = $ndkVersionDefault
EOT

View File

@@ -2,7 +2,8 @@
# Copyright (C) 2021 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
echo """<?xml version=\"1.0\" encoding=\"UTF-8\"?>
sudo tee -a /Library/LaunchDaemons/net_tcp_tso_off.plist > /dev/null <<EOB
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
<plist version=\"1.0\">
<dict>
@@ -30,4 +31,4 @@ echo """<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<true/>
</dict>
</plist>
""" | sudo tee -a /Library/LaunchDaemons/net_tcp_tso_off.plist
EOB

View File

@@ -19,7 +19,7 @@ echo "Installing Docker for $chip chip"
urlOccifical="https://desktop.docker.com/mac/main/${chip}/Docker.dmg?utm_source=docker"
urlCache="http://ci-files01-hki.ci.qt.io/input/mac/Docker_${chip}.dmg"
DownloadURL $urlCache $urlOccifical $sha "/tmp/Docker_${chip}.dmg"
DownloadURL "$urlCache" "$urlOccifical" "$sha" "/tmp/Docker_${chip}.dmg"
sudo hdiutil attach "/tmp/Docker_${chip}.dmg"
sudo /Volumes/Docker/Docker.app/Contents/MacOS/install --accept-license --user qt
@@ -27,7 +27,7 @@ sudo hdiutil detach /Volumes/Docker
# Add registry mirror for docker images
mkdir "$HOME/.docker"
sudo tee -a $HOME/.docker/daemon.json <<"EOF"
sudo tee -a "$HOME/.docker/daemon.json" <<"EOF"
{
"builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } },
"experimental": false,

View File

View File

@@ -9,7 +9,7 @@ set -ex
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
version="2016.1.2"
#version="2016.1.2"
fileName="fbx20161_2_fbxsdk_clang_mac.pkg_nospace.tgz"
cachedUrl="/net/ci-files01-hki.ci.qt.io/hdd/www/input/fbx/$fileName"
# officialUrl="http://download.autodesk.com/us/fbx_release_older/$version/fbx20161_2_fbxsdk_clang_mac.pkg.tgz"
@@ -18,7 +18,7 @@ targetFolder="/tmp"
echo "Extracting '$cachedUrl'"
tar -xzf "$cachedUrl" -C "$targetFolder"
rm -rf "$targetFolder/$fileName"
rm -rf "${targetFolder:?}/${fileName}"
echo "Copying preinstalled FBX SDK to Applications"
sudo cp -r "$targetFolder/Autodesk" /Applications

View File

@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
@@ -9,7 +9,7 @@
set -e
. "$(dirname "$0")"/../../common/unix/DownloadURL.sh
source "$(dirname "$0")"/../../common/unix/DownloadURL.sh
DownloadURL \

View File

@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
# Copyright (C) 2019 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
@@ -11,16 +11,16 @@
set -e
PROVISIONING_DIR="$(dirname "$0")/../../"
. "$PROVISIONING_DIR"/common/unix/common.sourced.sh
# shellcheck source=../unix/common.sourced.sh
source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
echo "Current limits are:"
ulimit -a
launchctl limit
$CMD_INSTALL -m 644 -o root -g wheel \
$PROVISIONING_DIR/common/macos/limit.maxfiles.plist \
$PROVISIONING_DIR/common/macos/limit.maxproc.plist \
"$PROVISIONING_DIR/common/macos/limit.maxfiles.plist" \
"$PROVISIONING_DIR/common/macos/limit.maxproc.plist" \
/Library/LaunchDaemons/
# Activate the new limits immediately (not for the current session though)

View File

@@ -25,7 +25,7 @@ function InstallXCode() {
cd /Applications/ && sudo tar -zxf "$sourceFile"
elif [[ $sourceFile =~ "xip" ]]; then
if [[ $sourceFile =~ "http" ]]; then
Download $sourceFile /Applications/Xcode_$version.xip
Download "$sourceFile" "/Applications/Xcode_$version.xip"
cd /Applications/ && xip -x "Xcode_$version.xip"
else
cd /Applications/ && xip -x "$sourceFile"
@@ -35,12 +35,12 @@ function InstallXCode() {
fi
echo "Versioning application bundle"
majorVersion=$(echo $version | cut -d '.' -f 1)
majorVersion=$(echo "$version" | cut -d '.' -f 1)
versionedAppBundle="/Applications/Xcode${majorVersion}.app"
sudo mv /Applications/Xcode*.app ${versionedAppBundle}
sudo mv /Applications/Xcode*.app "${versionedAppBundle}"
echo "Selecting Xcode"
sudo xcode-select --switch ${versionedAppBundle}
sudo xcode-select --switch "${versionedAppBundle}"
echo "Accept license"
sudo xcodebuild -license accept

View File

@@ -9,11 +9,11 @@ set -ex
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
brew install --formula ${BASH_SOURCE%/*}/libiodbc.rb $*
brew install --formula "${BASH_SOURCE%/*}/libiodbc.rb" "$@"
# CPLUS_INCLUDE_PATH is set so clang and configure can find libiodbc
read -r -a arr <<< $(brew list --versions libiodbc)
read -r -a arr <<< "$(brew list --versions libiodbc)"
version=${arr[1]}
SetEnvVar "CPLUS_INCLUDE_PATH" "/usr/local/Cellar/libiodbc/$version/include${CPLUS_INCLUDE_PATH:+:}${CPLUS_INCLUDE_PATH}"

View File

@@ -7,7 +7,7 @@ set -ex
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
brew install libusb
read -r -a arr <<< $(brew list --versions libusb)
read -r -a arr <<< "$(brew list --versions libusb)"
version=${arr[1]}
echo "libusb = $version" >> ~/versions.txt
@@ -21,15 +21,15 @@ case $(sw_vers -productVersion) in
14*) codename=sonoma;;
esac
brew fetch --bottle-tag=arm64_${codename} libusb
brew fetch --bottle-tag=${codename} libusb
tar xf $(brew --cache --bottle-tag=arm64_${codename} libusb) -C /tmp/arm64/
tar xf $(brew --cache --bottle-tag=${codename} libusb) -C /tmp/amd64
for f in /tmp/arm64/libusb/$version/lib/* ; do
if lipo -info $f >/dev/null 2>&1; then
file=$(basename $f)
lipo -create -output $(brew --cellar)/libusb/$version/lib/$file \
/tmp/arm64/libusb/$version/lib/$file \
/tmp/amd64/libusb/$version/lib/$file
brew fetch --bottle-tag=arm64_"${codename}" libusb
brew fetch --bottle-tag="${codename}" libusb
tar xf "$(brew --cache --bottle-tag=arm64_"${codename}" libusb)" -C /tmp/arm64/
tar xf "$(brew --cache --bottle-tag="${codename}" libusb)" -C /tmp/amd64
for f in /tmp/arm64/libusb/"$version"/lib/* ; do
if lipo -info "$f" >/dev/null 2>&1; then
file="$(basename "$f")"
lipo -create -output "$(brew --cellar)/libusb/$version/lib/$file" \
"/tmp/arm64/libusb/$version/lib/$file" \
"/tmp/amd64/libusb/$version/lib/$file"
fi
done

View File

@@ -7,14 +7,14 @@
set -ex
# Print all build machines versions to provision log
echo "*********************************************" >> ~/versions.txt
echo "***** macOS version *****" >> ~/versions.txt
sw_vers >> ~/versions.txt
echo "***** All installed packages *****" >> ~/versions.txt
echo "***** HomeBrew *****" >> ~/versions.txt
brew list --versions >> ~/versions.txt
echo "***** Apple's installer *****" >> ~/versions.txt
pkgutil --pkgs >> ~/versions.txt
echo "*********************************************" >> ~/versions.txt
( echo "*********************************************"
echo "***** macOS version *****"
sw_vers
echo "***** All installed packages *****"
echo "***** HomeBrew *****"
brew list --versions
echo "***** Apple's installer *****"
pkgutil --pkgs
echo "*********************************************"
) >> ~/versions.txt
"$(dirname "$0")/version.sh"

View File

@@ -8,18 +8,18 @@ set -e
for dir in "$@"; do
echo "Processing files in $dir ..."
pushd $dir >/dev/null
find . -type f | while read f; do
pushd "$dir" >/dev/null
find . -type f | while read -r f; do
dst="${f:1}"
dstdir=$(dirname $dst)
mkdir -p $dstdir
if [[ ! -f $dst ]]; then
dstdir="$(dirname "$dst")"
mkdir -p "$dstdir"
if [[ ! -f "$dst" ]]; then
echo "Copying $dir/$f to $dst"
cp -c $f $dst
elif lipo -info $f >/dev/null 2>&1; then
cp -c "$f" "$dst"
elif lipo -info "$f" >/dev/null 2>&1; then
echo "Lipoing $dir/$f into $dst"
lipo -create -output $dst $dst $f
elif ! diff $f $dst; then
lipo -create -output "$dst" "$dst" "$f"
elif ! diff "$f" "$dst"; then
echo "Error: File $f in $dir doesn't match destination $dst"
exit 1
fi

View File

@@ -7,6 +7,6 @@ set -ex
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
brew install pkgconfig
read -r -a arr <<< $(brew list --versions pkgconfig)
read -r -a arr <<< "$(brew list --versions pkgconfig)"
version=${arr[1]}
echo "pkgconfig = $version" >> ~/versions.txt

View File

@@ -8,9 +8,9 @@
set -ex
# shellcheck source=../common/unix/SetEnvVar.sh
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
# shellcheck source=../common/unix/DownloadURL.sh
# shellcheck source=../unix/DownloadURL.sh
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
psqlAppVersion="2.5"
@@ -21,7 +21,6 @@ packageName="Postgres-$psqlAppVersion-$psqlVersion.dmg"
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/$packageName"
AltUrl="https://github.com/PostgresApp/PostgresApp/releases/download/v$psqlAppVersion/$packageName"
SHA1="04cb6939704c5ede5646c1da8a686da3ded98a26"
appPrefix=""
DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "/tmp/$packageName"

View File

@@ -24,5 +24,5 @@ renice -n -10 -p $$ >/dev/null 2>&1 || true
rlatency="$(/usr/local/bin/ioping -B -k -c 3 -i 0.1 "$1" | cut -d " " -f 5)"
wlatency="$(/usr/local/bin/ioping -B -k -c 3 -i 0.1 -W "$1" | cut -d " " -f 5)"
printf "ioping,path=$1 read_latency_ns=%u,write_latency_ns=%u\n" \
"$rlatency" "$wlatency"
printf "ioping,path=$1 read_latency_ns=%u,write_latency_ns=%u\n" \
"$rlatency" "$wlatency"

View File

@@ -2,7 +2,6 @@
# Copyright (C) 2023 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script installs telegraf and ioping and our script telegraf-ioping.sh
# to the /usr/bin directory.
#

View File

@@ -14,7 +14,7 @@
set -e
[ x"$1" = x ] && echo "$0 takes a path as a first argument" && exit 1
[ -z "$1" ] && echo "$0 takes a path as a first argument" && exit 1
# Try to run in high priority to avoid slow-downs because of
# factors other than I/O.
@@ -25,4 +25,4 @@ rlatency="$(ioping -B -k -c 3 -i 0.1 "$1" | cut -d " " -f 5)"
wlatency="$(ioping -B -k -c 3 -i 0.1 -W "$1" | cut -d " " -f 5)"
printf "ioping,path=$1 read_latency_ns=%u,write_latency_ns=%u\n" \
$rlatency $wlatency
"$rlatency" "$wlatency"

View File

@@ -4,11 +4,11 @@
set -e
PROVISIONING_DIR="$(dirname "$0")/../../../"
. "$PROVISIONING_DIR"/common/unix/common.sourced.sh
. "$PROVISIONING_DIR"/common/unix/DownloadURL.sh
# shellcheck source=../../../common/unix/common.sourced.sh
source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
# shellcheck source=../../../common/unix/DownloadURL.sh
source "$PROVISIONING_DIR"/common/unix/DownloadURL.sh
# Sort files by their SHA-1, and then return the accumulated result
sha1tree () {
@@ -16,14 +16,14 @@ sha1tree () {
[ -x "$(command -v sha1sum)" ] || SHASUM=shasum
find "$@" -type f -print0 | \
xargs -0 ${SHASUM-sha1sum} | cut -d ' ' -f 1 | \
sort | ${SHASUM-sha1sum} | cut -d ' ' -f 1
xargs -0 "${SHASUM-sha1sum}" | cut -d ' ' -f 1 | \
sort | "${SHASUM-sha1sum}" | cut -d ' ' -f 1
}
SERVER_PATH="$PROVISIONING_DIR/common/shared/testserver"
. "$SERVER_PATH/settings.sh"
source "$SERVER_PATH/settings.sh"
# Download all necessary dependencies outside of the dockerfiles, so that we
@@ -87,10 +87,10 @@ do
# backwards-incompatible changes across repositories.
context="$SERVER_PATH/$server"
tag=$(sha1tree $context)
docker build -t qt-test-server-$server:latest \
-t qt-test-server-$server:$tag \
$context
tag=$(sha1tree "$context")
docker build -t "qt-test-server-$server:latest" \
-t "qt-test-server-$server:$tag" \
"$context"
done
docker images

View File

@@ -7,16 +7,16 @@ set -ex
TestMachine='qt-test-server'
# Deploy docker virtual machine (Boot2Docker) into VirtualBox only if it doesn't exist
if [ -z $(docker-machine ls -q --filter "name=$TestMachine") ]
if [ -z "$(docker-machine ls -q --filter "name=$TestMachine")" ]
then
docker-machine create $@ $TestMachine
docker-machine ip $TestMachine
docker-machine create "$@" "$TestMachine"
docker-machine ip "$TestMachine"
else
# Otherwise, start the docker machine and update with new TLS certificates.
docker-machine start $TestMachine && docker-machine regenerate-certs -f $TestMachine
docker-machine start "$TestMachine" && docker-machine regenerate-certs -f "$TestMachine"
fi
# Switch the docker engine to $TestMachine
eval $(docker-machine env $TestMachine)
eval "$(docker-machine env "$TestMachine")"
docker-machine ls

View File

@@ -4,7 +4,7 @@
set -ex
[ -x "$(command -v realpath)" ] && FILE=$(realpath ${BASH_SOURCE[0]}) || FILE=${BASH_SOURCE[0]}
[ -x "$(command -v realpath)" ] && FILE=$(realpath "${BASH_SOURCE[0]}") || FILE="${BASH_SOURCE[0]}"
case $FILE in
*/*) SERVER_PATH="${FILE%/*}" ;;
*) SERVER_PATH="." ;;
@@ -23,4 +23,4 @@ esac
docker info
# Create images
$SERVER_PATH/docker_images.sh
"$SERVER_PATH/docker_images.sh"

1
coin/provisioning/common/shared/testserver/settings.sh Normal file → Executable file
View File

@@ -1,3 +1,4 @@
#!/usr/bin/env bash
# Copyright (C) 2019 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only

View File

@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
# Copyright (C) 2019 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
@@ -21,9 +21,12 @@ Download () {
url="$1"
targetFile="$2"
command -v curl >/dev/null \
&& curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" \
|| wget --tries 5 -O "$targetFile" "$url"
if command -v curl >/dev/null
then
curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url"
else
wget --tries 5 -O "$targetFile" "$url"
fi
}
VerifyHash () {
@@ -61,10 +64,10 @@ DownloadURL () {
url2=$2
expectedHash=$3
# Optional argument $4: destination filename
if [ x"$4" = x ]
if [ -z "$4" ]
then
# defaults to the last component of $url
targetFile=$(echo $url | sed 's|^.*/||')
targetFile="${url/*\//}"
else
targetFile=$4
fi

View File

@@ -37,7 +37,7 @@ fatal () {
# Takes one argument which should be the filename of this script. Returns true
# if the script is being sourced, false if the script is being executed.
is_script_executed () {
[ x"$(basename $(echo "$0" | sed s/^-//))" = x"$1" ]
[ "$(basename "$(echo "$0" | sed s/^-//)")" = "$1" ]
}
@@ -48,6 +48,7 @@ is_script_executed common.sourced.sh \
_detect_linux_OS_ID () {
if [ -f /etc/os-release ]
then
# shellcheck source=/dev/null
. /etc/os-release
PROVISIONING_OS_ID="$ID"
elif [ -f /etc/redhat-release ]
@@ -69,7 +70,7 @@ set_common_environment () {
# script in a portable way
# PROVISIONING_DIR="$(dirname "$0")/../../"
[ x"$PROVISIONING_DIR" = x ] \
[ -z "$PROVISIONING_DIR" ] \
&& fatal "PROVISIONING_DIR variable needs to be set before calling set_common_environment"
uname_s="$(uname -s)"

View File

@@ -10,7 +10,7 @@ source "${BASH_SOURCE%/*}/DownloadURL.sh"
version="3.1.37"
versionNode="v14.18.2"
tarBallVersion=$(sed "s/\./\_/g" <<<"$version")
tarBallVersion="${version//./_}"
if uname -a |grep -q Darwin; then
tarBallPackage="emsdk_macos_${tarBallVersion}.tar.gz"
sha="fe9900b0f27ada608f25552dbd4a58bf62c6f05b"

View File

@@ -61,11 +61,8 @@ build_ffmpeg_android() {
sysroot=${toolchain}/sysroot
cxx=${toolchain_bin}/${target_toolchain_arch}${api_version}-clang++
cc=${toolchain_bin}/${target_toolchain_arch}${api_version}-clang
ld=${toolchain_bin}/ld
ar=${toolchain_bin}/llvm-ar
ranlib=${toolchain_bin}/llvm-ranlib
nm=${toolchain_bin}/llvm-nm
strip=${toolchain_bin}/llvm-strip
ffmpeg_config_options=$(cat "${BASH_SOURCE%/*}/../shared/ffmpeg_config_options.txt")
ffmpeg_config_options+=" --enable-cross-compile --target-os=android --enable-jni --enable-mediacodec --enable-pthreads --enable-neon --disable-asm --disable-indev=android_camera"
@@ -76,7 +73,8 @@ build_ffmpeg_android() {
sudo mkdir -p "$build_dir"
pushd "$build_dir"
sudo $ffmpeg_source_dir/configure $ffmpeg_config_options --prefix="$target_dir"
# shellcheck disable=SC2086
sudo "$ffmpeg_source_dir/configure" $ffmpeg_config_options --prefix="$target_dir"
sudo make install -j4
popd

View File

@@ -21,7 +21,7 @@ target_dir="$HOME"
app_prefix=""
ffmpeg_source_dir="$target_dir/$ffmpeg_name"
if [ ! -d "$ffmpeg_source_dir" ];
if [ ! -d "$ffmpeg_source_dir" ]
then
InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$target_dir" "$app_prefix"
fi
@@ -35,7 +35,7 @@ install_ff_nvcodec_headers() {
nv_codec_sha1="bfaa2801725a2eea476939f2177ab50817c3a6ad"
#nv_codec_sha1="4f30539f8dd31945da4c3da32e66022f9ca59c08" // 12.0
nv_codec_dir="$target_dir/nv-codec-headers-sdk-$nv_codec_version"
if [ ! -d "$nv_codec_dir" ];
if [ ! -d "$nv_codec_dir" ]
then
InstallFromCompressedFileFromURL "$nv_codec_url_cached" "$nv_codec_url_public" "$nv_codec_sha1" "$target_dir" ""
fi
@@ -62,11 +62,12 @@ build_ffmpeg() {
then cc="clang -arch $arch"
fi
# shellcheck disable=SC2086
if [ -n "$arch" ]
then $ffmpeg_source_dir/configure $ffmpeg_config_options --prefix="$prefix" --enable-cross-compile --arch=$arch --cc="$cc"
else $ffmpeg_source_dir/configure $ffmpeg_config_options --prefix="$prefix"
then "$ffmpeg_source_dir/configure" $ffmpeg_config_options --prefix="$prefix" --enable-cross-compile --arch="$arch" --cc="$cc"
else "$ffmpeg_source_dir/configure" $ffmpeg_config_options --prefix="$prefix"
fi
make install DESTDIR=$build_dir/installed -j4
make install DESTDIR="$build_dir/installed" -j4
popd
}

View File

@@ -35,7 +35,7 @@ if [[ "$os" == "linux" ]]; then
echo "export LD_LIBRARY_PATH=$opensslHome/lib64:$LD_LIBRARY_PATH" >> ~/.bashrc
fi
elif [ "$os" == "macos" -o "$os" == "macos-universal" ]; then
elif [ "$os" == "macos" ] || [ "$os" == "macos-universal" ]; then
# Below target location has been hard coded into Coin.
# QTQAINFRA-1195
echo "prefix=$prefix"
@@ -45,13 +45,13 @@ elif [ "$os" == "macos" -o "$os" == "macos-universal" ]; then
openssl_install_dir="$prefix/openssl-$version"
opensslTargetLocation="$prefix/opt/openssl"
commonFlags="no-tests shared no-ssl3-method enable-ec_nistp_64_gcc_128 -Wa,--noexecstack"
commonFlags=(no-tests shared no-ssl3-method enable-ec_nistp_64_gcc_128 "-Wa,--noexecstack")
export MACOSX_DEPLOYMENT_TARGET=11
opensslBuild="${opensslHome}-build"
opensslDestdir="${opensslHome}-destdir"
mkdir -p $opensslBuild
mkdir -p "$opensslBuild"
if [ "$os" == "macos-universal" ]; then
archs="x86_64 arm64"
@@ -60,10 +60,10 @@ elif [ "$os" == "macos" -o "$os" == "macos-universal" ]; then
fi
for arch in $archs; do
cd $opensslBuild
cd "$opensslBuild"
echo "Configuring OpenSSL for $arch"
mkdir -p $arch && cd $arch
$opensslSource/Configure --prefix=$openssl_install_dir $commonFlags darwin64-$arch-cc
mkdir -p "$arch" && cd "$arch"
"$opensslSource/Configure" --prefix="$openssl_install_dir" "${commonFlags[@]}" "darwin64-$arch-cc"
echo "Building OpenSSL for $arch in $PWD"
make >> /tmp/openssl_make.log 2>&1
@@ -75,19 +75,19 @@ elif [ "$os" == "macos" -o "$os" == "macos-universal" ]; then
destdir=""
fi
# shellcheck disable=SC2024
sudo make install_sw install_ssldirs DESTDIR=$destdir >> /tmp/openssl_make_install.log 2>&1
sudo make install_sw install_ssldirs DESTDIR="$destdir" >> /tmp/openssl_make_install.log 2>&1
done
if [ "$os" == "macos-universal" ]; then
echo "Making universal OpenSSL package"
# shellcheck disable=SC2024
sudo rm -Rf "$openssl_install_dir"
sudo ${SCRIPT_DIR}/../macos/makeuniversal.sh "$opensslDestdir/x86_64" $opensslDestdir/arm64
sudo "${SCRIPT_DIR}/../macos/makeuniversal.sh" "$opensslDestdir/x86_64" "$opensslDestdir/arm64"
fi
path=$(echo "$opensslTargetLocation" | sed -E 's/(.*)\/.*$/\1/')
sudo mkdir -p "$path"
sudo ln -s $openssl_install_dir $opensslTargetLocation
sudo ln -s "$openssl_install_dir" "$opensslTargetLocation"
SetEnvVar "PATH" "\"$opensslTargetLocation/bin:\$PATH\""
SetEnvVar "MANPATH" "\"$opensslTargetLocation/share/man:\$MANPATH\""
@@ -96,8 +96,8 @@ elif [ "$os" == "macos" -o "$os" == "macos-universal" ]; then
SetEnvVar "OPENSSL_INCLUDE" "\"$openssl_install_dir/include\""
SetEnvVar "OPENSSL_LIB" "\"$openssl_install_dir/lib\""
security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem > /dev/null
security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem > /dev/null
security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a "$opensslTargetLocation/ssl/cert.pem" > /dev/null
security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a "$opensslTargetLocation/ssl/cert.pem" > /dev/null
fi

15
coin/provisioning/common/unix/install_grpc.sh Normal file → Executable file
View File

@@ -12,12 +12,15 @@ source "${BASH_SOURCE%/*}/SetEnvVar.sh"
# Extract cmake path from the environment
if uname -a |grep -q "Ubuntu"; then
if lsb_release -a |grep "Ubuntu 22.04"; then
if lsb_release -a |grep -q "Ubuntu 22.04"; then
# shellcheck source=/dev/null
source ~/.bash_profile
else
# shellcheck source=/dev/null
source ~/.profile
fi
else
# shellcheck source=/dev/null
source ~/.bashrc
fi
@@ -39,7 +42,7 @@ if uname -a |grep -qv "Darwin"; then
fi
if uname -a |grep -q Darwin; then
extraCMakeArgs="-DCMAKE_OSX_ARCHITECTURES=x86_64;arm64 -DCMAKE_OSX_DEPLOYMENT_TARGET=11"
extraCMakeArgs=("-DCMAKE_OSX_ARCHITECTURES=x86_64;arm64" -DCMAKE_OSX_DEPLOYMENT_TARGET=11)
SetEnvVar PATH "\$PATH:$installPrefix/bin"
fi
@@ -56,12 +59,12 @@ echo "Configuring and building gRPC"
buildDir="$HOME/build-grpc-$version"
mkdir -p "$buildDir"
cd "$buildDir"
cmake $targetDir -G"Ninja Multi-Config" \
cmake "$targetDir" -G"Ninja Multi-Config" \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DCMAKE_CONFIGURATION_TYPES="Release;Debug;RelWithDebugInfo" \
-DCMAKE_INSTALL_PREFIX=$installPrefix \
$extraCMakeArgs \
$extraOpenSslArg \
-DCMAKE_INSTALL_PREFIX="$installPrefix" \
"${extraCMakeArgs[@]}" \
"$extraOpenSslArg" \
-DgRPC_BUILD_TESTS=OFF \
-DgRPC_PROTOBUF_PROVIDER="package" \
-DgRPC_SSL_PROVIDER="package" \

View File

@@ -40,17 +40,17 @@ echo "Configuring and building protobuf"
installPrefix="/usr/local"
if uname -a |grep -q Darwin; then
extraCMakeArgs="-DCMAKE_OSX_ARCHITECTURES=x86_64;arm64 -DCMAKE_OSX_DEPLOYMENT_TARGET=11"
extraCMakeArgs=("-DCMAKE_OSX_ARCHITECTURES=x86_64;arm64" -DCMAKE_OSX_DEPLOYMENT_TARGET=11)
SetEnvVar PATH "\$PATH:$installPrefix/bin"
fi
buildDir="$HOME/build-protobuf-$version"
mkdir "$buildDir"
cd "$buildDir"
cmake $targetDir -G"Ninja Multi-Config" \
cmake "$targetDir" -G"Ninja Multi-Config" \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DCMAKE_INSTALL_PREFIX=$installPrefix \
$extraCMakeArgs \
"${extraCMakeArgs[@]}" \
-Dprotobuf_BUILD_TESTS=OFF \
-Dprotobuf_BUILD_EXAMPLES=OFF \
-Dprotobuf_BUILD_PROTOC_BINARIES=ON \

View File

@@ -38,7 +38,7 @@ fi
zip="/tmp/libclang.7z"
destination="/usr/local/libclang-dynlibs-$version"
DownloadURL $url_cached $url $sha1 $zip
DownloadURL "$url_cached" "$url" "$sha1" "$zip"
if command -v 7zr &> /dev/null; then
sudo 7zr x $zip -o/usr/local/
else

View File

@@ -17,7 +17,8 @@ source "${BASH_SOURCE%/*}/SetEnvVar.sh"
source "${BASH_SOURCE%/*}/DownloadURL.sh"
PROVISIONING_DIR="$(dirname "$0")/../../"
. "$PROVISIONING_DIR"/common/unix/common.sourced.sh
# shellcheck source=./common.sourced.sh
source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
libclang_version="15.0.0"
@@ -26,7 +27,7 @@ if uname -a |grep -q Darwin; then
url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-mac.7z"
url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-mac.7z"
sha1="6d916a17459c81551dde47580ae3f071e93338a5"
elif test -f /etc/redhat-release && cat /etc/redhat-release | grep "Red Hat" | grep -v "8" ; then
elif test -f /etc/redhat-release && grep "Red Hat" /etc/redhat-release | grep -v "8" ; then
version=$libclang_version
url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-linux-Rhel8.4-gcc10.0-x86_64.7z"
url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-linux-Rhel8.4-gcc10.0-x86_64.7z"

View File

@@ -17,7 +17,7 @@ ndkVersionDefault=$ndkVersionLatest
prebuiltOpensslNdkShaLatest="17085b1ef76ba116466213703e38a9d2274ec859"
prebuiltOpensslNdkShaDefault=$prebuiltOpensslNdkShaLatest
: ' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK 25
: <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK 25
# Source built requires GCC and Perl to be in PATH. Rhel "requires yum install perl-IPC-Cmd"
exports_file="/tmp/export.sh"
# source previously made environmental variables.
@@ -50,7 +50,7 @@ fi
cd "$opensslHome"
PATH=$TOOLCHAIN:$PATH CC=clang ./Configure android-arm
PATH=$TOOLCHAIN:$PATH CC=clang make build_generated
'
EOB
function InstallPrebuiltOpenssl() {
@@ -64,7 +64,7 @@ function InstallPrebuiltOpenssl() {
DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile"
unzip -o "$targetFile" -d "${HOME}"
sudo rm -f $targetFile
sudo rm -f "$targetFile"
fi
}

View File

@@ -17,7 +17,7 @@ ndkVersionDefault=$ndkVersionLatest
prebuiltOpensslNdkShaLatest="17085b1ef76ba116466213703e38a9d2274ec859"
prebuiltOpensslNdkShaDefault=$prebuiltOpensslNdkShaLatest
: ' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK 25
: <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK 25
# Source built requires GCC and Perl to be in PATH. Rhel "requires yum install perl-IPC-Cmd"
exports_file="/tmp/export.sh"
# source previously made environmental variables.
@@ -50,7 +50,7 @@ fi
cd "$opensslHome"
PATH=$TOOLCHAIN:$PATH CC=clang ./Configure android-arm
PATH=$TOOLCHAIN:$PATH CC=clang make build_generated
'
EOB
function InstallPrebuiltOpenssl() {
@@ -64,7 +64,7 @@ function InstallPrebuiltOpenssl() {
DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile"
unzip -o "$targetFile" -d "${HOME}"
sudo rm -f $targetFile
sudo rm -f "$targetFile"
fi
}

View File

@@ -27,9 +27,9 @@ function installSccache {
SetEnvVar "SCCACHE_IDLE_TIMEOUT" "0"
# copy sccache wrapper and place as a first in PATH
mkdir -p $HOME/sccache_wrapper
cp ${BASH_SOURCE%/*}/sccache_wrapper $HOME/sccache_wrapper/sccache
chmod 755 $HOME/sccache_wrapper/sccache
mkdir -p "$HOME/sccache_wrapper"
cp "${BASH_SOURCE%/*}/sccache_wrapper" "$HOME/sccache_wrapper/sccache"
chmod 755 "$HOME/sccache_wrapper/sccache"
SetEnvVar "PATH" "$HOME/sccache_wrapper:\$PATH"
}

View File

@@ -32,16 +32,16 @@ sudo mkdir "$mountFolder"
# Check which platform
if uname -a |grep -q Darwin; then
usersGroup="staff"
squishLicenseDir="/Users/qt"
# squishLicenseDir="/Users/qt"
elif uname -a |grep -q "el7"; then
usersGroup="qt"
squishLicenseDir="/root"
# squishLicenseDir="/root"
elif uname -a |grep -q "Ubuntu"; then
usersGroup="users"
squishLicenseDir="/home/qt"
# squishLicenseDir="/home/qt"
else
usersGroup="users"
squishLicenseDir="/root"
# squishLicenseDir="/root"
fi
targetFileMount="$mountFolder"/"$compressedFolder"

View File

@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
# Copyright (C) 2019 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
@@ -15,46 +15,56 @@
######################## BOILERPLATE ###########################
set -e
PROVISIONING_DIR="$(dirname "$0")/../../"
. "$PROVISIONING_DIR"/common/unix/common.sourced.sh
# shellcheck source=./common.sourced.sh
source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
# shellcheck source=./DownloadURL.sh
source "$PROVISIONING_DIR"/common/unix/DownloadURL.sh
. "$PROVISIONING_DIR"/common/unix/DownloadURL.sh
is_script_executed telegraf_install.sh \
is_script_executed telegraf_install.sh \
|| fatal "Script telegraf_install.sh should be executed, not sourced"
################################################################
[ "$PROVISIONING_OS" = linux ] \
&& ioping_sha256=259abf04bcb84f4126ff97c04b6651e1cf5ea6d8a9ff364c769a26c95b6eeb44 \
|| ioping_sha256=55de6a2f1a5343e0ce8df31d82d47a9e79c7e612edbc6dfb39b5fc6fb358b2e3
DownloadURL "http://ci-files01-hki.ci.qt.io/input/ioping/ioping.${PROVISIONING_OS}-${PROVISIONING_ARCH}" \
'' "$ioping_sha256" ioping
if [ "$PROVISIONING_OS" = linux ]
then ioping_sha256=259abf04bcb84f4126ff97c04b6651e1cf5ea6d8a9ff364c769a26c95b6eeb44
else ioping_sha256=55de6a2f1a5343e0ce8df31d82d47a9e79c7e612edbc6dfb39b5fc6fb358b2e3
fi
DownloadURL "http://ci-files01-hki.ci.qt.io/input/ioping/ioping.${PROVISIONING_OS}-${PROVISIONING_ARCH}" \
'' "$ioping_sha256" ioping
$CMD_INSTALL -m 755 ./ioping /usr/bin/
rm -f ioping
# 2. Install custom ioping monitoring script
$CMD_INSTALL -m 755 "$PROVISIONING_DIR"/common/shared/telegraf/telegraf-ioping.sh /usr/bin/
$CMD_INSTALL -m 755 "$PROVISIONING_DIR"/common/shared/telegraf/telegraf-ioping.sh /usr/bin/
# 3. Download and install telegraf
[ x"$PROVISIONING_OS" = xmacos ] && os=darwin || os=linux
[ x"$PROVISIONING_ARCH" = xx86 ] && arch=i386 || arch=amd64
if [ "$PROVISIONING_OS" = macos ]
then os=darwin
else os=linux
fi
if [ "$PROVISIONING_ARCH" = x86 ]
then arch=i386
else arch=amd64
fi
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")
DownloadURL \
http://ci-files01-hki.ci.qt.io/input/telegraf/"$package_filename" \
https://dl.influxdata.com/telegraf/releases/"$package_filename" \
"$package_sha256" \
DownloadURL \
http://ci-files01-hki.ci.qt.io/input/telegraf/"$package_filename" \
https://dl.influxdata.com/telegraf/releases/"$package_filename" \
"$package_sha256" \
telegraf.tar.gz
tar -xzf ./telegraf.tar.gz -C /tmp
telegraf_binary=$(find /tmp/telegraf* -name telegraf -type f | grep /bin/ | head -1)
$CMD_INSTALL -m 755 "$telegraf_binary" /usr/bin/
$CMD_INSTALL -m 755 "$telegraf_binary" /usr/bin/
rm -rf /tmp/telegraf*
# 4. Edit config file with passwords

View File

@@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
# Copyright (C) 2019 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
@@ -6,9 +6,9 @@
######################## BOILERPLATE ###########################
set -e
PROVISIONING_DIR="$(dirname "$0")/../../"
. "$PROVISIONING_DIR"/common/unix/common.sourced.sh
# shellcheck source=./common.sourced.sh
source "${BASH_SOURCE%/*}/common.sourced.sh"
is_script_executed telegraf_password.sh \
|| fatal "Script telegraf_password.sh should be executed, not sourced, to avoid leaking secrets in the logs"