| version 1.37, 2021/12/01 02:04:18 | 
version 1.42, 2021/12/01 03:11:43 | 
 | 
 | 
|  #       $OpenBSD$ | 
 #       $OpenBSD$ | 
|  set -e | 
 set -e | 
|   | 
  | 
|   | 
 # Copyright (c) 2021 Andrew Hewus Fresh <afresh1@openbsd.org> | 
|   | 
 # | 
|   | 
 # Permission to use, copy, modify, and distribute this software for any | 
|   | 
 # purpose with or without fee is hereby granted, provided that the above | 
|   | 
 # copyright notice and this permission notice appear in all copies. | 
|   | 
 # | 
|   | 
 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | 
|   | 
 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | 
|   | 
 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | 
|   | 
 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | 
|   | 
 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | 
|   | 
 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | 
|   | 
 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 
|   | 
  | 
|  # Fake up some things from install.sub that we don't need to actually do | 
 # Fake up some things from install.sub that we don't need to actually do | 
|  prefetcharea_fs_list() { | 
 prefetcharea_fs_list() { | 
|          echo "${DESTDIR}/tmp" | 
         echo "${DESTDIR}/tmp" | 
 | 
 | 
|                  chown "$_user" "$_file" | 
                 chown "$_user" "$_file" | 
|          fi | 
         fi | 
|   | 
  | 
|          doas -u "$_user" "$@" | 
         if [[ -x /usr/bin/su ]]; then | 
|   | 
                 /usr/bin/su -s /bin/ksh "$_user" -c "$*" | 
|   | 
         else | 
|   | 
                 doas -u "$_user" "$@" | 
|   | 
         fi | 
|          _rc=$? | 
         _rc=$? | 
|   | 
  | 
|          while doas -u "$_user" kill -9 -1 2>/dev/null; do | 
         while doas -u "$_user" kill -9 -1 2>/dev/null; do | 
 | 
 | 
|  VNAME=${VNAME:-$(sysctl -n kern.osrelease)} | 
 VNAME=${VNAME:-$(sysctl -n kern.osrelease)} | 
|  VERSION=${VERSION:-"${VNAME%.*}${VNAME#*.}"} | 
 VERSION=${VERSION:-"${VNAME%.*}${VNAME#*.}"} | 
|  FWDIR=${FWDIR:-$VNAME} | 
 FWDIR=${FWDIR:-$VNAME} | 
|  MODE=${MODE:-install} | 
  | 
|   | 
  | 
|  # TODO: We need the firmware for the system we just installed | 
 # TODO: We need the firmware for the system we just installed | 
|  #       not the one we booted from.  For example: | 
 #       not the one we booted from.  For example: | 
 | 
 | 
|                  _f _r _remove _i _installed | 
                 _f _r _remove _i _installed | 
|          local _srclocal=false _unpriv=unpriv | 
         local _srclocal=false _unpriv=unpriv | 
|   | 
  | 
|          echo "Let's $MODE firmware!" | 
  | 
|          local _d _drivers=$( | 
         local _d _drivers=$( | 
|                  last='' | 
                 last='' | 
|                  while read _d _m; do | 
                 while read _d _m; do | 
 | 
 | 
|              echo "Signature check of SHA256.sig failed" >&2 && return 1 | 
             echo "Signature check of SHA256.sig failed" >&2 && return 1 | 
|   | 
  | 
|          for _d in $_drivers; do | 
         for _d in $_drivers; do | 
|                  _f=$( sed -n "s/.*(\($_d-firmware-.*\.tgz\)).*/\1/p" "$_cfile" ) | 
                 _f=$( sed -n "s/.*(\($_d-firmware-.*\.tgz\)).*/\1/p" "$_cfile" | sed '$!d' ) | 
|                  _installed=$( | 
                 _installed=$( | 
|                  for fw in "${_pkgdir}/$_d-firmware"*; do | 
                 for fw in "${_pkgdir}/$_d-firmware"*; do | 
|                          [ -e "$fw" ] || continue | 
                         [ -e "$fw" ] || continue |