62 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#!@PREFIX@/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
 | 
						|
}
 |