summaryrefslogtreecommitdiffstats
path: root/src/usr/local/sbin
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/local/sbin')
-rwxr-xr-xsrc/usr/local/sbin/pfSense-upgrade18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/usr/local/sbin/pfSense-upgrade b/src/usr/local/sbin/pfSense-upgrade
index 280baeb..b314e64 100755
--- a/src/usr/local/sbin/pfSense-upgrade
+++ b/src/usr/local/sbin/pfSense-upgrade
@@ -549,6 +549,17 @@ pkg_delete() {
_exec "pkg autoremove" "Removing stale packages" mute ignore_result
}
+pkg_reinstall_all() {
+ for _pkg in $(pkg query -e '%a == 0' %n); do
+ case "${_pkg}" in
+ "${platform}"-pkg-* )
+ echo reinstalling ${_pkg}
+ pkg_install ${_pkg} 1
+ ;;
+ esac
+ done
+}
+
pid_file="/var/run/$(basename $0).pid"
last_update_file="/var/run/$(basename $0)-last-update"
logfile="/cf/conf/upgrade_log.txt"
@@ -679,7 +690,12 @@ case "${action}" in
pkg_update force
;;
install)
- pkg_install ${action_pkg} ${force}
+ if [ ${action_pkg} == "ALL_PACKAGES" ] && [ -n ${force} ]; then
+ echo "Reinstalling every single package"
+ pkg_reinstall_all
+ else
+ pkg_install ${action_pkg} ${force}
+ fi
;;
delete)
pkg_delete ${action_pkg}
OpenPOWER on IntegriCloud