summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrantisek Sumsal <frantisek@sumsal.cz>2021-09-29 21:28:55 +0200
committerFrantisek Sumsal <frantisek@sumsal.cz>2021-09-30 12:27:06 +0200
commitf7e0d22d76ead994a848049fb45afd9a6fb9915a (patch)
tree5875e694923192d7c7a9d1b89fb18dba6a9ca22a
parent1c3f490f230c1dad83901b1768456082159f2cbe (diff)
downloadsystemd-f7e0d22d76ead994a848049fb45afd9a6fb9915a.tar.gz
tools: shellcheck-ify tool scripts
-rwxr-xr-xconfigure25
-rwxr-xr-xtools/get-coverity.sh30
-rwxr-xr-xtools/meson-build.sh5
-rwxr-xr-xtools/oss-fuzz.sh32
-rwxr-xr-xunits/meson-add-wants.sh1
5 files changed, 50 insertions, 43 deletions
diff --git a/configure b/configure
index fb9d01e1a7..e130c6cb14 100755
--- a/configure
+++ b/configure
@@ -2,22 +2,23 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
set -e
-cflags=CFLAGS="$CFLAGS"
-cxxflags=CXXFLAGS="$CXXFLAGS"
-declare -a args
-j=0
-for i in "$@"; do
- case "$i" in
+cflags="CFLAGS=${CFLAGS-}"
+cxxflags="CXXFLAGS=${CXXFLAGS-}"
+args=()
+
+for arg in "$@"; do
+ case "$arg" in
CFLAGS=*)
- cflags="$i";;
+ cflags="$arg"
+ ;;
CXXFLAGS=*)
- cxxflags="$i";;
- *)
- args[$j]="$i"
- j=$((j+1))
+ cxxflags="$arg"
+ ;;
+ *)
+ args+=("$arg")
esac
done
-export "$cflags" "$cxxflags"
+export "${cflags?}" "${cxxflags?}"
set -x
exec meson build "${args[@]}"
diff --git a/tools/get-coverity.sh b/tools/get-coverity.sh
index 8f84aec80e..00219bf60f 100755
--- a/tools/get-coverity.sh
+++ b/tools/get-coverity.sh
@@ -3,33 +3,37 @@
# Download and extract coverity tool
+set -e
+set -o pipefail
+
# Environment check
-[ -z "$COVERITY_SCAN_TOKEN" ] && echo 'ERROR: COVERITY_SCAN_TOKEN must be set' && exit 1
+if [ -z "$COVERITY_SCAN_TOKEN" ]; then
+ echo >&2 'ERROR: COVERITY_SCAN_TOKEN must be set'
+ exit 1
+fi
# Use default values if not set
-PLATFORM=$(uname)
-
-TOOL_BASE=${TOOL_BASE:="/tmp/coverity-scan-analysis"}
-TOOL_ARCHIVE=${TOOL_ARCHIVE:="/tmp/cov-analysis-${PLATFORM}.tgz"}
-
+PLATFORM="$(uname)"
+TOOL_BASE="${TOOL_BASE:-/tmp/coverity-scan-analysis}"
+TOOL_ARCHIVE="${TOOL_ARCHIVE:-/tmp/cov-analysis-${PLATFORM}.tgz}"
TOOL_URL="https://scan.coverity.com/download/${PLATFORM}"
# Make sure wget is installed
sudo apt-get update && sudo apt-get -y install wget
# Get coverity tool
-if [ ! -d $TOOL_BASE ]; then
+if [ ! -d "$TOOL_BASE" ]; then
# Download Coverity Scan Analysis Tool
- if [ ! -e $TOOL_ARCHIVE ]; then
- echo -e "\033[33;1mDownloading Coverity Scan Analysis Tool...\033[0m"
- wget -nv -O $TOOL_ARCHIVE $TOOL_URL --post-data "project=$COVERITY_SCAN_PROJECT_NAME&token=$COVERITY_SCAN_TOKEN"
+ if [ ! -e "$TOOL_ARCHIVE" ]; then
+ echo -e "\033[33;1mDownloading Coverity Scan Analysis Tool...\033[0m"
+ wget -nv -O "$TOOL_ARCHIVE" "$TOOL_URL" --post-data "project=$COVERITY_SCAN_PROJECT_NAME&token=$COVERITY_SCAN_TOKEN"
fi
# Extract Coverity Scan Analysis Tool
echo -e "\033[33;1mExtracting Coverity Scan Analysis Tool...\033[0m"
- mkdir -p $TOOL_BASE
- pushd $TOOL_BASE
- tar xzf $TOOL_ARCHIVE
+ mkdir -p "$TOOL_BASE"
+ pushd "$TOOL_BASE"
+ tar xzf "$TOOL_ARCHIVE"
popd
fi
diff --git a/tools/meson-build.sh b/tools/meson-build.sh
index 26f995dfc1..6d45e89a06 100755
--- a/tools/meson-build.sh
+++ b/tools/meson-build.sh
@@ -9,13 +9,14 @@ options="$4"
CC="$5"
CXX="$6"
+# shellcheck disable=SC2086
[ -f "$dst/ninja.build" ] || CC="$CC" CXX="$CXX" meson "$src" "$dst" $options
# Locate ninja binary, on CentOS 7 it is called ninja-build, so
# use that name if available.
-ninja=ninja
+ninja="ninja"
if which ninja-build >/dev/null 2>&1 ; then
- ninja=ninja-build
+ ninja="ninja-build"
fi
"$ninja" -C "$dst" "$target"
diff --git a/tools/oss-fuzz.sh b/tools/oss-fuzz.sh
index 767da15f7c..d9cfcf8f3b 100755
--- a/tools/oss-fuzz.sh
+++ b/tools/oss-fuzz.sh
@@ -21,11 +21,11 @@ export LDFLAGS=${LDFLAGS:--L${clang_lib}}
export WORK=${WORK:-$(pwd)}
export OUT=${OUT:-$(pwd)/out}
-mkdir -p $OUT
+mkdir -p "$OUT"
-build=$WORK/build
-rm -rf $build
-mkdir -p $build
+build="$WORK/build"
+rm -rf "$build"
+mkdir -p "$build"
if [ -z "$FUZZING_ENGINE" ]; then
fuzzflag="llvm-fuzz=true"
@@ -38,28 +38,28 @@ else
fi
fi
-if ! meson $build -D$fuzzflag -Db_lundef=false; then
- cat $build/meson-logs/meson-log.txt
+if ! meson "$build" "-D$fuzzflag" -Db_lundef=false; then
+ cat "$build/meson-logs/meson-log.txt"
exit 1
fi
-ninja -v -C $build fuzzers
+ninja -v -C "$build" fuzzers
# The seed corpus is a separate flat archive for each fuzzer,
# with a fixed name ${fuzzer}_seed_corpus.zip.
for d in "$(dirname "$0")/../test/fuzz/fuzz-"*; do
- zip -jqr $OUT/$(basename "$d")_seed_corpus.zip "$d"
+ zip -jqr "$OUT/$(basename "$d")_seed_corpus.zip" "$d"
done
# get fuzz-dns-packet corpus
-df=$build/dns-fuzzing
-git clone --depth 1 https://github.com/CZ-NIC/dns-fuzzing $df
-zip -jqr $OUT/fuzz-dns-packet_seed_corpus.zip $df/packet
+df="$build/dns-fuzzing"
+git clone --depth 1 https://github.com/CZ-NIC/dns-fuzzing "$df"
+zip -jqr "$OUT/fuzz-dns-packet_seed_corpus.zip" "$df/packet"
-install -Dt $OUT/src/shared/ $build/src/shared/libsystemd-shared-*.so
+install -Dt "$OUT/src/shared/" "$build"/src/shared/libsystemd-shared-*.so
-wget -O $OUT/fuzz-json.dict https://raw.githubusercontent.com/rc0r/afl-fuzz/master/dictionaries/json.dict
+wget -O "$OUT/fuzz-json.dict" https://raw.githubusercontent.com/rc0r/afl-fuzz/master/dictionaries/json.dict
-find $build -maxdepth 1 -type f -executable -name "fuzz-*" -exec mv {} $OUT \;
-find src -type f -name "fuzz-*.dict" -exec cp {} $OUT \;
-cp src/fuzz/*.options $OUT
+find "$build" -maxdepth 1 -type f -executable -name "fuzz-*" -exec mv {} "$OUT" \;
+find src -type f -name "fuzz-*.dict" -exec cp {} "$OUT" \;
+cp src/fuzz/*.options "$OUT"
diff --git a/units/meson-add-wants.sh b/units/meson-add-wants.sh
index f6424fe29f..6d8da57402 100755
--- a/units/meson-add-wants.sh
+++ b/units/meson-add-wants.sh
@@ -1,5 +1,6 @@
#!/bin/sh
# SPDX-License-Identifier: LGPL-2.1-or-later
+# shellcheck disable=SC2154,SC2174
set -eu
i=1