From: Alin Nastac Date: Thu, 17 Oct 2019 12:06:40 +0000 (+0200) Subject: procd: allow usage of * as procd_running() instance parameter X-Git-Tag: v21.02.0-rc1~4799 X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=ddf6ec29b477f0cf7ce7839c8c9710fb4b969621;p=openwrt%2Fopenwrt.git procd: allow usage of * as procd_running() instance parameter service_running() implementation in /etc/rc.common use it. It is preferable to use wildcard than assuming the instance name is the default one. jsonfilter returns all matches when wildcards are used, hence the -l 1 argument used to limit output to only one value. Signed-off-by: Alin Nastac --- diff --git a/package/system/procd/Makefile b/package/system/procd/Makefile index 8ff2996262..27702efc51 100644 --- a/package/system/procd/Makefile +++ b/package/system/procd/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=procd -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/procd.git diff --git a/package/system/procd/files/procd.sh b/package/system/procd/files/procd.sh index 014b4499e1..b8f9a210f6 100644 --- a/package/system/procd/files/procd.sh +++ b/package/system/procd/files/procd.sh @@ -407,12 +407,12 @@ _procd_add_instance() { procd_running() { local service="$1" - local instance="${2:-instance1}" - local running + local instance="${2:-*}" + [ "$instance" = "*" ] || instance="'$instance'" json_init json_add_string name "$service" - running=$(_procd_ubus_call list | jsonfilter -e "@['$service'].instances['$instance'].running") + local running=$(_procd_ubus_call list | jsonfilter -l 1 -e "@['$service'].instances[$instance].running") [ "$running" = "true" ] }