ntpd revision 101851
178344Sobrien#!/bin/sh
278344Sobrien#
398184Sgordon# $NetBSD: ntpd,v 1.6 2002/03/22 04:33:59 thorpej Exp $
498184Sgordon# $FreeBSD: head/etc/rc.d/ntpd 101851 2002-08-14 05:44:32Z gordon $
578344Sobrien#
678344Sobrien
778344Sobrien# PROVIDE: ntpd
878344Sobrien# REQUIRE: DAEMON
998184Sgordon# BEFORE:  LOGIN
1098184Sgordon# KEYWORD: FreeBSD NetBSD
1178344Sobrien
1278344Sobrien. /etc/rc.subr
1378344Sobrien
14101851Sgordonname=ntpd
15101851Sgordonrcvar=`set_rcvar`
16101851Sgordoncommand="/usr/sbin/${name}"
17101851Sgordonpidfile="/var/run/${name}.pid"
18101851Sgordonrequired_files="/etc/ntp.conf"
19101851Sgordon
2098184Sgordoncase `${CMD_OSTYPE}` in
2198184SgordonNetBSD)
2298184Sgordon	start_precmd="ntpd_precmd"
2398184Sgordon	;;
2498184Sgordonesac
2598184Sgordon
2698184Sgordonntpd_precmd()
2798184Sgordon{
2898184Sgordon	if [ -z "$ntpd_chrootdir" ]; then
2998184Sgordon		return 0;
3098184Sgordon	fi
3198184Sgordon
3298184Sgordon	# If running in a chroot cage, ensure that the appropriate files
3398184Sgordon	# exist inside the cage, as well as helper symlinks into the cage 
3498184Sgordon	# from outside.
3598184Sgordon	#
3698184Sgordon	# As this is called after the is_running and required_dir checks
3798184Sgordon	# are made in run_rc_command(), we can safely assume ${ntpd_chrootdir}
3898184Sgordon	# exists and ntpd isn't running at this point (unless forcestart
3998184Sgordon	# is used).
4098184Sgordon	#
4198184Sgordon	if [ ! -c "${ntpd_chrootdir}/dev/clockctl" ]; then
4298184Sgordon		rm -f "${ntpd_chrootdir}/dev/clockctl"
4398184Sgordon		( cd /dev ; /bin/pax -rw -pe clockctl "${ntpd_chrootdir}/dev" )
4498184Sgordon	fi
4598184Sgordon	ln -fs "${ntpd_chrootdir}/var/db/ntp.drift" /var/db/ntp.drift
4698184Sgordon
4798184Sgordon	#	Change run_rc_commands()'s internal copy of $ntpd_flags
4898184Sgordon	#
4998184Sgordon	rc_flags="-u ntpd:ntpd -i ${ntpd_chrootdir} $rc_flags"
5098184Sgordon}
5198184Sgordon
5278344Sobrienload_rc_config $name
5378344Sobrienrun_rc_command "$1"
54