From: Chris Hofstaedtler Date: Sat, 11 Nov 2023 11:19:32 +0000 (+0100) Subject: shellcheck: fix some warnings X-Git-Tag: v0.105~8^2~2 X-Git-Url: https://git.grml.org/?p=grml-debootstrap.git;a=commitdiff_plain;h=511ca11ea437116522463053718df41c761e8a51 shellcheck: fix some warnings Catch up with shellcheck 0.9.0. To improve shellcheck usage in chroot-script, add a stub file defining ARCH. This commit is very minimal. In particular it avoids moving/deduplicating code and/or any style changes. --- diff --git a/chroot-script b/chroot-script index 3e87597..1bd3abb 100755 --- a/chroot-script +++ b/chroot-script @@ -8,6 +8,7 @@ # GRML_CHROOT_SCRIPT_MARKER - do not remove this line unless you want to keep # this script as /bin/chroot-script on your new installed system ################################################################################ +# shellcheck disable=SC2317 # shellcheck has trouble understanding the code flow in this file # error_handler {{{ if [ "$REPORT_TRAP_ERR" = "yes" ] || [ "$FAIL_TRAP_ERR" = "yes" ]; then @@ -18,9 +19,9 @@ if [ "$REPORT_TRAP_ERR" = "yes" ] || [ "$FAIL_TRAP_ERR" = "yes" ]; then fi # }}} -# shellcheck disable=SC1091 +# shellcheck source=config . /etc/debootstrap/config || exit 1 -# shellcheck disable=SC1091 +# shellcheck source=tests/shellcheck-stub-debootstrap-variables . /etc/debootstrap/variables || exit 1 [ -r /proc/1 ] || mount -t proc none /proc @@ -392,6 +393,7 @@ passwords() fi if [ -n "$ROOTPASSWORD" ] ; then + # shellcheck disable=SC2086 echo root:"$ROOTPASSWORD" | chpasswd $CHPASSWD_OPTION export ROOTPASSWORD='' else @@ -414,6 +416,7 @@ passwords() a='1' b='2' else + # shellcheck disable=SC2086 echo root:"$a" | chpasswd $CHPASSWD_OPTION unset a unset b @@ -601,8 +604,10 @@ initrd() { echo "Generating initrd." if [ "$INITRD_GENERATOR" = 'dracut' ] ; then DEBIAN_FRONTEND=$DEBIAN_FRONTEND $APTINSTALL dracut + # shellcheck disable=SC2086 dracut --no-hostonly --kver "$KERNELVER" --fstab --add-fstab /etc/fstab --force --reproducible $INITRD_GENERATOR_OPTS else + # shellcheck disable=SC2086 update-initramfs -c -t -k "$KERNELVER" $INITRD_GENERATOR_OPTS fi fi @@ -698,9 +703,9 @@ grub_install() { echo "Setting ${GRUB_PACKAGE} debconf configuration for install device to $GRUB" echo "${GRUB_PACKAGE} ${GRUB_PACKAGE}/install_devices multiselect ${grub_device}" | debconf-set-selections - if ! dpkg --list ${GRUB_PACKAGE} 2>/dev/null | grep -q '^ii' ; then + if ! dpkg --list "${GRUB_PACKAGE}" 2>/dev/null | grep -q '^ii' ; then echo "Notice: grub option set but no ${GRUB_PACKAGE} package, installing it therefore." - DEBIAN_FRONTEND=$DEBIAN_FRONTEND $APTINSTALL ${GRUB_PACKAGE} + DEBIAN_FRONTEND=$DEBIAN_FRONTEND $APTINSTALL "${GRUB_PACKAGE}" fi if ! [ -x "$(command -v grub-install)" ] ; then diff --git a/config b/config index ca13b2c..cd562e9 100644 --- a/config +++ b/config @@ -4,6 +4,7 @@ # Bug-Reports: see https://grml.org/bugs/ # License: This file is licensed under the GPL v2 or any later version. ################################################################################ +# shellcheck shell=sh ################################################################################ # Important: adjust this file if you want to execute grml-debootstrap diff --git a/grml-debootstrap b/grml-debootstrap index 76c3648..ae592b4 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -42,7 +42,7 @@ fi # variables {{{ PN="$(basename "$0")" if [[ -d "$(dirname "$(command -v "$0")")"/.git ]]; then - VERSION="$(git --git-dir $(dirname "$(command -v "$0")")/.git describe | sed 's|^v||')" + VERSION="$(git --git-dir "$(dirname "$(command -v "$0")")"/.git describe | sed 's|^v||')" else VERSION="$(dpkg-query --show --showformat='${Version}' "$PN")" fi @@ -1950,11 +1950,13 @@ iface ${interface} inet dhcp einfo "Installing default /etc/network/interfaces as requested via --defaultinterfaces options." mkdir -p "${MNTPOINT}/etc/network" echo "$DEFAULT_INTERFACES" > "${MNTPOINT}/etc/network/interfaces" + # shellcheck disable=SC2320 eend $? elif [ -n "$VIRTUAL" ] ; then einfo "Setting up Virtual Machine, installing default /etc/network/interfaces" mkdir -p "${MNTPOINT}/etc/network" echo "$DEFAULT_INTERFACES" > "${MNTPOINT}/etc/network/interfaces" + # shellcheck disable=SC2320 eend $? elif [ -r /etc/network/interfaces ] ; then einfo "Copying /etc/network/interfaces from host to target system" @@ -1965,6 +1967,7 @@ iface ${interface} inet dhcp ewarn "Couldn't read /etc/network/interfaces, installing default /etc/network/interfaces" mkdir -p "${MNTPOINT}/etc/network" echo "$DEFAULT_INTERFACES" > "${MNTPOINT}/etc/network/interfaces" + # shellcheck disable=SC2320 eend $? fi diff --git a/tests/shellcheck-stub-debootstrap-variables b/tests/shellcheck-stub-debootstrap-variables new file mode 100644 index 0000000..8fd7606 --- /dev/null +++ b/tests/shellcheck-stub-debootstrap-variables @@ -0,0 +1,7 @@ +# Stub data file for shellcheck runs. +# shellcheck shell=sh +# shellcheck disable=SC2034 # The point of our whole existence is to conflict with SC2034. + +# ARCH is defaulted in grml-debootstrap, so it is never empty. +ARCH=amd64 +