=================================================================== RCS file: /cvs/openbsd/update_openbsd/update_openbsd,v retrieving revision 1.12 retrieving revision 1.15 diff -u -r1.12 -r1.15 --- openbsd/update_openbsd/update_openbsd 2008/11/12 06:07:42 1.12 +++ openbsd/update_openbsd/update_openbsd 2008/11/19 23:02:38 1.15 @@ -1,22 +1,6 @@ #!/bin/sh -# $RedRiver: update_openbsd,v 1.11 2008/11/09 07:22:52 andrew Exp $ +# $RedRiver: update_openbsd,v 1.14 2008/11/19 22:38:00 andrew Exp $ -if [ -e /etc/update_openbsd.conf ]; then - . /etc/update_openbsd.conf -fi - -if [ -e ${HOME}/.update_openbsdrc ]; then - . ${HOME}/.update_openbsdrc -fi - -MIRROR=${MIRROR:=ftp://ftp.openbsd.org/pub/OpenBSD} -FTP_CMD=${FTP_CMD:=ftp -V} -PKG_PATH=${PKG_PATH:=/usr/ports/packages/`machine`/all/:${MIRROR}/`uname -r`/packages/`machine`/} - -DESTDIR=${DESTDIR:=/} -SYSMERGE=${SYSMERGE:=/usr/sbin/sysmerge} -FORCE_DIR=${FORCE_DIR:=No} - installed_sets() { local misc=/usr/share/doc/README local man=/usr/share/man/cat1/intro.0 @@ -40,18 +24,29 @@ fi done } -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/' + ${FTP_CMD} -V -o - ${FTP}/ | + awk '/[^x]base[0-9][0-9]*\.tgz/ { + sub("^.*base","base"); + sub("\.tgz.*",".tgz"); + print $0; + }' + + elif [ X"scp" == X"${_proto}" ]; then + echo SCP is not yet supported >&2 + return 2 + else echo Unsupported FTP ${FTP} >&2 return 2 + fi } @@ -221,8 +216,9 @@ local _v=$FILE_VER if [ -e base${_v}.tgz ]; then - echo Extracting new firmware from base${_v}.tgz - $SUDO tar -C $DESTDIR -xzphf base${_v}.tgz "*etc/firmware/*" + 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 @@ -357,6 +353,24 @@ fi fi } + +if [ -e /etc/update_openbsd.conf ]; then + . /etc/update_openbsd.conf +fi + +if [ -e ${HOME}/.update_openbsdrc ]; then + . ${HOME}/.update_openbsdrc +fi + +MIRROR=${MIRROR:=ftp://ftp.openbsd.org/pub/OpenBSD} +FTP_CMD=${FTP_CMD:=ftp -V} +PKG_PATH=${PKG_PATH:=/usr/ports/packages/`machine`/all/:${MIRROR}/`uname -r`/packages/`machine`/} + +DESTDIR=${DESTDIR:=/} +SYSMERGE=${SYSMERGE:=/usr/sbin/sysmerge} +FORCE_DIR=${FORCE_DIR:=No} + +INSTALLED_SETS=${INSTALLED_SETS:=`installed_sets`} set_version local _error=$?