diff --git a/bashrc b/bashrc index 2b64b99..0147c27 100644 --- a/bashrc +++ b/bashrc @@ -18,7 +18,7 @@ command_not_found_handle () { # would prevent the container from starting) DEVICES= for DEV in /dev/kvm /dev/ttyUSB* /dev/dri/* /dev/snd/*; do - if [ -b "$DEV" -o -c "$DEV" ]; then + if [ -b "$DEV" ] || [ -c "$DEV" ]; then DEVICES="$DEVICES --device $DEV:$DEV" fi done @@ -36,9 +36,13 @@ command_not_found_handle () { DASHT= tty -s && DASHT=-t + # shellcheck disable=SC2086 + # shellcheck disable=SC2046 docker run $DASHT -i -u $(whoami) -w "$HOME" \ $(env | cut -d= -f1 | awk '{print "-e", $1}') \ - $DOCKERFILES_RUN_FLAGS $DEVICES $VOLUMES \ + $DOCKERFILES_RUN_FLAGS \ + $DEVICES \ + $VOLUMES \ -v /etc/passwd:/etc/passwd:ro \ -v /etc/group:/etc/group:ro \ -v /etc/localtime:/etc/localtime:ro \ diff --git a/build-all.sh b/build-all.sh index f0f6fe2..f22f836 100755 --- a/build-all.sh +++ b/build-all.sh @@ -14,8 +14,7 @@ build_and_push(){ build_dir=$3 echo "Building ${REPO_URL}/${base}:${suite} for context ${build_dir}" - docker build --rm --force-rm -t ${REPO_URL}/${base}:${suite} ${build_dir} || return 1 - img build -t ${REPO_URL}/${base}:${suite} ${build_dir} || true + docker build --rm --force-rm -t "${REPO_URL}/${base}:${suite}" "${build_dir}" || return 1 # on successful build, push the image echo " --- " @@ -26,16 +25,16 @@ build_and_push(){ # absolutely no reason n=0 until [ $n -ge 5 ]; do - docker push --disable-content-trust=false ${REPO_URL}/${base}:${suite} && break + docker push --disable-content-trust=false "${REPO_URL}/${base}:${suite}" && break echo "Try #$n failed... sleeping for 15 seconds" - n=$[$n+1] + n=$((n+1)) sleep 15 done # also push the tag latest for "stable" (chrome), "tools" (wireguard) or "3.5" tags for zookeeper if [[ "$suite" == "stable" ]] || [[ "$suite" == "3.5" ]] || [[ "$suite" == "tools" ]]; then - docker tag ${REPO_URL}/${base}:${suite} ${REPO_URL}/${base}:latest - docker push --disable-content-trust=false ${REPO_URL}/${base}:latest + docker tag "${REPO_URL}/${base}:${suite}" "${REPO_URL}/${base}:latest" + docker push --disable-content-trust=false "${REPO_URL}/${base}:latest" fi } @@ -43,7 +42,7 @@ dofile() { f=$1 image=${f%Dockerfile} base=${image%%\/*} - build_dir=$(dirname $f) + build_dir=$(dirname "$f") suite=${build_dir##*\/} if [[ -z "$suite" ]] || [[ "$suite" == "$base" ]]; then @@ -54,7 +53,7 @@ dofile() { $SCRIPT build_and_push "${base}" "${suite}" "${build_dir}" } || { # add to errors - echo "${base}:${suite}" >> $ERRORS + echo "${base}:${suite}" >> "$ERRORS" } echo echo @@ -63,31 +62,31 @@ echo main(){ # get the dockerfiles IFS=$'\n' - files=( $(find -L . -iname '*Dockerfile' | sed 's|./||' | sort) ) + mapfile -t files < <(find -L . -iname '*Dockerfile' | sed 's|./||' | sort) unset IFS # build all dockerfiles echo "Running in parallel with ${JOBS} jobs." - parallel --tag --verbose --ungroup -j"${JOBS}" $SCRIPT dofile "{1}" ::: "${files[@]}" + parallel --tag --verbose --ungroup -j"${JOBS}" "$SCRIPT" dofile "{1}" ::: "${files[@]}" - if [[ ! -f $ERRORS ]]; then + if [[ ! -f "$ERRORS" ]]; then echo "No errors, hooray!" else echo "[ERROR] Some images did not build correctly, see below." >&2 - echo "These images failed: $(cat $ERRORS)" >&2 + echo "These images failed: $(cat "$ERRORS")" >&2 exit 1 fi } run(){ - args=$@ + args=$* f=$1 if [[ "$f" == "" ]]; then - main $args + main "$args" else - $args + "$args" fi } -run $@ +run "$@" diff --git a/distcc/distccd-init b/distcc/distccd-init index 9f4946e..b080a7d 100755 --- a/distcc/distccd-init +++ b/distcc/distccd-init @@ -16,8 +16,7 @@ set -e PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/bin/distccd NAME=distccd -DESC="Distributed Compiler Daemon" -DAEMON_ARGS="--nice=10 --port=4200 --pid-file=/var/run/$NAME.pid --no-detach $@" +DAEMON_ARGS="--nice=10 --port=4200 --pid-file=/var/run/${NAME}.pid --no-detach $*" test -x $DAEMON || exit 0 @@ -26,4 +25,5 @@ test -x $DAEMON || exit 0 touch /var/run/$NAME.pid chown distccd /var/run/$NAME.pid +# shellcheck disable=SC2086 exec $DAEMON $DAEMON_ARGS