[BACK]Return to update_openbsd CVS log [TXT][DIR] Up to [local] / openbsd / update_openbsd

Diff for /openbsd/update_openbsd/update_openbsd between version 1.21 and 1.36

version 1.21, 2009/05/13 05:26:32 version 1.36, 2010/06/17 21:35:47
Line 1 
Line 1 
 #!/bin/sh  #!/bin/sh
 # $RedRiver: update_openbsd,v 1.20 2009/04/25 00:14:12 andrew Exp $  # $AFresh1: update_openbsd,v 1.35 2010/02/10 20:57:07 andrew Exp $
   
 installed_sets() {  installed_sets() {
     local misc=/usr/share/doc/README      local misc=/usr/share/doc/README
Line 24 
Line 24 
         fi          fi
     done      done
   
     sendmail -d0.1 root < /dev/null | grep -q SASL      sendmail -d0.1 --badoption </dev/null 2>/dev/null | grep -q SASL
     if [ $? == 0 ]; then      if [ $? == 0 ]; then
         echo -n ' sendmail-smtp_auth'          echo -n ' sendmail-smtp_auth'
     fi      fi
Line 191 
Line 191 
     done      done
 }  }
   
   follow_symlink () {
       local _file=$1
       # This could go circular, but I dunno how to fix that.
       if [ -h $_file ]; then
           follow_symlink $( file $_file |
               grep 'symbolic link' |
               sed -e s/^.*\\\`// -e s/\\\'\$// )
       else
           echo $_file
       fi
   }
   
 check_sum () {  check_sum () {
     local _type=$1      local _type=$1
     echo "### CHECKING $_type SUMS ###"      echo "### CHECKING $_type SUMS ###"
Line 253 
Line 265 
 }  }
   
   
 install_kernel() {  install_kernels() {
     echo '### INSTALLING KERNEL ###'      echo '### INSTALLING KERNEL ###'
     if [ X"$USER" != X"root" -a X"$SUDO" == X"" ]; then      if [ X"$USER" != X"root" -a X"$SUDO" == X"" ]; then
         echo ${0##*/} must be run as root or SUDO must be set! >&2          echo ${0##*/} must be run as root or SUDO must be set! >&2
Line 291 
Line 303 
         exit 1          exit 1
     fi      fi
   
       local _true_bsd=`follow_symlink /bsd`
       _true_bsd=${_true_bsd#/}
       local _installed_new_bsd
   
     for _b in bsd*; do      for _b in bsd*; do
         $SUDO rm -f /nbsd          $SUDO rm -f /nbsd
   
         if [ X"${_b}" == X"bsd" ]; then          if [ X"${_b}" == X"bsd" ]; then
             echo Copying bsd to /bsd.sp              echo Copying bsd to /bsd.sp
             $SUDO cp bsd /nbsd && $SUDO mv /nbsd /bsd.sp              $SUDO cp bsd /nbsd && $SUDO mv /nbsd /bsd.sp
Line 301 
Line 316 
                 echo ERROR: Could not copy new SP kernel! >&2                  echo ERROR: Could not copy new SP kernel! >&2
                 exit 1                  exit 1
             fi              fi
               if [ X"${_true_bsd}" == X"bsd.sp" ]; then
                   _installed_new_bsd=1
               fi
         else          else
             if [ -e /$_b ]; then              if [ -e "/${_b}" ]; then
                 echo Copying $_b to /                  echo Copying $_b to /
                 $SUDO cp ${_b} /nbsd && $SUDO mv /nbsd /${_b}                  $SUDO cp ${_b} /nbsd && $SUDO mv /nbsd /${_b}
                 if [ $? -ne 0 ]; then                  if [ $? -ne 0 ]; then
                     echo ERROR: Could not copy new $_b kernel! >&2                      echo ERROR: Could not copy new $_b kernel! >&2
                     exit 1                      exit 1
                 fi                  fi
                   if [ X"${_true_bsd}" == X"${_b}" ]; then
                       _installed_new_bsd=1
                   fi
             fi              fi
         fi          fi
     done      done
Line 326 
Line 347 
             exit 1              exit 1
         fi          fi
     fi      fi
   
       if [ -z $_installed_new_bsd ]; then
           echo WARNING: Did not replace $_true_bsd kernel >&2
       fi
 }  }
   
 install_sets() {  install_sets() {
Line 425 
Line 450 
         fi          fi
   
         local _v=$FILE_VER          local _v=$FILE_VER
           local _args=""
         if [ -e etc${_v}.tgz ]; then          if [ -e etc${_v}.tgz ]; then
             _args="$_args -s etc${_v}.tgz"              _args="$_args -s etc${_v}.tgz"
         fi          fi
Line 435 
Line 461 
             echo ERROR: No upgrade sets found! >&2              echo ERROR: No upgrade sets found! >&2
         else          else
             echo '### RUNNING SYSMERGE ###'              echo '### RUNNING SYSMERGE ###'
             _args="-a $_args"              if sysmerge 2>&1 | grep -- -a >/dev/null; then
                   _args="-a $_args"
               fi
             $SUDO $SYSMERGE $_args              $SUDO $SYSMERGE $_args
         fi          fi
     fi      fi
Line 497 
Line 525 
     $SUDO -v      $SUDO -v
 fi  fi
   
 install_kernel  install_kernels
 install_sets  install_sets
   
 if [ $CUR_VER == $NEW_VER ]; then  if [ $CUR_VER == $NEW_VER ]; then
Line 512 
Line 540 
   
 else  else
     echo Instructions for updating to the new version available from      echo Instructions for updating to the new version available from
     echo "  http://www.openbsd.org/faq/upgrade${_v}.html"      if [ X"snapshots" == X"$FORCE_DIR" ]; then
           echo "  http://www.openbsd.org/faq/current.html"
       else
           echo "  http://www.openbsd.org/faq/upgrade${FILE_VER}.html"
       fi
 fi  fi
   
 echo New kernel installed.  Please reboot!  echo New kernel installed.  Please reboot!
   if [ -e /sbin/oreboot ]; then
       echo Possibly using /sbin/oreboot
   fi
   
   local _send_dmesg=`dirname $0`/send_dmesg
   if [ -e "$_send_dmesg" ]; then
       if [ -e $RELEASEDIR/.send_dmesg ]; then
           $_send_dmesg
           rm -f $RELEASEDIR/.send_dmesg
       elif [ X"$CUR_VER" != X"$NEW_VER" ]; then
           touch $RELEASEDIR/.send_dmesg
       fi
   fi

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.36

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