ntpd revision 187879
178344Sobrien#!/bin/sh 278344Sobrien# 398184Sgordon# $FreeBSD: head/etc/rc.d/ntpd 187879 2009-01-29 06:43:29Z keramida $ 478344Sobrien# 578344Sobrien 678344Sobrien# PROVIDE: ntpd 7153607Sdougb# REQUIRE: DAEMON ntpdate cleanvar devfs 898184Sgordon# BEFORE: LOGIN 9180564Sdougb# KEYWORD: nojail shutdown 1078344Sobrien 1178344Sobrien. /etc/rc.subr 1278344Sobrien 13101851Sgordonname=ntpd 14101851Sgordonrcvar=`set_rcvar` 15101851Sgordoncommand="/usr/sbin/${name}" 16101851Sgordonpidfile="/var/run/${name}.pid" 17135194Sseancstart_precmd="ntpd_precmd" 18101851Sgordon 19157840Sflzload_rc_config $name 20157840Sflz 2198184Sgordonntpd_precmd() 2298184Sgordon{ 23157840Sflz rc_flags="-c ${ntpd_config} ${ntpd_flags}" 24157840Sflz 25135194Sseanc if checkyesno ntpd_sync_on_start; then 26187879Skeramida rc_flags="-g $rc_flags" 27135194Sseanc fi 28135194Sseanc 2998184Sgordon if [ -z "$ntpd_chrootdir" ]; then 3098184Sgordon return 0; 3198184Sgordon fi 3298184Sgordon 3398184Sgordon # If running in a chroot cage, ensure that the appropriate files 34104980Sschweikh # exist inside the cage, as well as helper symlinks into the cage 3598184Sgordon # from outside. 3698184Sgordon # 3798184Sgordon # As this is called after the is_running and required_dir checks 3898184Sgordon # are made in run_rc_command(), we can safely assume ${ntpd_chrootdir} 3998184Sgordon # exists and ntpd isn't running at this point (unless forcestart 4098184Sgordon # is used). 4198184Sgordon # 4298184Sgordon if [ ! -c "${ntpd_chrootdir}/dev/clockctl" ]; then 4398184Sgordon rm -f "${ntpd_chrootdir}/dev/clockctl" 4498184Sgordon ( cd /dev ; /bin/pax -rw -pe clockctl "${ntpd_chrootdir}/dev" ) 4598184Sgordon fi 4698184Sgordon ln -fs "${ntpd_chrootdir}/var/db/ntp.drift" /var/db/ntp.drift 4798184Sgordon 4898184Sgordon # Change run_rc_commands()'s internal copy of $ntpd_flags 4998184Sgordon # 5098184Sgordon rc_flags="-u ntpd:ntpd -i ${ntpd_chrootdir} $rc_flags" 5198184Sgordon} 5298184Sgordon 5378344Sobrienrun_rc_command "$1" 54