ntpd revision 1.7
11.1Ssimonb#!/bin/sh
21.1Ssimonb#
31.7Slukem# $NetBSD: ntpd,v 1.7 2002/06/15 01:55:44 lukem Exp $
41.1Ssimonb#
51.1Ssimonb
61.1Ssimonb# PROVIDE: ntpd
71.1Ssimonb# REQUIRE: DAEMON
81.6Sthorpej# BEFORE:  LOGIN
91.1Ssimonb
101.1Ssimonb. /etc/rc.subr
111.1Ssimonb
121.1Ssimonbname="ntpd"
131.3Slukemrcvar=$name
141.1Ssimonbcommand="/usr/sbin/${name}"
151.1Ssimonbpidfile="/var/run/${name}.pid"
161.4Slukemstart_precmd="ntpd_precmd"
171.1Ssimonbrequired_files="/etc/ntp.conf"
181.4Slukem
191.4Slukemntpd_precmd()
201.4Slukem{
211.4Slukem	if [ -z "$ntpd_chrootdir" ]; then
221.4Slukem		return 0;
231.4Slukem	fi
241.4Slukem
251.4Slukem	# If running in a chroot cage, ensure that the appropriate files
261.4Slukem	# exist inside the cage, as well as helper symlinks into the cage 
271.4Slukem	# from outside.
281.4Slukem	#
291.4Slukem	# As this is called after the is_running and required_dir checks
301.4Slukem	# are made in run_rc_command(), we can safely assume ${ntpd_chrootdir}
311.4Slukem	# exists and ntpd isn't running at this point (unless forcestart
321.4Slukem	# is used).
331.7Slukem	#
341.7Slukem	# This requires "pseudo-device clockctl" compiled in to kernel.
351.4Slukem	#
361.4Slukem	if [ ! -c "${ntpd_chrootdir}/dev/clockctl" ]; then
371.4Slukem		rm -f "${ntpd_chrootdir}/dev/clockctl"
381.4Slukem		( cd /dev ; /bin/pax -rw -pe clockctl "${ntpd_chrootdir}/dev" )
391.4Slukem	fi
401.4Slukem	ln -fs "${ntpd_chrootdir}/var/db/ntp.drift" /var/db/ntp.drift
411.4Slukem
421.4Slukem	#	Change run_rc_commands()'s internal copy of $ntpd_flags
431.4Slukem	#
441.5Slukem	rc_flags="-u ntpd:ntpd -i ${ntpd_chrootdir} $rc_flags"
451.4Slukem}
461.1Ssimonb
471.2Slukemload_rc_config $name
481.1Ssimonbrun_rc_command "$1"
49