aboutsummaryrefslogtreecommitdiff
path: root/init.d.BSD/hostid
diff options
context:
space:
mode:
Diffstat (limited to 'init.d.BSD/hostid')
-rw-r--r--init.d.BSD/hostid17
1 files changed, 10 insertions, 7 deletions
diff --git a/init.d.BSD/hostid b/init.d.BSD/hostid
index 9df83550..5f8bfb04 100644
--- a/init.d.BSD/hostid
+++ b/init.d.BSD/hostid
@@ -34,18 +34,21 @@ depend() {
_set() {
local id=0
- [ -n "$1" ] && id=$1
- ebegin "Setting Host UUID: ${id}"
- sysctl kern.hostuuid="${id}" >/dev/null
- eend $? || return 1
-
if [ -n "$1" ]; then
id=$(echo "$1" | md5)
id="0x${id%????????????????????????}"
fi
ebegin "Setting Host ID: ${id}"
- sysctl kern.hostid="${id}" >/dev/null
- eend $?
+ 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