[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.145 and 1.146

version 1.145, 2022/01/07 02:18:52 version 1.146, 2022/01/07 04:22:29
Line 120 
Line 120 
                 echo "Cannot fetch $_src$_error" >&2                  echo "Cannot fetch $_src$_error" >&2
                 return 1                  return 1
         fi          fi
   
           return 0
 }  }
   
 fetch_cfile() {  fetch_cfile() {
Line 133 
Line 135 
                 echo "${0##*/}: $CFILE: No such file or directory" >&2                  echo "${0##*/}: $CFILE: No such file or directory" >&2
                 return 2                  return 2
         fi          fi
   
           return 0
 }  }
   
 verify() {  verify() {
         [ -e "$CFILE" ] || fetch_cfile          [ -e "$CFILE" ] || fetch_cfile || return 1
         # On the installer we don't get sha256 -C, so fake it.          # On the installer we don't get sha256 -C, so fake it.
         if ! fgrep -qx "SHA256 (${1##*/}) = $( /bin/sha256 -qb "$1" )" "$CFILE"; then          if ! fgrep -qx "SHA256 (${1##*/}) = $( /bin/sha256 -qb "$1" )" "$CFILE"; then
                 echo "Checksum test for ${1##*/} failed." >&2                  echo "Checksum test for ${1##*/} failed." >&2
                 return 1                  return 1
         fi          fi
   
           return 0
 }  }
   
 firmware_in_dmesg() {  firmware_in_dmesg() {
Line 166 
Line 172 
   
 firmware_filename() {  firmware_filename() {
         local _f          local _f
         [ -e "$CFILE" ] || fetch_cfile          [ -e "$CFILE" ] || fetch_cfile || return 1
         _f="$( sed -n "s/.*(\($1-firmware-.*\.tgz\)).*/\1/p" "$CFILE" | sed '$!d' )"          _f="$( sed -n "s/.*(\($1-firmware-.*\.tgz\)).*/\1/p" "$CFILE" | sed '$!d' )"
         ! [ "$_f" ] && echo "Unable to find firmware for $1" >&2 && return 1          ! [ "$_f" ] && echo "Unable to find firmware for $1" >&2 && return 1
         echo "$_f"          echo "$_f"
Line 432 
Line 438 
 for f in "${devices[@]}"; do  for f in "${devices[@]}"; do
         d="$( firmware_devicename "$f" )"          d="$( firmware_devicename "$f" )"
   
           verify_existing="$DOWNLOAD"
         if [ "$f" = "$d" ]; then          if [ "$f" = "$d" ]; then
                 f=$( firmware_filename "$d" || true )                  f=$( firmware_filename "$d" || true )
                 [ "$f" ] || continue                  [ "$f" ] || continue
Line 439 
Line 446 
         elif ! "$INSTALL" && ! grep -Fq "($f)" "$CFILE" ; then          elif ! "$INSTALL" && ! grep -Fq "($f)" "$CFILE" ; then
                 echo "Cannot download local file $f" >&2                  echo "Cannot download local file $f" >&2
                 exit 2                  exit 2
           else
                   # If someone specified a filename on the command-line
                   # we don't want to verify it.
                   verify_existing=false
         fi          fi
   
         set -A installed -- $( installed_firmware '' "$d-firmware-" '*' )          set -A installed -- $( installed_firmware '' "$d-firmware-" '*' )
Line 455 
Line 466 
   
         if [ -e "$f" ]; then          if [ -e "$f" ]; then
                 if "$DOWNLOAD"; then                  if "$DOWNLOAD"; then
                         [ "$VERBOSE" -gt 1 ] && ! "$INSTALL" &&                          if "$verify_existing" && ! "$DRYRUN"; then
                             echo "Keep/Verify ${f##*/}"                                  [ "$VERBOSE" -gt 1 ] && ! "$INSTALL" &&
                         "$DRYRUN"  || verify "$f" || continue                                      echo "Keep/Verify ${f##*/}"
                                   verify "$f" || continue
                           else
                                   [ "$VERBOSE" -gt 1 ] && ! "$INSTALL" &&
                                       echo "Keep ${f##*/}"
                           fi
                         "$INSTALL" || kept="$kept,$d"                          "$INSTALL" || kept="$kept,$d"
                 # else assume it was verified when downloaded                  # else assume it was verified when downloaded
                 fi                  fi

Legend:
Removed from v.1.145  
changed lines
  Added in v.1.146

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