From 2cfe2fdc1c6d1e10984e95277535539bfd60fed6 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Thu, 11 Jan 2024 10:15:06 +0100 Subject: [PATCH] firmware: allow os-squid install during major upgrade; closes #7030 --- plist | 1 + .../rc.syshook.d/upgrade/20-squid-plugin.php | 41 +++++++++++++++++++ src/opnsense/scripts/firmware/install.sh | 11 ++--- 3 files changed, 48 insertions(+), 5 deletions(-) create mode 100755 src/etc/rc.syshook.d/upgrade/20-squid-plugin.php diff --git a/plist b/plist index 22cdd63e4..760d68bb6 100644 --- a/plist +++ b/plist @@ -149,6 +149,7 @@ /usr/local/etc/rc.syshook.d/stop/90-backup /usr/local/etc/rc.syshook.d/stop/99-config /usr/local/etc/rc.syshook.d/update/10-refresh +/usr/local/etc/rc.syshook.d/upgrade/20-squid-plugin.php /usr/local/etc/rc.syshook.d/upgrade/20-unbound-duckdb.py /usr/local/etc/ssl/opnsense.cnf /usr/local/etc/strongswan.opnsense.d/README diff --git a/src/etc/rc.syshook.d/upgrade/20-squid-plugin.php b/src/etc/rc.syshook.d/upgrade/20-squid-plugin.php new file mode 100755 index 000000000..be10abdd2 --- /dev/null +++ b/src/etc/rc.syshook.d/upgrade/20-squid-plugin.php @@ -0,0 +1,41 @@ +#!/usr/local/bin/php + +# Copyright (C) 2015-2024 Franco Fichtner # Copyright (C) 2014 Deciso B.V. # All rights reserved. # @@ -27,6 +27,7 @@ LOCKFILE=/tmp/pkg_upgrade.progress PACKAGE=${1} +TEE="/usr/bin/tee -a" : > ${LOCKFILE} @@ -40,14 +41,14 @@ if [ "${PACKAGE#os-}" != "${PACKAGE}" ]; then # plugins must pass a version check on up-to-date core package if [ "$(pkg version -t ${COREVER} ${REPOVER})" = "<" ]; then - echo "Installation out of date. The update to ${COREPKG}-${REPOVER} is required." >> ${LOCKFILE} 2>&1 + echo "Installation out of date. The update to ${COREPKG}-${REPOVER} is required." | ${TEE} ${LOCKFILE} echo '***DONE***' >> ${LOCKFILE} exit fi fi -pkg install -y ${PACKAGE} >> ${LOCKFILE} 2>&1 -/usr/local/opnsense/scripts/firmware/register.php install ${PACKAGE} >> ${LOCKFILE} 2>&1 -pkg autoremove -y >> ${LOCKFILE} 2>&1 +(pkg install -y ${PACKAGE} 2>&1) | ${TEE} ${LOCKFILE} +(/usr/local/opnsense/scripts/firmware/register.php install ${PACKAGE} 2>&1) | ${TEE} ${LOCKFILE} +(pkg autoremove -y 2>&1) | ${TEE} ${LOCKFILE} echo '***DONE***' >> ${LOCKFILE}