[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.87 and 1.90

version 1.87, 2021/12/18 23:02:20 version 1.90, 2021/12/19 19:16:55
Line 114 
Line 114 
 }  }
   
 devices_needing_firmware() {  devices_needing_firmware() {
         local _d _m _line _dmesgtail _last=''          local _d _m _line _dmesgtail _last='' _nl=$( echo )
   
         # When we're not in the installer, the dmesg.boot can          # When we're not in the installer, the dmesg.boot can
         # contain multiple boots, so only look in the last one          # contain multiple boots, so only look in the last one
         sed -n 'H;/^OpenBSD/h;${g;p;}' /var/run/dmesg.boot |          _dmesgtail="$( echo ; sed -n 'H;/^OpenBSD/h;${g;p;}' /var/run/dmesg.boot |
             grep -e "^[a-z][a-z]*[0-9]" -e " not configured " | { \              grep -e "^[a-z][a-z]*[0-9]" -e " not configured " )"
                 _m=0  
                 set -A _dmesgtail  
                 while read -r _line; do  
                         _dmesgtail[$_m]="$_line"  
                         _m=$(( _m + 1 ))  
                 done  
   
                 grep -v '^[[:space:]]*#' "$FWPATTERNS" |          grep -v '^[[:space:]]*#' "$FWPATTERNS" |
                     while read -r _d _m; do              while read -r _d _m; do
                         [ "$_d" = "$_last" ] && continue                  [ "$_d" = "$_last" ] && continue
                         [ "$_m" ] || _m="^${_d}[0-9] at "                  [ "$_m" ]             || _m="${_nl}${_d}[0-9] at "
                   [ "$_m" = "${_m#^}" ] || _m="${_nl}${_m#^}"
   
                         if [ "$_m" = "${_m#^}" ]; then                  if [[ $_dmesgtail = *$_m* ]]; then
                                 _m="*$_m"                          echo "$_d"
                         else                          _last="$_d"
                                 _m="${_m#^}"                  fi
                         fi              done
   
                         for _line in "${_dmesgtail[@]}"; do  
                                 if [[ $_line = ${_m}* ]]; then  
                                         echo "$_d"  
                                         _last="$_d"  
                                 fi  
                         done  
                     done  
         }  
 }  }
   
 firmware_filename() {  firmware_filename() {
Line 221 
Line 207 
 }  }
   
 usage() {  usage() {
         echo "usage: fw_install [-D | -L] [driver | file [...]]"          echo "usage: fw_install [-D | -L] [driver | file ...]"
         exit 2          exit 2
 }  }
   

Legend:
Removed from v.1.87  
changed lines
  Added in v.1.90

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