#!/bin/sh

set -eu

# XXX get rid of hosttype handling
puavo_hosttype="$(puavo-conf puavo.hosttype)"

case "$puavo_hosttype" in
  diskinstaller|preinstalled|unregistered)
    # For unregistered hosts, setup hostname based on hosttype.
    puavo_hostname="$puavo_hosttype"
    ;;
  *)
    read puavo_hostname < /etc/puavo/hostname
    ;;
esac

echo "$puavo_hostname" > /etc/hostname
echo "$puavo_hostname" > /proc/sys/kernel/hostname

hostname "$puavo_hostname"

puavo_domain=$(cat /etc/puavo/domain 2>/dev/null || echo nodomain)

if [ "$puavo_hosttype" = 'bootserver' ]; then
  # For bootservers, setting up /etc/hosts happens in "setup_dns".
  exit 0
fi

cat <<EOF > /etc/hosts.tmp
127.0.0.1 localhost
127.0.1.1 ${puavo_hostname}.${puavo_domain} ${puavo_hostname}

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
EOF
mv /etc/hosts.tmp /etc/hosts
