version 1.66, 2014/02/01 22:07:04 |
version 1.72, 2015/01/18 03:41:33 |
|
|
#!/bin/sh |
#!/bin/sh |
# $AFresh1: update_openbsd,v 1.65 2014/02/01 19:13:53 andrew Exp $ |
# $AFresh1: update_openbsd,v 1.71 2015/01/18 03:01:08 andrew Exp $ |
# |
# |
# Copyright (c) 2012 Andrew Fresh <andrew@afresh1.com> |
# Copyright (c) 2012 Andrew Fresh <andrew@afresh1.com> |
# |
# |
|
|
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} |
|
else |
|
echo "===> Have ${_b}" |
fi |
fi |
|
kernel_file_version "${_b}" |
done |
done |
|
|
for _s in $INSTALLED_SETS; do |
for _s in $INSTALLED_SETS; do |
|
[ "$_v" -ge "57" -a "$_s" != "${_s%etc}" ] && continue |
local _file=${_s}${_v}.tgz |
local _file=${_s}${_v}.tgz |
if [ ${_s} == sendmail-smtp_auth ]; then |
if [ ${_s} == sendmail-smtp_auth ]; then |
_file=${_s}.gz |
_file=${_s}.gz |
|
|
|
|
local _nv=`echo $NEW_VER | sed -e 's/\.//'` |
local _nv=`echo $NEW_VER | sed -e 's/\.//'` |
local _signify=`which signify 2>/dev/null` |
local _signify=`which signify 2>/dev/null` |
local _keyfile=/etc/signify/${_nv}base.pub |
local _keyfile=/etc/signify/openbsd-${_nv}-base.pub |
local _b _s |
local _b _s |
|
|
( |
( |
|
|
echo "key [$_keyfile] does not exist, cannot check $_type" >&2 |
echo "key [$_keyfile] does not exist, cannot check $_type" >&2 |
return 2 |
return 2 |
fi |
fi |
signify -V -e -p $_keyfile -x $_type -m - | grep -f index | sum -c - |
signify -V -e -p $_keyfile -x $_type -m - | grep -f index | sha256 -c - |
else |
else |
grep -f index $_type | sum -c |
grep -f index $_type | sum -c |
fi |
fi |
|
|
fi |
fi |
|
|
for _s in $INSTALLED_SETS; do |
for _s in $INSTALLED_SETS; do |
|
[ "$_v" -ge "57" -a "$_s" != "${_s%etc}" ] && continue |
local _file=${_s}${_v}.tgz |
local _file=${_s}${_v}.tgz |
if [ ${_s} == sendmail-smtp_auth ]; then |
if [ ${_s} == sendmail-smtp_auth ]; then |
_file=${_s}.gz |
_file=${_s}.gz |
|
|
exit 1; |
exit 1; |
fi |
fi |
|
|
if [ X"" == X"$RELEASEDIR" ]; then |
|
echo "ERROR: no source for etc!" >&2 |
|
exit 1 |
|
fi |
|
|
|
cd $RELEASEDIR |
|
|
|
local _v=$FILE_VER |
local _v=$FILE_VER |
local _args="" |
local _args="" |
if [ -e etc${_v}.tgz ]; then |
|
_args="$_args -s ${RELEASEDIR}/etc${_v}.tgz" |
if [ ! -e /usr/share/sysmerge/etc.tgz ]; then |
|
if [ X"" == X"$RELEASEDIR" ]; then |
|
echo "ERROR: no source for etc!" >&2 |
|
exit 1 |
|
fi |
|
|
|
cd $RELEASEDIR |
|
|
|
if [ -e etc${_v}.tgz ]; then |
|
_args="$_args -s ${RELEASEDIR}/etc${_v}.tgz" |
|
fi |
|
if [ -e xetc${_v}.tgz ]; then |
|
_args="$_args -x ${RELEASEDIR}/xetc${_v}.tgz" |
|
fi |
|
if [ X"" == X"$_args" ]; then |
|
echo ERROR: No upgrade sets found! >&2 |
|
exit 1 |
|
fi |
fi |
fi |
if [ -e xetc${_v}.tgz ]; then |
|
_args="$_args -x ${RELEASEDIR}/xetc${_v}.tgz" |
|
fi |
|
if [ X"" == X"$_args" ]; then |
|
echo ERROR: No upgrade sets found! >&2 |
|
else |
|
echo '==> RUNNING SYSMERGE' |
|
$SYSMERGE $_args |
|
fi |
|
|
|
|
echo '==> RUNNING SYSMERGE' |
|
$SYSMERGE $_args |
|
|
cd $OLDPWD |
cd $OLDPWD |
} |
} |
|
|
|
|
#echo " FILE_VER: $FILE_VER" |
#echo " FILE_VER: $FILE_VER" |
echo |
echo |
|
|
|
for k in $INSTALL_KERNELS; do |
|
if [ -e "/$k" ]; then |
|
echo "Existing $k" |
|
kernel_file_version "/$k" |
|
fi |
|
done |
|
|
if [ ${_error} -ne 0 ]; then |
if [ ${_error} -ne 0 ]; then |
exit ${_error} |
exit ${_error} |
fi |
fi |
|
|
|
|
if [ -e /sbin/oreboot ]; then |
if [ -e /sbin/oreboot ]; then |
echo Removing /sbin/oreboot |
echo Removing /sbin/oreboot |
$rm -f /sbin/oreboot |
rm -f /sbin/oreboot |
fi |
fi |
update_etc |
update_etc |
|
|
echo '==> UPDATING PACKAGES' |
echo '==> UPDATING PACKAGES' |
pkg_add -ui -F update -F updatedepends |
pkg_add -ui -F update -F updatedepends |
|
|
|
echo '==> UPDATING FIRMWARE' |
|
fw_update |
|
|
else |
else |
echo Instructions for updating to the new version available from |
echo Instructions for updating to the new version available from |