summaryrefslogtreecommitdiff
path: root/nonsystemd/chrony-openrc/chrony.initd
diff options
context:
space:
mode:
Diffstat (limited to 'nonsystemd/chrony-openrc/chrony.initd')
-rw-r--r--nonsystemd/chrony-openrc/chrony.initd78
1 files changed, 78 insertions, 0 deletions
diff --git a/nonsystemd/chrony-openrc/chrony.initd b/nonsystemd/chrony-openrc/chrony.initd
new file mode 100644
index 000000000..ce7b079c2
--- /dev/null
+++ b/nonsystemd/chrony-openrc/chrony.initd
@@ -0,0 +1,78 @@
+#!/usr/bin/openrc-run
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/chrony/files/chronyd.rc,v 1.8 2007/03/22 14:32:09 tove Exp $
+
+command="/usr/bin/chronyd"
+description="NTP daemon"
+pidfile="/run/chrony/chronyd.pid"
+
+depend() {
+ need net
+ after firewall
+ provide ntp-client ntp-server
+ use dns
+}
+
+checkconfig() {
+ # Note that /etc/chrony/chrony.keys is *NOT* checked. This
+ # is because the user may have specified another key
+ # file, and we don't want to force the user to use that
+ # exact name for the key file.
+ if [ ! -f "${CFGFILE}" ] ; then
+ eerror "Please create ${CFGFILE} and the"
+ eerror "chrony key file (usually /etc/chrony/chrony.keys)"
+ eerror "by using the"
+ eerror ""
+ eerror " chrony.conf.example"
+ eerror " chrony.keys.example"
+ eerror ""
+ eerror "files (from the documentation directory)"
+ eerror "as templates."
+ return 1
+ else
+ # Actually, I tried it, and chrony seems to ignore the pidfile
+ # option. I'm going to leave it here anyway, since you never
+ # know if it might be handy
+ _cfg_pidfile=`awk '/^ *pidfile/{print $2}' "${CFGFILE}"`
+ if [ -n "$_cfg_pidfile" ] ; then
+ pidfile="$_cfg_pidfile"
+ fi
+ fi
+ return 0
+}
+
+setxtrarg() {
+ if [ -c /dev/rtc ]; then
+ grep -q '^rtcfile' "${CFGFILE}" && ARGS="${ARGS} -s"
+ fi
+ grep -q '^dumponexit$' "${CFGFILE}" && ARGS="${ARGS} -r"
+ return 0
+}
+
+start() {
+ checkconfig || return $?
+ setxtrarg
+
+ local daemon_args=
+ if yesno "$FAST_STARTUP"; then
+ ARGS="${ARGS} -n"
+ daemon_args="--background"
+ fi
+
+ ebegin "Starting chronyd"
+ start-stop-daemon $daemon_args --start --quiet \
+ --exec "${command}" \
+ --pidfile "${pidfile}" \
+ -- -f "${CFGFILE}" ${ARGS}
+ eend $? "Failed to start chronyd"
+}
+
+stop() {
+ checkconfig || return $?
+
+ ebegin "Stopping chronyd"
+ start-stop-daemon --stop --quiet \
+ --pidfile "${pidfile}"
+ eend $? "Failed to stop chronyd"
+}