[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.125 and 1.126

version 1.125, 2021/12/25 00:27:56 version 1.126, 2021/12/25 00:34:00
Line 40 
Line 40 
 INSTALL=true  INSTALL=true
 LOCALSRC=  LOCALSRC=
   
   unset FTPPID
   REMOVE_LOCALSRC=false
   cleanup() {
           [ "${FTPPID:-}" ] && kill -TERM -"$FTPPID" 2>/dev/null
           "$REMOVE_LOCALSRC" && rm -rf "$LOCALSRC"
   }
   trap cleanup EXIT
   
 tmpdir() {  tmpdir() {
         local _i=1 _dir          local _i=1 _dir
   
Line 57 
Line 65 
 }  }
   
 fetch() {  fetch() {
         local _src="${FWURL}/${1##*/}" _dst=$1 _user=_file _pid _exit _error=''          local _src="${FWURL}/${1##*/}" _dst=$1 _user=_file _exit _error=''
   
         # If we're not in the installer,          # If we're not in the installer,
         # we have su(1) and doas(1) is unlikely to be configured.          # we have su(1) and doas(1) is unlikely to be configured.
Line 72 
Line 80 
                 exec /usr/bin/doas -u "$_user" \                  exec /usr/bin/doas -u "$_user" \
                     /usr/bin/ftp -N "${0##/}" -D 'Get/Verify' $flags -o- "$_src" > "$_dst"                      /usr/bin/ftp -N "${0##/}" -D 'Get/Verify' $flags -o- "$_src" > "$_dst"
         fi          fi
         ) & _pid=$!          ) & FTPPID=$!
         set +o monitor          set +o monitor
   
         trap "kill -TERM '-$_pid' 2>/dev/null; exit 1" EXIT INT QUIT ABRT TERM  
   
         SECONDS=0          SECONDS=0
         _last=0          _last=0
         while kill -0 -"$_pid" 2>/dev/null; do          while kill -0 -"$FTPPID" 2>/dev/null; do
                 if [[ $SECONDS -gt 12 ]]; then                  if [[ $SECONDS -gt 12 ]]; then
                         set -- $( ls -ln "$_dst" 2>/dev/null )                          set -- $( ls -ln "$_dst" 2>/dev/null )
                         if [[ $_last -ne $5 ]]; then                          if [[ $_last -ne $5 ]]; then
Line 87 
Line 93 
                                 SECONDS=0                                  SECONDS=0
                                 sleep 1                                  sleep 1
                         else                          else
                                 kill -INT -"$_pid"                                  kill -INT -"$FTPPID"
                                 _error=" (timed out)"                                  _error=" (timed out)"
                         fi                          fi
                 else                  else
Line 96 
Line 102 
         done          done
   
         set +o errexit          set +o errexit
         wait "$_pid"          wait "$FTPPID"
         _exit=$?          _exit=$?
         set -o errexit          set -o errexit
   
         trap "" EXIT INT QUIT ABRT TERM          unset FTPPID
   
         if [ "$_exit" -ne 0 ]; then          if [ "$_exit" -ne 0 ]; then
                 rm -f "$_dst"                  rm -f "$_dst"
Line 352 
Line 358 
   
 if [ ! "$LOCALSRC" ]; then  if [ ! "$LOCALSRC" ]; then
     LOCALSRC="$( tmpdir "${DESTDIR}/tmp/${0##*/}" )"      LOCALSRC="$( tmpdir "${DESTDIR}/tmp/${0##*/}" )"
       REMOVE_LOCALSRC=true
 fi  fi
   
 CFILE="$LOCALSRC/$CFILE"  CFILE="$LOCALSRC/$CFILE"

Legend:
Removed from v.1.125  
changed lines
  Added in v.1.126

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