#!/bin/sh
source "$RUNES_INTERFACE_DIR/RUNES/functions.sh"
[ -f "$RUNES_CONFIG_PATH" ] && source "$RUNES_CONFIG_PATH"
# basename=
# static_name=


eval $(runes_cmdline param_ AdHocHostName)
# hostname=


# Resources
busybox=./bin/busybox



hostname=
if [ -n "$param_hostname" ];then
	hostname="$param_hostname"
elif [ -n "$static_hostname" ];then
	hostname="$static_hostname"
else
	eval $(runes_interface ipv4_ LOCAL IPv4Network getNetworkInterfacesList)
	netdev=
	for dev in $ipv4_Interfaces; do
		netdev="$dev"
		break	# 最初の1つを使う
	done

	[ -z "$basename" ] && basename="viver"
	hwaddr=$($busybox ifconfig $netdev | grep "HWaddr" | sed -e "s/.*HWaddr //" -e "s/\://g")
	if [ -z "$hwaddr" ];then
		# random number
		random="$(echo "echo \$RANDOM" | $busybox ash)"
		hostname="$basename$random"
	else
		# MAC Address
		hostname="$basename$hwaddr"
	fi
fi


gprintf_success "Setting hostname to $hostname"
hostname -v $hostname


# RedHat System: /etc/sysconfig/network
if [ -f "/etc/sysconfig/network" ];then
	cat /etc/sysconfig/network | sed -e "s/^HOSTNAME=.*$//" > /etc/sysconfig/network.new
	echo "HOSTNAME=$hostname" >> /etc/sysconfig/network.new
	mv -f /etc/sysconfig/network.new /etc/sysconfig/network
fi


# Generic System: /etc/hosts
if [ -f "/etc/hosts" ];then
	cat /etc/hosts | sed -e "s/^127.0.0.1.*/127.0.0.1	$hostname	localhost/" > /etc/hosts.new
	echo "127.0.0.1		localhost.localdomain	localhost" >> /etc/hosts.new
	mv -f /etc/hosts.new /etc/hosts
fi
