232b6c98b4
systems are fully "ready to go". 'FILESYSTEMS' states: "This is a dummy dependency, for services which require file systems to be mounted before starting." However, we have 'var' which is was run after 'FILESYSTEMS' and can mount /var if it already isn't mounted. Furthermore, several scripts cannot use /var until 'cleanvar' has done its thing. Thus "FILESYSTEMS" hasn't really meant all critical file systems are fully usable.
54 lines
1.2 KiB
Bash
Executable File
54 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
# PROVIDE: ntpd
|
|
# REQUIRE: DAEMON ntpdate FILESYSTEMS devfs
|
|
# BEFORE: LOGIN
|
|
# KEYWORD: nojail shutdown
|
|
|
|
. /etc/rc.subr
|
|
|
|
name="ntpd"
|
|
rcvar="ntpd_enable"
|
|
command="/usr/sbin/${name}"
|
|
pidfile="/var/run/${name}.pid"
|
|
start_precmd="ntpd_precmd"
|
|
|
|
load_rc_config $name
|
|
|
|
ntpd_precmd()
|
|
{
|
|
rc_flags="-c ${ntpd_config} ${ntpd_flags}"
|
|
|
|
if checkyesno ntpd_sync_on_start; then
|
|
rc_flags="-g $rc_flags"
|
|
fi
|
|
|
|
if [ -z "$ntpd_chrootdir" ]; then
|
|
return 0;
|
|
fi
|
|
|
|
# If running in a chroot cage, ensure that the appropriate files
|
|
# exist inside the cage, as well as helper symlinks into the cage
|
|
# from outside.
|
|
#
|
|
# As this is called after the is_running and required_dir checks
|
|
# are made in run_rc_command(), we can safely assume ${ntpd_chrootdir}
|
|
# exists and ntpd isn't running at this point (unless forcestart
|
|
# is used).
|
|
#
|
|
if [ ! -c "${ntpd_chrootdir}/dev/clockctl" ]; then
|
|
rm -f "${ntpd_chrootdir}/dev/clockctl"
|
|
( cd /dev ; /bin/pax -rw -pe clockctl "${ntpd_chrootdir}/dev" )
|
|
fi
|
|
ln -fs "${ntpd_chrootdir}/var/db/ntp.drift" /var/db/ntp.drift
|
|
|
|
# Change run_rc_commands()'s internal copy of $ntpd_flags
|
|
#
|
|
rc_flags="-u ntpd:ntpd -i ${ntpd_chrootdir} $rc_flags"
|
|
}
|
|
|
|
run_rc_command "$1"
|