version 1.46, 2012/12/16 03:29:02 |
version 1.48, 2013/01/26 18:13:03 |
|
|
#!/bin/sh |
#!/bin/sh |
# $AFresh1: update_openbsd,v 1.45 2012/12/16 01:56:46 andrew Exp $ |
# $AFresh1: update_openbsd,v 1.47 2012/12/16 06:56:15 andrew Exp $ |
# |
# |
# Copyright (c) 2012 Andrew Fresh <andrew@afresh1.com> |
# Copyright (c) 2012 Andrew Fresh <andrew@afresh1.com> |
# |
# |
|
|
|
|
# We want to default to what we had |
# We want to default to what we had |
INSTALL_KERNELS="${BOOT_KERNEL#/}" |
INSTALL_KERNELS="${BOOT_KERNEL#/}" |
|
# if the boot kernel was our specially named bsd.sp, we install from bsd |
|
if [ X"$INSTALL_KERNELS" == X"bsd.sp" ]; then |
|
INSTALL_KERNELS="bsd" |
|
fi |
# with a second option of an mp kernel if is is a likely candidate |
# with a second option of an mp kernel if is is a likely candidate |
if [ X"$INSTALL_KERNELS" != X"bsd.mp" ]; then |
if [ X"$INSTALL_KERNELS" != X"bsd.mp" ]; then |
local _ncpu=$(sysctl -n hw.ncpufound) |
local _ncpu=$(sysctl -n hw.ncpufound) |
|
|
update_etc() { |
update_etc() { |
echo '### UPDATING ETC ###' |
echo '### UPDATING ETC ###' |
if [ ! -e $SYSMERGE ]; then |
if [ ! -e $SYSMERGE ]; then |
SYSMERGE= |
echo "ERROR: Can't find sysmerge!" >&2 |
|
exit 1; |
fi |
fi |
|
|
if [ X"" == X"$SYSMERGE" ]; then |
if [ X"" == X"$RELEASEDIR" ]; then |
if [ -e /var/tmp/temproot ]; then |
echo "ERROR: no source for etc!" >&2 |
MERGEMASTER=`which mergemaster` |
exit 1 |
|
fi |
|
|
if [ $? != 0 ]; then |
cd $RELEASEDIR |
$SUDO pkg_add -i mergemaster |
|
|
|
MERGEMASTER=`which mergemaster` |
local _v=$FILE_VER |
if [ $? != 0 ]; then |
local _args="" |
echo ERROR: mergemaster not installed! >&2 |
if [ -e etc${_v}.tgz ]; then |
exit 1 |
_args="$_args -s etc${_v}.tgz" |
fi |
fi |
fi |
if [ -e xetc${_v}.tgz ]; then |
|
_args="$_args -x xetc${_v}.tgz" |
echo '### RUNNING MERGEMASTER ###' |
fi |
$SUDO $MERGEMASTER -irv |
if [ X"" == X"$_args" ]; then |
else |
echo ERROR: No upgrade sets found! >&2 |
echo "ERROR: no source for etc!" >&2 |
|
exit 1 |
|
fi |
|
else |
else |
if [ X"" == X"$RELEASEDIR" ]; then |
echo '### RUNNING SYSMERGE ###' |
echo "ERROR: no source for etc!" >&2 |
$SUDO $SYSMERGE $_args |
exit 1 |
|
else |
|
cd $RELEASEDIR |
|
fi |
|
|
|
local _v=$FILE_VER |
|
local _args="" |
|
if [ -e etc${_v}.tgz ]; then |
|
_args="$_args -s etc${_v}.tgz" |
|
fi |
|
if [ -e xetc${_v}.tgz ]; then |
|
_args="$_args -x xetc${_v}.tgz" |
|
fi |
|
if [ X"" == X"$_args" ]; then |
|
echo ERROR: No upgrade sets found! >&2 |
|
else |
|
echo '### RUNNING SYSMERGE ###' |
|
if sysmerge 2>&1 | grep -- -a >/dev/null; then |
|
_args="-a $_args" |
|
fi |
|
$SUDO $SYSMERGE $_args |
|
fi |
|
fi |
fi |
|
|
|
cd $OLDPWD |
} |
} |
|
|
|
|