diff options
author | Roy Marples <roy@marples.name> | 2008-03-02 21:13:21 +0000 |
---|---|---|
committer | Roy Marples <roy@marples.name> | 2008-03-02 21:13:21 +0000 |
commit | a12dbdc6c93a7d63591610378e3e570b7c7d2143 (patch) | |
tree | 22cd968f4bb32bedf82e091c9ffee798d247c51e /init.d.FreeBSD/clock.in | |
parent | 7c092fbc7904be18510eed08c72cbad974db8adc (diff) |
Don't check for root in prefix.
Diffstat (limited to 'init.d.FreeBSD/clock.in')
-rw-r--r-- | init.d.FreeBSD/clock.in | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/init.d.FreeBSD/clock.in b/init.d.FreeBSD/clock.in new file mode 100644 index 00000000..3a2c050b --- /dev/null +++ b/init.d.FreeBSD/clock.in @@ -0,0 +1,61 @@ +#!/sbin/runscript +# Copyright 2007-2008 Roy Marples <roy@marples.name> +# All rights reserved. Released under the 2-clause BSD license. + +extra_commands="save" + +description="Sets the local clock to UTC or Local Time." +description_save="Saves the current time in the BIOS." + +clock=${clock:-${CLOCK:-UTC}} +if [ "${clock}" = "UTC" ]; then + utc="UTC" +else + utc="Local Time" +fi + +depend() +{ + # BSD adjkerntz needs to be able to write to /etc + if [ "${clock}" = "UTC" -a -e /etc/wall_cmos_clock ] || + [ "${clock}" != "UTC" -a ! -e /etc/wall_cmos_clock ]; then + need root + fi + keyword nojail noprefix +} + +start() +{ + ebegin "Starting the System Clock Adjuster [${utc}]" + if [ "${clock}" != "UTC" ]; then + echo >/etc/wall_cmos_clock + start-stop-daemon --start --exec /sbin/adjkerntz -- -i + else + rm -f /etc/wall_cmos_clock + /sbin/adjkerntz -i + fi + eend $? +} + +save() +{ + ebegin "Setting hardware clock using the system clock [${utc}]" + adjkerntz -a + eend $? +} + +stop() +{ + # Don't tweak the hardware clock on LiveCD halt. + if yesno "${clock_systohc:-${CLOCK_SYSTOHC}}"; then + [ -z "${CDBOOT}" ] && save + fi + + ebegin "Stopping the System Clock Adjuster" + if start-stop-daemon --test --quiet --stop --exec /sbin/adjkerntz; then + start-stop-daemon --stop --exec /sbin/adjkerntz + eend $? + else + eend 0 + fi +} |