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

version 1.2, 2021/10/05 01:39:05 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=grep
                 [ "$last" = "$d" ] && continue                  [ "$last" = "$d" ] && continue
                 [ "$m" ] || m="^$d[0-9][0-9]* at "                  [ "$m" ] || m="^$d[0-9][0-9]* at "
                 grep -q "$m" /var/run/dmesg.boot || continue                  [ "$m" = "${m#^}" ] && grep=fgrep
                   $grep -q "$m" /var/run/dmesg.boot || continue
                 echo $d                  echo $d
                 last=$d                  last=$d
         done          done
Line 113 
Line 162 
         tar -zxphf "$firmware" -C /etc "firmware/*"          tar -zxphf "$firmware" -C /etc "firmware/*"
         mkdir -p ${PKGDIR}/${firmware%.tgz}/          mkdir -p ${PKGDIR}/${firmware%.tgz}/
         tar -zxphf "$firmware" -C "${PKGDIR}/${firmware%.tgz}" "+*"          tar -zxphf "$firmware" -C "${PKGDIR}/${firmware%.tgz}" "+*"
     ed -s "${PKGDIR}/${firmware%.tgz}/+CONTENTS" <<EOL          ed -s "${PKGDIR}/${firmware%.tgz}/+CONTENTS" <<EOL
 /^@comment pkgpath/ -1a  /^@comment pkgpath/ -1a
 @option manual-installation  @option manual-installation
 @option firmware  @option firmware

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

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