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_VERSION=1
|
||||||
OPENUP_MINREL=53
|
OPENUP_MINREL=53
|
||||||
MEESA=$(readlink -f $0)
|
MEESA=$(readlink -f $0)
|
||||||
REL_INT="$(echo ${REL[0]} | tr -d '.')"
|
|
||||||
TMPDIR="${TMPDIR:=/tmp}"
|
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() {
|
error() {
|
||||||
echo -n "*** ERROR: $@"
|
echo -n "*** ERROR: $@"
|
||||||
}
|
}
|
||||||
|
|
||||||
get_cert() {
|
get_cert() {
|
||||||
local _CERT _CMD
|
local _CMD
|
||||||
|
|
||||||
if [ -r /etc/ssl/pkgca.pem ]; then
|
if [ -r /etc/ssl/pkgca.pem ]; then
|
||||||
openssl x509 -noout -in /etc/ssl/pkgca.pem -issuer 2>/dev/null | \
|
openssl x509 -noout -in /etc/ssl/pkgca.pem -issuer 2>/dev/null | \
|
||||||
|
|
@ -72,61 +75,49 @@ get_cert() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "===> Downloading certificate"
|
echo "===> Downloading certificate"
|
||||||
_CERT=$(mktemp -p ${TMPDIR} openup-pkg_cert.XXXXXXXXXX) || exit 1
|
_CMD="ftp -Vo ${TMPCERT} ${PKG_CERT_URL}"
|
||||||
_CMD="ftp -Vo ${_CERT} ${PKG_CERT_URL}"
|
echo "==> ${_CMD}"
|
||||||
if [ -z "${DRYRUN}" ]; then
|
if [ -z "${DRYRUN}" ]; then
|
||||||
${_CMD}
|
${_CMD} || exit 1
|
||||||
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}"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "===> Installing certificate"
|
echo "===> Installing certificate"
|
||||||
_CMD="cat ${_CERT} >>/etc/ssl/pkgca.pem"
|
_CMD="cat ${TMPCERT} >>/etc/ssl/pkgca.pem"
|
||||||
|
echo "==> ${_CMD}"
|
||||||
if [ -z "${DRYRUN}" ]; then
|
if [ -z "${DRYRUN}" ]; then
|
||||||
${_CMD}
|
${_CMD} || exit 1
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
echo "successfully installed certificate into /etc/ssl/pkgca.pem"
|
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
echo "dry run mode: ${_CMD}"
|
rm -f ${TMPCERT}
|
||||||
fi
|
|
||||||
rm -f ${_CERT}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
update_self() {
|
update_self() {
|
||||||
local _CMD _F _N
|
local _CMD _N
|
||||||
|
|
||||||
echo "===> Checking for openup(8) update"
|
echo "===> Checking for openup(8) update"
|
||||||
_F=$(mktemp -p ${TMPDIR} openup-update.XXXXXXXXXX) || exit 1
|
_CMD="ftp -Vo ${TMPUPD} ${OPENUP_URL}"
|
||||||
_CMD="ftp -Vo ${_F} ${OPENUP_URL}"
|
echo "==> ${_CMD}"
|
||||||
if [ -z "${DRYRUN}" ]; then
|
if [ -z "${DRYRUN}" ]; then
|
||||||
${_CMD}
|
${_CMD} # non-fatal
|
||||||
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"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
_N=$(grep -Eo '^OPENUP_VERSION=.*' ${_F} | awk -F '=' '{ print $2 }')
|
_N=$(grep -Eo '^OPENUP_VERSION=.*' ${TMPUPD} | awk -F '=' '{ print $2 }')
|
||||||
[[ -n "${_N}" ]] && \
|
[[ -n "${_N}" ]] && \
|
||||||
if [ "${OPENUP_VERSION}" -lt "${_N}" ]; then
|
if [ "${OPENUP_VERSION}" -lt "${_N}" ]; then
|
||||||
echo "===> Updating openup(8) from version ${OPENUP_VERSION} to version ${_N}"
|
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
|
if [ $? -eq 0 ]; then
|
||||||
rm -f ${_F}
|
# XXX
|
||||||
|
rm -f ${TMPUPD}
|
||||||
echo "successfully updated openup(8) to version ${_N}, restarting myself"
|
echo "successfully updated openup(8) to version ${_N}, restarting myself"
|
||||||
${MEESA} -U $@
|
${MEESA} -U $@
|
||||||
exit $?
|
exit $?
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
rm -f ${_F}
|
|
||||||
|
rm -f ${TMPUPD}
|
||||||
}
|
}
|
||||||
|
|
||||||
update_binpatches() {
|
update_binpatches() {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue