forked from mirrors/openup
Move some stuffs around: we want all sanity checks to run first before creating any temp files or anything.
Simplify some stuffs and rename a temp file.
This commit is contained in:
parent
2ee5d0e3d8
commit
824106a288
1 changed files with 27 additions and 29 deletions
60
openup
60
openup
|
|
@ -30,34 +30,38 @@ PKG_CERT_REGEX='M:Tier Ltd. OpenBSD Stable Updates'
|
|||
|
||||
# DO NOT MODIFY ANYTHING BELOW THIS LINE!!!
|
||||
|
||||
OPENUP_VERSION=1
|
||||
OPENUP_MINREL=53
|
||||
MEESA=$(readlink -f $0)
|
||||
TMPDIR="${TMPDIR:=/tmp}"
|
||||
|
||||
# magic taken from fw_update(1)
|
||||
set -- $(sysctl -n kern.version | sed 's/^OpenBSD \([0-9]\.[0-9]\)\([^ ]*\).*/\1 \2/;q')
|
||||
version=$1
|
||||
tag=$2
|
||||
|
||||
error() {
|
||||
echo -n "*** ERROR: $@"
|
||||
}
|
||||
|
||||
usage() {
|
||||
echo "usage: ${0##*/} [-SUn]" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
check_unsup() {
|
||||
if [ "${tag}" == -!(stable) ]; then
|
||||
error "XXX -current is a no-no"
|
||||
exit 1
|
||||
fi
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
error "need root privileges to run this script"
|
||||
usage
|
||||
fi
|
||||
|
||||
if [ "$(echo ${version} | tr -d '.')" -lt "${OPENUP_MINREL}" ]; then
|
||||
error "XXX release ${version} is a no-no (non-fatal)"
|
||||
fi
|
||||
# magic taken from fw_update(1)
|
||||
set -- $(sysctl -n kern.version | sed 's/^OpenBSD \([0-9]\.[0-9]\)\([^ ]*\).*/\1 \2/;q')
|
||||
release=$1
|
||||
tag=$2
|
||||
release_int="$(echo ${release} | tr -d '.')"
|
||||
|
||||
if [ "${tag}" == -!(stable) ]; then
|
||||
error "XXX -current is a no-no"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "${release_int}" -lt "${OPENUP_MINREL}" ]; then
|
||||
error "XXX release ${release} is a no-no (non-fatal)"
|
||||
fi
|
||||
|
||||
OPENUP_VERSION=1
|
||||
OPENUP_MINREL=53
|
||||
MEESA=$(readlink -f $0)
|
||||
TMPDIR="${TMPDIR:=/tmp}"
|
||||
|
||||
error() {
|
||||
echo -n "*** ERROR: $@"
|
||||
}
|
||||
|
||||
get_cert() {
|
||||
|
|
@ -69,7 +73,7 @@ get_cert() {
|
|||
fi
|
||||
|
||||
echo "===> Downloading certificate"
|
||||
_CERT=$(mktemp -p ${TMPDIR} pkg_cert.XXXXXXXXXX) || exit 1
|
||||
_CERT=$(mktemp -p ${TMPDIR} openup-pkg_cert.XXXXXXXXXX) || exit 1
|
||||
_CMD="ftp -Vo ${_CERT} ${PKG_CERT_URL}"
|
||||
if [ -z "${DRYRUN}" ]; then
|
||||
${_CMD}
|
||||
|
|
@ -99,7 +103,7 @@ update_self() {
|
|||
local _CMD _F _N
|
||||
|
||||
echo "===> Checking for openup(8) update"
|
||||
_F=$(mktemp -p ${TMPDIR} pkg_cert.XXXXXXXXXX) || exit 1
|
||||
_F=$(mktemp -p ${TMPDIR} openup-update.XXXXXXXXXX) || exit 1
|
||||
_CMD="ftp -Vo ${_F} ${OPENUP_URL}"
|
||||
if [ -z "${DRYRUN}" ]; then
|
||||
${_CMD}
|
||||
|
|
@ -127,7 +131,7 @@ update_self() {
|
|||
}
|
||||
|
||||
update_binpatches() {
|
||||
local _BP=$(pkg_info -Q binpatch$(echo $version | tr -d '.')-$(arch -s) | sed 's/.[^-]*$//' | sort -u)
|
||||
local _BP=$(pkg_info -Q binpatch${release_int}-$(arch -s) | sed 's/.[^-]*$//' | sort -u)
|
||||
|
||||
if [ -n "$_BP" ]; then
|
||||
echo "===> Updating binpatch(es)"
|
||||
|
|
@ -155,13 +159,7 @@ while getopts 'SUn' arg; do
|
|||
done
|
||||
[ $# = $(($OPTIND-1)) ] || usage
|
||||
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
error "need root privileges to run this script"
|
||||
usage
|
||||
fi
|
||||
|
||||
[[ -z $NOSELFUPDATE ]] && update_self
|
||||
check_unsup
|
||||
[[ -z $NOSIG ]] && get_cert
|
||||
update_binpatches
|
||||
update_pkg
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue