base-files: add wrapper for procd service list command
authorFlorian Eckert <fe@dev.tdt.de>
Wed, 22 Dec 2021 07:59:43 +0000 (08:59 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 19 Mar 2022 15:13:58 +0000 (16:13 +0100)
A service managed by procd does have a json object with usefull information.
This information could by dumped with the following command.

ubus call service list "{ 'verbose':true, 'name': '<service-name>)'". }"

This line is long and complicated to enter. This commit adds a wrapper
call to the procd service section tool to simplify the input and get the
output faster.

We could now enter the command /etc/initd/<service> info to get the info
faster.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
package/base-files/files/etc/rc.common

index e950ec209dc6d2cbdfc9ab6ee996e82a33d7eb4e..d7473038444cb1b6b4f58f408e3cbd2bfdd94f4b 100755 (executable)
@@ -126,6 +126,7 @@ extra_command "enabled" "Check if service is started on boot"
        extra_command "running" "Check if service is running"
        extra_command "status" "Service status"
        extra_command "trace" "Start with syscall trace"
+       extra_command "info" "Dump procd service info"
 
        . $IPKG_INSTROOT/lib/functions/procd.sh
        basescript=$(readlink "$initscript")
@@ -149,6 +150,13 @@ extra_command "enabled" "Check if service is started on boot"
                start "$@"
        }
 
+       info() {
+               json_init
+               json_add_string name "$(basename ${basescript:-$initscript})"
+               json_add_boolean verbose "1"
+               _procd_ubus_call list
+       }
+
        stop() {
                procd_lock
                stop_service "$@"