Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/openwrt/routing.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/alfred
diff options
context:
space:
mode:
authorPaul Spooren <mail@aparcar.org>2018-06-13 18:08:51 +0300
committerPaul Spooren <mail@aparcar.org>2018-07-20 12:23:10 +0300
commit45db0e60d2ff57ac94b8f4130a6878b148dcdb2a (patch)
tree7e1d6ca75a6b21038aeacd16cfced671bf417d2d /alfred
parentd82d299a27c0c3e475c8e5be08ccb12dc3cbc433 (diff)
alfred: use procd
Signed-off-by: Paul Spooren <mail@aparcar.org>
Diffstat (limited to 'alfred')
-rw-r--r--alfred/Makefile4
-rwxr-xr-xalfred/files/alfred.init73
2 files changed, 34 insertions, 43 deletions
diff --git a/alfred/Makefile b/alfred/Makefile
index a0d25a5..2daa5f7 100644
--- a/alfred/Makefile
+++ b/alfred/Makefile
@@ -8,9 +8,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=alfred
-PKG_VERSION:=2018.1
+PKG_VERSION:=2018.2
PKG_RELEASE:=0
-PKG_HASH:=808fa6acf65c7a8e26405115176a5587157f746108cbe5dd974788eb05416d76
+PKG_HASH:=2bbe9c4fc19a6529c40f7c872406fad8070d145ede970806bd2194e07fba8018
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
diff --git a/alfred/files/alfred.init b/alfred/files/alfred.init
index 8293436..b292650 100755
--- a/alfred/files/alfred.init
+++ b/alfred/files/alfred.init
@@ -1,48 +1,40 @@
#!/bin/sh /etc/rc.common
#
-# Copyright (C) 2013 OpenWrt.org
-#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
START=99
-STOP=99
+USE_PROCD=1
alfred_args=""
vis_args=""
facters_dir="/etc/alfred"
-pid_file_alfred="/var/run/alfred.pid"
-pid_file_vis="/var/run/batadv-vis.pid"
enable=0
vis_enable=0
-SERVICE_DAEMONIZE=1
-SERVICE_WRITE_PID=1
-wait_for_dir()
-{
+wait_for_dir() {
local ifce="$1" dir="$2"
if ! [ -d "$dir" ] ; then
timeout=30
- echo "${initscript}: waiting $timeout secs for $ifce interface..."
+ echo "waiting $timeout secs for $ifce interface..."
for i in $(seq $timeout); do
sleep 1
[ -d "$dir" ] && break
- if [ $i == $timeout ] ; then
- echo "${initscript}: $ifce not detected, alfred not starting."
+ if [ $i = $timeout ] ; then
+ echo "$ifce not detected, alfred not starting."
exit 1
fi
done
fi
}
-wait_for_ll_address()
-{
+wait_for_ll_address() {
local iface="$1"
local timeout=30
- echo "${initscript}: waiting $timeout secs for $iface address..."
+ echo "waiting $timeout secs for $iface address..."
for i in $(seq $timeout); do
# We look for
# - the link-local address (starts with fe80)
@@ -58,12 +50,11 @@ wait_for_ll_address()
sleep 1
done
- echo "${initscript}: $iface address not detected, alfred not starting."
+ echo "$iface address not detected, alfred not starting."
exit 1
}
-alfred_start()
-{
+alfred_start() {
local args=""
local section="$1"
local disabled interface mode
@@ -103,41 +94,41 @@ alfred_start()
return 0
}
-start()
-{
+start_service() {
config_load "alfred"
config_foreach alfred_start alfred
- if [ "$enable" = "0" ]; then
- exit 0
- fi
+ [ "$enable" = "0" ] && { exit 0 }
- echo "${initscript}: starting alfred"
- SERVICE_PID_FILE="$pid_file_alfred"
- service_start /usr/sbin/alfred ${alfred_args}
+ procd_open_instance "alfred"
+ procd_set_param command /usr/sbin/alfred
+ procd_append_param command ${alfred_args}
+ procd_close_instance
- if [ "$vis_enable" = "1" ]; then
- echo "${initscript}: starting batadv-vis"
- SERVICE_PID_FILE="$pid_file_vis"
- service_start /usr/sbin/batadv-vis ${vis_args}
- fi
+ [ "$vis_enable" = "1" ] && {
+ procd_open_instance "batadv-vis"
+ procd_set_param command /usr/sbin/batadv-vis
+ procd_append_param command ${vis_args}
+ procd_close_instance
+ }
- if [ "$run_facters" = "1" ]; then
+ [ "$run_facters" = "1" ] && {
( for file in $facters_dir/* ; do [ -x $file ] && $file ; done )
if ! ( grep -q "for file in $facters_dir/\* ; do " /etc/crontabs/root 2>/dev/null ) ; then
echo "*/5 * * * * ( for file in $facters_dir/* ; do [ -x \$file ] && \$file ; done )" >> /etc/crontabs/root
/etc/init.d/cron enable
/etc/init.d/cron restart
fi
- fi
+ }
+}
+
+service_triggers() {
+ procd_add_reload_trigger "alfred"
}
-stop()
-{
- SERVICE_PID_FILE="$pid_file_alfred"
- service_stop /usr/sbin/alfred
- SERVICE_PID_FILE="$pid_file_vis"
- [ -x /usr/sbin/batadv-vis ] && service_stop /usr/sbin/batadv-vis
- sed "\|for file in $facters_dir/\* ; do |d" -i /etc/crontabs/root
- /etc/init.d/cron restart
+stop_service() {
+ [ -e /etc/crontabs/root ] && {
+ sed "\|for file in $facters_dir/\* ; do |d" -i /etc/crontabs/root
+ /etc/init.d/cron restart
+ }
}