| version 1.16, 2009/01/13 21:47:49 |
version 1.19, 2009/03/14 02:09:23 |
|
|
| #!/bin/sh |
#!/bin/sh |
| # $RedRiver: update_openbsd,v 1.15 2008/11/19 23:02:38 andrew Exp $ |
# $RedRiver: update_openbsd,v 1.18 2009/01/14 18:13:23 andrew Exp $ |
| |
|
| installed_sets() { |
installed_sets() { |
| local misc=/usr/share/doc/README |
local misc=/usr/share/doc/README |
|
|
| 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() { |
|
|
| |
|
| fi |
fi |
| |
|
| if [ X"" == X"${_v}" ]; then |
if [ X"" != X"${MIRROR}" -a X"" == X"${_v}" ]; then |
| if [ X"No" == X"${FORCE_DIR}" ]; then |
if [ X"No" == X"${FORCE_DIR}" ]; then |
| _dir=${NEW_VER} |
_dir=${NEW_VER} |
| else |
else |
|
|
| fi |
fi |
| |
|
| FILE_VER=$_v |
FILE_VER=$_v |
| FTP=${MIRROR}/${_dir}/`machine` |
if [ X"" != X"${MIRROR}" ]; then |
| |
FTP=${MIRROR}/${_dir}/`machine` |
| |
fi |
| } |
} |
| |
|
| get_sets() { |
get_sets() { |
|
|
| 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 |
if [ ! -e MD5 ]; then |
| echo $FTP_CMD ${FTP}/MD5 |
echo $FTP_CMD ${FTP}/MD5 |
| $FTP_CMD ${FTP}/MD5 |
$FTP_CMD ${FTP}/MD5 |
| fi |
fi |
| |
} |
| |
|
| ls bsd* *.tgz | sed -e 's/\(.*\)/(\1)/' > index |
check_md5() { |
| |
echo '### CHECKING MD5 ###' |
| |
cd $RELEASEDIR |
| |
|
| |
if [ ! -e MD5 ]; then |
| |
echo MD5 File does not exist! |
| |
return 1 |
| |
fi |
| |
|
| |
ls bsd* *gz | sed -e 's/\(.*\)/(\1)/' > index |
| grep -f index MD5 | md5 -c |
grep -f index MD5 | md5 -c |
| |
|
| if [ $? -ne 0 ]; then |
if [ $? -ne 0 ]; then |
|
|
| fi |
fi |
| } |
} |
| |
|
| |
check_sets() { |
| |
echo '### CHECKING SETS ###' |
| |
cd $RELEASEDIR |
| |
|
| |
local _missing_sets |
| |
local _v=$FILE_VER |
| |
|
| |
for _b in `echo /bsd* bsd bsd.mp bsd.rd | sort -u`; do |
| |
_b=${_b#/} |
| |
local _n=$_b |
| |
if [ X"bsd.sp" == X"${_n}" ]; then |
| |
_n=bsd |
| |
fi |
| |
if [ -e /${_b} -a ! -e ./${_n} ]; then |
| |
echo ${_n} does not exist |
| |
_missing_sets=1 |
| |
fi |
| |
done |
| |
|
| |
for _s in $INSTALLED_SETS; do |
| |
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 |
| |
|
| |
if [ X"" == X"${_missing_sets}" ]; then |
| |
echo All OK |
| |
fi |
| |
|
| |
check_md5 |
| |
} |
| |
|
| |
|
| install_kernel() { |
install_kernel() { |
| echo '### INSTALLING KERNEL ###' |
echo '### INSTALLING KERNEL ###' |
| if [ X"$USER" != X"root" -a X"$SUDO" == X"" ]; then |
if [ X"$USER" != X"root" -a X"$SUDO" == X"" ]; then |
|
|
| 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 |
| |
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() { |
update_etc() { |
|
|
| . ${HOME}/.update_openbsdrc |
. ${HOME}/.update_openbsdrc |
| fi |
fi |
| |
|
| MIRROR=${MIRROR:=ftp://ftp.openbsd.org/pub/OpenBSD} |
#MIRROR=${MIRROR:=ftp://ftp.openbsd.org/pub/OpenBSD} |
| FTP_CMD=${FTP_CMD:=ftp -V} |
FTP_CMD=${FTP_CMD:=ftp -V} |
| PKG_PATH=${PKG_PATH:=/usr/ports/packages/`machine`/all/:${MIRROR}/`uname -r`/packages/`machine`/} |
PKG_PATH=${PKG_PATH:=/usr/ports/packages/`machine`/all/:${MIRROR}/`uname -r`/packages/`machine`/} |
| |
|
|
|
| exit ${_error} |
exit ${_error} |
| fi |
fi |
| |
|
| get_sets |
if [ X"" != X"${FTP}" ]; then |
| |
get_sets || exit |
| |
fi |
| |
|
| |
check_sets || exit |
| |
|
| if [ X"" != X"$SUDO" ]; then |
if [ X"" != X"$SUDO" ]; then |
| echo Please enter your sudo password if prompted. |
echo Please enter your sudo password if prompted. |