[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.64 and 1.65

version 1.64, 2014/02/01 16:31:51 version 1.65, 2014/02/01 19:13:53
Line 1 
Line 1 
 #!/bin/sh  #!/bin/sh
 # $AFresh1: update_openbsd,v 1.63 2014/01/23 03:17:06 andrew Exp $  # $AFresh1: update_openbsd,v 1.64 2014/02/01 16:31:51 andrew Exp $
 #  #
 # Copyright (c) 2012 Andrew Fresh <andrew@afresh1.com>  # Copyright (c) 2012 Andrew Fresh <andrew@afresh1.com>
 #  #
Line 351 
Line 351 
   
 install_kernels() {  install_kernels() {
     echo '==> INSTALLING KERNEL'      echo '==> INSTALLING KERNEL'
     if [ X"$USER" != X"root" -a X"$SUDO" == X"" ]; then  
         echo ${0##*/} must be run as root or SUDO must be set! >&2  
         exit 1  
     fi  
   
     if [ X"" == X"$RELEASEDIR" ]; then      if [ X"" == X"$RELEASEDIR" ]; then
         echo ERROR: no source for new kernels! >&2          echo ERROR: no source for new kernels! >&2
Line 363 
Line 359 
   
     if [ X"$BOOT_KERNEL_VERSION" != X"$NEW_KERNEL_VERSION" ]; then      if [ X"$BOOT_KERNEL_VERSION" != X"$NEW_KERNEL_VERSION" ]; then
         echo "===> Backing up $BOOT_KERNEL to /obsd"          echo "===> Backing up $BOOT_KERNEL to /obsd"
         $SUDO ln -f $BOOT_KERNEL /obsd          ln -f $BOOT_KERNEL /obsd
         if [ $? -ne 0 ]; then          if [ $? -ne 0 ]; then
             echo "Error copying old kernel!" >&2              echo "Error copying old kernel!" >&2
             exit 1              exit 1
Line 373 
Line 369 
     cd $RELEASEDIR      cd $RELEASEDIR
   
     for _b in $INSTALL_KERNELS; do      for _b in $INSTALL_KERNELS; do
         $SUDO rm -f /nbsd          rm -f /nbsd
         local _bd=$_b          local _bd=$_b
         [ X"${_b}" == X"bsd" ] && _bd="bsd.sp"          [ X"${_b}" == X"bsd" ] && _bd="bsd.sp"
   
Line 381 
Line 377 
         [ X"$BOOT_KERNEL" == X"/${_bd}" ] && _is_boot="# boot kernel"          [ X"$BOOT_KERNEL" == X"/${_bd}" ] && _is_boot="# boot kernel"
   
         echo "===> Copying $_b to /$_bd $_is_boot"          echo "===> Copying $_b to /$_bd $_is_boot"
         $SUDO cp ${_b} /nbsd && $SUDO mv /nbsd /${_bd}          cp ${_b} /nbsd && mv /nbsd /${_bd}
         if [ $? -ne 0 ]; then          if [ $? -ne 0 ]; then
             echo ERROR: Could not copy new $_bd kernel! >&2              echo ERROR: Could not copy new $_bd kernel! >&2
             exit 1              exit 1
Line 396 
Line 392 
             [ X"$_b" == X"bsd" ] && _b="bsd.sp"              [ X"$_b" == X"bsd" ] && _b="bsd.sp"
             if [ -e $_b ]; then              if [ -e $_b ]; then
                 echo "===> symlinking $_b to /bsd"                  echo "===> symlinking $_b to /bsd"
                 $SUDO ln -sf $_b bsd                  ln -sf $_b bsd
                 if [ $? -ne 0 ]; then                  if [ $? -ne 0 ]; then
                     echo ERROR: Could not symlink new kernel! >&2                      echo ERROR: Could not symlink new kernel! >&2
                     exit 1                      exit 1
Line 410 
Line 406 
   
 install_sets() {  install_sets() {
     echo '==> INSTALLING SETS'      echo '==> INSTALLING SETS'
     if [ X"$USER" != X"root" -a X"$SUDO" == X"" ]; then  
         echo ${0##*/} must be run as root or SUDO must be set! >&2  
         exit 1  
     fi  
   
     if [ X"" == X"$RELEASEDIR" ]; then      if [ X"" == X"$RELEASEDIR" ]; then
         echo ERROR: no source for sets! >&2          echo ERROR: no source for sets! >&2
Line 434 
Line 426 
         fi          fi
   
         echo "===> Extracting $_f to $_path"          echo "===> Extracting $_f to $_path"
         $SUDO mkdir -p $_path          mkdir -p $_path
         $SUDO tar -C $_path -xzphf ${RELEASEDIR}/${_f}          tar -C $_path -xzphf ${RELEASEDIR}/${_f}
         if [ $? -ne 0 ]; then          if [ $? -ne 0 ]; then
             echo ERROR: Could not extract ${_f}! >&2              echo ERROR: Could not extract ${_f}! >&2
             exit 1              exit 1
Line 452 
Line 444 
     fi      fi
     if [ -e ${RELEASEDIR}/sendmail-smtp_auth ]; then      if [ -e ${RELEASEDIR}/sendmail-smtp_auth ]; then
         if ! pkg_info -qe 'cyrus-sasl-*'; then          if ! pkg_info -qe 'cyrus-sasl-*'; then
             $SUDO pkg_add -i cyrus-sasl              pkg_add -i cyrus-sasl
         fi          fi
   
         $SUDO install -o root -g smmsp -m 2555 \          install -o root -g smmsp -m 2555 \
             ${RELEASEDIR}/sendmail-smtp_auth \              ${RELEASEDIR}/sendmail-smtp_auth \
             /usr/libexec/sendmail/sendmail              /usr/libexec/sendmail/sendmail
   
Line 489 
Line 481 
         echo ERROR: No upgrade sets found! >&2          echo ERROR: No upgrade sets found! >&2
     else      else
         echo '==> RUNNING SYSMERGE'          echo '==> RUNNING SYSMERGE'
         $SUDO $SYSMERGE $_args          $SYSMERGE $_args
     fi      fi
   
     cd $OLDPWD      cd $OLDPWD
 }  }
   
   
   if [ $(id -u) != 0 ]; then
       echo 'ERROR: need root privileges to run this script' >&2
       exit 1
   fi
   
 if [ -e /etc/update_openbsd.conf ]; then  if [ -e /etc/update_openbsd.conf ]; then
     . /etc/update_openbsd.conf      . /etc/update_openbsd.conf
 fi  fi
Line 523 
Line 520 
 echo "-= update_openbsd - helper script to update OpenBSD =-"  echo "-= update_openbsd - helper script to update OpenBSD =-"
 echo "------------------------------------------------------"  echo "------------------------------------------------------"
 echo  echo
 echo "           SUDO: $SUDO"  
 echo "       SYSMERGE: $SYSMERGE"  echo "       SYSMERGE: $SYSMERGE"
 echo "         MIRROR: $MIRROR"  echo "         MIRROR: $MIRROR"
 echo "     RELEASEDIR: $RELEASEDIR"  echo "     RELEASEDIR: $RELEASEDIR"
Line 562 
Line 558 
     NEW_KERNEL_VERSION=$BOOT_KERNEL_VERSION      NEW_KERNEL_VERSION=$BOOT_KERNEL_VERSION
 fi  fi
   
 if [ -n "$SUDO" -a $CUR_VER != $NEW_VER ]; then  if [ $CUR_VER != $NEW_VER ]; then
     echo >&2      echo >&2
     echo "!!! You are upgrading between OpenBSD versions.     !!!" >&2      echo "!!! You are upgrading between OpenBSD versions.     !!!" >&2
     echo "!!! You should make sure you have a root shell open !!!" >&2      echo "!!! You should make sure you have a root shell open !!!" >&2
Line 574 
Line 570 
     read _temp      read _temp
 fi  fi
   
 if [ -n "$SUDO" ]; then  
     echo  
     echo You may be asked for your sudo password multiple times.  
     $SUDO -v -p "sudo Password: "  
 fi  
   
 if [ X"$NEW_KERNEL_VERSION" != X"$BOOTED_KERNEL_VERSION" \  if [ X"$NEW_KERNEL_VERSION" != X"$BOOTED_KERNEL_VERSION" \
      -a ! -e /sbin/oreboot ]; then       -a ! -e /sbin/oreboot ]; then
     $SUDO cp /sbin/reboot /sbin/oreboot      cp /sbin/reboot /sbin/oreboot
     if [ $? -ne 0 ]; then      if [ $? -ne 0 ]; then
         echo "Error copying old reboot command!" >&2          echo "Error copying old reboot command!" >&2
         exit 1          exit 1
Line 598 
Line 588 
   
     if [ -e /sbin/oreboot ]; then      if [ -e /sbin/oreboot ]; then
         echo Removing /sbin/oreboot          echo Removing /sbin/oreboot
         $SUDO rm -f /sbin/oreboot          $rm -f /sbin/oreboot
     fi      fi
     update_etc      update_etc
   
     echo '==> UPDATING PACKAGES'      echo '==> UPDATING PACKAGES'
     $SUDO pkg_add -ui -F update -F updatedepends      pkg_add -ui -F update -F updatedepends
   
 else  else
     echo Instructions for updating to the new version available from      echo Instructions for updating to the new version available from
Line 614 
Line 604 
     fi      fi
 fi  fi
   
 echo New kernel installed.  Please reboot!  echo Update complete press any key to reboot, ctrl+C to cancel
   read _temp
 if [ -e /sbin/oreboot ]; then  if [ -e /sbin/oreboot ]; then
     echo Possibly using /sbin/oreboot      /sbin/oreboot
   else
       /sbin/reboot
 fi  fi

Legend:
Removed from v.1.64  
changed lines
  Added in v.1.65

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