diff --git a/usr/local/share/bastille/upgrade.sh b/usr/local/share/bastille/upgrade.sh index dbd0ee9b..52c9c295 100644 --- a/usr/local/share/bastille/upgrade.sh +++ b/usr/local/share/bastille/upgrade.sh @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (c) 2018-2020, Christer Edwards +# Copyright (c) 2018-2021, Christer Edwards # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -91,7 +91,9 @@ release_upgrade() { # Upgrade a release if [ -d "${bastille_releasesdir}/${TARGET}" ]; then release_check - freebsd-update ${OPTION} -b "${bastille_releasesdir}/${TARGET}" -r "${NEWRELEASE}" upgrade + env PAGER="/bin/cat" freebsd-update ${OPTION} --not-running-from-cron -b "${bastille_releasesdir}/${TARGET}" --currently-running "${TARGET}" -r "${NEWRELEASE}" upgrade + echo + echo -e "${COLOR_YELLOW}Please run 'bastille upgrade ${TARGET} install' to finish installing updates.${COLOR_RESET}" else error_exit "${TARGET} not found. See 'bastille bootstrap'." fi @@ -121,9 +123,22 @@ jail_updates_install() { fi } +release_updates_install() { + # Finish installing upgrade on a release + if [ -d "${bastille_releasesdir}/${TARGET}" ]; then + env PAGER="/bin/cat" freebsd-update ${OPTION} --not-running-from-cron -b "${bastille_releasesdir}/${TARGET}" install + else + error_exit "${TARGET} not found. See 'bastille bootstrap'." + fi +} + # Check what we should upgrade if echo "${TARGET}" | grep -q "[0-9]\{2\}.[0-9]-RELEASE"; then - release_upgrade + if [ "${NEWRELEASE}" = "install" ]; then + release_updates_install + else + release_upgrade + fi elif [ "${NEWRELEASE}" = "install" ]; then jail_updates_install else