1
0
Fork 0
forked from mirrors/openup

Always display the command we are about to run.

Implement trap.
This commit is contained in:
Antoine Jacoutot 2013-08-08 11:11:18 +02:00
commit 47bd274ab7

59
openup
View file

@ -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() {