[openwrt/openwrt] procd: service: pass all arguments to service

LEDE Commits lede-commits at lists.infradead.org
Sun Nov 27 07:18:49 PST 2022


hauke pushed a commit to openwrt/openwrt.git, branch openwrt-22.03:
https://git.openwrt.org/a4af427d805243305e5a8c8effb37d67f938f47d

commit a4af427d805243305e5a8c8effb37d67f938f47d
Author: Andrew Ammerlaan <andrewammerlaan at gentoo.org>
AuthorDate: Sun Oct 30 15:56:14 2022 +0100

    procd: service: pass all arguments to service
    
    Passing all arguments to /etc/init.d/$service restores the
    behaviour of openwrt 21.02. This is relevant for services
    such as etherwake which take more then one argument, e.g.:
    "service etherwake start <list of devices to wake>"
    
    Signed-off-by: Andrew Ammerlaan <andrewammerlaan at gentoo.org>
    (cherry picked from commit b2e83c16e1383eb817c1f34d7118b01cefa670d8)
---
 package/system/procd/files/service | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/package/system/procd/files/service b/package/system/procd/files/service
index 1ceacfe5ad..0ca7058041 100644
--- a/package/system/procd/files/service
+++ b/package/system/procd/files/service
@@ -2,17 +2,17 @@
 
 main() {
 	local service="$1"
-	local cmd="$2"
+	shift
 
 	local boot status
 
 	if [ -f "/etc/init.d/${service}" ]; then
-		/etc/init.d/"${service}" "${cmd}"
+		/etc/init.d/"${service}" "$@"
 		exit "$?"
 	fi
 
 	if [ -n "$service" ]; then
-		echo "Service \"$1\" not found:"
+		echo "Service \"$service\" not found:"
 		exit 1
 	fi
 




More information about the lede-commits mailing list