miniupnpd: make hotplug work again
authorKevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Sun, 10 May 2020 12:39:09 +0000 (13:39 +0100)
committerRosen Penev <rosenp@gmail.com>
Sun, 10 May 2020 21:57:29 +0000 (14:57 -0700)
hotplug scripts are sourced not exec'd so #!/bin/sh /etc/rc.common
doesn't pull in the functions defined in /etc/rc.common thus since
'enabled' isn't defined the following sequence always fails:

enabled miniupnpd || exit 0

Unfortunately sourcing /etc/rc.common doesn't appear to work so come up
with some alternatives.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
net/miniupnpd/Makefile
net/miniupnpd/files/miniupnpd.hotplug

index 5d03cdce61bc3eed85fb6f4a4b829ffdc4c550db..4d255dab24fd0c642538ef2ecc0f0ba32b24a3d2 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=miniupnpd
 PKG_VERSION:=2.1.20191006
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_SOURCE_URL:=https://miniupnp.tuxfamily.org/files
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
index 9e525f9b5f799fa609e0ad862e68b22adb62b7c0..9664b54ba148a9c465803f39249c78c5306c22a6 100644 (file)
@@ -1,15 +1,15 @@
-#!/bin/sh /etc/rc.common
-
-enabled miniupnpd || exit 0
+/etc/init.d/miniupnpd enabled || exit 0
 
 # If miniupnpd is not running:
-# - check on _any_ event (even updates may contribute to network_find_wan*)
+# - check on _any_ event (event updates may contribute to network_find_wan*)
 
 # If miniupnpd _is_ running:
 # - check only on ifup (otherwise lease updates etc would cause
 #   miniupnpd state loss)
 
-[ "$ACTION" != "ifup" ] && service_running miniupnpd && exit 0
+. /lib/functions/procd.sh
+
+[ "$ACTION" != "ifup" ] && procd_running "miniupnpd" "*" && exit 0
 
 tmpconf="/var/etc/miniupnpd.conf"
 extiface=$(uci get upnpd.config.external_iface)
@@ -20,7 +20,7 @@ extzone=$(uci get upnpd.config.external_zone)
 [ -z "$extiface" ] && {
   # manual external zone (if dynamically find interfaces
   # belonging to it) overrides network_find_wan*
-  [ -n "$extzone" ] && ifname=$(fw3 -q zone "$extzone" | head -1)
+  [ -n "$extzone"  ] && ifname=$(fw3 -q zone "$extzone" | head -1)
   [ -z "$extiface" ] && network_find_wan extiface
   [ -z "$extiface" ] && network_find_wan6 extiface
 }