firmware: add new flag for update-based reboot #5358

Keep old flag in place to not break any API consumers for a while.
This commit is contained in:
Franco Fichtner 2021-11-17 12:46:05 +01:00
parent c2c1119a2e
commit 1d713525c1
3 changed files with 18 additions and 12 deletions

View File

@ -287,7 +287,7 @@ class FirmwareController extends ApiControllerBase
$this->formatBytes($active_size)
);
}
if ($response['upgrade_needs_reboot'] == 1) {
if ($response['needs_reboot'] == 1) {
$response['status_msg'] = sprintf(
'%s %s',
$response['status_msg'],

View File

@ -56,6 +56,7 @@
let show_log = '';
$.upgrade_needs_reboot = data['upgrade_needs_reboot'];
$.needs_reboot = data['needs_reboot'];
// show upgrade list
$('#upgrade').show();
@ -220,7 +221,7 @@
function upgrade_ui(major)
{
let reboot_msg = "";
if ( $.upgrade_needs_reboot == "1" || major === true) {
if (major === true || $.needs_reboot == "1") {
reboot_msg = "{{ lang._('The firewall will reboot directly after this firmware update.') }}";
if (major === true) {
reboot_msg = "{{ lang._('The firewall will download all firmware sets and reboot multiple times for this upgrade. All operating system files and packages will be reinstalled as a consequence. This may take several minutes to complete.') }}";

View File

@ -47,20 +47,21 @@ CUSTOMPKG=${1}
rm -f ${JSONFILE}
: > ${LOCKFILE}
base_to_reboot=""
base_to_reboot=
connection="error"
download_size=""
download_size=
force_all=
itemcount=0
kernel_to_reboot=""
kernel_to_reboot=
last_check="unknown"
linecount=0
packages_downgraded=""
packages_new=""
packages_upgraded=""
needs_reboot="0"
packages_downgraded=
packages_new=
packages_upgraded=
product_repo="OPNsense"
repository="error"
sets_upgraded=""
sets_upgraded=
upgrade_needs_reboot="0"
product_suffix="-$(pluginctl -g system.firmware.type)"
@ -308,7 +309,8 @@ else
packages_upgraded=${packages_upgraded}"\"repository\":\"${product_repo}\","
packages_upgraded=${packages_upgraded}"\"current_version\":\"${base_to_delete}\","
packages_upgraded=${packages_upgraded}"\"new_version\":\"${base_to_reboot}\"}"
upgrade_needs_reboot="1"
upgrade_needs_reboot="1" # XXX remove faulty value in 22.1.x
needs_reboot="1"
fi
fi
@ -330,7 +332,8 @@ else
packages_upgraded=${packages_upgraded}"\"repository\":\"${product_repo}\","
packages_upgraded=${packages_upgraded}"\"current_version\":\"${kernel_to_delete}\","
packages_upgraded=${packages_upgraded}"\"new_version\":\"${kernel_to_reboot}\"}"
upgrade_needs_reboot="1"
upgrade_needs_reboot="1" # XXX remove faulty value in 22.1.x
needs_reboot="1"
fi
fi
fi
@ -340,7 +343,8 @@ packages_is_size="$(opnsense-update -SRp)"
if [ -n "${packages_is_size}" ]; then
upgrade_major_version=$(opnsense-update -vR)
upgrade_major_message=$(sed -e 's/"/\\&/g' -e "s/%%UPGRADE_RELEASE%%/${upgrade_major_version}/g" /usr/local/opnsense/data/firmware/upgrade.html 2> /dev/null | tr '\n' ' ')
upgrade_needs_reboot="1"
upgrade_needs_reboot="1" # provided for API convenience only
sets_upgraded="{\"name\":\"packages\",\"size\":\"${packages_is_size}\",\"current_version\":\"${product_version}\",\"new_version\":\"${upgrade_major_version}\",\"repository\":\"${product_repo}\"}"
kernel_to_delete="$(opnsense-version -v kernel)"
@ -368,6 +372,7 @@ cat > ${JSONFILE} << EOF
"downgrade_packages":[${packages_downgraded}],
"download_size":"${download_size}",
"last_check":"${last_check}",
"needs_reboot":"${needs_reboot}",
"new_packages":[${packages_new}],
"os_version":"${os_version}",
"product_id":"${product_id}",