[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.4 and 1.6

version 1.4, 2021/10/05 01:49:17 version 1.6, 2021/10/14 02:39:43
Line 13 
Line 13 
         done          done
 }  }
   
   # do_as, unpriv, and unpriv2 are from install.sub
   
   # Run a command ($2+) as unprivileged user ($1).
   # Take extra care that after "cmd" no "user" processes exist.
   #
   # Optionally:
   #       - create "file" and chown it to "user"
   #       - after "cmd", chown "file" back to root
   #
   # Usage: do_as user [-f file] cmd
   do_as() {
           (( $# >= 2 )) || return
   
           local _file _rc _user=$1
           shift
   
           if [[ $1 == -f ]]; then
                   _file=$2
                   shift 2
           fi
   
           if [[ -n $_file ]]; then
                   >$_file
                   chown "$_user" "$_file"
           fi
   
           doas -u "$_user" "$@"
           _rc=$?
   
           while doas -u "$_user" kill -9 -1 2>/dev/null; do
                   echo "Processes still running for user $_user after: $@"
                   sleep 1
           done
   
           [[ -n $_file ]] && chown root "$_file"
   
           return $_rc
   }
   
   unpriv() {
           do_as _sndio "$@"
   }
   
   unpriv2() {
           do_as _file "$@"
   }
   
 set -A _KERNV -- $( scan_dmesg '/^OpenBSD \([1-9][0-9]*\.[0-9]\)\([^ ]*\) .*/ { s//\1 \2/p; q; }' )  set -A _KERNV -- $( scan_dmesg '/^OpenBSD \([1-9][0-9]*\.[0-9]\)\([^ ]*\) .*/ { s//\1 \2/p; q; }' )
 VNAME=${_KERNV[0]}  VNAME=${_KERNV[0]}
 OSDIR=$VNAME  OSDIR=$VNAME
Line 28 
Line 75 
         last=''          last=''
         ftp -D "Detecting" -Vmo- $PATTERNS |          ftp -D "Detecting" -Vmo- $PATTERNS |
         while read d m; do          while read d m; do
                 grep=fgrep                  grep=grep
                 [ "$last" = "$d" ] && continue                  [ "$last" = "$d" ] && continue
                 [ "$m" ] || m="^$d[0-9][0-9]* at "                  [ "$m" ] || m="^$d[0-9][0-9]* at "
                 [ "$m" != "${m#^}" ] && grep=grep                  [ "$m" = "${m#^}" ] && grep=fgrep
                 $grep -q "$m" /var/run/dmesg.boot || continue                  $grep -q "$m" /var/run/dmesg.boot || continue
                 echo $d                  echo $d
                 last=$d                  last=$d

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.6

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