| version 1.53, 2013/11/09 21:58:26 |
version 1.54, 2013/12/28 02:55:28 |
|
|
| #!/bin/sh |
#!/bin/sh |
| # $AFresh1: update_openbsd,v 1.52 2013/10/20 00:26:35 andrew Exp $ |
# $AFresh1: update_openbsd,v 1.53 2013/11/09 21:58:26 andrew Exp $ |
| # |
# |
| # Copyright (c) 2012 Andrew Fresh <andrew@afresh1.com> |
# Copyright (c) 2012 Andrew Fresh <andrew@afresh1.com> |
| # |
# |
|
|
| } |
} |
| |
|
| get_sets() { |
get_sets() { |
| echo '### GETTING SETS ###' |
echo '==> GETTING SETS' |
| if [ X"" == X"$FTP" ]; then |
if [ X"" == X"$FTP" ]; then |
| echo ERROR: No FTP site set! >&2 |
echo ERROR: No FTP site set! >&2 |
| return 1 |
return 1 |
|
|
| |
|
| for _b in $INSTALL_KERNELS; do |
for _b in $INSTALL_KERNELS; do |
| if [ ! -e ./${_b} ]; then |
if [ ! -e ./${_b} ]; then |
| echo $FTP_CMD ${FTP}/${_b} |
echo "===> $FTP_CMD ${FTP}/${_b}" |
| $FTP_CMD ${FTP}/${_b} |
$FTP_CMD ${FTP}/${_b} |
| fi |
fi |
| done |
done |
|
|
| fi |
fi |
| |
|
| if [ ! -e ./${_file} ]; then |
if [ ! -e ./${_file} ]; then |
| echo $FTP_CMD ${FTP}/${_file} |
echo "===> $FTP_CMD ${FTP}/${_file}" |
| $FTP_CMD ${FTP}/${_file} |
$FTP_CMD ${FTP}/${_file} |
| fi |
fi |
| done |
done |
|
|
| local _type |
local _type |
| for _type in $CHECKSUM_TYPES; do |
for _type in $CHECKSUM_TYPES; do |
| [ -e $_type ] && break |
[ -e $_type ] && break |
| echo $FTP_CMD ${FTP}/$_type |
echo "===> $FTP_CMD ${FTP}/$_type" |
| $FTP_CMD ${FTP}/$_type |
$FTP_CMD ${FTP}/$_type |
| done |
done |
| } |
} |
|
|
| |
|
| check_sum () { |
check_sum () { |
| local _type=$1 |
local _type=$1 |
| echo "### CHECKING $_type SUMS ###" |
echo "==> CHECKING $_type SUMS" |
| cd $RELEASEDIR |
cd $RELEASEDIR |
| |
|
| if [ ! -e $_type ]; then |
if [ ! -e $_type ]; then |
|
|
| fi |
fi |
| |
|
| ls bsd* *gz | sed -e 's/\(.*\)/(\1)/' > index |
ls bsd* *gz | sed -e 's/\(.*\)/(\1)/' > index |
| grep -f index $_type | sum -c |
grep -f index $_type | sum -c |
| |
|
| if [ $? -ne 0 ]; then |
if [ $? -ne 0 ]; then |
| echo ERROR: $_type does not match! >&2 |
echo ERROR: $_type does not match! >&2 |
|
|
| } |
} |
| |
|
| check_sets() { |
check_sets() { |
| echo '### CHECKING SETS ###' |
echo '==> CHECKING SETS' |
| cd $RELEASEDIR |
cd $RELEASEDIR |
| |
|
| local _missing_sets |
local _missing_sets |
|
|
| done |
done |
| |
|
| if [ X"" == X"${_missing_sets}" ]; then |
if [ X"" == X"${_missing_sets}" ]; then |
| echo All OK |
echo '===> All OK' |
| fi |
fi |
| |
|
| local _type |
local _type |
|
|
| |
|
| |
|
| install_kernels() { |
install_kernels() { |
| 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 |
| echo ${0##*/} must be run as root or SUDO must be set! >&2 |
echo ${0##*/} must be run as root or SUDO must be set! >&2 |
| exit 1 |
exit 1 |
|
|
| fi |
fi |
| |
|
| if [ X"$BOOT_KERNEL_VERSION" != X"$NEW_KERNEL_VERSION" ]; then |
if [ X"$BOOT_KERNEL_VERSION" != X"$NEW_KERNEL_VERSION" ]; then |
| echo "Backing up $BOOT_KERNEL to /obsd" |
echo "===> Backing up $BOOT_KERNEL to /obsd" |
| $SUDO ln -f $BOOT_KERNEL /obsd |
$SUDO ln -f $BOOT_KERNEL /obsd |
| if [ $? -ne 0 ]; then |
if [ $? -ne 0 ]; then |
| echo "Error copying old kernel!" >&2 |
echo "Error copying old kernel!" >&2 |
|
|
| local _is_boot="" |
local _is_boot="" |
| [ X"$BOOT_KERNEL" == X"/${_bd}" ] && _is_boot="# boot kernel" |
[ X"$BOOT_KERNEL" == X"/${_bd}" ] && _is_boot="# boot kernel" |
| |
|
| echo "Copying $_b to /$_bd $_is_boot" |
echo "===> Copying $_b to /$_bd $_is_boot" |
| $SUDO cp ${_b} /nbsd && $SUDO mv /nbsd /${_bd} |
$SUDO cp ${_b} /nbsd && $SUDO mv /nbsd /${_bd} |
| if [ $? -ne 0 ]; then |
if [ $? -ne 0 ]; then |
| echo ERROR: Could not copy new $_bd kernel! >&2 |
echo ERROR: Could not copy new $_bd kernel! >&2 |
|
|
| for _b in $BOOT_KERNELS; do |
for _b in $BOOT_KERNELS; do |
| [ X"$_b" == X"bsd" ] && _b="bsd.sp" |
[ X"$_b" == X"bsd" ] && _b="bsd.sp" |
| if [ -e $_b ]; then |
if [ -e $_b ]; then |
| echo symlinking $_b to /bsd |
echo "===> symlinking $_b to /bsd" |
| $SUDO ln -sf $_b bsd |
$SUDO ln -sf $_b bsd |
| if [ $? -ne 0 ]; then |
if [ $? -ne 0 ]; then |
| echo ERROR: Could not symlink new kernel! >&2 |
echo ERROR: Could not symlink new kernel! >&2 |
|
|
| } |
} |
| |
|
| install_sets() { |
install_sets() { |
| echo '### INSTALLING SETS ###' |
echo '==> INSTALLING SETS' |
| if [ X"$USER" != X"root" -a X"$SUDO" == X"" ]; then |
if [ X"$USER" != X"root" -a X"$SUDO" == X"" ]; then |
| echo ${0##*/} must be run as root or SUDO must be set! >&2 |
echo ${0##*/} must be run as root or SUDO must be set! >&2 |
| exit 1 |
exit 1 |
|
|
| _path=/var/tmp/temproot |
_path=/var/tmp/temproot |
| fi |
fi |
| |
|
| echo Extracting $_f to $_path |
echo "===> Extracting $_f to $_path" |
| $SUDO mkdir -p $_path |
$SUDO mkdir -p $_path |
| $SUDO tar -C $_path -xzphf ${RELEASEDIR}/${_f} |
$SUDO tar -C $_path -xzphf ${RELEASEDIR}/${_f} |
| if [ $? -ne 0 ]; then |
if [ $? -ne 0 ]; then |
|
|
| fi |
fi |
| done |
done |
| |
|
| echo Extracted all sets. |
echo '===> Extracted all sets.' |
| } |
} |
| |
|
| install_sendmail_smtp_auth() { |
install_sendmail_smtp_auth() { |
|
|
| ${RELEASEDIR}/sendmail-smtp_auth \ |
${RELEASEDIR}/sendmail-smtp_auth \ |
| /usr/libexec/sendmail/sendmail |
/usr/libexec/sendmail/sendmail |
| |
|
| echo Installed sendmail with smtp_auth |
echo '===> Installed sendmail with smtp_auth' |
| fi |
fi |
| } |
} |
| |
|
| update_etc() { |
update_etc() { |
| echo '### UPDATING ETC ###' |
echo '==> UPDATING ETC' |
| if [ ! -e $SYSMERGE ]; then |
if [ ! -e $SYSMERGE ]; then |
| echo "ERROR: Can't find sysmerge!" >&2 |
echo "ERROR: Can't find sysmerge!" >&2 |
| exit 1; |
exit 1; |
|
|
| if [ X"" == X"$_args" ]; then |
if [ X"" == X"$_args" ]; then |
| echo ERROR: No upgrade sets found! >&2 |
echo ERROR: No upgrade sets found! >&2 |
| else |
else |
| echo '### RUNNING SYSMERGE ###' |
echo '==> RUNNING SYSMERGE' |
| $SUDO $SYSMERGE $_args |
$SUDO $SYSMERGE $_args |
| fi |
fi |
| |
|
|
|
| |
|
| check_sets || exit |
check_sets || exit |
| |
|
| echo "Last booted:\n$BOOTED_KERNEL_VERSION" |
echo "===> Last booted:\n$BOOTED_KERNEL_VERSION" |
| if [ X"$BOOT_KERNEL_VERSION" != X"$BOOTED_KERNEL_VERSION" \ |
if [ X"$BOOT_KERNEL_VERSION" != X"$BOOTED_KERNEL_VERSION" \ |
| -a X"$BOOT_KERNEL_VERSION" != X"$NEW_KERNEL_VERSION" ]; then |
-a X"$BOOT_KERNEL_VERSION" != X"$NEW_KERNEL_VERSION" ]; then |
| echo "Next boot (unless replaced):\n$BOOT_KERNEL_VERSION" |
echo "Next boot (unless replaced):\n$BOOT_KERNEL_VERSION" |
| fi |
fi |
| if [ -n "$NEW_KERNEL_VERSION" ]; then |
if [ -n "$NEW_KERNEL_VERSION" ]; then |
| echo "New $BOOT_KERNEL:\n$NEW_KERNEL_VERSION"; |
echo "===> New $BOOT_KERNEL:\n$NEW_KERNEL_VERSION"; |
| else |
else |
| echo "\n!!! WARNING: Will not replace boot kernel $BOOT_KERNEL! !!!\n" >&2 |
echo "\n!!! WARNING: Will not replace boot kernel $BOOT_KERNEL! !!!\n" >&2 |
| echo "ctrl+C to cancel, enter to continue anyway" >&2 |
echo "ctrl+C to cancel, enter to continue anyway" >&2 |
|
|
| fi |
fi |
| update_etc |
update_etc |
| |
|
| echo '### UPDATING PACKAGES ###' |
echo '==> UPDATING PACKAGES' |
| $SUDO pkg_add -ui -F update -F updatedepends |
$SUDO pkg_add -ui -F update -F updatedepends |
| |
|
| else |
else |