#! /bin/sh
### BEGIN INIT INFO
# Provides:          hostname
# Required-Start:
# Required-Stop:
# Should-Start:      glibc
# Default-Start:     S
# Default-Stop:
# Short-Description: Set hostname based on /etc/hostname
# Description:       Read the machines hostname from /etc/hostname, and
#                    update the kernel value with this value.  If
#                    /etc/hostname is empty, the current kernel value
#                    for hostname is used.  If the kernel value is
#                    empty, the value 'localhost' is used.
### END INIT INFO

setvar PATH = "/sbin:/bin"

source /lib/init/vars.sh
source /lib/lsb/init-functions

proc do_start {
	test -f /etc/hostname && setvar HOSTNAME = "$(cat /etc/hostname)"

	# Keep current name if /etc/hostname is missing.
	test -z $HOSTNAME && setvar HOSTNAME = "$(hostname)"

	# And set it to 'localhost' if no setting was found
	test -z $HOSTNAME && setvar HOSTNAME = 'localhost'

	test $VERBOSE != no && log_action_begin_msg "Setting hostname to '$HOSTNAME'"
	hostname $HOSTNAME
	setvar ES = ""$?
	test $VERBOSE != no && log_action_end_msg $ES
	exit $ES
}

proc do_status {
	setvar HOSTNAME = $(hostname)
	if test $HOSTNAME  {
		return 0
	} else {
		return 4
	}
}

case (1) {
  start|"" {
	do_start
	}
  restart|reload|force-reload {
	echo "Error: argument '$1' not supported" >&2
	exit 3
	}
  stop {
	# No-op
	}
  status {
	do_status
	exit $?
	}
  * {
	echo "Usage: hostname.sh [start|stop]" >&2
	exit 3
	}
}

: