Home | History | Annotate | Line # | Download | only in rc.d
      1  1.2  schmonz #!/bin/sh
      2  1.2  schmonz #
      3  1.9   martin # $NetBSD: rtclocaltime,v 1.9 2009/04/08 13:29:59 martin Exp $
      4  1.2  schmonz #
      5  1.1   martin 
      6  1.1   martin # PROVIDE: rtclocaltime
      7  1.1   martin # REQUIRE: mountcritremote
      8  1.1   martin # BEFORE:  ntpdate ntpd
      9  1.1   martin 
     10  1.3  mycroft $_rc_subr_loaded . /etc/rc.subr
     11  1.1   martin 
     12  1.1   martin name="rtclocaltime"
     13  1.1   martin rcvar=$name
     14  1.1   martin start_cmd="rtclocaltime_start"
     15  1.1   martin stop_cmd=":"
     16  1.1   martin 
     17  1.1   martin rtclocaltime_start()
     18  1.1   martin {
     19  1.8   martin 	rtcoff=$(awk 'BEGIN{
     20  1.9   martin 		offset = -int(strftime("%z"));
     21  1.7      apb 		if (offset < 0) {
     22  1.1   martin 			sign = -1;
     23  1.1   martin 			offset = -offset;
     24  1.1   martin 		} else {
     25  1.1   martin 			sign = 1;
     26  1.1   martin 		}
     27  1.1   martin 		minutes = offset % 100;
     28  1.4    blymn 		hours = int(offset / 100);
     29  1.1   martin 		offset = sign * (hours * 60 + minutes);
     30  1.7      apb 		print offset;
     31  1.8   martin 		exit(0);
     32  1.1   martin 	}')
     33  1.5   sketch 	echo "Setting RTC offset to ${rtcoff}."
     34  1.5   sketch 	sysctl -qw kern.rtc_offset=${rtcoff}
     35  1.1   martin }
     36  1.1   martin 
     37  1.1   martin load_rc_config $name
     38  1.1   martin run_rc_command "$1"
     39