[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.140 and 1.143

version 1.140, 2022/01/06 01:25:12 version 1.143, 2022/01/07 01:47:24
Line 37 
Line 37 
 DRYRUN=false  DRYRUN=false
 VERBOSE=0  VERBOSE=0
 DELETE=false  DELETE=false
 DOWNLOAD=true  DOWNLOAD=
 INSTALL=true  INSTALL=true
 LOCALSRC=  LOCALSRC=
   
Line 286 
Line 286 
 }  }
   
 ALL=false  ALL=false
 OPT_D=  OPT_F=
 while getopts :adDnp:v name  while getopts :adFnp:v name
 do  do
        case "$name" in         case "$name" in
        a) ALL=true ;;         a) ALL=true ;;
        d) DELETE=true ;;         d) DELETE=true ;;
        D) OPT_D=true ;;         F) OPT_F=true ;;
        n) DRYRUN=true ;;         n) DRYRUN=true ;;
        p) LOCALSRC="$OPTARG" ;;         p) LOCALSRC="$OPTARG" ;;
        v) VERBOSE=$(( VERBOSE + 1 )) ;;         v) VERBOSE=$(( VERBOSE + 1 )) ;;
Line 321 
Line 321 
 fi  fi
   
 # "Download only" means local dir and don't install  # "Download only" means local dir and don't install
 if [ "$OPT_D" ]; then  if [ "$OPT_F" ]; then
           DOWNLOAD=true
         INSTALL=false          INSTALL=false
         LOCALSRC="${LOCALSRC:-.}"          LOCALSRC="${LOCALSRC:-.}"
 elif [ "$LOCALSRC" ]; then  elif [ "$LOCALSRC" ]; then
Line 336 
Line 337 
 set -sA devices -- "$@"  set -sA devices -- "$@"
   
 if "$DELETE"; then  if "$DELETE"; then
         [ "$OPT_D" ] && usage 22          [ "$OPT_F" ] && usage 22
   
         # Show the "Uninstalling" message when just deleting not upgrading          # Show the "Uninstalling" message when just deleting not upgrading
         [ "$VERBOSE" -gt 1 ] && VEROBOSE=3          [ "$VERBOSE" -gt 0 ] && VERBOSE=3
   
         set -A installed          set -A installed
         if [ "${devices[*]:-}" ]; then          if [ "${devices[*]:-}" ]; then
Line 387 
Line 388 
     REMOVE_LOCALSRC=true      REMOVE_LOCALSRC=true
 fi  fi
   
 CFILE="$LOCALSRC/$CFILE"  
   
 if [ "${devices[*]:-}" ]; then  if [ "${devices[*]:-}" ]; then
         "$ALL" && usage 22          "$ALL" && usage 22
 else  else
Line 400 
Line 399 
   
 [ "${devices[*]:-}" ] || exit  [ "${devices[*]:-}" ] || exit
   
 if "$DOWNLOAD"; then  # Only need the CFILE to verify what has been downloaded
         set +o noclobber # we want to get the latest CFILE  # or to convert a device to a filename.
         fetch "$CFILE"  NEED_CFILE="${DOWNLOAD:-false}"
         set -o noclobber  if ! "$NEED_CFILE"; then
         ! signify -qVep "$FWPUB_KEY" -x "$CFILE" -m "$CFILE" &&          for f in "${devices[@]}"; do
             echo "Signature check of SHA256.sig failed" >&2 && exit 1                  if [ "$( firmware_devicename "$f" )" = "$f" ]; then
 elif [ ! -e "$CFILE" ]; then                          NEED_CFILE=true
         # TODO: We shouldn't need a CFILE if all arguments are files.                          break
         echo "${0##*/}: $CFILE: No such file or directory" >&2                  fi
         exit 2          done
   fi
   
   # Only need to download if we already decided we did,
   # or the same decision as if we NEED_CFILE.
   DOWNLOAD="${DOWNLOAD:-$NEED_CFILE}"
   
   if "$NEED_CFILE"; then
           CFILE="$LOCALSRC/$CFILE"
   
           if "$DOWNLOAD"; then
                   set +o noclobber # we want to get the latest CFILE
                   fetch "$CFILE"
                   set -o noclobber
                   ! signify -qVep "$FWPUB_KEY" -x "$CFILE" -m "$CFILE" &&
                       echo "Signature check of SHA256.sig failed" >&2 && exit 1
           elif [ ! -e "$CFILE" ]; then
                   echo "${0##*/}: $CFILE: No such file or directory" >&2
                   exit 2
           fi
 fi  fi
   
 added=''  added=''

Legend:
Removed from v.1.140  
changed lines
  Added in v.1.143

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