firmware: reboot indicator for console #2283

This commit is contained in:
Franco Fichtner 2018-04-01 18:39:46 +02:00
parent bfc71b121b
commit b13ca18b37
3 changed files with 52 additions and 1 deletions

1
plist
View File

@ -621,6 +621,7 @@
/usr/local/opnsense/scripts/firmware/license.sh
/usr/local/opnsense/scripts/firmware/lock.sh
/usr/local/opnsense/scripts/firmware/plugin.sh
/usr/local/opnsense/scripts/firmware/reboot.sh
/usr/local/opnsense/scripts/firmware/reinstall.sh
/usr/local/opnsense/scripts/firmware/remove.sh
/usr/local/opnsense/scripts/firmware/running.sh

View File

@ -36,8 +36,8 @@ echo -n "Fetching change log information, please wait... "
if /usr/local/opnsense/scripts/firmware/changelog.sh fetch; then
echo "done"
fi
echo
echo
echo "This will automatically fetch all available updates, apply them,"
echo "and reboot if necessary."
echo
@ -56,6 +56,9 @@ if [ -f ${UPGRADE} ]; then
echo
PROMPT="[${NAME}/y/N]"
elif /usr/local/opnsense/scripts/firmware/reboot.sh; then
echo "This update requires a reboot."
echo
fi
read -p "Proceed with this action? ${PROMPT}: " YN

View File

@ -0,0 +1,47 @@
#!/bin/sh
# Copyright (C) 2018 Franco Fichtner <franco@opnsense.org>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
set -e
PKG=pkg-static
WANT_REBOOT=1
$(${PKG} update)
LQUERY=$(${PKG} query %v opnsense-update)
RQUERY=$(${PKG} rquery %v opnsense-update)
if [ "${LQUERY%%_*}" != "${RQUERY%%_*}" ]; then
WANT_REBOOT=0
elif opnsense-update -cbf; then
WANT_REBOOT=0
elif opnsense-update -ckf; then
WANT_REBOOT=0
fi
# success is reboot:
exit ${WANT_REBOOT}