openntpd: add SysV initscript and user

Add the _ntp user that the daemon requires to work in any way.
Add a SysV-style initscript as well, but not with '-s' (set time
immediately after startup) because it can make the boot process stall
for a few seconds if there's no proper network connectivity/dns setup.
Make ntp and openntpd mutually exclusive since they overstep each other.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Gustavo Zacarias 2014-06-11 08:33:15 -03:00 committed by Peter Korsgaard
parent 483e3bef47
commit fb6c286697
3 changed files with 36 additions and 2 deletions

View file

@ -1,7 +1,7 @@
config BR2_PACKAGE_OPENNTPD
bool "openntpd"
# fork()
depends on BR2_USE_MMU
depends on BR2_USE_MMU # fork ()
depends on !BR2_PACKAGE_NTP # conflicting binaries
help
OpenNTPD is an easy to use implementation of the Network Time
Protocol. It provides the ability to sync the local clock

25
package/openntpd/S49ntp Executable file
View file

@ -0,0 +1,25 @@
#!/bin/sh
[ -x /usr/sbin/ntpd ] || exit 0
[ -f /etc/ntpd.conf ] || exit 0
case "$1" in
start)
echo -n "Starting openntpd: "
start-stop-daemon -S -x /usr/sbin/ntpd
[ $? == 0 ] && echo "OK" || echo "FAIL"
;;
stop)
echo -n "Stopping openntpd: "
start-stop-daemon -K -x /usr/sbin/ntpd
[ $? == 0 ] && echo "OK" || echo "FAIL"
;;
restart)
"$0" stop
sleep 1
"$0" start
;;
*)
echo "Usage: $0 {start|stop|restart}"
;;
esac

View file

@ -10,4 +10,13 @@ OPENNTPD_CONF_OPT = --with-builtin-arc4random --disable-strip
OPENNTPD_LICENSE = MIT-like, BSD-2c, BSD-3c
OPENNTPD_LICENSE_FILES = LICENCE
define OPENNTPD_INSTALL_INIT_SYSV
$(INSTALL) -m 0755 -D package/openntpd/S49ntp \
$(TARGET_DIR)/etc/init.d/S49ntp
endef
define OPENNTPD_USERS
_ntp -1 _ntp -1 * - - - Network Time Protocol daemon
endef
$(eval $(autotools-package))