#!/bin/bash
# VERSION=6
# CHANGES=beginn time with 2016

function hostname_update {
	hostname -F /etc/hostname
}

function hostname_set_custom {

	mount -oremount,rw /
	rm -f /etc/hostname
	ln -s /usr/conf/hostname /etc/hostname
	sync
	mount -oremount,ro /
}

function hostname_set_default {

	UUID=$(cat /sys/class/beronet/gateway/unique_id)
	HOSTNAME_NEW="berofix${UUID}"
	HOSTNAME_OLD="$(cat /etc/hostname.default)"

	mount -oremount,rw /
	if [ "${HOSTNAME_NEW}" != "${HOSTNAME_OLD}" ]; then
		echo ${HOSTNAME_NEW} > /etc/hostname.default
	fi
	rm -f /etc/hostname
	ln -s /etc/hostname.default /etc/hostname
	sync
	mount -oremount,ro /

}

function hostname_set_hosts {

	HOST_NAME=$(/bin/hostname)
	if [ -z "$(grep ${HOST_NAME} /etc/hosts)" ]; then
		mount -oremount,rw /
		echo -e "127.0.0.1\tlocalhost\n127.0.1.1\t${HOST_NAME}" > /etc/hosts
		sync
		mount -oremount,ro /
	fi
}

function time_set_default {
	date -s 010100002017 > /dev/null
}

case ${1} in
	start)
		time_set_default

		if [ -f /usr/conf/hostname ]; then
			hostname_set_custom
		else
			hostname_set_default
		fi
		hostname_update
		hostname_set_hosts
		;;
	stop)
		if [ -f /usr/conf/hostname ]; then
			hostname_set_custom
		else
			hostname_set_default
		fi
		hostname_update
		hostname_set_hosts
		;;
esac
