Fix optional shellcheck warnings

Additionally fix a few code style issues found with shfmt.
This commit is contained in:
nl6720 2022-12-06 14:20:30 +02:00
parent 40dbfcfaf0
commit 28a3a54c5f
No known key found for this signature in database
GPG Key ID: 5CE88535E188D369
7 changed files with 352 additions and 351 deletions

View File

@ -16,6 +16,10 @@ charset = utf-8
indent_style = space indent_style = space
indent_size = 4 indent_size = 4
max_line_length = 120 max_line_length = 120
# for shfmt
switch_case_indent = true
binary_next_line = true
[*.{yml,yaml}] [*.{yml,yaml}]
end_of_line = lf end_of_line = lf
@ -32,3 +36,6 @@ trim_trailing_whitespace = true
charset = utf-8 charset = utf-8
indent_style = space indent_style = space
indent_size = 2 indent_size = 2
[Makefile]
indent_style = tab

View File

@ -55,7 +55,7 @@ cleanup() {
# clean up temporary directories # clean up temporary directories
print_section_start "cleanup" "Cleaning up temporary directory" print_section_start "cleanup" "Cleaning up temporary directory"
if [ -n "${tmpdir_base:-}" ]; then if [[ -n "${tmpdir_base:-}" ]]; then
rm -fr "${tmpdir_base}" rm -fr "${tmpdir_base}"
fi fi
@ -128,8 +128,9 @@ create_metrics() {
# shellcheck disable=SC2046 # shellcheck disable=SC2046
# shellcheck disable=SC2183 # shellcheck disable=SC2183
printf 'initramfs_size_mebibytes{image="%s",initramfs="%s"} %s\n' \ printf 'initramfs_size_mebibytes{image="%s",initramfs="%s"} %s\n' \
$(du -m -- "${tmpdir}/iso/"*/boot/**/initramfs*.img | \ $(
awk -v profile="${profile}" \ du -m -- "${tmpdir}/iso/"*/boot/**/initramfs*.img \
| awk -v profile="${profile}" \
'function basename(file) { 'function basename(file) {
sub(".*/", "", file) sub(".*/", "", file)
return file return file

View File

@ -284,8 +284,8 @@ _make_pacman_conf() {
_profile_cache_dirs="$(pacman-conf --config "${pacman_conf}" CacheDir | tr '\n' ' ')" _profile_cache_dirs="$(pacman-conf --config "${pacman_conf}" CacheDir | tr '\n' ' ')"
# Only use the profile's CacheDir, if it is not the default and not the same as the system cache dir. # Only use the profile's CacheDir, if it is not the default and not the same as the system cache dir.
if [[ "${_profile_cache_dirs}" != "/var/cache/pacman/pkg" ]] && \ if [[ "${_profile_cache_dirs}" != "/var/cache/pacman/pkg" ]] \
[[ "${_system_cache_dirs}" != "${_profile_cache_dirs}" ]]; then && [[ "${_system_cache_dirs}" != "${_profile_cache_dirs}" ]]; then
_cache_dirs="${_profile_cache_dirs}" _cache_dirs="${_profile_cache_dirs}"
else else
_cache_dirs="${_system_cache_dirs}" _cache_dirs="${_system_cache_dirs}"
@ -297,8 +297,8 @@ _make_pacman_conf() {
# append CacheDir and HookDir to [options] section # append CacheDir and HookDir to [options] section
# HookDir is *always* set to the airootfs' override directory # HookDir is *always* set to the airootfs' override directory
# see `man 8 pacman` for further info # see `man 8 pacman` for further info
pacman-conf --config "${pacman_conf}" | \ pacman-conf --config "${pacman_conf}" \
sed "/CacheDir/d;/DBPath/d;/HookDir/d;/LogFile/d;/RootDir/d;/\[options\]/a CacheDir = ${_cache_dirs} | sed "/CacheDir/d;/DBPath/d;/HookDir/d;/LogFile/d;/RootDir/d;/\[options\]/a CacheDir = ${_cache_dirs}
/\[options\]/a HookDir = ${pacstrap_dir}/etc/pacman.d/hooks/" >"${work_dir}/${buildmode}.pacman.conf" /\[options\]/a HookDir = ${pacstrap_dir}/etc/pacman.d/hooks/" >"${work_dir}/${buildmode}.pacman.conf"
} }
@ -527,7 +527,8 @@ _make_efibootimg() {
fi fi
# Convert from bytes to KiB and round up to the next full MiB with an additional MiB for reserved sectors. # Convert from bytes to KiB and round up to the next full MiB with an additional MiB for reserved sectors.
imgsize_kib="$(awk 'function ceil(x){return int(x)+(x>int(x))} imgsize_kib="$(
awk 'function ceil(x){return int(x)+(x>int(x))}
function byte_to_kib(x){return x/1024} function byte_to_kib(x){return x/1024}
function mib_to_kib(x){return x*1024} function mib_to_kib(x){return x*1024}
END {print mib_to_kib(ceil((byte_to_kib($1)+1024)/1024))}' <<<"${imgsize_bytes}" END {print mib_to_kib(ceil((byte_to_kib($1)+1024)/1024))}' <<<"${imgsize_bytes}"

View File

@ -1,17 +1,18 @@
#!/usr/bin/env bash #!/usr/bin/env bash
script_cmdline () script_cmdline() {
{
local param local param
for param in $(</proc/cmdline); do for param in $(</proc/cmdline); do
case "${param}" in case "${param}" in
script=*) echo "${param#*=}" ; return 0 ;; script=*)
echo "${param#*=}"
return 0
;;
esac esac
done done
} }
automated_script () automated_script() {
{
local script rt local script rt
script="$(script_cmdline)" script="$(script_cmdline)"
if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then

View File

@ -6,16 +6,17 @@ get_cmdline() {
local param local param
for param in $(</proc/cmdline); do for param in $(</proc/cmdline); do
case "${param}" in case "${param}" in
$1=*) echo "${param##*=}"; "${1}="*)
echo "${param##*=}"
return 0 return 0
;; ;;
esac esac
done done
} }
mirror=$(get_cmdline mirror) mirror="$(get_cmdline mirror)"
[[ $mirror = auto ]] && mirror=$(get_cmdline archiso_http_srv) [[ "$mirror" == 'auto' ]] && mirror="$(get_cmdline archiso_http_srv)"
[[ $mirror ]] || exit 0 [[ -n "$mirror" ]] || exit 0
mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig
cat >/etc/pacman.d/mirrorlist <<EOF cat >/etc/pacman.d/mirrorlist <<EOF

View File

@ -19,9 +19,8 @@ bugout () {
stat_fail stat_fail
} }
echo_card_indices() echo_card_indices() {
{ if [[ -f /proc/asound/cards ]]; then
if [ -f /proc/asound/cards ] ; then
sed -n -e's/^[[:space:]]*\([0-7]\)[[:space:]].*/\1/p' /proc/asound/cards sed -n -e's/^[[:space:]]*\([0-7]\)[[:space:]].*/\1/p' /proc/asound/cards
fi fi
} }
@ -34,7 +33,7 @@ echo_card_indices()
# $2 <control> # $2 <control>
# $3 <level> # $3 <level>
unmute_and_set_level() { unmute_and_set_level() {
{ [ "$3" ] &&[ "$2" ] && [ "$1" ] ; } || bugout [[ -n "$3" && -n "$2" && -n "$1" ]] || bugout
systemd-cat -t "livecdsound" printf "Setting: %s on card: %s to %s\n" "$2" "$1" "$3" systemd-cat -t "livecdsound" printf "Setting: %s on card: %s to %s\n" "$2" "$1" "$3"
systemd-cat -t "livecdsound" amixer -c "$1" set "$2" "$3" unmute systemd-cat -t "livecdsound" amixer -c "$1" set "$2" "$3" unmute
return 0 return 0
@ -42,9 +41,8 @@ unmute_and_set_level(){
# $1 <card id> # $1 <card id>
# $2 <control> # $2 <control>
mute_and_zero_level() mute_and_zero_level() {
{ [[ -n "$1" && -n "$2" ]] || bugout
{ [ "$1" ] && [ "$2" ] ; } || bugout
systemd-cat -t "livecdsound" printf "Muting control: %s on card: %s\n" "$2" "$1" systemd-cat -t "livecdsound" printf "Muting control: %s on card: %s\n" "$2" "$1"
systemd-cat -t "livecdsound" amixer -c "$1" set "$2" "0%" mute systemd-cat -t "livecdsound" amixer -c "$1" set "$2" "0%" mute
return 0 return 0
@ -53,17 +51,15 @@ mute_and_zero_level()
# $1 <card ID> # $1 <card ID>
# $2 <control> # $2 <control>
# $3 "on" | "off" # $3 "on" | "off"
switch_control() switch_control() {
{ [[ -n "$3" && -n "$1" ]] || bugout
{ [ "$3" ] && [ "$1" ] ; } || bugout
systemd-cat -t "livecdsound" printf "Switching control: %s on card: %s to %s\n" "$2" "$1" "$3" systemd-cat -t "livecdsound" printf "Switching control: %s on card: %s to %s\n" "$2" "$1" "$3"
systemd-cat -t "livecdsound" amixer -c "$1" set "$2" "$3" systemd-cat -t "livecdsound" amixer -c "$1" set "$2" "$3"
return 0 return 0
} }
# $1 <card ID> # $1 <card ID>
sanify_levels_on_card() sanify_levels_on_card() {
{
unmute_and_set_level "$1" "Front" "80%" unmute_and_set_level "$1" "Front" "80%"
unmute_and_set_level "$1" "Master" "80%" unmute_and_set_level "$1" "Master" "80%"
unmute_and_set_level "$1" "Master Mono" "80%" unmute_and_set_level "$1" "Master Mono" "80%"
@ -134,8 +130,7 @@ sanify_levels_on_card()
} }
# $1 <card ID> | "all" # $1 <card ID> | "all"
sanify_levels() sanify_levels() {
{
local ttsdml_returnstatus=0 local ttsdml_returnstatus=0
local card local card
case "$1" in case "$1" in
@ -148,59 +143,55 @@ sanify_levels()
sanify_levels_on_card "$1" || ttsdml_returnstatus=1 sanify_levels_on_card "$1" || ttsdml_returnstatus=1
;; ;;
esac esac
return $ttsdml_returnstatus return "$ttsdml_returnstatus"
} }
# List all cards that *should* be usable for PCM audio. In my experience, # List all cards that *should* be usable for PCM audio. In my experience,
# the console speaker (handled by the pcsp driver) isn't a suitable playback # the console speaker (handled by the pcsp driver) isn't a suitable playback
# device, so we'll exclude it. # device, so we'll exclude it.
list_non_pcsp_cards() list_non_pcsp_cards() {
{
for card in $(echo_card_indices); do for card in $(echo_card_indices); do
local cardfile="/proc/asound/card${card}/id" local cardfile="/proc/asound/card${card}/id"
if [ -r "$cardfile" ] && [ -f "$cardfile" ] && \ if [[ -r "$cardfile" && -f "$cardfile" && "$(cat "$cardfile")" != pcsp ]]; then
[ "$(cat "$cardfile")" != pcsp ]; then
echo "$card" echo "$card"
fi fi
done done
} }
# Properly initialize the sound card so that we have audio at boot. # Properly initialize the sound card so that we have audio at boot.
unmute_all_cards() unmute_all_cards() {
{
sanify_levels all sanify_levels all
} }
is_numeric() { is_numeric() {
local str=$1 local str="$1"
[[ "$str" =~ ^[0-9]+$ ]] [[ "$str" =~ ^[0-9]+$ ]]
} }
set_default_card() { set_default_card() {
local card=$1 local card="$1"
sed -e "s/%card%/$card/g" </usr/local/share/livecd-sound/asound.conf.in \ sed -e "s/%card%/$card/g" </usr/local/share/livecd-sound/asound.conf.in \
>/etc/asound.conf >/etc/asound.conf
} }
play_on_card() { play_on_card() {
local card=$1 file=$2 local card="$1" file="$2"
aplay -q "-Dplughw:$card,0" "$file" aplay -q "-Dplughw:$card,0" "$file"
} }
# If there are multiple usable sound cards, prompt the user to choose one, # If there are multiple usable sound cards, prompt the user to choose one,
# using auditory feedback. # using auditory feedback.
pick_a_card() pick_a_card() {
{
set -f set -f
usable_cards="$(list_non_pcsp_cards)" usable_cards="$(list_non_pcsp_cards)"
num_usable_cards="$(wc -w <<<"$usable_cards")" num_usable_cards="$(wc -w <<<"$usable_cards")"
if [ "$num_usable_cards" -eq 1 ]; then if (( num_usable_cards == 1 )); then
systemd-cat -t "livecdsound" printf "Only one sound card is detected\n" systemd-cat -t "livecdsound" printf "Only one sound card is detected\n"
exit 0 exit 0
fi fi
systemd-cat -t "livecdsound" printf "multiple sound cards detected\n" systemd-cat -t "livecdsound" printf "multiple sound cards detected\n"
for card in $usable_cards; do for card in "${usable_cards[@]}"; do
if ! is_numeric "$card"; then if ! is_numeric "$card"; then
continue continue
fi fi
@ -208,7 +199,7 @@ pick_a_card()
done done
wait wait
sleep 1 sleep 1
for card in $usable_cards; do for card in "${usable_cards[@]}"; do
if ! is_numeric "$card"; then if ! is_numeric "$card"; then
continue continue
fi fi
@ -221,7 +212,7 @@ pick_a_card()
done done
} }
if [[ $# -eq 0 ]]; then if (( $# == 0 )); then
echo "error: No argument passed." echo "error: No argument passed."
exit 1 exit 1
fi fi

View File

@ -11,7 +11,6 @@
# - qemu # - qemu
# - edk2-ovmf (when UEFI booting) # - edk2-ovmf (when UEFI booting)
set -eu set -eu
print_help() { print_help() {