From 3ab33c8752e2f65758097e308d53dec4bd0bc5e6 Mon Sep 17 00:00:00 2001 From: Nico Geyso Date: Wed, 4 Feb 2015 12:02:56 +0100 Subject: [PATCH] olsrd: migrate init script to procd * rename config generation script to olsrd.sh * migrate olsrd4.init and olsrd6.init to procd --- olsrd/Makefile | 2 +- olsrd/files/{olsrd.init => olsrd.sh} | 28 ++-------------------------- olsrd/files/olsrd4.init | 18 +++++++++++------- olsrd/files/olsrd6.init | 18 +++++++++++------- 4 files changed, 25 insertions(+), 41 deletions(-) rename olsrd/files/{olsrd.init => olsrd.sh} (97%) diff --git a/olsrd/Makefile b/olsrd/Makefile index 362e922..91bd25a 100644 --- a/olsrd/Makefile +++ b/olsrd/Makefile @@ -172,7 +172,7 @@ endef define Package/olsrd/install $(INSTALL_DIR) $(1)/lib/functions - $(INSTALL_DATA) ./files/olsrd.init $(1)/lib/functions/olsrd.sh + $(INSTALL_DATA) ./files/olsrd.sh $(1)/lib/functions/olsrd.sh $(INSTALL_DIR) $(1)/etc/config $(INSTALL_DATA) ./files/olsrd.config $(1)/etc/config/olsrd $(INSTALL_DATA) ./files/olsrd6.config $(1)/etc/config/olsrd6 diff --git a/olsrd/files/olsrd.init b/olsrd/files/olsrd.sh similarity index 97% rename from olsrd/files/olsrd.init rename to olsrd/files/olsrd.sh index 4e74095..65532ff 100644 --- a/olsrd/files/olsrd.init +++ b/olsrd/files/olsrd.sh @@ -1,10 +1,5 @@ #!/bin/sh /etc/rc.common -# Copyright (C) 2008-2013 OpenWrt.org - -START=65 - -SERVICE_DAEMONIZE=1 -SERVICE_WRITE_PID=1 +# Copyright (C) 2008-2015 OpenWrt.org OLSRD_OLSRD_SCHEMA='ignore:internal config_file:internal DebugLevel=0 AllowNoInt=yes' OLSRD_IPCCONNECT_SCHEMA='ignore:internal Host:list Net:list2' @@ -752,7 +747,7 @@ olsrd_setup_smartgw_rules() { fi } -start() { +olsrd_generate_config() { SYSTEM_HOSTNAME= SYSTEM_LAT= SYSTEM_LON= @@ -784,23 +779,4 @@ start() { fi [ -z "$OLSRD_CONFIG_FILE" ] && return 1 - - SERVICE_PID_FILE="$PID" - if service_check /usr/sbin/olsrd; then - error "there is already an instance of $UCI_CONF_NAME running (pid: '$(cat $PID)'), not starting." - return 1 - else - service_start /usr/sbin/olsrd -f "$OLSRD_CONFIG_FILE" -nofork - sleep 1 - service_check /usr/sbin/olsrd || { - log "startup-error: check via: '/usr/sbin/olsrd -f \"$OLSRD_CONFIG_FILE\" -nofork'" - } - fi - - olsrd_setup_smartgw_rules -} - -stop() { - SERVICE_PID_FILE="$PID" - service_stop /usr/sbin/olsrd } diff --git a/olsrd/files/olsrd4.init b/olsrd/files/olsrd4.init index 718b3e0..32589d7 100644 --- a/olsrd/files/olsrd4.init +++ b/olsrd/files/olsrd4.init @@ -1,14 +1,18 @@ #!/bin/sh /etc/rc.common -# Copyright (C) 2008-2013 OpenWrt.org +# Copyright (C) 2008-2015 OpenWrt.org . $IPKG_INSTROOT/lib/functions/olsrd.sh START=65 - -SERVICE_DAEMONIZE=1 -SERVICE_WRITE_PID=1 - +USE_PROCD=1 CONF=/var/etc/olsrd.conf -PID=/var/run/olsrd.pid - UCI_CONF_NAME=olsrd + +start_service() { + procd_open_instance + procd_set_param command /usr/sbin/olsrd -f $CONF -nofork + procd_set_param respawn + procd_close_instance + + olsrd_setup_smartgw_rules +} diff --git a/olsrd/files/olsrd6.init b/olsrd/files/olsrd6.init index 1dcc4a0..83deaa9 100644 --- a/olsrd/files/olsrd6.init +++ b/olsrd/files/olsrd6.init @@ -1,14 +1,18 @@ #!/bin/sh /etc/rc.common -# Copyright (C) 2008-2013 OpenWrt.org +# Copyright (C) 2008-2015 OpenWrt.org . $IPKG_INSTROOT/lib/functions/olsrd.sh START=65 - -SERVICE_DAEMONIZE=1 -SERVICE_WRITE_PID=1 - +USE_PROCD=1 CONF=/var/etc/olsrd6.conf -PID=/var/run/olsrd6.pid - UCI_CONF_NAME=olsrd6 + +start_service() { + procd_open_instance + procd_set_param command /usr/sbin/olsrd -f $CONF -nofork + procd_set_param respawn + procd_close_instance + + olsrd_setup_smartgw_rules +}