I pulled some fixes out of the verbose patch so hopefully I can get them
in while folks are trying out the more complex patch.
Plus one change to usage from jmc@. His other option was to move the
[-F | -d] into the man page, but we can just complain more specifically
if they try to use incompatible arguments and keep the documentation
simpler.
Comments, OK?
--- usr.sbin/fw_update/fw_update.sh.orig Mon Jan 10 19:25:52 2022
+++ usr.sbin/fw_update/fw_update.sh Mon Jan 10 19:51:05 2022
@@ -95,7 +95,7 @@
SECONDS=0
sleep 1
else
- kill -INT -"$FTPPID"
+ kill -INT -"$FTPPID" 2>/dev/null
_error=" (timed out)"
fi
else
@@ -201,14 +201,14 @@
set -sA _devices -- $(
firmware_in_dmesg
for _d in $( installed_firmware '*' '-firmware-' '*' ); do
- echo "$( firmware_devicename "$_d" )"
+ firmware_devicename "$_d"
done
)
[ "${_devices[*]:-}" ] || return 0
for _d in "${_devices[@]}"; do
- [[ $_last = $_d ]] && continue
- echo $_d
+ [ "$_last" = "$_d" ] && continue
+ echo "$_d"
_last="$_d"
done
}
@@ -286,7 +286,7 @@
}
usage() {
- echo "usage: ${0##*/} [-d | -F] [-av] [-p path] [driver | file ...]"
+ echo "usage: ${0##*/} [-adFnv] [-p path] [driver | file ...]"
exit 2
}
@@ -352,11 +352,11 @@
set -sA devices -- "$@"
if "$DELETE"; then
- [ "$OPT_F" ] && usage 22
+ [ "$OPT_F" ] && echo "Cannot use -F and -d" >&2 && usage 22
set -A installed
if [ "${devices[*]:-}" ]; then
- "$ALL" && usage 22
+ "$ALL" && echo "Cannot use -a and devices/files" >&2 && usage 22
set -A installed -- $(
for d in "${devices[@]}"; do
@@ -389,7 +389,7 @@
done
fi
- deleted="${deleted:+${deleted#,}}"
+ deleted="${deleted#,}"
echo "${0:##*/}: deleted ${deleted:-none}";
exit
@@ -403,7 +403,7 @@
CFILE="$LOCALSRC/$CFILE"
if [ "${devices[*]:-}" ]; then
- "$ALL" && usage 22
+ "$ALL" && echo "Cannot use -a and devices/files" >&2 && usage 22
else
"$VERBOSE" && echo -n "Detecting firmware ..."
set -sA devices -- $( detect_firmware )