From bd5a6155b1e76b3843f4a8b0dccca90e667953e8 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Mon, 11 Feb 2019 22:05:23 +0800 Subject: [PATCH] gpsd: Update init script This replaces the use of uci_validate_section() with uci_load_validate(), which removes the need to declare local variables for every config option. This also adds a service_triggers() function and removes some unnecessary curly brackets. Signed-off-by: Jeffery To --- utils/gpsd/Makefile | 2 +- utils/gpsd/files/gpsd.init | 23 +++++++++++++---------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/utils/gpsd/Makefile b/utils/gpsd/Makefile index f6433ac38..427203412 100644 --- a/utils/gpsd/Makefile +++ b/utils/gpsd/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=gpsd PKG_VERSION:=3.17 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@SAVANNAH/$(PKG_NAME) diff --git a/utils/gpsd/files/gpsd.init b/utils/gpsd/files/gpsd.init index c4b709c94..3271d43fd 100644 --- a/utils/gpsd/files/gpsd.init +++ b/utils/gpsd/files/gpsd.init @@ -8,7 +8,7 @@ NAME=gpsd validate_section_gpsd() { - uci_validate_section gpsd gpsd "${1}" \ + uci_load_validate gpsd gpsd "$1" "$2" \ 'enabled:bool:1' \ 'device:string' \ 'listen_globally:bool:0' \ @@ -17,21 +17,19 @@ validate_section_gpsd() gpsd_instance() { - local device enabled listen_globally port - - validate_section_gpsd "${1}" || { + [ "$2" = 0 ] || { echo "validation failed" return 1 } - [ "${enabled}" = "0" ] && return 1 + [ "$enabled" = "0" ] && return 1 procd_open_instance procd_set_param command "$PROG" -N -n - [ "${listen_globally}" -ne 0 ] && procd_append_param command -G - procd_append_param command -S "${port}" - procd_append_param command "${device}" + [ "$listen_globally" -ne 0 ] && procd_append_param command -G + procd_append_param command -S "$port" + procd_append_param command "$device" procd_set_param respawn procd_close_instance @@ -39,6 +37,11 @@ gpsd_instance() start_service() { - config_load "${NAME}" - config_foreach gpsd_instance gpsd + config_load "$NAME" + config_foreach validate_section_gpsd gpsd gpsd_instance +} + +service_triggers() { + procd_add_reload_trigger "$NAME" + procd_add_validation validate_section_gpsd }