summaryrefslogtreecommitdiff
blob: 8efdf9624f67811bc2ddad314e7845245e10947e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/sbin/runscript
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

start() {
	local myhost=$(/bin/hostname 2>/dev/null)
	local retval=0

	# If the hostname is already set via the kernel, and /etc/hostname 
	# isn't setup, then we shouldn't go reseting the configuration #38172.
	if [[ -z ${myhost} ]] || [[ ${myhost} == "(none)" ]] ; then
		myhost="localhost"
	fi

	if [[ -f /etc/hostname ]] ; then
		ewarn "You should stop using /etc/hostname and use /etc/conf.d/hostname"
		myhost=$(</etc/hostname)
	else
		myhost=${HOSTNAME}
	fi

	ebegin "Setting hostname to ${myhost}"
	/bin/hostname "${myhost}"
	retval=$?
	eend ${retval} "Failed to set the hostname"

	if [[ ${retval} -eq 0 ]] ; then
		# setup $HOSTNAME, ignore errors in case /etc is readonly.
		echo "HOSTNAME=\"${myhost}\"" 2>/dev/null > /etc/env.d/01hostname
	fi

	return ${retval}
}

# vim:ts=4