htpdate: modify init scripts to use procd and uci configuration
[feed/packages.git] / net / htpdate / files / htpdate.init
1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2006 OpenWrt.org
3
4 START=49
5 USE_PROCD=1
6 PROG=/usr/sbin/htpdate
7
8
9
10
11 validate_htpdate_section() {
12 uci_validate_section htpdate htpdate "${1}" \
13 'server:list(host)' \
14 'proxy_host:host' \
15 'proxy_port:port:8080' \
16 'debug:bool:0' \
17 'sanity_check:bool:1' \
18 'option:list(string)' \
19 'enabled:bool:1'
20 }
21
22
23 start_service() {
24 local server proxy debug sanity_check option enabled
25
26 validate_htpdate_section htpdate || {
27 echo "validation failed"
28 return 1
29 }
30
31 [ "$enabled" = 0 ] && return
32
33
34 procd_open_instance
35 procd_set_param command "$PROG" -f
36
37 [ -n "$proxy" ] && procd_append_param command -P $proxy:$proxy_port
38 [ "$debug" = "1" ] && procd_append_param command -d
39 [ "$sanity_check" = "0" ] && procd_append_param command -t
40 [ -n "$option" ] && procd_append_param command $option
41 for peer in $server; do
42 procd_append_param command $peer
43 done
44
45 procd_set_param stdout 1
46 procd_set_param stderr 1
47 procd_set_param respawn
48 procd_close_instance
49 }
50
51 service_triggers() {
52 procd_add_reload_trigger "htpdate"
53 procd_add_validation validate_htpdate_section
54 }