diff options
author | Tony Sarajärvi <tony.sarajarvi@qt.io> | 2023-03-29 12:04:54 +0000 |
---|---|---|
committer | Tony Sarajärvi <tony.sarajarvi@qt.io> | 2023-09-13 06:44:02 +0000 |
commit | 620666bce4b837f971491f3f6ce486e98a2559b5 (patch) | |
tree | 6e473f48d4364ddafd69a0b39756924769e2e927 /coin/provisioning/common/macos | |
parent | ddef5cc5f2cbaea7e9f9c5ef843cffcfabac384a (diff) |
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>
Diffstat (limited to 'coin/provisioning/common/macos')
17 files changed, 64 insertions, 63 deletions
diff --git a/coin/provisioning/common/macos/InstallPKGFromURL.sh b/coin/provisioning/common/macos/InstallPKGFromURL.sh index 220b11c8..62ae9db5 100755 --- a/coin/provisioning/common/macos/InstallPKGFromURL.sh +++ b/coin/provisioning/common/macos/InstallPKGFromURL.sh @@ -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'" diff --git a/coin/provisioning/common/macos/android.sh b/coin/provisioning/common/macos/android.sh index 2bd91cfb..cf47bd99 100755 --- a/coin/provisioning/common/macos/android.sh +++ b/coin/provisioning/common/macos/android.sh @@ -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 diff --git a/coin/provisioning/common/macos/disable_net_lso.sh b/coin/provisioning/common/macos/disable_net_lso.sh index 63bb576c..7c51a486 100755 --- a/coin/provisioning/common/macos/disable_net_lso.sh +++ b/coin/provisioning/common/macos/disable_net_lso.sh @@ -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 diff --git a/coin/provisioning/common/macos/docker.sh b/coin/provisioning/common/macos/docker.sh index 6f53ac79..7ae9cdd5 100755 --- a/coin/provisioning/common/macos/docker.sh +++ b/coin/provisioning/common/macos/docker.sh @@ -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, diff --git a/coin/provisioning/common/macos/enable_zsh_history_and_viminfo.sh b/coin/provisioning/common/macos/enable_zsh_history_and_viminfo.sh index c814a061..c814a061 100644..100755 --- a/coin/provisioning/common/macos/enable_zsh_history_and_viminfo.sh +++ b/coin/provisioning/common/macos/enable_zsh_history_and_viminfo.sh diff --git a/coin/provisioning/common/macos/fbx_macos.sh b/coin/provisioning/common/macos/fbx_macos.sh index ed54a49e..62d643ee 100755 --- a/coin/provisioning/common/macos/fbx_macos.sh +++ b/coin/provisioning/common/macos/fbx_macos.sh @@ -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 diff --git a/coin/provisioning/common/macos/homebrew.sh b/coin/provisioning/common/macos/homebrew.sh index 76e56dbe..4f3a93ba 100755 --- a/coin/provisioning/common/macos/homebrew.sh +++ b/coin/provisioning/common/macos/homebrew.sh @@ -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 \ diff --git a/coin/provisioning/common/macos/increase_limits.sh b/coin/provisioning/common/macos/increase_limits.sh index 35132e82..58b20f49 100755 --- a/coin/provisioning/common/macos/increase_limits.sh +++ b/coin/provisioning/common/macos/increase_limits.sh @@ -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) diff --git a/coin/provisioning/common/macos/install_xcode.sh b/coin/provisioning/common/macos/install_xcode.sh index 412bb04d..440f19b9 100755 --- a/coin/provisioning/common/macos/install_xcode.sh +++ b/coin/provisioning/common/macos/install_xcode.sh @@ -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 diff --git a/coin/provisioning/common/macos/libiodbc.sh b/coin/provisioning/common/macos/libiodbc.sh index 71cfcb25..059758c8 100755 --- a/coin/provisioning/common/macos/libiodbc.sh +++ b/coin/provisioning/common/macos/libiodbc.sh @@ -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}" diff --git a/coin/provisioning/common/macos/libusb.sh b/coin/provisioning/common/macos/libusb.sh index 50b3e13e..2abe6cbf 100755 --- a/coin/provisioning/common/macos/libusb.sh +++ b/coin/provisioning/common/macos/libusb.sh @@ -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 diff --git a/coin/provisioning/common/macos/macos-version.sh b/coin/provisioning/common/macos/macos-version.sh index 5aac0d1e..182c1161 100755 --- a/coin/provisioning/common/macos/macos-version.sh +++ b/coin/provisioning/common/macos/macos-version.sh @@ -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" diff --git a/coin/provisioning/common/macos/makeuniversal.sh b/coin/provisioning/common/macos/makeuniversal.sh index 0d62ad7b..1baff747 100755 --- a/coin/provisioning/common/macos/makeuniversal.sh +++ b/coin/provisioning/common/macos/makeuniversal.sh @@ -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 diff --git a/coin/provisioning/common/macos/pkgconfig.sh b/coin/provisioning/common/macos/pkgconfig.sh index eff25852..5b849821 100755 --- a/coin/provisioning/common/macos/pkgconfig.sh +++ b/coin/provisioning/common/macos/pkgconfig.sh @@ -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 diff --git a/coin/provisioning/common/macos/postgresql.sh b/coin/provisioning/common/macos/postgresql.sh index 1fbb4256..8980d28e 100755 --- a/coin/provisioning/common/macos/postgresql.sh +++ b/coin/provisioning/common/macos/postgresql.sh @@ -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" diff --git a/coin/provisioning/common/macos/telegraf-ioping.sh b/coin/provisioning/common/macos/telegraf-ioping.sh index 3b862999..9b6d3851 100755 --- a/coin/provisioning/common/macos/telegraf-ioping.sh +++ b/coin/provisioning/common/macos/telegraf-ioping.sh @@ -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" diff --git a/coin/provisioning/common/macos/telegraf_install.sh b/coin/provisioning/common/macos/telegraf_install.sh index a3d7eb90..f9658d83 100755 --- a/coin/provisioning/common/macos/telegraf_install.sh +++ b/coin/provisioning/common/macos/telegraf_install.sh @@ -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. # |