START=98
-SERVICE_DAEMONIZE=1
-SERVICE_WRITE_PID=1
+USE_PROCD=1
+PROG=/usr/sbin/ntpd
SERVICE_PID_FILE=/var/run/sysntpd.pid
-start() {
- [ -x $PROG ] || return 1
-
+start_service() {
local peers
-
- getpeers() {
- config_get peers "$1" server
- }
+ local args="-n"
+ local enable_server
config_load system
- config_foreach getpeers timeserver
+ config_get peers ntp server
+ config_get_bool enable_server ntp enable_server 0
+
+ [ $enable_server -eq 0 -a -z "$peers" ] && return
- if [ -n "$peers" ]; then
+ procd_open_instance
+ procd_set_param command "$PROG" -n
+ [ $enable_server -ne 0 ] && procd_append_param command -l
+ [ -n "$peers" ] && {
local peer
- local args="-n"
for peer in $peers; do
- append args "-p $peer"
+ procd_append_param command -p $peer
done
-
- service_start /usr/sbin/ntpd $args
- fi
-}
-
-stop() {
- service_stop /usr/sbin/ntpd
+ }
+ procd_close_instance
}