=================================================================== RCS file: /cvs/openbsd/update_openbsd/update_openbsd,v retrieving revision 1.18 retrieving revision 1.20 diff -u -r1.18 -r1.20 --- openbsd/update_openbsd/update_openbsd 2009/01/14 18:13:23 1.18 +++ openbsd/update_openbsd/update_openbsd 2009/04/25 01:14:12 1.20 @@ -1,5 +1,5 @@ #!/bin/sh -# $RedRiver: update_openbsd,v 1.17 2009/01/14 17:58:40 andrew Exp $ +# $RedRiver: update_openbsd,v 1.19 2009/03/14 01:09:23 andrew Exp $ installed_sets() { local misc=/usr/share/doc/README @@ -23,6 +23,11 @@ echo -n " $_d" fi done + + sendmail -d0.1 root < /dev/null | grep -q SASL + if [ $? == 0 ]; then + echo -n ' sendmail-smtp_auth' + fi } version_in() { @@ -166,32 +171,41 @@ done for _s in $INSTALLED_SETS; do - if [ ! -e ./${_s}${_v}.tgz ]; then - echo $FTP_CMD ${FTP}/${_s}${_v}.tgz - $FTP_CMD ${FTP}/${_s}${_v}.tgz + local _file=${_s}${_v}.tgz + if [ ${_s} == sendmail-smtp_auth ]; then + _file=${_s}.gz fi + + if [ ! -e ./${_file} ]; then + echo $FTP_CMD ${FTP}/${_file} + $FTP_CMD ${FTP}/${_file} + fi done - if [ ! -e MD5 ]; then - echo $FTP_CMD ${FTP}/MD5 - $FTP_CMD ${FTP}/MD5 - fi + local _type + for _type in $CHECKSUM_TYPES; do + if [ ! -e $_type ]; then + echo $FTP_CMD ${FTP}/$_type + $FTP_CMD ${FTP}/$_type + fi + done } -check_md5() { - echo '### CHECKING MD5 ###' +check_sum () { + local _type=$1 + echo "### CHECKING $_type SUMS ###" cd $RELEASEDIR - if [ ! -e MD5 ]; then - echo MD5 File does not exist! + if [ ! -e $_type ]; then + echo $_type File does not exist! return 1 fi - ls bsd* *.tgz | sed -e 's/\(.*\)/(\1)/' > index - grep -f index MD5 | md5 -c + ls bsd* *gz | sed -e 's/\(.*\)/(\1)/' > index + grep -f index $_type | sum -c if [ $? -ne 0 ]; then - echo ERROR: MD5 does not match! >&2 + echo ERROR: $_type does not match! >&2 return 1 fi } @@ -216,8 +230,12 @@ done for _s in $INSTALLED_SETS; do - if [ ! -e ./${_s}${_v}.tgz ]; then - echo ${_s}${_v}.tgz does not exist + local _file=${_s}${_v}.tgz + if [ ${_s} == sendmail-smtp_auth ]; then + _file=${_s}.gz + fi + if [ ! -e ./${_file} ]; then + echo ${_file} does not exist _missing_sets=1 fi done @@ -226,7 +244,12 @@ echo All OK fi - check_md5 + local _type + for _type in $CHECKSUM_TYPES; do + if [ -e $_type ]; then + check_sum $_type + fi + done } @@ -346,6 +369,18 @@ done 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 + install -o root -g smmsp -m 2555 \ + ${RELEASEDIR}/sendmail-smtp_auth \ + /usr/local/libexec/sendmail/sendmail + + echo Installed sendmail with smtp_auth + fi } update_etc() { @@ -399,6 +434,7 @@ fi } + if [ -e /etc/update_openbsd.conf ]; then . /etc/update_openbsd.conf fi @@ -417,6 +453,8 @@ INSTALLED_SETS=${INSTALLED_SETS:=`installed_sets`} +CHECKSUM_TYPES=${CHECKSUM_TYPE:=SHA256 MD5} + set_version local _error=$? @@ -441,7 +479,7 @@ fi if [ X"" != X"${FTP}" ]; then - get_sets || exit + get_sets fi check_sets || exit