summaryrefslogtreecommitdiff
path: root/beagle/debian-rfs/etc/init.d/hostname.sh
diff options
context:
space:
mode:
Diffstat (limited to 'beagle/debian-rfs/etc/init.d/hostname.sh')
-rwxr-xr-xbeagle/debian-rfs/etc/init.d/hostname.sh68
1 files changed, 68 insertions, 0 deletions
diff --git a/beagle/debian-rfs/etc/init.d/hostname.sh b/beagle/debian-rfs/etc/init.d/hostname.sh
new file mode 100755
index 0000000..61eb5ea
--- /dev/null
+++ b/beagle/debian-rfs/etc/init.d/hostname.sh
@@ -0,0 +1,68 @@
+#! /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
+
+PATH=/sbin:/bin
+
+. /lib/init/vars.sh
+. /lib/lsb/init-functions
+
+do_start () {
+ [ -f /etc/hostname ] && HOSTNAME="$(cat /etc/hostname)"
+
+ # Keep current name if /etc/hostname is missing.
+ [ -z "$HOSTNAME" ] && HOSTNAME="$(hostname)"
+
+ # And set it to 'localhost' if no setting was found
+ [ -z "$HOSTNAME" ] && HOSTNAME=localhost
+
+ [ "$VERBOSE" != no ] && log_action_begin_msg "Setting hostname to '$HOSTNAME'"
+ hostname "$HOSTNAME"
+ ES=$?
+ [ "$VERBOSE" != no ] && log_action_end_msg $ES
+ exit $ES
+}
+
+do_status () {
+ HOSTNAME=$(hostname)
+ if [ "$HOSTNAME" ] ; then
+ return 0
+ else
+ return 4
+ fi
+}
+
+case "$1" in
+ 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
+ ;;
+esac
+
+: