Home | History | Annotate | Line # | Download | only in rc.d
rtclocaltime revision 1.1
      1  1.1  martin #! /bin/sh
      2  1.1  martin 
      3  1.1  martin # PROVIDE: rtclocaltime
      4  1.1  martin # REQUIRE: mountcritremote
      5  1.1  martin # BEFORE:  ntpdate ntpd
      6  1.1  martin 
      7  1.1  martin . /etc/rc.subr
      8  1.1  martin 
      9  1.1  martin name="rtclocaltime"
     10  1.1  martin rcvar=$name
     11  1.1  martin start_cmd="rtclocaltime_start"
     12  1.1  martin stop_cmd=":"
     13  1.1  martin 
     14  1.1  martin rtclocaltime_start()
     15  1.1  martin {
     16  1.1  martin 	rtcoff=$(date '+%z' | awk '{
     17  1.1  martin 		offset = int($1);
     18  1.1  martin 		if (offset < 0) {
     19  1.1  martin 			sign = -1;
     20  1.1  martin 			offset = -offset;
     21  1.1  martin 		} else {
     22  1.1  martin 			sign = 1;
     23  1.1  martin 		}
     24  1.1  martin 		minutes = offset % 100;
     25  1.1  martin 		hours = offset / 100;
     26  1.1  martin 		offset = sign * (hours * 60 + minutes);
     27  1.1  martin 		print offset;
     28  1.1  martin 	}')
     29  1.1  martin 	sysctl -w kern.rtc_offset=$((-1 * $rtcoff))
     30  1.1  martin }
     31  1.1  martin 
     32  1.1  martin load_rc_config $name
     33  1.1  martin run_rc_command "$1"
     34