copy-firmware.sh: add err() helper

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://lore.kernel.org/r/20240923-misc-fixes-v2-11-397f23443628@gmail.com
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
This commit is contained in:
Emil Velikov 2024-09-23 14:09:39 +01:00 committed by Mario Limonciello
parent b9edd3e016
commit 8ff980be17

View file

@ -11,6 +11,11 @@ compress=cat
compext=
destdir=
err() {
echo -e "ERROR: $*"
exit 1
}
while test $# -gt 0; do
case $1 in
-v | --verbose)
@ -26,8 +31,7 @@ while test $# -gt 0; do
--xz)
if test "$compext" = ".zst"; then
echo "ERROR: cannot mix XZ and ZSTD compression"
exit 1
err "cannot mix XZ and ZSTD compression"
fi
compress="xz --compress --quiet --stdout --check=crc32"
compext=".xz"
@ -36,8 +40,7 @@ while test $# -gt 0; do
--zstd)
if test "$compext" = ".xz"; then
echo "ERROR: cannot mix XZ and ZSTD compression"
exit 1
err "cannot mix XZ and ZSTD compression"
fi
# shellcheck disable=SC2209
compress="zstd --compress --quiet --stdout"
@ -47,8 +50,7 @@ while test $# -gt 0; do
*)
if test -n "$destdir"; then
echo "ERROR: unknown command-line options: $*"
exit 1
err "unknown command-line options: $*"
fi
destdir="$1"
@ -58,8 +60,7 @@ while test $# -gt 0; do
done
if test -z "$destdir"; then
echo "ERROR: destination directory was not specified"
exit 1
err "destination directory was not specified"
fi
# shellcheck disable=SC2162 # file/folder name can include escaped symbols
@ -115,9 +116,7 @@ done
# Verify no broken symlinks
if test "$(find "$destdir" -xtype l | wc -l)" -ne 0 ; then
echo "ERROR: Broken symlinks found:"
find "$destdir" -xtype l
exit 1
err "Broken symlinks found:\n$(find "$destdir" -xtype l)"
fi
exit 0