From 64640958dfb97741f004446a83cd475a9102eb88 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Fri, 12 Feb 2021 21:58:05 +0100 Subject: [PATCH] firmware: for check also figure out release type shift #4500 --- .../OPNsense/Core/Api/FirmwareController.php | 11 ++--------- src/opnsense/scripts/firmware/check.sh | 11 +++++++++-- .../service/conf/actions.d/actions_firmware.conf | 4 ++-- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/FirmwareController.php b/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/FirmwareController.php index ae3fc70b6..6983730d6 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/FirmwareController.php +++ b/src/opnsense/mvc/app/controllers/OPNsense/Core/Api/FirmwareController.php @@ -67,19 +67,12 @@ class FirmwareController extends ApiControllerBase */ public function checkAction() { - $response = array(); - - $config = Config::getInstance()->object(); - $type = 'opnsense'; - if (!empty($config->system->firmware->type)) { - $type .= '-' . (string)$config->system->firmware->type; - } - $this->sessionClose(); // long running action, close session + $response = []; if ($this->request->isPost()) { $backend = new Backend(); - $response['msg_uuid'] = trim($backend->configdpRun('firmware check', [ $type ], true)); + $response['msg_uuid'] = trim($backend->configdRun('firmware check', true)); $response['status'] = 'ok'; } else { $response['status'] = 'failure'; diff --git a/src/opnsense/scripts/firmware/check.sh b/src/opnsense/scripts/firmware/check.sh index d2b9a461e..080d27bc4 100755 --- a/src/opnsense/scripts/firmware/check.sh +++ b/src/opnsense/scripts/firmware/check.sh @@ -40,7 +40,6 @@ JSONFILE="/tmp/pkg_upgrade.json" LOCKFILE="/tmp/pkg_upgrade.progress" OUTFILE="/tmp/pkg_update.out" -PACKAGE=${1} TEE="/usr/bin/tee -a" UPSTREAM="OPNsense" @@ -66,6 +65,12 @@ product_version=$(opnsense-version -v) os_version=$(uname -sr) last_check=$(date) +SUFFIX="-$(pluginctl -g system.firmware.type)" +if [ "${SUFFIX}" = "-" ]; then + SUFFIX= +fi +PACKAGE=opnsense${SUFFIX} + echo "***GOT REQUEST TO CHECK FOR UPDATES***" >> ${LOCKFILE} echo -n "Fetching changelog information, please wait... " >> ${LOCKFILE} @@ -73,9 +78,11 @@ if /usr/local/opnsense/scripts/firmware/changelog.sh fetch >> ${LOCKFILE} 2>&1; echo "done" >> ${LOCKFILE} fi -if [ -n "${PACKAGE}" -a "${product_name}" = "${PACKAGE}" ]; then +if [ "${product_name}" = "${PACKAGE}" ]; then echo "A release type change is not required." >> ${LOCKFILE} PACKAGE= +else + echo "Targeting new release type: ${PACKAGE}" >> ${LOCKFILE} fi : > ${OUTFILE} diff --git a/src/opnsense/service/conf/actions.d/actions_firmware.conf b/src/opnsense/service/conf/actions.d/actions_firmware.conf index 04196d5eb..67b6f48fc 100644 --- a/src/opnsense/service/conf/actions.d/actions_firmware.conf +++ b/src/opnsense/service/conf/actions.d/actions_firmware.conf @@ -1,8 +1,8 @@ [check] command:daemon -f /usr/local/opnsense/scripts/firmware/launcher.sh check -parameters:%s +parameters: type:script -message:Retrieve %s firmware update status +message:Retrieve firmware update status [changelog.fetch] command: /usr/local/opnsense/scripts/firmware/changelog.sh fetch