version 1.112, 2021/12/23 20:38:12 |
version 1.113, 2021/12/23 21:34:12 |
|
|
} |
} |
|
|
usage() { |
usage() { |
echo "usage: ${0##*/} [-d | -D | -L] [-v] [driver | file ...]" |
echo "usage: ${0##*/} [-d | -D | -L] [-av] [driver | file ...]" |
exit 2 |
exit 2 |
} |
} |
|
|
|
ALL=false |
OPT_D= |
OPT_D= |
OPT_L= |
OPT_L= |
while getopts :dDLv name |
while getopts :adDLv name |
do |
do |
case "$name" in |
case "$name" in |
|
a) ALL=true ;; |
d) DELETE=true ;; |
d) DELETE=true ;; |
D) OPT_D=true ;; |
D) OPT_D=true ;; |
L) OPT_L=true ;; |
L) OPT_L=true ;; |
|
|
if "$DELETE"; then |
if "$DELETE"; then |
[ "$OPT_D" ] || [ "$OPT_L" ] && usage 22 |
[ "$OPT_D" ] || [ "$OPT_L" ] && usage 22 |
|
|
[ "${devices[*]:-}" ] || usage 22 |
set -A installed |
|
if [ "${devices[*]:-}" ]; then |
|
"$ALL" && usage 22 |
|
|
deleted='' |
set -A installed -- $( |
for d in "${devices[@]}"; do |
for d in "${devices[@]}"; do |
f="${d##*/}" # don't just uninstall from anywhere |
f="${d##*/}" # only care about the name |
f="${f%.tgz}" # allow specifying the package name |
f="${f%.tgz}" # allow specifying the package name |
|
[ "$( firmware_devicename "$f" )" = "$f" ] && f="$f-firmware" |
|
|
set -A installed -- $( installed_firmware '' "$f" '*' ) |
set -A i -- $( installed_firmware '' "$f-" '*' ) |
|
|
if [ ! "${installed[*]:-}" ]; then |
if [ "${i[*]:-}" ]; then |
echo "No firmware found for '$d'" >&2 |
echo "${i[@]}" |
continue |
else |
fi |
echo "No firmware found for '$d'" >&2 |
|
fi |
|
done |
|
) |
|
elif "$ALL"; then |
|
set -A installed -- $( installed_firmware '*' '-firmware-' '*' ) |
|
fi |
|
|
|
deleted='' |
|
if [ "${installed:-}" ]; then |
for fw in "${installed[@]}"; do |
for fw in "${installed[@]}"; do |
delete_firmware "$fw" || continue |
delete_firmware "$fw" || continue |
deleted="$deleted,$( firmware_devicename "$fw" )" |
deleted="$deleted,$( firmware_devicename "$fw" )" |
done |
done |
done |
fi |
|
|
deleted="${deleted:+${deleted#,}}" |
deleted="${deleted:+${deleted#,}}" |
echo "${0:##*/}: deleted ${deleted:-none}"; |
echo "${0:##*/}: deleted ${deleted:-none}"; |
|
|
exit |
exit |
fi |
fi |
|
|
if [ ! "${devices[*]:-}" ]; then |
if [ "${devices[*]:-}" ]; then |
|
"$ALL" && usage 22 |
|
else |
"$VERBOSE" && echo -n "Detecting firmware ..." |
"$VERBOSE" && echo -n "Detecting firmware ..." |
set -A devices -- $( devices_needing_firmware ) |
set -A devices -- $( devices_needing_firmware ) |
"$VERBOSE" && |
"$VERBOSE" && |