From 47bd274ab7704b206c223830d5e856d1f0db1ead Mon Sep 17 00:00:00 2001 From: Antoine Jacoutot Date: Thu, 8 Aug 2013 11:11:18 +0200 Subject: [PATCH] Always display the command we are about to run. Implement trap. --- openup | 59 +++++++++++++++++++++++++--------------------------------- 1 file changed, 25 insertions(+), 34 deletions(-) diff --git a/openup b/openup index 07435a5..1c0fc31 100755 --- a/openup +++ b/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() {