nut: refactor upssched uci-defaults script
Add checks not to overwrite defaultnotify options in the nut-sendmail-notify fashion. Use lists for defaultnotify instead of option. Add check not to overwrite notifycmd if already defined. upssched-cmd script must not be called directly, it is called by the upssched binary with needed arguments. Signed-off-by: Pascal Coudurier <coudu@wanadoo.fr>
This commit is contained in:
parent
0f91594e2a
commit
f9bbc5173c
2 changed files with 50 additions and 7 deletions
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=nut
|
PKG_NAME:=nut
|
||||||
PKG_VERSION:=2.7.4
|
PKG_VERSION:=2.7.4
|
||||||
PKG_RELEASE:=25
|
PKG_RELEASE:=26
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=http://www.networkupstools.org/source/2.7/
|
PKG_SOURCE_URL:=http://www.networkupstools.org/source/2.7/
|
||||||
|
|
|
@ -1,10 +1,53 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
uci batch <<EOF
|
. "${IPKG_INSTROOT}"/lib/functions.sh
|
||||||
set nut_monitor.@upsmon[-1]=upsmon
|
|
||||||
set nut_monitor.@upsmon[-1].notifycmd=/usr/bin/upssched-cmd
|
|
||||||
set nut_monitor.@upsmon[-1].defaultnotify="SYSLOG EXEC"
|
|
||||||
commit nut_monitor
|
|
||||||
EOF
|
|
||||||
|
|
||||||
|
REMOVEDEFAULTNOTIFY=0
|
||||||
|
SKIPADDSYSLOG=0
|
||||||
|
SKIPADDEXEC=0
|
||||||
|
SKIPADDNOTIFYCMD=0
|
||||||
|
|
||||||
|
upsmon() {
|
||||||
|
local cfg="$1"
|
||||||
|
local val
|
||||||
|
|
||||||
|
config_get val "$cfg" notifycmd
|
||||||
|
if [ -n "$val" ]; then
|
||||||
|
SKIPADDNOTIFYCMD=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
config_get val "$cfg" defaultnotify
|
||||||
|
if [ -n "$val" ]; then
|
||||||
|
if echo "$val" |grep -q "IGNORE"; then
|
||||||
|
REMOVEDEFAULTNOTIFY=1
|
||||||
|
else
|
||||||
|
SKIPADDSYSLOG=1
|
||||||
|
if echo "$val" |grep -q "EXEC"; then
|
||||||
|
SKIPADDEXEC=1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
config_load nut_monitor
|
||||||
|
config_foreach upsmon upsmon
|
||||||
|
|
||||||
|
uci set nut_monitor.@upsmon[-1]=upsmon
|
||||||
|
|
||||||
|
if [ "$SKIPADDNOTIFYCMD" != "1" ]; then
|
||||||
|
uci set nut_monitor.@upsmon[-1].notifycmd=/usr/sbin/upssched
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$REMOVEDEFAULTNOTIFY" = "1" ]; then
|
||||||
|
uci delete nut_monitor.@upsmon[-1].defaultnotify || true
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$SKIPADDEXEC" != "1" ]; then
|
||||||
|
uci add_list nut_monitor.@upsmon[-1].defaultnotify="EXEC"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$SKIPADDSYSLOG" != "1" ]; then
|
||||||
|
uci add_list nut_monitor.@upsmon[-1].defaultnotify="SYSLOG"
|
||||||
|
fi
|
||||||
|
|
||||||
|
uci commit nut_monitor
|
||||||
|
|
Loading…
Reference in a new issue