nut: fix hard-coded trigger scripts for interface triggers

The trigger script and instance to reload should depend on which
initscript is calling interface_triggers. It wasn't, so we fix that.

See https://github.com/openwrt/packages/pull/29607#discussion_r3463544231

Signed-off-by: Daniel F. Dickinson <dfdpublic@wildtechgarden.ca>
This commit is contained in:
Daniel F. Dickinson authored and Josef Schlehofer committed 2026-07-15 09:34:39 +02:00
1 parent 6498ed4a93
commit ce009de85f
3 files changed
+7 -6

No files matched your search

+1 -1
View File
@@ -211,7 +211,7 @@ service_triggers() {
config_get interface_reload_delay upsmon interface_reload_delay $DEFAULT_PROCD_INTERFACE_RELOAD_DELAY
interface_triggers "add_trigger" "upsmon" || {
interface_triggers "add_trigger" "upsmon" "$interface_reload_delay" "nut-monitor" || {
log_error_exit "Failed to add interface triggers" nut-monitor nut-monitor
}
procd_add_reload_trigger "nut_monitor"
+1 -1
View File
@@ -564,6 +564,6 @@ service_triggers() {
config_get interface_reload_delay upsd interface_reload_delay $DEFAULT_PROCD_INTERFACE_RELOAD_DELAY
interface_triggers "add_trigger" "upsd" "$interface_reload_delay"
interface_triggers "add_trigger" "upsd" "$interface_reload_delay" "nut-server" "upsd"
procd_add_reload_trigger "nut_server"
}
+5 -4
View File
@@ -277,6 +277,8 @@ interface_triggers() {
local action="$1"
local section="$2"
local interface_reload_delay="${3:-$DEFAULT_PROCD_INTERFACE_RELOAD_DELAY}"
local initscript="$4"
local daemon="$5"
local interfaces interface
local have_up_interface
local trigger_failed
@@ -296,9 +298,8 @@ interface_triggers() {
# We use the variadic third and fourth parameters of procd_add_interface_trigger to
# restart instead of reload on interface up/down events. Additionally the variadic
# fourth and fifth parameters of procd_add_interface_trigger are passed through to
# the <script> (in this case /etc/init.d/nut-server), so the trigger action becomes
# /etc/init.d/nut-server restart "upsd").
procd_add_interface_trigger "interface.*.up" "$interface" /etc/init.d/nut-server restart "upsd" || trigger_failed="true"
# the <script>, so the trigger action becomes e.g. /etc/init.d/<script> restart "$daemon".
procd_add_interface_trigger "interface.*.up" "$interface" "/etc/init.d/$initscript" "restart" "$daemon" || trigger_failed="true"
done
set +f
if [ "$trigger_failed" = "true" ]; then
@@ -306,7 +307,7 @@ interface_triggers() {
fi
else
# Add a restart trigger on any interface's up status changing
procd_add_raw_trigger "interface.*.up" "$interface_reload_delay" /etc/init.d/nut-server restart || return 1
procd_add_raw_trigger "interface.*.up" "$interface_reload_delay" "/etc/init.d/$initscript" "restart" || return 1
fi
;;
check_interface_up)