[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.9 and 1.10

version 1.9, 2008/10/31 02:36:33 version 1.10, 2008/11/05 17:07:58
Line 1 
Line 1 
 #!/bin/sh  #!/bin/sh
 # $RedRiver: update_openbsd,v 1.8 2008/10/13 18:31:49 andrew Exp $  # $RedRiver: update_openbsd,v 1.9 2008/10/31 01:36:33 andrew Exp $
   
 if [ -e /etc/update_openbsd.conf ]; then  if [ -e /etc/update_openbsd.conf ]; then
     . /etc/update_openbsd.conf      . /etc/update_openbsd.conf
Line 15 
Line 15 
   
 DESTDIR=${DESTDIR:=/}  DESTDIR=${DESTDIR:=/}
 SYSMERGE=${SYSMERGE:=/usr/sbin/sysmerge}  SYSMERGE=${SYSMERGE:=/usr/sbin/sysmerge}
 if [ ! -e $SYSMERGE ]; then  FORCE_DIR=${FORCE_DIR:=No}
     SYSMERGE=  
 fi  
   
 installed_sets() {  installed_sets() {
     local misc=/usr/share/doc/README      local misc=/usr/share/doc/README
Line 44 
Line 42 
 }  }
 INSTALLED_SETS=${INSTALLED_SETS:=`installed_sets`}  INSTALLED_SETS=${INSTALLED_SETS:=`installed_sets`}
   
   sets_exist () {
           local _proto=${FTP%%://*}
   
           if [ X"ftp" == X"${_proto}" ]; then
               echo "ls base*.tgz" | ${FTP_CMD} ${FTP}/ | awk '{ print $9 }'
           elif [ X"http" == X"${_proto}" ]; then
               ${FTP_CMD} -V -o - ${FTP}/ | grep '"base[0-9][0-9].tgz' | sed -e 's/.*\(base..\.tgz\).*/\1/'
           else
               echo Unsupported FTP ${FTP} >&2
               exit 2
           fi
   }
   
 set_version() {  set_version() {
     CUR_VER=`uname -r`      CUR_VER=`uname -r`
     NEW_VER=`dc -e "$CUR_VER 0.1 + p"`      NEW_VER=`dc -e "$CUR_VER 0.1 + p"`
Line 55 
Line 65 
     local _nv=`echo $NEW_VER | sed -e 's/\.//'`      local _nv=`echo $NEW_VER | sed -e 's/\.//'`
     local _v      local _v
   
     if [ X"" != X"$FORCE_DIR" -a -d $FORCE_DIR ]; then      if [ X"No" != X"$FORCE_DIR" -a -d $FORCE_DIR ]; then
         _dir=$FORCE_DIR          _dir=$FORCE_DIR
         if [ -e ${_dir}/base${_nv}.tgz ]; then          if [ -e ${_dir}/base${_nv}.tgz ]; then
             _v=$_nv              _v=$_nv
Line 80 
Line 90 
     fi      fi
   
     if [ X"" == X"${_v}" ]; then      if [ X"" == X"${_v}" ]; then
         if [ X"" == X"${FORCE_DIR}" ]; then          if [ X"No" == X"${FORCE_DIR}" ]; then
             _dir=${NEW_VER}              _dir=${NEW_VER}
         else          else
             _dir=${FORCE_DIR}              _dir=${FORCE_DIR}
         fi          fi
         FTP=${MIRROR}/${_dir}/`machine`          FTP=${MIRROR}/${_dir}/`machine`
         local _proto=${FTP%%://*}  
   
         if [ X"ftp" == X"${_proto}" ]; then          _file=`sets_exist`
             _file=`echo "ls base*.tgz" | ${FTP_CMD} ${FTP}/ | awk '{ print $9 }'`  
         elif [ X"http" == X"${_proto}" ]; then          if [ X"" == X"${_file}" ]; then
             _file=`${FTP_CMD} -V -o - ${FTP}/ | grep '"base[0-9][0-9].tgz' | sed -e 's/.*\(base..\.tgz\).*/\1/'`              if [ X"No" != X"$FORCE_DIR" ]; then
         else                  echo No sets in forced [${FTP}] >&2
             echo Unsupported FTP ${FTP} >&2                  exit 2
             exit 2              fi
   
               NEW_VER=$CUR_VER
               _dir=${NEW_VER}
               FTP=${MIRROR}/${_dir}/`machine`
   
               _file=`sets_exist`
               if [ X"" == X"${_file}" ]; then
                   echo No sets in [${FTP}] >&2
                   exit 2
               fi
         fi          fi
   
         _v=${_file##base}          _v=${_file##*base}
         _v=${_v%%.tgz}          _v=${_v%.tgz*}
   
         if [ X"${_cv}" == X"${_v}" ]; then          if [ X"" == X"${_v}" ]; then
               echo No version in file [$_file] >&2
               exit 2
           elif [ X"${_cv}" == X"${_v}" ]; then
             NEW_VER=$CUR_VER              NEW_VER=$CUR_VER
         elif [ X"${_nv}" == X"${_v}" ]; then          elif [ X"${_nv}" == X"${_v}" ]; then
             NEW_VER=$NEW_VER              NEW_VER=$NEW_VER
         else          else
             echo Invalid version $_v >&2              echo Invalid version [$_v] >&2
             exit 2              exit 2
         fi          fi
   
         if [ X"" == X"$FORCE_DIR" ]; then          if [ X"No" == X"$FORCE_DIR" ]; then
             _dir=$NEW_VER              _dir=$NEW_VER
         fi          fi
   
Line 287 
Line 309 
   
 update_etc() {  update_etc() {
     echo '### UPDATING ETC ###'      echo '### UPDATING ETC ###'
       if [ ! -e $SYSMERGE ]; then
           SYSMERGE=
       fi
   
     if [ X"" == X"$SYSMERGE" ]; then      if [ X"" == X"$SYSMERGE" ]; then
         if [ -e /var/tmp/temproot ]; then          if [ -e /var/tmp/temproot ]; then
             MERGEMASTER=`which mergemaster`              MERGEMASTER=`which mergemaster`

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

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