From 2fca922cf0bd2d78b28a1d8a5b5b407aa61d2679 Mon Sep 17 00:00:00 2001 From: "Daniel F. Dickinson" Date: Mon, 27 Aug 2018 16:10:48 -0400 Subject: [PATCH] nut: nut-cgi: Add support for upsset This allows config for setting variables and/or running commands from the CGI. Signed-off-by: Daniel F. Dickinson --- net/nut/Makefile | 5 ++++- net/nut/files/nut-cgi.init | 19 +++++++++++++++++++ net/nut/files/nut_cgi | 2 ++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/net/nut/Makefile b/net/nut/Makefile index 9c18b61057..a07921686c 100644 --- a/net/nut/Makefile +++ b/net/nut/Makefile @@ -329,12 +329,15 @@ define Package/nut-web-cgi/install $(INSTALL_CONF) ./files/add_nut_httpd_conf $(1)/etc/uci-defaults/add_nut_httpd_conf $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/nut/upsstats.html.sample $(1)/etc/nut/upsstats.html $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/nut/upsstats-single.html.sample $(1)/etc/nut/upsstats-single.html - $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/nut/upsset.conf.sample $(1)/etc/nut/upsset.conf + $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/nut/upsset.conf.sample $(1)/etc/nut/upsset.conf.disable + $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/nut/upsset.conf.sample $(1)/etc/nut/upsset.conf.enable + $(SED) 's/### \?//' $(1)/etc/nut/upsset.conf.enable $(INSTALL_DIR) $(1)/etc/config $(INSTALL_CONF) ./files/nut_cgi $(1)/etc/config/nut_cgi $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/nut-cgi.init $(1)/etc/init.d/nut-cgi ln -sf /var/etc/nut/hosts.conf $(1)/etc/nut/hosts.conf + ln -sf /var/etc/nut/upsset.conf $(1)/etc/nut/upsset.conf endef define Package/nut-avahi-service diff --git a/net/nut/files/nut-cgi.init b/net/nut/files/nut-cgi.init index d63d98ba95..50301ccc97 100755 --- a/net/nut/files/nut-cgi.init +++ b/net/nut/files/nut-cgi.init @@ -8,6 +8,20 @@ START=51 DEFAULT=/etc/default/nut UPSCGI_C=/var/etc/nut/hosts.conf +UPSCGI_S=/var/etc/nut/upsset.conf + +nut_upscgi_upsset() { + local cfg="$1" + local enable + + config_get_bool enable "$cfg" enable 0 + + [ $enable -eq 1 ] && { + ln -sf /etc/nut/upsset.conf.enable "$UPSCGI_S" + } || { + ln -sf /etc/nut/upsset.conf.disable "$UPSCGI_S" + } +} nut_upscgi_add() { local cfg="$1" @@ -30,15 +44,20 @@ nut_upscgi_add() { start() { rm -f $UPSCGI_C + rm -f "$UPSCGI_S" + mkdir -m 0755 -p "$(dirname "$UPSCGI_C")" config_load nut_cgi config_foreach nut_upscgi_add host + config_foreach nut_upscgi_upsset upsset chmod 640 /var/etc/nut/hosts.conf } stop() { rm -f $UPSCGI_C + rm -f "$UPSCGI_S" + ln -sf /etc/nut/upsset.conf.disable "$UPSCGI_S" } diff --git a/net/nut/files/nut_cgi b/net/nut/files/nut_cgi index 9f0bed6fc1..dca5de07cc 100644 --- a/net/nut/files/nut_cgi +++ b/net/nut/files/nut_cgi @@ -4,3 +4,5 @@ # option port # optional port number # option displayname "Display Name" +config upsset + option enable 0 -- 2.30.2