From 1bec5fad0ff451286a2aaee6addbd87fda13e636 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Wed, 2 Mar 2022 09:30:03 +0100 Subject: [PATCH] firmware: update work in progress for upgrade handling We can now safely check packages kernel and base set version from opnsense-update. The basic idea is still that a packages set marker is included now so we can refrain from updating packages once we are crossing over a major version barrier using said packages set. --- src/opnsense/scripts/firmware/check.sh | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/src/opnsense/scripts/firmware/check.sh b/src/opnsense/scripts/firmware/check.sh index dc2ef0d09..d74b488ee 100755 --- a/src/opnsense/scripts/firmware/check.sh +++ b/src/opnsense/scripts/firmware/check.sh @@ -298,7 +298,7 @@ else fi if [ -n "${base_to_reboot}" ]; then - base_to_delete="$(opnsense-version -v base)" + base_to_delete="$(opnsense-update -vk base)" base_is_size="$(opnsense-update -bfSr ${base_to_reboot})" if [ "${base_to_reboot}" != "${base_to_delete}" -a -n "${base_is_size}" ]; then # XXX this could be a downgrade or reinstall @@ -309,7 +309,6 @@ 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" # XXX remove faulty value in 22.1.x needs_reboot="1" fi fi @@ -321,7 +320,7 @@ else fi if [ -n "${kernel_to_reboot}" ]; then - kernel_to_delete="$(opnsense-version -v kernel)" + kernel_to_delete="$(opnsense-update -vk)" kernel_is_size="$(opnsense-update -fkSr ${kernel_to_reboot})" if [ "${kernel_to_reboot}" != "${kernel_to_delete}" -a -n "${kernel_is_size}" ]; then # XXX this could be a downgrade or reinstall @@ -332,7 +331,6 @@ 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" # XXX remove faulty value in 22.1.x needs_reboot="1" fi fi @@ -345,30 +343,27 @@ if [ -n "${packages_is_size}" ]; then 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' ' ') - # XXX replace with opnsense-update -vp - packages_to_delete="$(opnsense-version -v pkgs)" + packages_to_delete="$(opnsense-update -vp)" if [ "${packages_to_delete}" != "${upgrade_major_version}" ]; then sets_upgraded="{\"name\":\"packages\",\"size\":\"${packages_is_size}\",\"current_version\":\"${packages_to_delete}\",\"new_version\":\"${upgrade_major_version}\",\"repository\":\"${product_repo}\"}" - upgrade_needs_reboot="1" # provided for API convenience only + upgrade_needs_reboot="1" fi - # XXX replace with opnsense-update -vk - kernel_to_delete="$(opnsense-version -v kernel)" + kernel_to_delete="$(opnsense-update -vk)" if [ "${kernel_to_delete}" != "${upgrade_major_version}" ]; then kernel_is_size="$(opnsense-update -SRk)" if [ -n "${kernel_is_size}" ]; then sets_upgraded="${sets_upgraded},{\"name\":\"kernel\",\"size\":\"${kernel_is_size}\",\"current_version\":\"${kernel_to_delete}\",\"new_version\":\"${upgrade_major_version}\",\"repository\":\"${product_repo}\"}" - upgrade_needs_reboot="1" # provided for API convenience only + upgrade_needs_reboot="1" fi fi - # XXX replace with opnsense-update -vb - base_to_delete="$(opnsense-version -v base)" + base_to_delete="$(opnsense-update -vb)" if [ "${base_to_delete}" != "${upgrade_major_version}" ]; then base_is_size="$(opnsense-update -SRb)" if [ -n "${base_is_size}" ]; then sets_upgraded="${sets_upgraded},{\"name\":\"base\",\"size\":\"${base_is_size}\",\"current_version\":\"${base_to_delete}\",\"new_version\":\"${upgrade_major_version}\",\"repository\":\"${product_repo}\"}" - upgrade_needs_reboot="1" # provided for API convenience only + upgrade_needs_reboot="1" fi fi fi