[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.138 and 1.139

version 1.138, 2021/12/26 18:58:54 version 1.139, 2022/01/05 23:34:11
Line 199 
Line 199 
 }  }
   
 add_firmware () {  add_firmware () {
         local _f="${1##*/}" _pkgname          local _f="${1##*/}" _m="${2:-Install}" _pkgname
         FWPKGTMP="$( tmpdir "${DESTDIR}/var/db/pkg/.firmware" )"          FWPKGTMP="$( tmpdir "${DESTDIR}/var/db/pkg/.firmware" )"
         local _flags=-vm          local _flags=-vm
         case "$VERBOSE" in          case "$VERBOSE" in
Line 207 
Line 207 
                 2|3) _flags=-Vm ;;                  2|3) _flags=-Vm ;;
         esac          esac
   
         [ "$VERBOSE" -eq 1 ] && echo -n "Install ${_f} ..."          ftp -N "${0##/}" -D "$_m" "$_flags" -o- "file:${1}" |
   
         ftp -N "${0##/}" -D "Install" "$_flags" -o- "file:${1}" |  
                 tar -s ",^\+,${FWPKGTMP}/+," \                  tar -s ",^\+,${FWPKGTMP}/+," \
                     -s ",^firmware,${DESTDIR}/etc/firmware," \                      -s ",^firmware,${DESTDIR}/etc/firmware," \
                     -C / -zxphf - "+*" "firmware/*"                      -C / -zxphf - "+*" "firmware/*"
Line 235 
Line 233 
         chmod 755 "$FWPKGTMP"          chmod 755 "$FWPKGTMP"
         mv "$FWPKGTMP" "${DESTDIR}/var/db/pkg/${_pkgname}"          mv "$FWPKGTMP" "${DESTDIR}/var/db/pkg/${_pkgname}"
         unset FWPKGTMP          unset FWPKGTMP
   
         [ "$VERBOSE" -eq 1 ] && echo " done."  
 }  }
   
 delete_firmware() {  delete_firmware() {
         local _cwd _pkg="$1" _pkgdir="${DESTDIR}/var/db/pkg"          local _cwd _pkg="$1" _pkgdir="${DESTDIR}/var/db/pkg"
   
         # TODO: Check hash for files before deleting          # TODO: Check hash for files before deleting
         [ "$VERBOSE" -gt 0 ] && echo -n "Uninstall $_pkg ..."          [ "$VERBOSE" -gt 1 ] && echo -n "Uninstall $_pkg ..."
         _cwd="${_pkgdir}/$_pkg"          _cwd="${_pkgdir}/$_pkg"
   
         if [ ! -e "$_cwd/+CONTENTS" ] ||          if [ ! -e "$_cwd/+CONTENTS" ] ||
Line 279 
Line 275 
                 fi                  fi
         done          done
   
         [ "$VERBOSE" -gt 0 ] && echo " done."          [ "$VERBOSE" -gt 1 ] && echo " done."
   
           return 0
 }  }
   
 usage() {  usage() {
Line 340 
Line 338 
 if "$DELETE"; then  if "$DELETE"; then
         [ "$OPT_D" ] && usage 22          [ "$OPT_D" ] && usage 22
   
           # Show the "Uninstalling" message when just deleting not upgrading
           [ "$VERBOSE" -eq 1 ] && VEROBOSE=2
   
         set -A installed          set -A installed
         if [ "${devices[*]:-}" ]; then          if [ "${devices[*]:-}" ]; then
                 "$ALL" && usage 22                  "$ALL" && usage 22
Line 375 
Line 376 
                 done                  done
         fi          fi
   
         deleted="${deleted:+${deleted#,}}"          deleted="${deleted#,}"
         echo "${0:##*/}: deleted ${deleted:-none}";          echo "${0:##*/}: deleted ${deleted:-none}";
   
         exit          exit
Line 391 
Line 392 
 if [ "${devices[*]:-}" ]; then  if [ "${devices[*]:-}" ]; then
         "$ALL" && usage 22          "$ALL" && usage 22
 else  else
         [ "$VERBOSE" -gt 0 ] && echo -n "Detect firmware ..."          [ "$VERBOSE" -gt 1 ] && echo -n "Detect firmware ..."
         set -sA devices -- $( detect_firmware )          set -sA devices -- $( detect_firmware )
         [ "$VERBOSE" -gt 0 ] &&          [ "$VERBOSE" -gt 1 ] &&
             { [ "${devices[*]:-}" ] && echo " found." || echo " done." ; }              { [ "${devices[*]:-}" ] && echo " found." || echo " done." ; }
 fi  fi
   
Line 431 
Line 432 
         if "$INSTALL" && [ "${installed[*]:-}" ]; then          if "$INSTALL" && [ "${installed[*]:-}" ]; then
                 for i in "${installed[@]}"; do                  for i in "${installed[@]}"; do
                         if [ "${f##*/}" = "$i.tgz" ]; then                          if [ "${f##*/}" = "$i.tgz" ]; then
                                 [ "$VERBOSE" -gt 0 ] && echo "Keep $i"                                  [ "$VERBOSE" -gt 2 ] && echo "Keep $i"
                                 kept="$kept,$d"                                  kept="$kept,$d"
                                 continue 2                                  continue 2
                         fi                          fi
Line 454 
Line 455 
                         fetch  "$f" &&                          fetch  "$f" &&
                         verify "$f" ||                          verify "$f" ||
                             { [ "$VERBOSE" -eq 1 ] && echo " failed."; continue; }                              { [ "$VERBOSE" -eq 1 ] && echo " failed."; continue; }
                         [ "$VERBOSE" -eq 1 ] && echo " done."                          [ "$VERBOSE" -eq 1 ] && ! "$INSTALL" && echo " done."
                 fi                  fi
                 "$INSTALL" || added="$added,$d"                  "$INSTALL" || added="$added,$d"
         elif "$INSTALL"; then          elif "$INSTALL"; then
Line 464 
Line 465 
   
         "$INSTALL" || continue          "$INSTALL" || continue
   
         removed=false          update=''
         if [ "${installed[*]:-}" ]; then          if [ "${installed[*]:-}" ]; then
                 for i in "${installed[@]}"; do                  for i in "${installed[@]}"; do
                         "$DRYRUN" || delete_firmware "$i"                          "$DRYRUN" || delete_firmware "$i"
                         removed=true                          update="Update"
                 done                  done
         fi          fi
   
         "$DRYRUN" || add_firmware "$f"          "$DRYRUN" || add_firmware "$f" "$update"
   
         f="${f##*/}"          f="${f##*/}"
         f="${f%.tgz}"          f="${f%.tgz}"
         if "$removed"; then          if [ "$update" ]; then
                 "$DRYRUN" && [ "$VERBOSE" -gt 0 ] && echo "Update $f"                  if [ "$VERBOSE" -gt 0 ] && "$DRYRUN"; then
                       echo "Update $f"
                   elif [ "$VERBOSE" -eq 1 ]; then
                       echo " updated."
                   fi
                 updated="$updated,$d"                  updated="$updated,$d"
         else          else
                 "$DRYRUN" && [ "$VERBOSE" -gt 0 ] && echo "Install $f"                  if [ "$VERBOSE" -gt 0 ] && "$DRYRUN"; then
                       echo "Install $f"
                   elif [ "$VERBOSE" -eq 1 ]; then
                       echo " installed."
                   fi
                 added="$added,$d"                  added="$added,$d"
         fi          fi
 done  done

Legend:
Removed from v.1.138  
changed lines
  Added in v.1.139

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