[BACK]Return to fw_install.sh CVS log [TXT][DIR] Up to [local] / openbsd / fw_update

Diff for /openbsd/fw_update/fw_install.sh between version 1.63 and 1.66

version 1.63, 2021/12/09 02:23:15 version 1.66, 2021/12/11 03:12:21
Line 182 
Line 182 
 }  }
   
 usage() {  usage() {
         echo "Usage: fw_install [ -d dir ] [ driver | file [ ... ] ]"          echo "usage: fw_install [-d dir | -L dir] [driver | file [...]]"
         exit 2          exit 2
 }  }
   
 DOWNLOADDIR=  DOWNLOADDIR=
 while getopts d: name  LOCALDIR=
   while getopts d:L: name
 do  do
        case "$name" in         case "$name" in
        d) DOWNLOADDIR=$OPTARG ;;         d) DOWNLOADDIR=$OPTARG ;;
          L) LOCALDIR=$OPTARG    ;;
        ?) usage 2 ;;         ?) usage 2 ;;
        esac         esac
 done  done
 shift $((OPTIND - 1))  shift $((OPTIND - 1))
   
   if [[ -n "$DOWNLOADDIR" && -n "$LOCALDIR" ]]; then
           echo "Cannot use -d and -L" >&2
           usage 2
   fi
   
 set -A devices -- "$@"  set -A devices -- "$@"
   
 [ "${devices[*]:-}" ] ||  [ "${devices[*]:-}" ] ||
     set -A devices -- $( devices_needing_firmware )      set -A devices -- $( devices_needing_firmware )
   
 if [ ! "${devices:-}" ]; then  if [ ! "${devices[*]:-}" ]; then
         echo "No devices found which need firmware files to be downloaded."          echo "No devices found which need firmware files to be downloaded."
         exit          exit
 fi  fi
Line 214 
Line 221 
         d=$( firmware_devicename "$f" )          d=$( firmware_devicename "$f" )
         [ "$f" = "$d" ] && f="$( echo "$f"-firmware-*.tgz | sed '$!d' )"          [ "$f" = "$d" ] && f="$( echo "$f"-firmware-*.tgz | sed '$!d' )"
         if [ -e "$f" ]; then          if [ -e "$f" ]; then
                 if [ "${DOWNLOADDIR:-}" ]; then                  if [ "$DOWNLOADDIR" ]; then
                         echo "Cannot download local file $f" >&2                          echo "Cannot download local file $f" >&2
                         exit 2                          exit 2
                 fi                  fi
Line 228 
Line 235 
                 echo "Unable to use $DOWNLOADDIR, make sure it is a directory"                  echo "Unable to use $DOWNLOADDIR, make sure it is a directory"
                 exit 2                  exit 2
         fi          fi
   elif [ "$LOCALDIR" ]; then
           if ! cd "$LOCALDIR"; then
                   echo "Unable to use $LOCALDIR, make sure it is a directory"
                   exit 2
           fi
 else  else
         TMPDIR=$( tmpdir "${DESTDIR}/tmp/fw_install" )          TMPDIR=$( tmpdir "${DESTDIR}/tmp/fw_install" )
         cd "$TMPDIR"          cd "$TMPDIR"
 fi  fi
   
 fetch "$CFILE"  if ! [[ -n "$LOCALDIR" && -e "$CFILE" ]]; then
 ! signify -qVep "$FWPUB_KEY" -x "$CFILE" -m "$CFILE" &&          fetch "$CFILE"
     echo "Signature check of SHA256.sig failed" >&2 && exit 1          ! signify -qVep "$FWPUB_KEY" -x "$CFILE" -m "$CFILE" &&
               echo "Signature check of SHA256.sig failed" >&2 && exit 1
   fi
   
 for d in "${devices[@]}"; do  for d in "${devices[@]}"; do
         f="${d##*:}"          f="${d##*:}"
Line 248 
Line 262 
   
         set -A installed -- $( installed_firmware "$d" )          set -A installed -- $( installed_firmware "$d" )
   
         if [ ! "${DOWNLOADDIR:-}" ] && [ "${installed:-}" ]; then          if [ ! "$DOWNLOADDIR" ] && [ "${installed[*]:-}" ]; then
                 for i in "${installed[@]:-}"; do                  for i in "${installed[@]}"; do
                         if [ "${f##*/}" = "$i.tgz" ]; then                          if [ "${f##*/}" = "$i.tgz" ]; then
                                 echo "$i already installed"                                  echo "$i already installed"
                                 continue 2                                  continue 2
Line 258 
Line 272 
         fi          fi
   
         if [ ! -e "$f" ]; then          if [ ! -e "$f" ]; then
                   [ "$LOCALDIR" ] && echo "Cannot install $f, not found" >&2 && continue
                 fetch  "$f" || continue                  fetch  "$f" || continue
                 verify "$f" || continue                  verify "$f" || continue
         elif [ "${DOWNLOADDIR:-}" ]; then          elif [ "$DOWNLOADDIR" ]; then
                 echo "Already have $f"                  echo "Already have $f"
                 verify "$f" || continue                  verify "$f" || continue
         fi          fi
   
         [ "${DOWNLOADDIR:-}" ] && continue          [ "$DOWNLOADDIR" ] && continue
   
         if [ "${installed:-}" ]; then          if [ "${installed[*]:-}" ]; then
                 for i in "${installed[@]}"; do                  for i in "${installed[@]}"; do
                         delete_firmware "$i"                          delete_firmware "$i"
                 done                  done

Legend:
Removed from v.1.63  
changed lines
  Added in v.1.66

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>