diff --git a/contrib/devtools/gen-manpages.sh b/contrib/devtools/gen-manpages.sh index fb9496b54..607c40181 100755 --- a/contrib/devtools/gen-manpages.sh +++ b/contrib/devtools/gen-manpages.sh @@ -14,8 +14,8 @@ ZCASHTX=${ZCASHTX:-$SRCDIR/zcash-tx} # The autodetected version git tag can screw up manpage output a little bit read -r -a ZECVERSTR <<< "$($ZCASHCLI --version | head -n1 | awk '{ print $NF }')" -read -r -a ZECVER <<< "$(echo $ZECVERSTR | awk -F- '{ OFS="-"; NF--; print $0; }')" -read -r -a ZECCOMMIT <<< "$(echo $ZECVERSTR | awk -F- '{ print $NF }')" +read -r -a ZECVER <<< "$(echo ${ZECVERSTR[0]} | awk -F- '{ OFS="-"; NF--; print $0; }')" +read -r -a ZECCOMMIT <<< "$(echo ${ZECVERSTR[0]} | awk -F- '{ print $NF }')" # Create a footer file with copyright content. # This gets autodetected fine for zcashd if --version-string is not set, @@ -26,14 +26,14 @@ grep -v "Bitcoin Core Developers" footer.h2m >footer-no-bitcoin-copyright.h2m for cmd in $ZCASHD $ZCASHCLI $ZCASHTX; do cmdname="${cmd##*/}" - help2man -N --version-string=$ZECVER --include=footer.h2m -o ${MANDIR}/${cmdname}.1 ${cmd} - sed -i "s/\\\-$ZECCOMMIT//g" ${MANDIR}/${cmdname}.1 + help2man -N --version-string=${ZECVER[0]} --include=footer.h2m -o ${MANDIR}/${cmdname}.1 ${cmd} + sed -i "s/\\\-${ZECCOMMIT[0]}//g" ${MANDIR}/${cmdname}.1 done for cmd in $ZCASHD_WALLET_TOOL; do cmdname="${cmd##*/}" - help2man -N --version-string=$ZECVER --include=footer-no-bitcoin-copyright.h2m -o ${MANDIR}/${cmdname}.1 ${cmd} - sed -i "s/\\\-$ZECCOMMIT//g" ${MANDIR}/${cmdname}.1 + help2man -N --version-string=${ZECVER[0]} --include=footer-no-bitcoin-copyright.h2m -o ${MANDIR}/${cmdname}.1 ${cmd} + sed -i "s/\\\-${ZECCOMMIT[0]}//g" ${MANDIR}/${cmdname}.1 done rm -f footer.h2m diff --git a/contrib/devtools/update-clang-hashes.sh b/contrib/devtools/update-clang-hashes.sh index 586df3b24..0e64360bb 100755 --- a/contrib/devtools/update-clang-hashes.sh +++ b/contrib/devtools/update-clang-hashes.sh @@ -7,9 +7,8 @@ SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) CLANG_PACKAGE="$SCRIPT_DIR/../../depends/packages/native_clang.mk" LIBCXX_PACKAGE="$SCRIPT_DIR/../../depends/packages/libcxx.mk" -CLANG_MAJOR_VERSION=$( cat $CLANG_PACKAGE | grep -oP "_major_version=\K.*" ) -CLANG_VERSION=$( cat $CLANG_PACKAGE | grep -v _major_version | grep -oP "_version=\K.*" ) -LIBCXX_MSYS2_VERSION=$( cat $LIBCXX_PACKAGE | grep -oP "_msys2_version=\K.*" ) +CLANG_VERSION=$( grep -v _major_version $CLANG_PACKAGE | grep -oP "_version=\K.*" ) +LIBCXX_MSYS2_VERSION=$( grep -oP "_msys2_version=\K.*" $LIBCXX_PACKAGE ) update_clang_hash() { url="https://github.com/llvm/llvm-project/releases/download/llvmorg-$CLANG_VERSION/clang+llvm-$CLANG_VERSION-$1.tar.xz" diff --git a/contrib/devtools/update-rust-hashes.sh b/contrib/devtools/update-rust-hashes.sh index ad036bebf..2073439ff 100755 --- a/contrib/devtools/update-rust-hashes.sh +++ b/contrib/devtools/update-rust-hashes.sh @@ -5,7 +5,7 @@ export LC_ALL=C SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) RUST_PACKAGE="$SCRIPT_DIR/../../depends/packages/native_rust.mk" -RUST_VERSION=$( cat $RUST_PACKAGE | grep -oP "_version=\K.*" ) +RUST_VERSION=$( grep -oP "_version=\K.*" $RUST_PACKAGE ) update_hash() { url="https://static.rust-lang.org/dist/$1-$RUST_VERSION-$2.tar.gz" diff --git a/test/lint/lint-cargo-patches.sh b/test/lint/lint-cargo-patches.sh index 742dbb392..eef5798ba 100755 --- a/test/lint/lint-cargo-patches.sh +++ b/test/lint/lint-cargo-patches.sh @@ -13,7 +13,7 @@ CARGO_TOML="$REPOBASE/Cargo.toml" CONFIG_FILE="$REPOBASE/.cargo/config.offline" CARGO_TOML_PATCH_PREFIX="[patch.crates-io]" -let CARGO_TOML_PATCH_START=$(grep -Fn "$CARGO_TOML_PATCH_PREFIX" $CARGO_TOML | cut -d: -f1)+1 +(( CARGO_TOML_PATCH_START=$(grep -Fn "$CARGO_TOML_PATCH_PREFIX" $CARGO_TOML | cut -d: -f1)+1 )) if [ "$CARGO_TOML_PATCH_START" -eq 1 ]; then # We have no patched dependencies to lint. exit diff --git a/zcutil/afl/afl-build.sh b/zcutil/afl/afl-build.sh index 9cf1e7e34..7562518c5 100755 --- a/zcutil/afl/afl-build.sh +++ b/zcutil/afl/afl-build.sh @@ -6,7 +6,8 @@ set -eu -o pipefail AFL_HARDEN=1 CONFIGURE_FLAGS="--enable-tests=no --enable-fuzz-main" ZCUTIL=$(realpath "./zcutil") -export AFL_LOG_DIR="$(pwd)" +AFL_LOG_DIR="$(pwd)" +export AFL_LOG_DIR for d in src/fuzzing/*/ ; do fuzz_cases+="$(basename "$d"), " @@ -79,7 +80,7 @@ while (( "$#" )); do ZCUTIL=$(realpath "$2") shift 2 ;; - -*|--*=) + -?|--*=) echo "Error: Unsupported flag $1" >&2 help exit 1 diff --git a/zcutil/afl/afl-get.sh b/zcutil/afl/afl-get.sh index 4e349414c..93740b66a 100755 --- a/zcutil/afl/afl-get.sh +++ b/zcutil/afl/afl-get.sh @@ -39,7 +39,7 @@ while (( "$#" )); do help exit 0 ;; - -*|--*=) + -?|--*=) echo "Error: Unsupported flag $1" >&2 help exit 1 diff --git a/zcutil/afl/afl-getbuildrun.sh b/zcutil/afl/afl-getbuildrun.sh index 028ee6419..1c762751f 100755 --- a/zcutil/afl/afl-getbuildrun.sh +++ b/zcutil/afl/afl-getbuildrun.sh @@ -11,7 +11,8 @@ FUZZ_OPTIONS_STRING="Options are: ${fuzz_cases::-2}" required_options_count=0 -export AFL_INSTALL_DIR=$(realpath "./afl-temp") +AFL_INSTALL_DIR=$(realpath "./afl-temp") +export AFL_INSTALL_DIR function help { cat <&2 help exit 1 diff --git a/zcutil/afl/afl-run.sh b/zcutil/afl/afl-run.sh index e6872d9c2..600e383bf 100755 --- a/zcutil/afl/afl-run.sh +++ b/zcutil/afl/afl-run.sh @@ -46,7 +46,7 @@ while (( "$#" )); do help exit 0 ;; - -*|--*=) + -?|--*=) echo "Error: Unsupported flag $1" >&2 help exit 1 diff --git a/zcutil/build.sh b/zcutil/build.sh index 8423a375c..3a7c32192 100755 --- a/zcutil/build.sh +++ b/zcutil/build.sh @@ -23,7 +23,7 @@ cd "$(dirname "$("$READLINK" -f "$0")")/.." # Allow user overrides to $MAKE. Typical usage for users who need it: # MAKE=gmake ./zcutil/build.sh -j$(nproc) if [ -z "${MAKE-}" ]; then - MAKE=make + MAKE="make" fi # Allow overrides to $BUILD and $HOST for porters. Most users will not need it. diff --git a/zcutil/cleanup-tags.sh b/zcutil/cleanup-tags.sh index cc1c970e7..806e81b24 100755 --- a/zcutil/cleanup-tags.sh +++ b/zcutil/cleanup-tags.sh @@ -20,7 +20,7 @@ for nonzctag in $(git ls-remote origin \ ) do git push origin ":refs/tags/${nonzctag}" & - i="$(expr "$i" + 1)" + i=$((i + 1)) [ "$i" -ge "$MAXJOBS" ] && wait -n done diff --git a/zcutil/fetch-params.sh b/zcutil/fetch-params.sh index 69d2e964d..b60fecb63 100755 --- a/zcutil/fetch-params.sh +++ b/zcutil/fetch-params.sh @@ -35,7 +35,7 @@ ZC_DISABLE_CURL="${ZC_DISABLE_CURL:-}" LOCKFILE=/tmp/fetch_params.lock fetch_wget() { - if [ -z "$WGETCMD" ] || ! [ -z "$ZC_DISABLE_WGET" ]; then + if [ -z "$WGETCMD" ] || [ -n "$ZC_DISABLE_WGET" ]; then return 1 fi @@ -53,7 +53,7 @@ EOF } fetch_ipfs() { - if [ -z "$IPFSCMD" ] || ! [ -z "$ZC_DISABLE_IPFS" ]; then + if [ -z "$IPFSCMD" ] || [ -n "$ZC_DISABLE_IPFS" ]; then return 1 fi @@ -66,7 +66,7 @@ EOF } fetch_curl() { - if [ -z "$CURLCMD" ] || ! [ -z "$ZC_DISABLE_CURL" ]; then + if [ -z "$CURLCMD" ] || [ -n "$ZC_DISABLE_CURL" ]; then return 1 fi diff --git a/zcutil/libfuzzer/libfuzzer-build.sh b/zcutil/libfuzzer/libfuzzer-build.sh index 9ad59b88a..b6379f5ec 100755 --- a/zcutil/libfuzzer/libfuzzer-build.sh +++ b/zcutil/libfuzzer/libfuzzer-build.sh @@ -22,12 +22,12 @@ usage() { echo "Where fuzzer is an entry in ./src/fuzzing/*, the default sanitizer" echo "is \"address\" and default instrument is ( \"^.*/src/$\" )." echo "" - exit -1 + exit 255 } die() { echo $1 - exit -1 + exit 255 } # parse command line options @@ -120,11 +120,12 @@ fi set -x -export ZCUTIL=$(realpath "./zcutil") +ZCUTIL=$(realpath "./zcutil") +export ZCUTIL # overwrite the Linux make profile to use clang instead of GCC: -cat $ZCUTIL/../depends/hosts/linux.mk | sed -e 's/=gcc/=clang/g' | sed -e 's/=g++/=clang++/g' > x +sed -e 's/=gcc/=clang/g' $ZCUTIL/../depends/hosts/linux.mk | sed -e 's/=g++/=clang++/g' > x mv x $ZCUTIL/../depends/hosts/linux.mk # the build_stage distinction helps to layer an intermediate docker @@ -134,7 +135,7 @@ mv x $ZCUTIL/../depends/hosts/linux.mk if [ "$BUILD_STAGE" = "depends" ] then # make an empty fuzz file just so we can build dependencies - > src/fuzz.cpp + true > src/fuzz.cpp else cp "./src/fuzzing/$FUZZER_NAME/fuzz.cpp" src/fuzz.cpp || die "Can't copy fuzz.cpp for that fuzzer" fi