]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
src: shellcheck-ify shell scripts
authorFrantisek Sumsal <frantisek@sumsal.cz>
Mon, 19 Apr 2021 16:07:51 +0000 (18:07 +0200)
committerFrantisek Sumsal <frantisek@sumsal.cz>
Tue, 20 Apr 2021 16:39:36 +0000 (18:39 +0200)
src/basic/generate-af-list.sh
src/basic/generate-arphrd-list.sh
src/basic/generate-cap-list.sh
src/basic/generate-errno-list.sh
src/basic/linux/update.sh
src/boot/efi/no-undefined-symbols.sh
src/libsystemd/sd-journal/generate-audit_type-list.sh
src/partition/test-repart.sh
src/shared/generate-ip-protocol-list.sh
src/udev/generate-keyboard-keys-gperf.sh
src/udev/generate-keyboard-keys-list.sh

index 0a5c5c4cd7673e0ef95581a31dd1b1b5df7baf6c..f747e0d0659681538e51a43430eac884a178f70d 100755 (executable)
@@ -1,7 +1,8 @@
-#!/bin/sh
+#!/bin/bash
 # SPDX-License-Identifier: LGPL-2.1-or-later
 set -eu
+set -o pipefail
 
-$1 -E -dM -include sys/socket.h -include "$2" -include "$3" - </dev/null | \
-    grep -Ev 'AF_UNSPEC|AF_MAX' | \
-    awk '/^#define[ \t]+AF_[^ \t]+[ \t]+[AP]F_[^ \t]/ { print $2; }'
+${1:?} -E -dM -include sys/socket.h -include "${2:?}" -include "${3:?}" - </dev/null | \
+       grep -Ev 'AF_UNSPEC|AF_MAX' | \
+       awk '/^#define[ \t]+AF_[^ \t]+[ \t]+[AP]F_[^ \t]/ { print $2; }'
index 9a2661b4d8fbdae83398c60a156506b8525eb62d..8a8c276d5fa83b9bb60bf49a478ab7d1f5ade11c 100755 (executable)
@@ -1,7 +1,8 @@
-#!/bin/sh
+#!/bin/bash
 # SPDX-License-Identifier: LGPL-2.1-or-later
 set -eu
+set -o pipefail
 
-$1 -dM -include linux/if_arp.h -include "$2" - </dev/null | \
-    awk '/^#define[ \t]+ARPHRD_[^ \t]+[ \t]+[^ \t]/ { print $2; }' | \
-    sed -e 's/ARPHRD_//'
+${1:?} -dM -include linux/if_arp.h -include "${2:?}" - </dev/null | \
+       awk '/^#define[ \t]+ARPHRD_[^ \t]+[ \t]+[^ \t]/ { print $2; }' | \
+       sed -e 's/ARPHRD_//'
index 89d5bb03d9d96d153c1988d9bac09c5e329e19dc..eb1357efa212ea3b3fb5db9100572e0a70345cc6 100755 (executable)
@@ -1,7 +1,8 @@
-#!/bin/sh
+#!/bin/bash
 # SPDX-License-Identifier: LGPL-2.1-or-later
 set -eu
+set -o pipefail
 
-$1 -dM -include linux/capability.h -include "$2" -include "$3" - </dev/null | \
-    awk '/^#define[ \t]+CAP_[A-Z_]+[ \t]+/ { print $2; }' | \
-    grep -v CAP_LAST_CAP
+${1:?} -dM -include linux/capability.h -include "${2:?}" -include "${3:?}" - </dev/null | \
+       awk '/^#define[ \t]+CAP_[A-Z_]+[ \t]+/ { print $2; }' | \
+       grep -v CAP_LAST_CAP
index 4c13b3157daa52c27a8baa71d44b7eed50ac3bae..dceeba415c76b04ad6ffb24fd55a308e116d4fec 100755 (executable)
@@ -1,6 +1,7 @@
-#!/bin/sh
+#!/bin/bash
 # SPDX-License-Identifier: LGPL-2.1-or-later
 set -eu
+set -o pipefail
 
-$1 -dM -include errno.h - </dev/null | \
-    awk '/^#define[ \t]+E[^ _]+[ \t]+/ { print $2; }'
+${1:?} -dM -include errno.h - </dev/null | \
+       awk '/^#define[ \t]+E[^ _]+[ \t]+/ { print $2; }'
index ca0b9ec07770bb9b45dcb28067593470aebacdbf..1ada894f09872473ff2959c38605859ed6b0c4bf 100755 (executable)
@@ -1,13 +1,14 @@
 #!/usr/bin/env bash
 # SPDX-License-Identifier: LGPL-2.1-or-later
 set -eu
+set -o pipefail
 
 for i in *.h */*.h; do
-    if [[ $i == 'loadavg.h' ]]; then
-        curl --fail https://raw.githubusercontent.com/torvalds/linux/master/include/linux/sched/$i -o $i
+    if [[ "$i" == "loadavg.h" ]]; then
+        curl --fail "https://raw.githubusercontent.com/torvalds/linux/master/include/linux/sched/$i" -o "$i"
     else
-        curl --fail https://raw.githubusercontent.com/torvalds/linux/master/include/uapi/linux/$i -o $i
+        curl --fail "https://raw.githubusercontent.com/torvalds/linux/master/include/uapi/linux/$i" -o "$i"
     fi
 
-    sed -i -e 's/__user //g' -e '/^#include <linux\/compiler.h>/ d' $i
+    sed -i -e 's/__user //g' -e '/^#include <linux\/compiler.h>/ d' "$i"
 done
index b9541c31266ab6b68b000ade59353fc1f42bf844..8bdb16accf2d966d52f25a271efea9e2f319fbc2 100755 (executable)
@@ -1,8 +1,9 @@
-#!/bin/sh
+#!/bin/bash
 # SPDX-License-Identifier: LGPL-2.1-or-later
 set -eu
+set -o pipefail
 
-if nm -D -u "$1" | grep ' U '; then
+if nm -D -u "${1:?}" | grep ' U '; then
     echo "Undefined symbols detected!"
     exit 1
 fi
index d5b145f31d28ea141d4b6fdaa9b7e30123b321bc..aad653c12865532eec102a4fd6d287a1c236fd37 100755 (executable)
@@ -1,16 +1,17 @@
-#!/bin/sh
+#!/bin/bash
 # SPDX-License-Identifier: LGPL-2.1-or-later
 set -eu
+set -o pipefail
 
-cpp="$1"
+cpp="${1:?}"
 shift
 
-includes=""
+includes=()
 for i in "$@"; do
-    includes="$includes -include $i"
+    includes+=(-include "$i")
 done
 
-$cpp -dM $includes - </dev/null | \
-    grep -vE 'AUDIT_.*(FIRST|LAST)_' | \
-    sed -r -n 's/^#define\s+AUDIT_(\w+)\s+([0-9]{4})\s*$$/\1\t\2/p' | \
-    sort -k2
+$cpp -dM "${includes[@]}" - </dev/null | \
+     grep -vE 'AUDIT_.*(FIRST|LAST)_' | \
+     sed -r -n 's/^#define\s+AUDIT_(\w+)\s+([0-9]{4})\s*$$/\1\t\2/p' | \
+     sort -k2
index 3696c3cbd6fbbac34efbb9a16de513625aed49f2..8598a9988751472d7f7b60aee63aa96abaf27649 100755 (executable)
@@ -1,25 +1,28 @@
 #!/usr/bin/env bash
 # SPDX-License-Identifier: LGPL-2.1-or-later
-set -ex
+set -eux
+set -o pipefail
 
 [[ -e /dev/loop-control ]] || exit 77
 
-repart=$1
-test -x $repart
+repart="${1:?}"
+test -x "$repart"
 
-D=$(mktemp --tmpdir --directory "test-repart.XXXXXXXXXX")
+D="$(mktemp --tmpdir --directory "test-repart.XXXXXXXXXX")"
+
+# shellcheck disable=SC2064
 trap "rm -rf '$D'" EXIT INT QUIT PIPE
-mkdir -p $D/definitions
+mkdir -p "$D/definitions"
 
 SEED=e2a40bf9-73f1-4278-9160-49c031e7aef8
 
 echo "### Testing systemd-repart --empty=create ###"
 
-$repart $D/zzz --empty=create --size=1G --seed=$SEED
+"$repart" "$D/zzz" --empty=create --size=1G --seed="$SEED"
 
-sfdisk -d $D/zzz | grep -v -e 'sector-size' -e '^$' >$D/empty
+sfdisk -d "$D/zzz" | grep -v -e 'sector-size' -e '^$' >"$D/empty"
 
-cmp $D/empty - <<EOF
+cmp "$D/empty" - <<EOF
 label: gpt
 label-id: EF7F7EE2-47B3-4251-B1A1-09EA8BF12D5D
 device: $D/zzz
@@ -30,32 +33,32 @@ EOF
 
 echo "### Testing with root, root2, home, & swap ###"
 
-cat >$D/definitions/root.conf <<EOF
+cat >"$D/definitions/root.conf" <<EOF
 [Partition]
 Type=root-x86-64
 EOF
 
-ln -s root.conf $D/definitions/root2.conf
+ln -s root.conf "$D/definitions/root2.conf"
 
-cat >$D/definitions/home.conf <<EOF
+cat >"$D/definitions/home.conf" <<EOF
 [Partition]
 Type=home
 Label=home-first
 Label=home-always-too-long-xxxxxxxxxxxxxx-%v
 EOF
 
-cat >$D/definitions/swap.conf <<EOF
+cat >"$D/definitions/swap.conf" <<EOF
 [Partition]
 Type=swap
 SizeMaxBytes=64M
 PaddingMinBytes=92M
 EOF
 
-$repart $D/zzz --dry-run=no --seed=$SEED --definitions=$D/definitions
+"$repart" "$D/zzz" --dry-run=no --seed="$SEED" --definitions="$D/definitions"
 
-sfdisk -d $D/zzz | grep -v -e 'sector-size' -e '^$' >$D/populated
+sfdisk -d "$D/zzz" | grep -v -e 'sector-size' -e '^$' >"$D/populated"
 
-cmp $D/populated - <<EOF
+cmp "$D/populated" - <<EOF
 label: gpt
 label-id: EF7F7EE2-47B3-4251-B1A1-09EA8BF12D5D
 device: $D/zzz
@@ -70,27 +73,27 @@ EOF
 
 echo "### Testing with root, root2, home, swap, & another partition ###"
 
-cat >$D/definitions/swap.conf <<EOF
+cat >"$D/definitions/swap.conf" <<EOF
 [Partition]
 Type=swap
 SizeMaxBytes=64M
 EOF
 
-cat >$D/definitions/extra.conf <<EOF
+cat >"$D/definitions/extra.conf" <<EOF
 [Partition]
 Type=linux-generic
 Label=custom_label
 UUID=a0a1a2a3a4a5a6a7a8a9aaabacadaeaf
 EOF
 
-echo "Label=ignored_label" >>$D/definitions/home.conf
-echo "UUID=b0b1b2b3b4b5b6b7b8b9babbbcbdbebf" >>$D/definitions/home.conf
+echo "Label=ignored_label" >>"$D/definitions/home.conf"
+echo "UUID=b0b1b2b3b4b5b6b7b8b9babbbcbdbebf" >>"$D/definitions/home.conf"
 
-$repart $D/zzz --dry-run=no --seed=$SEED --definitions=$D/definitions
+"$repart" "$D/zzz" --dry-run=no --seed="$SEED" --definitions="$D/definitions"
 
-sfdisk -d $D/zzz | grep -v -e 'sector-size' -e '^$' >$D/populated2
+sfdisk -d "$D/zzz" | grep -v -e 'sector-size' -e '^$' >"$D/populated2"
 
-cmp $D/populated2 - <<EOF
+cmp "$D/populated2" - <<EOF
 label: gpt
 label-id: EF7F7EE2-47B3-4251-B1A1-09EA8BF12D5D
 device: $D/zzz
@@ -106,11 +109,11 @@ EOF
 
 echo "### Resizing to 2G ###"
 
-$repart $D/zzz --size=2G --dry-run=no --seed=$SEED --definitions=$D/definitions
+"$repart" "$D/zzz" --size=2G --dry-run=no --seed="$SEED" --definitions="$D/definitions"
 
-sfdisk -d $D/zzz | grep -v -e 'sector-size' -e '^$' >$D/populated3
+sfdisk -d "$D/zzz" | grep -v -e 'sector-size' -e '^$' >"$D/populated3"
 
-cmp $D/populated3 - <<EOF
+cmp "$D/populated3" - <<EOF
 label: gpt
 label-id: EF7F7EE2-47B3-4251-B1A1-09EA8BF12D5D
 device: $D/zzz
@@ -124,11 +127,11 @@ $D/zzz4 : start=     1777624, size=      131072, type=0657FD6D-A4AB-43C4-84E5-09
 $D/zzz5 : start=     1908696, size=     2285568, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=A0A1A2A3-A4A5-A6A7-A8A9-AAABACADAEAF, name="custom_label"
 EOF
 
-dd if=/dev/urandom of=$D/block-copy bs=4096 count=10240
+dd if=/dev/urandom of="$D/block-copy" bs=4096 count=10240
 
 echo "### Testing with root, root2, home, swap, another partition, & partition copy ###"
 
-cat >$D/definitions/extra2.conf <<EOF
+cat >"$D/definitions/extra2.conf" <<EOF
 [Partition]
 Type=linux-generic
 Label=block-copy
@@ -136,11 +139,11 @@ UUID=2a1d97e1d0a346cca26eadc643926617
 CopyBlocks=$D/block-copy
 EOF
 
-$repart $D/zzz --size=3G --dry-run=no --seed=$SEED --definitions=$D/definitions
+"$repart" "$D/zzz" --size=3G --dry-run=no --seed="$SEED" --definitions="$D/definitions"
 
-sfdisk -d $D/zzz | grep -v -e 'sector-size' -e '^$' >$D/populated4
+sfdisk -d "$D/zzz" | grep -v -e 'sector-size' -e '^$' >"$D/populated4"
 
-cmp $D/populated4 - <<EOF
+cmp "$D/populated4" - <<EOF
 label: gpt
 label-id: EF7F7EE2-47B3-4251-B1A1-09EA8BF12D5D
 device: $D/zzz
@@ -155,14 +158,14 @@ $D/zzz5 : start=     1908696, size=     2285568, type=0FC63DAF-8483-4772-8E79-3D
 $D/zzz6 : start=     4194264, size=     2097152, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=2A1D97E1-D0A3-46CC-A26E-ADC643926617, name="block-copy"
 EOF
 
-cmp --bytes=41943040 --ignore-initial=0:$((512*4194264)) $D/block-copy $D/zzz
+cmp --bytes=41943040 --ignore-initial=0:$((512*4194264)) "$D/block-copy" "$D/zzz"
 
-if [ `id -u` == 0 ] && type -P cryptsetup diff losetup > /dev/null ; then
+if [ "$(id -u)" -eq 0 ] && type -P cryptsetup diff losetup >/dev/null ; then
     echo "### Testing Format=/Encrypt=/CopyFiles="
 
     # These tests require privileges unfortunately
 
-    cat >$D/definitions/extra3.conf <<EOF
+    cat >"$D/definitions/extra3.conf" <<EOF
 [Partition]
 Type=linux-generic
 Label=luks-format-copy
@@ -173,11 +176,11 @@ CopyFiles=$D/definitions:/def
 SizeMinBytes=48M
 EOF
 
-    $repart $D/zzz --size=auto --dry-run=no --seed=$SEED --definitions=$D/definitions
+    "$repart" "$D/zzz" --size=auto --dry-run=no --seed="$SEED" --definitions="$D/definitions"
 
-    sfdisk -d $D/zzz | grep -v -e 'sector-size' -e '^$' >$D/populated5
+    sfdisk -d "$D/zzz" | grep -v -e 'sector-size' -e '^$' >"$D/populated5"
 
-    cmp $D/populated5 - <<EOF
+    cmp "$D/populated5" - <<EOF
 label: gpt
 label-id: EF7F7EE2-47B3-4251-B1A1-09EA8BF12D5D
 device: $D/zzz
@@ -193,23 +196,23 @@ $D/zzz6 : start=     4194264, size=     2097152, type=0FC63DAF-8483-4772-8E79-3D
 $D/zzz7 : start=     6291416, size=       98304, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=7B93D1F2-595D-4CE3-B0B9-837FBD9E63B0, name="luks-format-copy"
 EOF
 
-    LOOP=`losetup -P --show --find $D/zzz`
-    VOLUME=test-repart-$RANDOM
+    LOOP="$(losetup -P --show --find "$D/zzz")"
+    VOLUME="test-repart-$RANDOM"
 
-    touch $D/empty-password
-    cryptsetup open --type=luks2 --key-file=$D/empty-password ${LOOP}p7 $VOLUME
-    mkdir $D/mount
-    mount -t ext4 /dev/mapper/$VOLUME $D/mount
+    touch "$D/empty-password"
+    cryptsetup open --type=luks2 --key-file="$D/empty-password" "${LOOP}p7" "$VOLUME"
+    mkdir "$D/mount"
+    mount -t ext4 "/dev/mapper/$VOLUME" "$D/mount"
     # Use deferred closing on the mapper and autoclear on the loop, so they are cleaned up on umount
-    cryptsetup close --deferred $VOLUME
-    losetup -d $LOOP
-    diff -r $D/mount/def $D/definitions > /dev/null
-    umount $D/mount
+    cryptsetup close --deferred "$VOLUME"
+    losetup -d "$LOOP"
+    diff -r "$D/mount/def" "$D/definitions" >/dev/null
+    umount "$D/mount"
 else
     echo "### Skipping Format=/Encrypt=/CopyFiles= test, lacking privileges or missing cryptsetup/diff/losetup"
 fi
 
 echo "### Testing json output ###"
-$repart $D/zzz --size=3G --dry-run=no --seed=$SEED --definitions=$D/definitions --json=help
-$repart $D/zzz --size=3G --dry-run=no --seed=$SEED --definitions=$D/definitions --json=pretty
-$repart $D/zzz --size=3G --dry-run=no --seed=$SEED --definitions=$D/definitions --json=short
+"$repart" "$D/zzz" --size=3G --dry-run=no --seed="$SEED" --definitions="$D/definitions" --json=help
+"$repart" "$D/zzz" --size=3G --dry-run=no --seed="$SEED" --definitions="$D/definitions" --json=pretty
+"$repart" "$D/zzz" --size=3G --dry-run=no --seed="$SEED" --definitions="$D/definitions" --json=short
index 749a1305c1b9d58d4edebd2b2e850aa56d8a26d7..1144e8027fbcd74bfba364272f5a91818a8ee8c1 100755 (executable)
@@ -1,8 +1,9 @@
-#!/bin/sh
+#!/bin/bash
 # SPDX-License-Identifier: LGPL-2.1-or-later
 
 set -eu
+set -o pipefail
 
-$1 -dM -include netinet/in.h - </dev/null | \
-    awk '/^#define[ \t]+IPPROTO_[^ \t]+[ \t]+[^ \t]/ { print $2; }' | \
-    sed -e 's/IPPROTO_//'
+${1:?} -dM -include netinet/in.h - </dev/null | \
+       awk '/^#define[ \t]+IPPROTO_[^ \t]+[ \t]+[^ \t]/ { print $2; }' | \
+       sed -e 's/IPPROTO_//'
index d417da22fd4831eba872f7966cc5c27954a73e8f..1db4cbe47de5ae5ad367bd4d58a1b6dd707be8e1 100755 (executable)
@@ -2,6 +2,7 @@
 # SPDX-License-Identifier: LGPL-2.1-or-later
 set -eu
 
+# shellcheck disable=SC1004
 awk '
     BEGIN {
         print "%{\n\
@@ -16,4 +17,4 @@ _Pragma(\"GCC diagnostic ignored \\\"-Wimplicit-fallthrough\\\"\")\n\
 
     /^KEY_/ { print tolower(substr($1 ,5)) ", " $1 }
     { print tolower($1) ", " $1 }
-' < "$1"
+' < "${1:?}"
index b40368467ba22ac5a95f3e07a96d3432250ac30a..d4f9a7d0e10a1721a71bdca6d4581221a3b1fb8b 100755 (executable)
@@ -1,8 +1,9 @@
-#!/bin/sh
+#!/bin/bash
 # SPDX-License-Identifier: LGPL-2.1-or-later
 set -eu
+set -o pipefail
 
-$1 -dM -include linux/input.h - </dev/null | awk '
+${1:?} -dM -include linux/input.h - </dev/null | awk '
     /\<(KEY_(MAX|MIN_INTERESTING))|(BTN_(MISC|MOUSE|JOYSTICK|GAMEPAD|DIGI|WHEEL|TRIGGER_HAPPY))\>/  { next }
     /^#define[ \t]+(KEY|BTN)_[^ ]+[ \t]+[0-9BK]/                                                    { print $2 }
 '