[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.17 and 1.22

version 1.17, 2009/01/14 17:58:40 version 1.22, 2009/05/13 17:40:50
Line 1 
Line 1 
 #!/bin/sh  #!/bin/sh
 # $RedRiver: update_openbsd,v 1.16 2009/01/13 21:47:49 andrew Exp $  # $RedRiver: update_openbsd,v 1.21 2009/05/13 04:26:32 andrew Exp $
   
 installed_sets() {  installed_sets() {
     local misc=/usr/share/doc/README      local misc=/usr/share/doc/README
Line 23 
Line 23 
             echo -n " $_d"              echo -n " $_d"
         fi          fi
     done      done
   
       sendmail -d0.1 root < /dev/null | grep -q SASL
       if [ $? == 0 ]; then
           echo -n ' sendmail-smtp_auth'
       fi
 }  }
   
 version_in() {  version_in() {
Line 166 
Line 171 
     done      done
   
     for _s in $INSTALLED_SETS; do      for _s in $INSTALLED_SETS; do
         if [ ! -e ./${_s}${_v}.tgz ]; then          local _file=${_s}${_v}.tgz
             echo $FTP_CMD ${FTP}/${_s}${_v}.tgz          if [ ${_s} == sendmail-smtp_auth ]; then
             $FTP_CMD ${FTP}/${_s}${_v}.tgz              _file=${_s}.gz
         fi          fi
   
           if [ ! -e ./${_file} ]; then
               echo $FTP_CMD ${FTP}/${_file}
               $FTP_CMD ${FTP}/${_file}
           fi
     done      done
   
     if [ ! -e MD5 ]; then      local _type
         echo $FTP_CMD ${FTP}/MD5      for _type in $CHECKSUM_TYPES; do
         $FTP_CMD ${FTP}/MD5          if [ ! -e $_type ]; then
     fi              echo $FTP_CMD ${FTP}/$_type
               $FTP_CMD ${FTP}/$_type
           fi
       done
 }  }
   
 check_md5() {  check_sum () {
     echo '### CHECKING MD5 ###'      local _type=$1
       echo "### CHECKING $_type SUMS ###"
     cd $RELEASEDIR      cd $RELEASEDIR
   
     if [ ! -e MD5 ]; then      if [ ! -e $_type ]; then
         echo MD5 File does not exist!          echo $_type File does not exist!
         return 1          return 1
     fi      fi
   
     ls bsd* *.tgz | sed -e 's/\(.*\)/(\1)/' > index      ls bsd* *gz | sed -e 's/\(.*\)/(\1)/' > index
     grep -f index MD5 | md5 -c      grep -f index $_type | sum -c
   
     if [ $? -ne 0 ]; then      if [ $? -ne 0 ]; then
         echo ERROR: MD5 does not match! >&2          echo ERROR: $_type does not match! >&2
         return 1          return 1
     fi      fi
 }  }
Line 200 
Line 214 
     echo '### CHECKING SETS ###'      echo '### CHECKING SETS ###'
     cd $RELEASEDIR      cd $RELEASEDIR
   
       local _missing_sets
     local _v=$FILE_VER      local _v=$FILE_VER
   
     for _b in `echo /bsd* bsd bsd.mp bsd.rd | sort -u`; do      for _b in `echo /bsd* bsd bsd.mp bsd.rd | sort -u`; do
Line 210 
Line 225 
         fi          fi
         if [ -e /${_b} -a ! -e ./${_n} ]; then          if [ -e /${_b} -a ! -e ./${_n} ]; then
             echo ${_n} does not exist              echo ${_n} does not exist
               _missing_sets=1
         fi          fi
     done      done
   
     for _s in $INSTALLED_SETS; do      for _s in $INSTALLED_SETS; do
         if [ ! -e ./${_s}${_v}.tgz ]; then          local _file=${_s}${_v}.tgz
             echo ${_s}${_v}.tgz does not exist          if [ ${_s} == sendmail-smtp_auth ]; then
               _file=${_s}.gz
         fi          fi
           if [ ! -e ./${_file} ]; then
               echo ${_file} does not exist
               _missing_sets=1
           fi
     done      done
   
     check_md5      if [ X"" == X"${_missing_sets}" ]; then
           echo All OK
       fi
   
       local _type
       for _type in $CHECKSUM_TYPES; do
           if [ -e $_type ]; then
               check_sum $_type
           fi
       done
 }  }
   
   
Line 253 
Line 283 
     fi      fi
   
     local _v=$FILE_VER      local _v=$FILE_VER
     if [ -e base${_v}.tgz ]; then  
         echo Extracting new firmware and ifconfig from base${_v}.tgz  
         $SUDO tar -C $DESTDIR -xzphf base${_v}.tgz \  
                 ./etc/firmware ./sbin/ifconfig  
     fi  
   
     $SUDO rm -f /obsd      $SUDO rm -f /obsd
     $SUDO ln /bsd /obsd      $SUDO ln /bsd /obsd
     if [ $? -ne 0 ]; then      if [ $? -ne 0 ]; then
         echo "Error copying old kernel!"          echo "Error copying old kernel!" >&2
         exit 1          exit 1
     fi      fi
   
Line 319 
Line 344 
   
     local _v=$FILE_VER      local _v=$FILE_VER
   
     for _f in *${_v}.tgz; do      if [ $CUR_VER != $NEW_VER -a ! -e /sbin/oreboot ]; then
           $SUDO cp /sbin/reboot /sbin/oreboot
           if [ $? -ne 0 ]; then
               echo "Error copying old reboot command!" >&2
               exit 1
           fi
           echo "/sbin/reboot copied to /sbin/oreboot"
       fi
   
       local _sets=`ls *${_v}.tgz | grep -v ^base `
       for _f in ${_sets} base${_v}.tgz; do
         _path=$DESTDIR          _path=$DESTDIR
         if [ X"etc${_v}.tgz"  == X"$_f" \          if [ X"etc${_v}.tgz"  == X"$_f" \
             -o X"xetc${_v}.tgz" == X"$_f" ]; then              -o X"xetc${_v}.tgz" == X"$_f" ]; then
             if [ X"" != X"$SYSMERGE" ]; then              [ X"" != X"$SYSMERGE" ] && continue
                 continue  
             fi  
             _path=/var/tmp/temproot              _path=/var/tmp/temproot
         fi          fi
   
Line 339 
Line 372 
     done      done
   
     echo Extracted all sets.      echo Extracted all sets.
   
       if [ -e ${RELEASEDIR}/sendmail-smtp_auth.gz ]; then
           gzcat ${RELEASEDIR}/sendmail-smtp_auth.gz > \
               ${RELEASEDIR}/sendmail-smtp_auth
       fi
       if [ -e ${RELEASEDIR}/sendmail-smtp_auth ]; then
           if ! pkg_info -qe 'cyrus-sasl-*'; then
               $SUDO pkg_add -i cyrus-sasl
           fi
   
           $SUDO install -o root -g smmsp -m 2555 \
               ${RELEASEDIR}/sendmail-smtp_auth \
               /usr/libexec/sendmail/sendmail
   
           echo Installed sendmail with smtp_auth
       fi
 }  }
   
 update_etc() {  update_etc() {
Line 392 
Line 441 
     fi      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 410 
Line 460 
   
 INSTALLED_SETS=${INSTALLED_SETS:=`installed_sets`}  INSTALLED_SETS=${INSTALLED_SETS:=`installed_sets`}
   
   CHECKSUM_TYPES=${CHECKSUM_TYPES:=SHA256 MD5}
   
 set_version  set_version
 local _error=$?  local _error=$?
   
Line 434 
Line 486 
 fi  fi
   
 if [ X"" != X"${FTP}" ]; then  if [ X"" != X"${FTP}" ]; then
     get_sets || exit      get_sets
 fi  fi
   
 check_sets || exit  check_sets || exit
Line 446 
Line 498 
 fi  fi
   
 install_kernel  install_kernel
   install_sets
   
 if [ $CUR_VER == $NEW_VER ]; then  if [ $CUR_VER == $NEW_VER ]; then
     install_sets      if [ -e /sbin/oreboot ]; then
           echo Removing /sbin/oreboot
           $SUDO rm -f /sbin/oreboot
       fi
     update_etc      update_etc
   
     echo '### UPDATING PACKAGES ###'      echo '### UPDATING PACKAGES ###'
Line 460 
Line 516 
 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

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.22

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