forked from mirrors/openup
Always display the command we are about to run.
Implement trap.
This commit is contained in:
parent
7f59ecbcef
commit
47bd274ab7
1 changed files with 25 additions and 34 deletions
59
openup
59
openup
|
|
@ -56,15 +56,18 @@ fi
|
|||
OPENUP_VERSION=1
|
||||
OPENUP_MINREL=53
|
||||
MEESA=$(readlink -f $0)
|
||||
REL_INT="$(echo ${REL[0]} | tr -d '.')"
|
||||
TMPDIR="${TMPDIR:=/tmp}"
|
||||
TMPCERT=$(mktemp -p ${TMPDIR} openup-pkg_cert.XXXXXX) || exit 1
|
||||
TMPUPD=$(mktemp -p ${TMPDIR} openup-update.XXXXXX) || exit 1
|
||||
|
||||
trap "rm -f ${TMPCERT} ${TMPUPD}" 1 2 3 13 15
|
||||
|
||||
error() {
|
||||
echo -n "*** ERROR: $@"
|
||||
}
|
||||
|
||||
get_cert() {
|
||||
local _CERT _CMD
|
||||
local _CMD
|
||||
|
||||
if [ -r /etc/ssl/pkgca.pem ]; then
|
||||
openssl x509 -noout -in /etc/ssl/pkgca.pem -issuer 2>/dev/null | \
|
||||
|
|
@ -72,61 +75,49 @@ get_cert() {
|
|||
fi
|
||||
|
||||
echo "===> Downloading certificate"
|
||||
_CERT=$(mktemp -p ${TMPDIR} openup-pkg_cert.XXXXXXXXXX) || exit 1
|
||||
_CMD="ftp -Vo ${_CERT} ${PKG_CERT_URL}"
|
||||
_CMD="ftp -Vo ${TMPCERT} ${PKG_CERT_URL}"
|
||||
echo "==> ${_CMD}"
|
||||
if [ -z "${DRYRUN}" ]; then
|
||||
${_CMD}
|
||||
if [ $? -ne 0 ]; then
|
||||
error "XXX could not download certificate; it's a no-no"
|
||||
rm -f ${_CERT}
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "dry run mode: ${_CMD}"
|
||||
${_CMD} || exit 1
|
||||
fi
|
||||
|
||||
echo "===> Installing certificate"
|
||||
_CMD="cat ${_CERT} >>/etc/ssl/pkgca.pem"
|
||||
_CMD="cat ${TMPCERT} >>/etc/ssl/pkgca.pem"
|
||||
echo "==> ${_CMD}"
|
||||
if [ -z "${DRYRUN}" ]; then
|
||||
${_CMD}
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "successfully installed certificate into /etc/ssl/pkgca.pem"
|
||||
fi
|
||||
else
|
||||
echo "dry run mode: ${_CMD}"
|
||||
${_CMD} || exit 1
|
||||
fi
|
||||
rm -f ${_CERT}
|
||||
|
||||
rm -f ${TMPCERT}
|
||||
}
|
||||
|
||||
update_self() {
|
||||
local _CMD _F _N
|
||||
local _CMD _N
|
||||
|
||||
echo "===> Checking for openup(8) update"
|
||||
_F=$(mktemp -p ${TMPDIR} openup-update.XXXXXXXXXX) || exit 1
|
||||
_CMD="ftp -Vo ${_F} ${OPENUP_URL}"
|
||||
_CMD="ftp -Vo ${TMPUPD} ${OPENUP_URL}"
|
||||
echo "==> ${_CMD}"
|
||||
if [ -z "${DRYRUN}" ]; then
|
||||
${_CMD}
|
||||
if [ $? -ne 0 ]; then
|
||||
error "XXX could not check for openup update; it's a no-no (non-fatal)"
|
||||
fi
|
||||
else
|
||||
echo "dry run mode: ${_CMD}"
|
||||
echo "dry run mode: will not try to update itself"
|
||||
${_CMD} # non-fatal
|
||||
fi
|
||||
|
||||
_N=$(grep -Eo '^OPENUP_VERSION=.*' ${_F} | awk -F '=' '{ print $2 }')
|
||||
_N=$(grep -Eo '^OPENUP_VERSION=.*' ${TMPUPD} | awk -F '=' '{ print $2 }')
|
||||
[[ -n "${_N}" ]] && \
|
||||
if [ "${OPENUP_VERSION}" -lt "${_N}" ]; then
|
||||
echo "===> Updating openup(8) from version ${OPENUP_VERSION} to version ${_N}"
|
||||
cat ${_F} >${MEESA}
|
||||
_CMD="cat ${TMPUPD} >${MEESA}"
|
||||
echo "==> ${_CMD}"
|
||||
${_CMD} # non-fatal
|
||||
if [ $? -eq 0 ]; then
|
||||
rm -f ${_F}
|
||||
# XXX
|
||||
rm -f ${TMPUPD}
|
||||
echo "successfully updated openup(8) to version ${_N}, restarting myself"
|
||||
${MEESA} -U $@
|
||||
exit $?
|
||||
fi
|
||||
fi
|
||||
rm -f ${_F}
|
||||
|
||||
rm -f ${TMPUPD}
|
||||
}
|
||||
|
||||
update_binpatches() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue