Skip to content

Commit

Permalink
Silence shellcheck warnings (RPi-Distro#255)
Browse files Browse the repository at this point in the history
* Made more specific shellcheck disables
* Fixed variable quoting (SC2086,SC2064)
* Use `$*` expansion instead of `$@` when not using arrays (SC2124)
* Use cleaner `$()` syntax instead of back quotes (SC2006)
* Improved comparator (SC2166)
* Minor improvements in coding style

Tested clean output using: `find -name "*.sh" | xargs -n1 shellcheck -x`.
  • Loading branch information
hhromic authored and fuji246 committed Sep 13, 2019
1 parent dc1bf9f commit e0b3ced
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 15 deletions.
14 changes: 8 additions & 6 deletions build-docker.sh
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
#!/bin/bash -e

BUILD_OPTS="$@"
BUILD_OPTS="$*"

DOCKER="docker"
set +e
$DOCKER ps >/dev/null 2>&1
if [ $? != 0 ]; then
if ! $DOCKER ps >/dev/null 2>&1; then
DOCKER="sudo docker"
fi
if ! $DOCKER ps >/dev/null; then
Expand All @@ -23,8 +22,11 @@ while getopts "c:" flag
do
case "$flag" in
c)
# shellcheck disable=SC1090
source "$OPTARG"
;;
*)
;;
esac
done

Expand Down Expand Up @@ -53,7 +55,7 @@ fi

$DOCKER build -t pi-gen .
if [ "$CONTAINER_EXISTS" != "" ]; then
trap "echo 'got CTRL+C... please wait 5s'; $DOCKER stop -t 5 ${CONTAINER_NAME}_cont" SIGINT SIGTERM
trap 'echo "got CTRL+C... please wait 5s"; $DOCKER stop -t 5 ${CONTAINER_NAME}_cont' SIGINT SIGTERM
time $DOCKER run --rm --privileged \
--volumes-from="${CONTAINER_NAME}" --name "${CONTAINER_NAME}_cont" \
pi-gen \
Expand All @@ -62,7 +64,7 @@ if [ "$CONTAINER_EXISTS" != "" ]; then
rsync -av work/*/build.log deploy/" &
wait "$!"
else
trap "echo 'got CTRL+C... please wait 5s'; $DOCKER stop -t 5 ${CONTAINER_NAME}" SIGINT SIGTERM
trap 'echo "got CTRL+C... please wait 5s"; $DOCKER stop -t 5 ${CONTAINER_NAME}' SIGINT SIGTERM
time $DOCKER run --name "${CONTAINER_NAME}" --privileged \
pi-gen \
bash -e -o pipefail -c "dpkg-reconfigure qemu-user-static &&
Expand All @@ -76,7 +78,7 @@ ls -lah deploy

# cleanup
if [ "$PRESERVE_CONTAINER" != "1" ]; then
$DOCKER rm -v $CONTAINER_NAME
$DOCKER rm -v "$CONTAINER_NAME"
fi

echo "Done! Your image(s) should be in deploy/"
12 changes: 8 additions & 4 deletions build.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash -e
# shellcheck disable=SC2119,SC1091
# shellcheck disable=SC2119
run_sub_stage()
{
log "Begin ${SUB_STAGE_DIR}"
Expand Down Expand Up @@ -102,7 +102,7 @@ run_stage(){
./prerun.sh
log "End ${STAGE_DIR}/prerun.sh"
fi
for SUB_STAGE_DIR in ${STAGE_DIR}/*; do
for SUB_STAGE_DIR in "${STAGE_DIR}"/*; do
if [ -d "${SUB_STAGE_DIR}" ] &&
[ ! -f "${SUB_STAGE_DIR}/SKIP" ]; then
run_sub_stage
Expand All @@ -124,6 +124,7 @@ fi


if [ -f config ]; then
# shellcheck disable=SC1091
source config
fi

Expand All @@ -132,8 +133,11 @@ do
case "$flag" in
c)
EXTRA_CONFIG="$OPTARG"
# shellcheck disable=SC1090
source "$EXTRA_CONFIG"
;;
*)
;;
esac
done

Expand Down Expand Up @@ -206,8 +210,8 @@ log "Begin ${BASE_DIR}"

STAGE_LIST=${STAGE_LIST:-${BASE_DIR}/stage*}

for STAGE_DIR_ in $STAGE_LIST; do
STAGE_DIR=`realpath "${STAGE_DIR_}"`
for STAGE_DIR in $STAGE_LIST; do
STAGE_DIR=$(realpath "${STAGE_DIR}")
run_stage
done

Expand Down
4 changes: 3 additions & 1 deletion export-noobs/00-release/files/partition_setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

set -ex

# shellcheck disable=SC2154
if [ -z "$part1" ] || [ -z "$part2" ]; then
printf "Error: missing environment variable part1 or part2\n" 1>&2
exit 1
Expand All @@ -17,7 +18,8 @@ sed /tmp/1/cmdline.txt -i -e "s|root=[^ ]*|root=${part2}|"
sed /tmp/2/etc/fstab -i -e "s|^[^#].* / |${part2} / |"
sed /tmp/2/etc/fstab -i -e "s|^[^#].* /boot |${part1} /boot |"

if [ -z $restore ]; then
# shellcheck disable=SC2154
if [ -z "$restore" ]; then
if [ -f /mnt/ssh ]; then
cp /mnt/ssh /tmp/1/
fi
Expand Down
6 changes: 2 additions & 4 deletions stage2/02-net-tweaks/01-run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,11 @@ systemctl disable hostapd
systemctl disable dnsmasq
EOF

if [ -v WPA_COUNTRY ]
then
if [ -v WPA_COUNTRY ]; then
echo "country=${WPA_COUNTRY}" >> "${ROOTFS_DIR}/etc/wpa_supplicant/wpa_supplicant.conf"
fi

if [ -v WPA_ESSID -a -v WPA_PASSWORD ]
then
if [ -v WPA_ESSID ] && [ -v WPA_PASSWORD ]; then
on_chroot <<EOF
wpa_passphrase "${WPA_ESSID}" "${WPA_PASSWORD}" >> "/etc/wpa_supplicant/wpa_supplicant.conf"
EOF
Expand Down

0 comments on commit e0b3ced

Please sign in to comment.