aboutsummaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/nut/Makefile2
-rwxr-xr-xnet/nut/files/nut-monitor.init22
2 files changed, 15 insertions, 9 deletions
diff --git a/net/nut/Makefile b/net/nut/Makefile
index 850c4a9fa..2a253f8c0 100644
--- a/net/nut/Makefile
+++ b/net/nut/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=nut
PKG_VERSION:=2.7.4
-PKG_RELEASE:=6
+PKG_RELEASE:=7
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.networkupstools.org/source/2.7/
diff --git a/net/nut/files/nut-monitor.init b/net/nut/files/nut-monitor.init
index 388c376ee..af8140781 100755
--- a/net/nut/files/nut-monitor.init
+++ b/net/nut/files/nut-monitor.init
@@ -126,8 +126,11 @@ nut_upsmon_add() {
local password
local system
- # If no core config, use defaults
- [ -r $UPSMON_C ] || nut_upsmon_conf ""
+ # if UPSMON_C is a symlink we're only doing generated config
+ [ -L $UPSMON_C ] && {
+ rm -f $UPSMON_C
+ nut_upsmon_conf ""
+ }
config_get upsname "$cfg" upsname
config_get hostname "$cfg" hostname localhost
@@ -143,7 +146,8 @@ nut_upsmon_add() {
}
start_service() {
- rm -f $UPSMON_C
+ mkdir -p "$(dirname "$UPSMON_C")"
+ chmod 750 "$(dirname "$UPSMON_C")"
config_load nut_monitor
@@ -156,20 +160,22 @@ start_service() {
chmod 640 $UPSMON_C
chmod 640 /var/etc/nut/nut.conf
+ chown ${runas:-root}:$(id -gn ${runas:-root}) /var/etc/nut
+ chown ${runas:-root}:$(id -gn ${runas:-root}) /var/etc/nut/nut.conf
+ chown ${runas:-root}:$(id -gn ${runas:-root}) $UPSMON_C
+
[ -d /var/run/nut ] || {
mkdir -m 0750 -p /var/run/nut
chown ${runas:-root}:$(id -gn ${runas:-root}) /var/run/nut
}
- chown ${runas:-root}:$(id -gn ${runas:-root}) $UPSMON_C
- $DEBUG /usr/sbin/upsmon $UPSMON_OPTIONS
+ exec $DEBUG /usr/sbin/upsmon $UPSMON_OPTIONS
}
stop_service() {
- [ -r $PID_F ] && /usr/sbin/upsmon -c stop
- rm -f $UPSMON_C
+ exec /usr/sbin/upsmon -c stop
}
reload_service() {
- upsmon -c reload
+ exec /usr/sbin/upsmon -c reload
}