]> git.99rst.org Git - openwrt-packages.git/commitdiff
nut: fix hard-coded trigger scripts for interface triggers
authorDaniel F. Dickinson <redacted>
Thu, 2 Jul 2026 22:35:06 +0000 (18:35 -0400)
committerJosef Schlehofer <redacted>
Wed, 15 Jul 2026 07:34:39 +0000 (09:34 +0200)
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 <redacted>
net/nut/files/nut-monitor.init
net/nut/files/nut-server.init
net/nut/files/nut-service.sh.functions

index 3cca8d975edfcc67d9ee64aab60d3d9eae21d374..9383950c1a894fa17c827a80abe70939071d8782 100644 (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"
index 5f7e6e8bc586e0776e9cf384727a5f43734fb122..ad4af958f522bd2a1cce835fdcce57a13e393ab6 100644 (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"
 }
index 29ecb384dddf62aa4a912851939e08c2816f1ba1..44cba46cea7323eb748ecde86861b6028bba8409 100644 (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)
git clone https://git.99rst.org/PROJECT