diff --git a/bbfdm/Makefile b/bbfdm/Makefile index 7aa0fb9dd443b871b290be56485963faf828eb52..8afcb506550ec0e4d3ebbf121abfe3638bb7c3f9 100644 --- a/bbfdm/Makefile +++ b/bbfdm/Makefile @@ -5,13 +5,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=bbfdm -PKG_VERSION:=1.4.10 +PKG_VERSION:=1.4.11 USE_LOCAL:=0 ifneq ($(USE_LOCAL),1) PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/bbfdm.git -PKG_SOURCE_VERSION:=7ecae3f6d146dc65d6a7362da1e28ee9de064860 +PKG_SOURCE_VERSION:=2358c7ce39d4770c77ca78f3a152adf0522d7387 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz PKG_MIRROR_HASH:=skip endif diff --git a/bbfdm/files/etc/bbfdm/bbfdm_services.sh b/bbfdm/files/etc/bbfdm/bbfdm_services.sh index 8f5d5a22aa6eb91df0e2258d337c80d7c7bb9cc8..003a48660261a31477bb8feaea38856e44fbceec 100755 --- a/bbfdm/files/etc/bbfdm/bbfdm_services.sh +++ b/bbfdm/files/etc/bbfdm/bbfdm_services.sh @@ -15,3 +15,33 @@ bbfdm_add_service() ubus call service add "{'name':'bbfdm.services','instances':{'$name':{'command':['$BBFDMD','-m','$path']}}}" } + +bbfdm_stop_service() +{ + local name + + name="${1}" + if [ -z "${name}" ]; then + return 0; + fi + + if ubus call service list '{"name":"bbfdm.services"}' |grep -q "bbfdm.$name"; then + ubus call service delete "{'name':'bbfdm.services','instance':'bbfdm.$name'}" + fi +} + +usages() +{ + echo "Usages $0: <OPTIONS>..." + echo + echo " -h show help" + echo " -k micro-service name to stop" + echo +} + +while getopts "s:k:h" opts; do + case "$opts" in + h) usages; exit 0;; + k) bbfdm_stop_service "${OPTARG}";; + esac +done diff --git a/bbfdm/files/etc/config/bbfdm b/bbfdm/files/etc/config/bbfdm index 07d1a2c2f7d3b23dbab1924f8f32346555753ac5..cedc444f8612166c8c11baa9c4c1dff9b521cb94 100644 --- a/bbfdm/files/etc/config/bbfdm +++ b/bbfdm/files/etc/config/bbfdm @@ -4,4 +4,5 @@ config bbfdmd 'bbfdmd' option loglevel '1' option refresh_time '10' option transaction_timeout '30' + option subprocess_level '2' diff --git a/bbfdm/files/etc/init.d/bbfdmd b/bbfdm/files/etc/init.d/bbfdmd index 0b7a11d912e5e99902c1354f0c665315a6b7812e..306b06a1daf19da4ab4bff53ddf25107291185df 100644 --- a/bbfdm/files/etc/init.d/bbfdmd +++ b/bbfdm/files/etc/init.d/bbfdmd @@ -28,7 +28,7 @@ validate_bbfdm_bbfdmd_section() configure_bbfdmd() { local enabled debug sock update - local jlog jrefresh jtimeout + local jlog jrefresh jtimeout jlevel update=0 config_load bbfdm @@ -55,8 +55,13 @@ configure_bbfdmd() update=1 fi + jlevel="$(jq '.daemon.config.subprocess_level' ${BBFDM_JSON_INPUT})" + if [ "\"${subprocess_level}\"" != "${jlevel}" ]; then + update=1 + fi + if [ "${update}" -eq "1" ]; then - echo "$(jq --arg log ${loglevel} --arg tran ${transaction_timeout} --arg refresh ${refresh_time} '.daemon.config += {"loglevel": $log, "refresh_time": $refresh, "transaction_timeout": $tran}' ${BBFDM_JSON_INPUT})" > ${BBFDM_TEMP_JSON} + echo "$(jq --arg log ${loglevel} --arg tran ${transaction_timeout} --arg refresh ${refresh_time} --arg level ${subprocess_level} '.daemon.config += {"loglevel": $log, "refresh_time": $refresh, "transaction_timeout": $tran, "subprocess_level": $level}' ${BBFDM_JSON_INPUT})" > ${BBFDM_TEMP_JSON} mv ${BBFDM_TEMP_JSON} ${BBFDM_JSON_INPUT} fi