aboutsummaryrefslogtreecommitdiff
path: root/init.d.BSD/hostid.in
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2008-03-25 14:06:05 +0000
committerRoy Marples <roy@marples.name>2008-03-25 14:06:05 +0000
commit55eb3794fb4ad563102d5ab30c1d5337a599b2e5 (patch)
tree0d052faeb050c1e18ba56f6f6189bff3ffca28c9 /init.d.BSD/hostid.in
parent08aff6ef44ac5dc438d916b53aa61385f6d299f3 (diff)
Rework our folder structure so that we don't have OS specific dirs, making it easier to share init and conf files per OS.
Diffstat (limited to 'init.d.BSD/hostid.in')
-rw-r--r--init.d.BSD/hostid.in78
1 files changed, 0 insertions, 78 deletions
diff --git a/init.d.BSD/hostid.in b/init.d.BSD/hostid.in
deleted file mode 100644
index a0588848..00000000
--- a/init.d.BSD/hostid.in
+++ /dev/null
@@ -1,78 +0,0 @@
-#!@PREFIX@/sbin/runscript
-# Copyright 2007-2008 Roy Marples <roy@marples.name>
-# All rights reserved. Released under the 2-clause BSD license.
-
-extra_commands="reset"
-hostid_file=${hostid_file:-/etc/hostid}
-
-depend()
-{
- need root
- before devd net
- keyword nojail noprefix
-}
-
-_set()
-{
- local id=0
-
- if [ -n "$1" ]; then
- id=$(echo "$1" | md5)
- id="0x${id%????????????????????????}"
- fi
- ebegin "Setting Host ID: ${id}"
- sysctl -w kern.hostid="${id}" >/dev/null
- eend $? || return 1
-
- if sysctl -n kern.hostuuid >/dev/null 2>&1; then
- [ -n "$1" ] && id=$1
- ebegin "Setting Host UUID: ${id}"
- sysctl kern.hostuuid="${id}" >/dev/null
- eend $? || return 1
- fi
-
-}
-
-# First we check to see if there is a system UUID
-# If so then we use that and erase the hostid file,
-# otherwise we generate a random UUID.
-reset()
-{
- local uuid=$(kenv smbios.system.uuid 2>/dev/null)
- local x="[0-9a-f]"
- local y="${x}${x}${x}${x}"
- case "${uuid}" in
- ${y}${y}-${y}-${y}-${y}-${y}${y}${y});;
- *) uuid=;;
- esac
-
- if [ -n "${uuid}" ]; then
- rm -f "${hostid_file}"
- else
- uuid=$(uuidgen)
- if [ -z "${uuid}" ]; then
- eerror "Unable to generate a UUID"
- return 1
- fi
- if ! echo "${uuid}" > "${hostid_file}"; then
- eerror "Failed to store UUID in \`${hostid_file}'"
- return 1
- fi
- fi
-
- _set "${uuid}"
-}
-
-start()
-{
- if [ -r "${hostid_file}" ]; then
- _set $(cat "${hostid_file}")
- else
- reset
- fi
-}
-
-stop()
-{
- _set
-}