alfred: use procd
Signed-off-by: Paul Spooren <mail@aparcar.org>
This commit is contained in:
parent
d82d299a27
commit
45db0e60d2
2 changed files with 34 additions and 43 deletions
|
@ -8,9 +8,9 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=alfred
|
PKG_NAME:=alfred
|
||||||
PKG_VERSION:=2018.1
|
PKG_VERSION:=2018.2
|
||||||
PKG_RELEASE:=0
|
PKG_RELEASE:=0
|
||||||
PKG_HASH:=808fa6acf65c7a8e26405115176a5587157f746108cbe5dd974788eb05416d76
|
PKG_HASH:=2bbe9c4fc19a6529c40f7c872406fad8070d145ede970806bd2194e07fba8018
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
|
PKG_SOURCE_URL:=https://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
|
||||||
|
|
|
@ -1,48 +1,40 @@
|
||||||
#!/bin/sh /etc/rc.common
|
#!/bin/sh /etc/rc.common
|
||||||
|
|
||||||
#
|
|
||||||
# Copyright (C) 2013 OpenWrt.org
|
|
||||||
#
|
#
|
||||||
# This is free software, licensed under the GNU General Public License v2.
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
# See /LICENSE for more information.
|
# See /LICENSE for more information.
|
||||||
#
|
#
|
||||||
|
|
||||||
START=99
|
START=99
|
||||||
STOP=99
|
USE_PROCD=1
|
||||||
alfred_args=""
|
alfred_args=""
|
||||||
vis_args=""
|
vis_args=""
|
||||||
facters_dir="/etc/alfred"
|
facters_dir="/etc/alfred"
|
||||||
pid_file_alfred="/var/run/alfred.pid"
|
|
||||||
pid_file_vis="/var/run/batadv-vis.pid"
|
|
||||||
enable=0
|
enable=0
|
||||||
vis_enable=0
|
vis_enable=0
|
||||||
SERVICE_DAEMONIZE=1
|
|
||||||
SERVICE_WRITE_PID=1
|
|
||||||
|
|
||||||
wait_for_dir()
|
wait_for_dir() {
|
||||||
{
|
|
||||||
local ifce="$1" dir="$2"
|
local ifce="$1" dir="$2"
|
||||||
|
|
||||||
if ! [ -d "$dir" ] ; then
|
if ! [ -d "$dir" ] ; then
|
||||||
timeout=30
|
timeout=30
|
||||||
echo "${initscript}: waiting $timeout secs for $ifce interface..."
|
echo "waiting $timeout secs for $ifce interface..."
|
||||||
for i in $(seq $timeout); do
|
for i in $(seq $timeout); do
|
||||||
sleep 1
|
sleep 1
|
||||||
[ -d "$dir" ] && break
|
[ -d "$dir" ] && break
|
||||||
if [ $i == $timeout ] ; then
|
if [ $i = $timeout ] ; then
|
||||||
echo "${initscript}: $ifce not detected, alfred not starting."
|
echo "$ifce not detected, alfred not starting."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
wait_for_ll_address()
|
wait_for_ll_address() {
|
||||||
{
|
|
||||||
local iface="$1"
|
local iface="$1"
|
||||||
local timeout=30
|
local timeout=30
|
||||||
|
|
||||||
echo "${initscript}: waiting $timeout secs for $iface address..."
|
echo "waiting $timeout secs for $iface address..."
|
||||||
for i in $(seq $timeout); do
|
for i in $(seq $timeout); do
|
||||||
# We look for
|
# We look for
|
||||||
# - the link-local address (starts with fe80)
|
# - the link-local address (starts with fe80)
|
||||||
|
@ -58,12 +50,11 @@ wait_for_ll_address()
|
||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "${initscript}: $iface address not detected, alfred not starting."
|
echo "$iface address not detected, alfred not starting."
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
alfred_start()
|
alfred_start() {
|
||||||
{
|
|
||||||
local args=""
|
local args=""
|
||||||
local section="$1"
|
local section="$1"
|
||||||
local disabled interface mode
|
local disabled interface mode
|
||||||
|
@ -103,41 +94,41 @@ alfred_start()
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
start()
|
start_service() {
|
||||||
{
|
|
||||||
config_load "alfred"
|
config_load "alfred"
|
||||||
config_foreach alfred_start alfred
|
config_foreach alfred_start alfred
|
||||||
|
|
||||||
if [ "$enable" = "0" ]; then
|
[ "$enable" = "0" ] && { exit 0 }
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "${initscript}: starting alfred"
|
procd_open_instance "alfred"
|
||||||
SERVICE_PID_FILE="$pid_file_alfred"
|
procd_set_param command /usr/sbin/alfred
|
||||||
service_start /usr/sbin/alfred ${alfred_args}
|
procd_append_param command ${alfred_args}
|
||||||
|
procd_close_instance
|
||||||
|
|
||||||
if [ "$vis_enable" = "1" ]; then
|
[ "$vis_enable" = "1" ] && {
|
||||||
echo "${initscript}: starting batadv-vis"
|
procd_open_instance "batadv-vis"
|
||||||
SERVICE_PID_FILE="$pid_file_vis"
|
procd_set_param command /usr/sbin/batadv-vis
|
||||||
service_start /usr/sbin/batadv-vis ${vis_args}
|
procd_append_param command ${vis_args}
|
||||||
fi
|
procd_close_instance
|
||||||
|
}
|
||||||
|
|
||||||
if [ "$run_facters" = "1" ]; then
|
[ "$run_facters" = "1" ] && {
|
||||||
( for file in $facters_dir/* ; do [ -x $file ] && $file ; done )
|
( 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
|
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
|
echo "*/5 * * * * ( for file in $facters_dir/* ; do [ -x \$file ] && \$file ; done )" >> /etc/crontabs/root
|
||||||
/etc/init.d/cron enable
|
/etc/init.d/cron enable
|
||||||
/etc/init.d/cron restart
|
/etc/init.d/cron restart
|
||||||
fi
|
fi
|
||||||
fi
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stop()
|
service_triggers() {
|
||||||
{
|
procd_add_reload_trigger "alfred"
|
||||||
SERVICE_PID_FILE="$pid_file_alfred"
|
}
|
||||||
service_stop /usr/sbin/alfred
|
|
||||||
SERVICE_PID_FILE="$pid_file_vis"
|
stop_service() {
|
||||||
[ -x /usr/sbin/batadv-vis ] && service_stop /usr/sbin/batadv-vis
|
[ -e /etc/crontabs/root ] && {
|
||||||
sed "\|for file in $facters_dir/\* ; do |d" -i /etc/crontabs/root
|
sed "\|for file in $facters_dir/\* ; do |d" -i /etc/crontabs/root
|
||||||
/etc/init.d/cron restart
|
/etc/init.d/cron restart
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue