#!/bin/sh /etc/rc.common
# Copyright (C) 2014 OpenWrt.org

START=03
USE_PROCD=1
CFG="system"

reload_service() {
	local hostname conloglevel buffersize timezone zonename
	config_load "$CFG"
	config_get hostname "$CFG" hostname "%%NAME%%"
	config_get conloglevel "$CFG" conloglevel
	config_get buffersize "$CFG" buffersize
	config_get timezone "$CFG" timezone "UTC"
	config_get zonename "$CFG" zonename

	echo "$hostname" > /proc/sys/kernel/hostname
	[ -z "$conloglevel" -a -z "$buffersize" ] \
		|| dmesg ${conloglevel:+-n $conloglevel} ${buffersize:+-s $buffersize}
	echo "$timezone" > /tmp/TZ
	chown ntpclient:ntpclient /tmp/TZ
	chmod 664 /tmp/TZ
	[ -n "$zonename" ] && [ -f "/usr/share/zoneinfo/${zonename// /_}" ] \
		&& ln -sf "/usr/share/zoneinfo/${zonename// /_}" /tmp/localtime \
		&& rm -f /tmp/TZ

	# apply timezone to kernel
	hwclock -u --systz
}

service_triggers() {
	procd_add_reload_trigger "system"
}

start_service() {
	reload_service
}
