1
0
mirror of https://git.openwrt.org/feed/packages.git synced 2024-06-17 04:44:10 +02:00

nut: Prevent FSD when not specifically requested

Under certain circumstances nutshutdown was causing a forced
shutdown of the UPS even though killpower was not indicated.
Prevent that.  Also clarify the logic for powering off server
by avoiding && || chains.

Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
This commit is contained in:
Daniel F. Dickinson 2019-01-06 18:32:52 -05:00
parent 483c9fceae
commit cb06f02504
2 changed files with 11 additions and 8 deletions

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=nut
PKG_VERSION:=2.7.4
PKG_RELEASE:=13
PKG_RELEASE:=14
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.networkupstools.org/source/2.7/

View File

@ -16,11 +16,14 @@ stop_instance() {
shutdown_instance() {
local cfg="$1"
config_get driver "$cfg" driver "usbhid-ups"
/lib/nut/${driver} -a "$cfg" -k
# Only FSD if killpower was indicated
if [ -f /var/run/killpower ]; then
/lib/nut/${driver} -a "$cfg" -k
fi
}
[ -f /var/run/killpower ] && {
[ -f /etc/config/nut_server ] && {
if [ -f /var/run/killpower ]; then
if [ -f /etc/config/nut_server ]; then
config_load nut_server
# Can't FSD unless drivers are stopped
@ -33,9 +36,9 @@ shutdown_instance() {
sleep 120
# Uh-oh failed to poweroff UPS
reboot -f
} || {
else
poweroff
}
} || {
fi
else
poweroff
}
fi