Index: /trunk/src/VBox/Installer/linux/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Installer/linux/Makefile.kmk	(revision 43364)
+++ /trunk/src/VBox/Installer/linux/Makefile.kmk	(revision 43365)
@@ -34,4 +34,5 @@
 VBOX_LNX_INST_OUT_DIR   := $(PATH_TARGET)/Installer/linux
 VBOX_LNX_INST_STAGE_DIR := $(PATH_TARGET)/Installer/linux/install
+VBOX_LNX_INST_STAGE_DIR_REL := obj/Installer/linux/install
 VBOX_LNX_DBG_PATH       := usr/lib/debug/opt/VirtualBox
 VBOX_LNX_PACKAGE_NAME    = VirtualBox-$(VBOX_VERSION_STRING)-r$(VBOX_SVN_REV).run
@@ -50,18 +51,10 @@
 	$(addprefix $(VBOX_LNX_INST_STAGE_DIR)/,\
 		install.sh \
-		uninstall.sh \
-		deffiles \
-		routines.sh \
-		vboxautostart-service.sh \
-		vboxballoonctrl-service.sh \
 		vboxdrv.sh \
-		vboxweb-service.sh \
 		VirtualBox.tar.bz2 \
 		LICENSE) \
 	$(wildcard $(VBOX_LNX_INST_OUT_DIR)/VirtualBox-*) \
 	$(addprefix $(VBOX_LNX_INST_OUT_DIR)/,\
-		vboxballoonctrl-service.sh \
 		vboxdrv.sh \
-		vboxweb-service.sh \
 		install.sh)
 
@@ -77,4 +70,16 @@
 	VBox.sh=>VBox.sh \
 	$(if $(VBOX_WITH_PYTHON),$(PATH_ROOT)/src/VBox/Frontends/VBoxShell/vboxshell.py=>vboxshell.py,)
+
+INSTALLS += linux-scripts
+linux-scripts_INST = $(VBOX_LNX_INST_STAGE_DIR_REL)/
+linux-scripts_MODE = a+rx,u+w
+linux-scripts_SOURCES = \
+		deffiles \
+		routines.sh \
+		uninstall.sh \
+        vboxautostart-service.sh \
+		vboxballoonctrl-service.sh \
+		vboxdrv-pardus.py \
+		vboxweb-service.sh
 
 INSTALLS += linux-misc
@@ -316,5 +321,4 @@
 	       $(addprefix $(VBOX_LNX_INST_OUT_DIR)/archive-dbg/$(VBOX_LNX_DBG_PATH)/,$(VBOX_LNX_STRIP_BIN))
 
-
 #
 # The generic installer.
@@ -323,27 +327,14 @@
 		$(VBOX_LNX_INST_STAGE_DIR)/VirtualBox.tar.bz2 \
 		$(VBOX_VERSION_STAMP) \
-		$(VBOX_PATH_LNX_INST_SRC)/routines.sh \
-		$(VBOX_PATH_LNX_INST_SRC)/deffiles \
 		$(if $(VBOX_OSE),,$(VBOX_BRAND_LICENSE_TXT)) \
-		$(VBOX_LNX_INST_OUT_DIR)/vboxautostart-service.sh \
-		$(VBOX_LNX_INST_OUT_DIR)/vboxballoonctrl-service.sh \
 		$(VBOX_LNX_INST_OUT_DIR)/vboxdrv.sh \
-		$(VBOX_LNX_INST_OUT_DIR)/vboxweb-service.sh \
 		$(VBOX_LNX_INST_OUT_DIR)/install.sh \
 		$(VBOX_PATH_LNX_INST_SRC)/installer-common.sh \
-		$(VBOX_PATH_LNX_INST_SRC)/vboxdrv-pardus.py \
-		$(VBOX_PATH_LNX_INST_SRC)/uninstall.sh
+		$$(linux-scripts_2_STAGE_TARGETS)
 	$(call MSG_TOOL,makeself,,$@)
 	$(QUIET)$(RM) -f $(wildcard $(PATH_STAGE_BIN)/VirtualBox-*.run)
-	$(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_LNX_INST_SRC)/routines.sh          $(VBOX_LNX_INST_STAGE_DIR)/
-	$(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_LNX_INST_SRC)/deffiles             $(VBOX_LNX_INST_STAGE_DIR)/
 	$(QUIET)$(if $(VBOX_OSE),,$(INSTALL) -m 0644 $(VBOX_BRAND_LICENSE_TXT)    $(VBOX_LNX_INST_STAGE_DIR)/LICENSE)
-	$(QUIET)$(INSTALL) -m 0755 $(VBOX_LNX_INST_OUT_DIR)/vboxautostart-service.sh $(VBOX_LNX_INST_STAGE_DIR)/
-	$(QUIET)$(INSTALL) -m 0755 $(VBOX_LNX_INST_OUT_DIR)/vboxballoonctrl-service.sh $(VBOX_LNX_INST_STAGE_DIR)/
 	$(QUIET)$(INSTALL) -m 0755 $(VBOX_LNX_INST_OUT_DIR)/vboxdrv.sh            $(VBOX_LNX_INST_STAGE_DIR)/
-	$(QUIET)$(INSTALL) -m 0755 $(VBOX_LNX_INST_OUT_DIR)/vboxweb-service.sh    $(VBOX_LNX_INST_STAGE_DIR)/
-	$(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_LNX_INST_SRC)/vboxdrv-pardus.py    $(VBOX_LNX_INST_STAGE_DIR)/
 	$(QUIET)$(INSTALL) -m 0755 $(VBOX_LNX_INST_OUT_DIR)/install.sh            $(VBOX_LNX_INST_STAGE_DIR)/
-	$(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_LNX_INST_SRC)/uninstall.sh         $(VBOX_LNX_INST_STAGE_DIR)/
 	$(QUIET)$(RM) -f $@
 	$(QUIET)$(VBOX_MAKESELF) --follow --nocomp $(VBOX_LNX_INST_STAGE_DIR) $@ \
@@ -351,22 +342,4 @@
 
 # files that needs editing before they can be included in the generic installer.
-$(VBOX_LNX_INST_OUT_DIR)/vboxautostart-service.sh: $(VBOX_PATH_LNX_INST_SRC)/vboxautostart-service.sh.in | $$(dir $$@)
-	$(QUIET)$(SED_EXT) \
-		-e "s|%NOLSB%|yes|g" \
-		-e "s|%DEBIAN%||g" \
-		-e "s|%PACKAGE%|virtualbox|g" \
-		-e "s|%VERSION%|$(VBOX_VERSION_STRING)|g" \
-		--output $@ \
-		$<
-
-$(VBOX_LNX_INST_OUT_DIR)/vboxballoonctrl-service.sh: $(VBOX_PATH_LNX_INST_SRC)/vboxballoonctrl-service.sh.in | $$(dir $$@)
-	$(QUIET)$(SED_EXT) \
-		-e "s|%NOLSB%|yes|g" \
-		-e "s|%DEBIAN%||g" \
-		-e "s|%PACKAGE%|virtualbox|g" \
-		-e "s|%VERSION%|$(VBOX_VERSION_STRING)|g" \
-		--output $@ \
-		$<
-
 $(VBOX_LNX_INST_OUT_DIR)/vboxdrv.sh: $(VBOX_PATH_LNX_INST_SRC)/vboxdrv.sh.in | $$(dir $$@)
 	$(QUIET)$(SED_EXT) \
@@ -376,12 +349,4 @@
 		-e "s|%VERSION%|$(VBOX_VERSION_STRING)|g" \
 		-e "s|%GROUP%|$(if $(VBOX_WITHOUT_HARDENING),vboxusers,root)|g" \
-		--output $@ \
-		$<
-
-$(VBOX_LNX_INST_OUT_DIR)/vboxweb-service.sh: $(VBOX_PATH_LNX_INST_SRC)/vboxweb-service.sh.in | $$(dir $$@)
-	$(QUIET)$(SED_EXT) \
-		-e "s|%NOLSB%|yes|g" \
-		-e "s|%DEBIAN%||g" \
-		-e "s|%PACKAGE%|virtualbox|g" \
 		--output $@ \
 		$<
Index: /trunk/src/VBox/Installer/linux/debian/rules
===================================================================
--- /trunk/src/VBox/Installer/linux/debian/rules	(revision 43364)
+++ /trunk/src/VBox/Installer/linux/debian/rules	(revision 43365)
@@ -331,21 +331,9 @@
 	    $(vboxroot)/src/VBox/Installer/linux/vboxdrv.sh.in > debian/vboxdrv.init
 	dh_installinit --name=vboxdrv --noscripts
-	sed \
-	    -e 's|%NOLSB%||g' \
-	    -e 's|%DEBIAN%|yes|g' \
-	    -e 's|%PACKAGE%|virtualbox|g' \
-	    $(vboxroot)/src/VBox/Installer/linux/vboxballoonctrl-service.sh.in > debian/vboxballoonctrl-service.init
+	cp $(vboxroot)/src/VBox/Installer/linux/vboxballoonctrl-service.sh debian/vboxballoonctrl-service.init
 	dh_installinit --name=vboxballoonctrl-service --noscripts
-	sed \
-	    -e 's|%NOLSB%||g' \
-	    -e 's|%DEBIAN%|yes|g' \
-	    -e 's|%PACKAGE%|virtualbox|g' \
-	    $(vboxroot)/src/VBox/Installer/linux/vboxautostart-service.sh.in > debian/vboxautostart-service.init
+	cp $(vboxroot)/src/VBox/Installer/linux/vboxautostart-service.sh debian/vboxautostart-service.init
 	dh_installinit --name=vboxautostart-service --noscripts
-	sed \
-	    -e 's|%NOLSB%||g' \
-	    -e 's|%DEBIAN%|yes|g' \
-	    -e 's|%PACKAGE%|virtualbox|g' \
-	    $(vboxroot)/src/VBox/Installer/linux/vboxweb-service.sh.in > debian/vboxweb-service.init
+	cp $(vboxroot)/src/VBox/Installer/linux/vboxweb-service.sh debian/vboxweb-service.init
 	dh_installinit --name=vboxweb-service --noscripts
 	sed -e 's|%VER%|$(debver)|g' \
Index: /trunk/src/VBox/Installer/linux/rpm/rules
===================================================================
--- /trunk/src/VBox/Installer/linux/rpm/rules	(revision 43364)
+++ /trunk/src/VBox/Installer/linux/rpm/rules	(revision 43365)
@@ -228,19 +228,7 @@
 	    -e "s|%GROUP%|$(if $(VBOX_WITHOUT_HARDENING),vboxusers,root)|g" \
 	    vboxdrv.sh.in > $(archdir)/vboxdrv.init
-	sed \
-	    -e 's|%NOLSB%|yes|g' \
-	    -e 's|%DEBIAN%||g' \
-	    -e 's|%PACKAGE%|virtualbox|g' \
-	    vboxballoonctrl-service.sh.in > $(archdir)/vboxballoonctrl-service.init
-	sed \
-	    -e 's|%NOLSB%|yes|g' \
-	    -e 's|%DEBIAN%||g' \
-	    -e 's|%PACKAGE%|virtualbox|g' \
-	    vboxautostart-service.sh.in > $(archdir)/vboxautostart-service.init
-	sed \
-	    -e 's|%NOLSB%|yes|g' \
-	    -e 's|%DEBIAN%||g' \
-	    -e 's|%PACKAGE%|virtualbox|g' \
-	    vboxweb-service.sh.in > $(archdir)/vboxweb-service.init
+	cp vboxballoonctrl-service.sh $(archdir)/vboxballoonctrl-service.init
+	cp vboxautostart-service.sh $(archdir)/vboxautostart-service.init
+	cp vboxweb-service.sh $(archdir)/vboxweb-service.init
 	cp debian/VBox.sh $(archdir)
 	mv rpm/VirtualBox-$(ver) rpm/$(rpmname)
Index: /trunk/src/VBox/Installer/linux/vboxautostart-service.sh
===================================================================
--- /trunk/src/VBox/Installer/linux/vboxautostart-service.sh	(revision 43365)
+++ /trunk/src/VBox/Installer/linux/vboxautostart-service.sh	(revision 43365)
@@ -0,0 +1,326 @@
+#!/bin/sh
+#
+# VirtualBox autostart service init script.
+#
+# Copyright (C) 2012 Oracle Corporation
+#
+# This file is part of VirtualBox Open Source Edition (OSE), as
+# available from http://www.virtualbox.org. This file is free software;
+# you can redistribute it and/or modify it under the terms of the GNU
+# General Public License (GPL) as published by the Free Software
+# Foundation, in version 2 as it comes in the "COPYING" file of the
+# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+#
+
+# chkconfig: 35 35 65
+# description: VirtualBox autostart service
+#
+### BEGIN INIT INFO
+# Provides:       vboxautostart-service
+# Required-Start: vboxdrv
+# Required-Stop:  vboxdrv
+# Default-Start:  2 3 4 5
+# Default-Stop:   0 1 6
+# Description:    VirtualBox autostart service
+### END INIT INFO
+
+PATH=$PATH:/bin:/sbin:/usr/sbin
+
+[ -f /etc/debian_release -a -f /lib/lsb/init-functions ] || NOLSB=yes
+[ -f /etc/vbox/vbox.cfg ] && . /etc/vbox/vbox.cfg
+
+if [ -n "$INSTALL_DIR" ]; then
+    binary="$INSTALL_DIR/VBoxAutostart"
+else
+    binary="/usr/lib/virtualbox/VBoxAutostart"
+fi
+
+# silently exit if the package was uninstalled but not purged,
+# applies to Debian packages only (but shouldn't hurt elsewhere)
+[ ! -f /etc/debian_release -o -x $binary ] || exit 0
+
+[ -r /etc/default/virtualbox ] && . /etc/default/virtualbox
+
+system=unknown
+if [ -f /etc/redhat-release ]; then
+    system=redhat
+elif [ -f /etc/SuSE-release ]; then
+    system=suse
+elif [ -f /etc/debian_version ]; then
+    system=debian
+elif [ -f /etc/gentoo-release ]; then
+    system=gentoo
+elif [ -f /etc/arch-release ]; then
+     system=arch
+elif [ -f /etc/slackware-version ]; then
+    system=slackware
+elif [ -f /etc/lfs-release ]; then
+    system=lfs
+else
+    system=other
+fi
+
+if [ -z "$NOLSB" ]; then
+    . /lib/lsb/init-functions
+    fail_msg() {
+        echo ""
+        log_failure_msg "$1"
+    }
+    succ_msg() {
+        log_success_msg " done."
+    }
+    begin_msg() {
+        log_daemon_msg "$@"
+    }
+fi
+
+if [ "$system" = "redhat" ]; then
+    . /etc/init.d/functions
+    if [ -n "$NOLSB" ]; then
+        start_daemon() {
+            usr="$1"
+            shift
+            daemon --user $usr $@
+        }
+        fail_msg() {
+            echo_failure
+            echo
+        }
+        succ_msg() {
+            echo_success
+            echo
+        }
+        begin_msg() {
+            echo -n "$1"
+        }
+    fi
+fi
+
+if [ "$system" = "suse" ]; then
+    . /etc/rc.status
+    start_daemon() {
+        usr="$1"
+        shift
+        su - $usr -c "$*"
+    }
+    if [ -n "$NOLSB" ]; then
+        fail_msg() {
+            rc_failed 1
+            rc_status -v
+        }
+        succ_msg() {
+            rc_reset
+            rc_status -v
+        }
+        begin_msg() {
+            echo -n "$1"
+        }
+    fi
+fi
+
+if [ "$system" = "debian" ]; then
+    start_daemon() {
+        usr="$1"
+        shift
+        bin="$1"
+        shift
+        start-stop-daemon --background --chuid $usr --start --exec $bin -- $@
+    }
+    killproc() {
+        start-stop-daemon --stop --exec $@
+    }
+    if [ -n "$NOLSB" ]; then
+        fail_msg() {
+            echo " ...fail!"
+        }
+        succ_msg() {
+            echo " ...done."
+        }
+        begin_msg() {
+            echo -n "$1"
+       }
+    fi
+fi
+
+if [ "$system" = "gentoo" ]; then
+    if [ -f /sbin/functions.sh ]; then
+        . /sbin/functions.sh
+    elif [ -f /etc/init.d/functions.sh ]; then
+        . /etc/init.d/functions.sh
+    fi
+    start_daemon() {
+        usr="$1"
+        shift
+        bin="$1"
+        shift
+        start-stop-daemon --background --chuid $usr --start --exec $bin -- $@
+    }
+    killproc() {
+        start-stop-daemon --stop --exec $@
+    }
+    if [ -n "$NOLSB" ]; then
+        fail_msg() {
+            echo " ...fail!"
+        }
+        succ_msg() {
+            echo " ...done."
+        }
+        begin_msg() {
+            echo -n "$1"
+        }
+        if [ "`which $0`" = "/sbin/rc" ]; then
+            shift
+        fi
+    fi
+fi
+
+if [ "$system" = "arch" ]; then
+    USECOLOR=yes
+    . /etc/rc.d/functions
+    start_daemon() {
+        usr="$1"
+        shift
+        su - $usr -c "$*"
+        test $? -eq 0 && add_daemon rc.`basename $2`
+    }
+    killproc() {
+        killall $@
+        rm_daemon `basename $@`
+    }
+    if [ -n "$NOLSB" ]; then
+        fail_msg() {
+            stat_fail
+        }
+        succ_msg() {
+            stat_done
+        }
+        begin_msg() {
+            stat_busy "$1"
+        }
+    fi
+fi
+
+if [ "$system" = "slackware" ]; then
+    killproc() {
+        killall $1
+        rm -f $PIDFILE
+    }
+    if [ -n "$NOLSB" ]; then
+        fail_msg() {
+            echo " ...fail!"
+        }
+        succ_msg() {
+            echo " ...done."
+        }
+        begin_msg() {
+            echo -n "$1"
+        }
+    fi
+    start_daemon() {
+        usr="$1"
+        shift
+        su - $usr -c "$*"
+    }
+fi
+
+if [ "$system" = "lfs" ]; then
+    . /etc/rc.d/init.d/functions
+    if [ -n "$NOLSB" ]; then
+        fail_msg() {
+            echo_failure
+        }
+        succ_msg() {
+            echo_ok
+        }
+        begin_msg() {
+            echo $1
+        }
+    fi
+    start_daemon() {
+        usr="$1"
+        shift
+        su - $usr -c "$*"
+    }
+    status() {
+        statusproc $1
+    }
+fi
+
+if [ "$system" = "other" ]; then
+    if [ -n "$NOLSB" ]; then
+        fail_msg() {
+            echo " ...fail!"
+        }
+        succ_msg() {
+            echo " ...done."
+        }
+        begin_msg() {
+            echo -n "$1"
+        }
+    fi
+fi
+
+vboxdrvrunning() {
+    lsmod | grep -q "vboxdrv[^_-]"
+}
+
+start() {
+    [ -z "$VBOXAUTOSTART_DB" ] && exit 0
+    [ -z "$VBOXAUTOSTART_CONFIG" ] && exit 0
+    begin_msg "Starting VirtualBox VMs configured for autostart";
+    vboxdrvrunning || {
+        fail_msg "VirtualBox kernel module not loaded!"
+        exit 0
+    }
+    PARAMS="--background --start --config $VBOXAUTOSTART_CONFIG"
+
+    # prevent inheriting this setting to VBoxSVC
+    unset VBOX_RELEASE_LOG_DEST
+
+    for user in `ls $VBOXAUTOSTART_DB/*.start`
+    do
+        start_daemon `basename $user | sed -ne "s/\(.*\).start/\1/p"` $binary $PARAMS > /dev/null 2>&1
+    done
+
+    return $RETVAL
+}
+
+stop() {
+    [ -z "$VBOXAUTOSTART_DB" ] && exit 0
+    [ -z "$VBOXAUTOSTART_CONFIG" ] && exit 0
+
+    exit 0
+
+    #begin_msg "Stopping VirtualBox VMs configured for autostop";
+    #vboxdrvrunning || {
+    #    fail_msg "VirtualBox kernel module not loaded!"
+    #    exit 0
+    #}
+    #PARAMS="--stop"
+    #[ -n "$VBOXAUTOSTART_CONFIG" ] && PARAMS="$PARAMS -c $VBOXAUTOSTART_CONFIG"
+
+    # prevent inheriting this setting to VBoxSVC
+    #unset VBOX_RELEASE_LOG_DEST
+
+    #for user in `ls $VBOXAUTOSTART_DB/*.stop`
+    #do
+    #    start_daemon `basename $user | sed -ne "s/\(.*\).stop/\1/p"` $binary $PARAMS > /dev/null 2>&1
+    #done
+
+    #return $RETVAL
+}
+
+case "$1" in
+start)
+    start
+    ;;
+stop)
+    stop
+    ;;
+*)
+    echo "Usage: $0 {start|stop}"
+    exit 1
+esac
+
+exit $RETVAL
Index: unk/src/VBox/Installer/linux/vboxautostart-service.sh.in
===================================================================
--- /trunk/src/VBox/Installer/linux/vboxautostart-service.sh.in	(revision 43364)
+++ 	(revision )
@@ -1,328 +1,0 @@
-#!/bin/sh
-#
-# VirtualBox autostart service init script.
-#
-# Copyright (C) 2012 Oracle Corporation
-#
-# This file is part of VirtualBox Open Source Edition (OSE), as
-# available from http://www.virtualbox.org. This file is free software;
-# you can redistribute it and/or modify it under the terms of the GNU
-# General Public License (GPL) as published by the Free Software
-# Foundation, in version 2 as it comes in the "COPYING" file of the
-# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
-# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
-#
-
-# chkconfig: 35 35 65
-# description: VirtualBox autostart service
-#
-### BEGIN INIT INFO
-# Provides:       vboxautostart-service
-# Required-Start: vboxdrv
-# Required-Stop:  vboxdrv
-# Default-Start:  2 3 4 5
-# Default-Stop:   0 1 6
-# Description:    VirtualBox autostart service
-### END INIT INFO
-
-PATH=$PATH:/bin:/sbin:/usr/sbin
-DEBIAN=%DEBIAN%
-NOLSB=%NOLSB%
-
-[ -f /lib/lsb/init-functions ] || NOLSB=yes
-[ -f /etc/vbox/vbox.cfg ] && . /etc/vbox/vbox.cfg
-
-if [ -n "$INSTALL_DIR" ]; then
-    binary="$INSTALL_DIR/VBoxAutostart"
-else
-    binary="/usr/lib/%PACKAGE%/VBoxAutostart"
-fi
-
-# silently exit if the package was uninstalled but not purged,
-# applies to Debian packages only
-[ -z "$DEBIAN" -o -x $binary ] || exit 0
-
-[ -r /etc/default/%PACKAGE% ] && . /etc/default/%PACKAGE%
-
-system=unknown
-if [ -f /etc/redhat-release ]; then
-    system=redhat
-elif [ -f /etc/SuSE-release ]; then
-    system=suse
-elif [ -f /etc/debian_version ]; then
-    system=debian
-elif [ -f /etc/gentoo-release ]; then
-    system=gentoo
-elif [ -f /etc/arch-release ]; then
-     system=arch
-elif [ -f /etc/slackware-version ]; then
-    system=slackware
-elif [ -f /etc/lfs-release ]; then
-    system=lfs
-else
-    system=other
-fi
-
-if [ -z "$NOLSB" ]; then
-    . /lib/lsb/init-functions
-    fail_msg() {
-        echo ""
-        log_failure_msg "$1"
-    }
-    succ_msg() {
-        log_success_msg " done."
-    }
-    begin_msg() {
-        log_daemon_msg "$@"
-    }
-fi
-
-if [ "$system" = "redhat" ]; then
-    . /etc/init.d/functions
-    if [ -n "$NOLSB" ]; then
-        start_daemon() {
-            usr="$1"
-            shift
-            daemon --user $usr $@
-        }
-        fail_msg() {
-            echo_failure
-            echo
-        }
-        succ_msg() {
-            echo_success
-            echo
-        }
-        begin_msg() {
-            echo -n "$1"
-        }
-    fi
-fi
-
-if [ "$system" = "suse" ]; then
-    . /etc/rc.status
-    start_daemon() {
-        usr="$1"
-        shift
-        su - $usr -c "$*"
-    }
-    if [ -n "$NOLSB" ]; then
-        fail_msg() {
-            rc_failed 1
-            rc_status -v
-        }
-        succ_msg() {
-            rc_reset
-            rc_status -v
-        }
-        begin_msg() {
-            echo -n "$1"
-        }
-    fi
-fi
-
-if [ "$system" = "debian" ]; then
-    start_daemon() {
-        usr="$1"
-        shift
-        bin="$1"
-        shift
-        start-stop-daemon --background --chuid $usr --start --exec $bin -- $@
-    }
-    killproc() {
-        start-stop-daemon --stop --exec $@
-    }
-    if [ -n "$NOLSB" ]; then
-        fail_msg() {
-            echo " ...fail!"
-        }
-        succ_msg() {
-            echo " ...done."
-        }
-        begin_msg() {
-            echo -n "$1"
-       }
-    fi
-fi
-
-if [ "$system" = "gentoo" ]; then
-    if [ -f /sbin/functions.sh ]; then
-        . /sbin/functions.sh
-    elif [ -f /etc/init.d/functions.sh ]; then
-        . /etc/init.d/functions.sh
-    fi
-    start_daemon() {
-        usr="$1"
-        shift
-        bin="$1"
-        shift
-        start-stop-daemon --background --chuid $usr --start --exec $bin -- $@
-    }
-    killproc() {
-        start-stop-daemon --stop --exec $@
-    }
-    if [ -n "$NOLSB" ]; then
-        fail_msg() {
-            echo " ...fail!"
-        }
-        succ_msg() {
-            echo " ...done."
-        }
-        begin_msg() {
-            echo -n "$1"
-        }
-        if [ "`which $0`" = "/sbin/rc" ]; then
-            shift
-        fi
-    fi
-fi
-
-if [ "$system" = "arch" ]; then
-    USECOLOR=yes
-    . /etc/rc.d/functions
-    start_daemon() {
-        usr="$1"
-        shift
-        su - $usr -c "$*"
-        test $? -eq 0 && add_daemon rc.`basename $2`
-    }
-    killproc() {
-        killall $@
-        rm_daemon `basename $@`
-    }
-    if [ -n "$NOLSB" ]; then
-        fail_msg() {
-            stat_fail
-        }
-        succ_msg() {
-            stat_done
-        }
-        begin_msg() {
-            stat_busy "$1"
-        }
-    fi
-fi
-
-if [ "$system" = "slackware" ]; then
-    killproc() {
-        killall $1
-        rm -f $PIDFILE
-    }
-    if [ -n "$NOLSB" ]; then
-        fail_msg() {
-            echo " ...fail!"
-        }
-        succ_msg() {
-            echo " ...done."
-        }
-        begin_msg() {
-            echo -n "$1"
-        }
-    fi
-    start_daemon() {
-        usr="$1"
-        shift
-        su - $usr -c "$*"
-    }
-fi
-
-if [ "$system" = "lfs" ]; then
-    . /etc/rc.d/init.d/functions
-    if [ -n "$NOLSB" ]; then
-        fail_msg() {
-            echo_failure
-        }
-        succ_msg() {
-            echo_ok
-        }
-        begin_msg() {
-            echo $1
-        }
-    fi
-    start_daemon() {
-        usr="$1"
-        shift
-        su - $usr -c "$*"
-    }
-    status() {
-        statusproc $1
-    }
-fi
-
-if [ "$system" = "other" ]; then
-    if [ -n "$NOLSB" ]; then
-        fail_msg() {
-            echo " ...fail!"
-        }
-        succ_msg() {
-            echo " ...done."
-        }
-        begin_msg() {
-            echo -n "$1"
-        }
-    fi
-fi
-
-vboxdrvrunning() {
-    lsmod | grep -q "vboxdrv[^_-]"
-}
-
-start() {
-    [ -z "$VBOXAUTOSTART_DB" ] && exit 0
-    [ -z "$VBOXAUTOSTART_CONFIG" ] && exit 0
-    begin_msg "Starting VirtualBox VMs configured for autostart";
-    vboxdrvrunning || {
-        fail_msg "VirtualBox kernel module not loaded!"
-        exit 0
-    }
-    PARAMS="--background --start --config $VBOXAUTOSTART_CONFIG"
-
-    # prevent inheriting this setting to VBoxSVC
-    unset VBOX_RELEASE_LOG_DEST
-
-    for user in `ls $VBOXAUTOSTART_DB/*.start`
-    do
-        start_daemon `basename $user | sed -ne "s/\(.*\).start/\1/p"` $binary $PARAMS > /dev/null 2>&1
-    done
-
-    return $RETVAL
-}
-
-stop() {
-    [ -z "$VBOXAUTOSTART_DB" ] && exit 0
-    [ -z "$VBOXAUTOSTART_CONFIG" ] && exit 0
-
-    exit 0
-
-    #begin_msg "Stopping VirtualBox VMs configured for autostop";
-    #vboxdrvrunning || {
-    #    fail_msg "VirtualBox kernel module not loaded!"
-    #    exit 0
-    #}
-    #PARAMS="--stop"
-    #[ -n "$VBOXAUTOSTART_CONFIG" ] && PARAMS="$PARAMS -c $VBOXAUTOSTART_CONFIG"
-
-    # prevent inheriting this setting to VBoxSVC
-    #unset VBOX_RELEASE_LOG_DEST
-
-    #for user in `ls $VBOXAUTOSTART_DB/*.stop`
-    #do
-    #    start_daemon `basename $user | sed -ne "s/\(.*\).stop/\1/p"` $binary $PARAMS > /dev/null 2>&1
-    #done
-
-    #return $RETVAL
-}
-
-case "$1" in
-start)
-    start
-    ;;
-stop)
-    stop
-    ;;
-*)
-    echo "Usage: $0 {start|stop}"
-    exit 1
-esac
-
-exit $RETVAL
Index: /trunk/src/VBox/Installer/linux/vboxballoonctrl-service.sh
===================================================================
--- /trunk/src/VBox/Installer/linux/vboxballoonctrl-service.sh	(revision 43365)
+++ /trunk/src/VBox/Installer/linux/vboxballoonctrl-service.sh	(revision 43365)
@@ -0,0 +1,373 @@
+#!/bin/sh
+#
+# VirtualBox balloon control daemon init script.
+#
+# Copyright (C) 2006-2011 Oracle Corporation
+#
+# This file is part of VirtualBox Open Source Edition (OSE), as
+# available from http://www.virtualbox.org. This file is free software;
+# you can redistribute it and/or modify it under the terms of the GNU
+# General Public License (GPL) as published by the Free Software
+# Foundation, in version 2 as it comes in the "COPYING" file of the
+# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+#
+
+# chkconfig: 35 35 65
+# description: VirtualBox balloon control daemon
+#
+### BEGIN INIT INFO
+# Provides:       vboxballoonctrl-service
+# Required-Start: vboxdrv
+# Required-Stop:  vboxdrv
+# Default-Start:  2 3 4 5
+# Default-Stop:   0 1 6
+# Description:    VirtualBox balloon control daemon
+### END INIT INFO
+
+PATH=$PATH:/bin:/sbin:/usr/sbin
+
+[ -f /lib/lsb/init-functions -a -f /etc/debian_release ] || NOLSB=yes
+[ -f /etc/vbox/vbox.cfg ] && . /etc/vbox/vbox.cfg
+
+if [ -n "$INSTALL_DIR" ]; then
+    binary="$INSTALL_DIR/VBoxBalloonCtrl"
+else
+    binary="/usr/lib/virtualbox/VBoxBalloonCtrl"
+fi
+
+# silently exit if the package was uninstalled but not purged,
+# applies to Debian packages only (but shouldn't hurt elsewhere)
+[ ! -f /etc/debian_release -o -x $binary ] || exit 0
+
+[ -r /etc/default/virtualbox ] && . /etc/default/virtualbox
+
+system=unknown
+if [ -f /etc/redhat-release ]; then
+    system=redhat
+    PIDFILE="/var/lock/subsys/vboxballoonctrl-service"
+elif [ -f /etc/SuSE-release ]; then
+    system=suse
+    PIDFILE="/var/lock/subsys/vboxballoonctrl-service"
+elif [ -f /etc/debian_version ]; then
+    system=debian
+    PIDFILE="/var/run/vboxballoonctrl-service"
+elif [ -f /etc/gentoo-release ]; then
+    system=gentoo
+    PIDFILE="/var/run/vboxballoonctrl-service"
+elif [ -f /etc/arch-release ]; then
+     system=arch
+     PIDFILE="/var/run/vboxballoonctrl-service"
+elif [ -f /etc/slackware-version ]; then
+    system=slackware
+    PIDFILE="/var/run/vboxballoonctrl-service"
+elif [ -f /etc/lfs-release ]; then
+    system=lfs
+    PIDFILE="/var/run/vboxballoonctrl-service.pid"
+else
+    system=other
+    if [ -d /var/run -a -w /var/run ]; then
+        PIDFILE="/var/run/vboxballoonctrl-service"
+    fi
+fi
+
+if [ -z "$NOLSB" ]; then
+    . /lib/lsb/init-functions
+    fail_msg() {
+        echo ""
+        log_failure_msg "$1"
+    }
+    succ_msg() {
+        log_success_msg " done."
+    }
+    begin_msg() {
+        log_daemon_msg "$@"
+    }
+fi
+
+if [ "$system" = "redhat" ]; then
+    . /etc/init.d/functions
+    if [ -n "$NOLSB" ]; then
+        start_daemon() {
+            usr="$1"
+            shift
+            daemon --user $usr $@
+        }
+        fail_msg() {
+            echo_failure
+            echo
+        }
+        succ_msg() {
+            echo_success
+            echo
+        }
+        begin_msg() {
+            echo -n "$1"
+        }
+    fi
+fi
+
+if [ "$system" = "suse" ]; then
+    . /etc/rc.status
+    start_daemon() {
+        usr="$1"
+        shift
+        su - $usr -c "$*"
+    }
+    if [ -n "$NOLSB" ]; then
+        fail_msg() {
+            rc_failed 1
+            rc_status -v
+        }
+        succ_msg() {
+            rc_reset
+            rc_status -v
+        }
+        begin_msg() {
+            echo -n "$1"
+        }
+    fi
+fi
+
+if [ "$system" = "debian" ]; then
+    start_daemon() {
+        usr="$1"
+        shift
+        bin="$1"
+        shift
+        start-stop-daemon --background --chuid $usr --start --exec $bin -- $@
+    }
+    killproc() {
+        start-stop-daemon --stop --exec $@
+    }
+    if [ -n "$NOLSB" ]; then
+        fail_msg() {
+            echo " ...fail!"
+        }
+        succ_msg() {
+            echo " ...done."
+        }
+        begin_msg() {
+            echo -n "$1"
+       }
+    fi
+fi
+
+if [ "$system" = "gentoo" ]; then
+    if [ -f /sbin/functions.sh ]; then
+        . /sbin/functions.sh
+    elif [ -f /etc/init.d/functions.sh ]; then
+        . /etc/init.d/functions.sh
+    fi
+    start_daemon() {
+        usr="$1"
+        shift
+        bin="$1"
+        shift
+        start-stop-daemon --background --chuid $usr --start --exec $bin -- $@
+    }
+    killproc() {
+        start-stop-daemon --stop --exec $@
+    }
+    if [ -n "$NOLSB" ]; then
+        fail_msg() {
+            echo " ...fail!"
+        }
+        succ_msg() {
+            echo " ...done."
+        }
+        begin_msg() {
+            echo -n "$1"
+        }
+        if [ "`which $0`" = "/sbin/rc" ]; then
+            shift
+        fi
+    fi
+fi
+
+if [ "$system" = "arch" ]; then
+    USECOLOR=yes
+    . /etc/rc.d/functions
+    start_daemon() {
+        usr="$1"
+        shift
+        su - $usr -c "$*"
+        test $? -eq 0 && add_daemon rc.`basename $2`
+    }
+    killproc() {
+        killall $@
+        rm_daemon `basename $@`
+    }
+    if [ -n "$NOLSB" ]; then
+        fail_msg() {
+            stat_fail
+        }
+        succ_msg() {
+            stat_done
+        }
+        begin_msg() {
+            stat_busy "$1"
+        }
+    fi
+fi
+
+if [ "$system" = "slackware" ]; then
+    killproc() {
+        killall $1
+        rm -f $PIDFILE
+    }
+    if [ -n "$NOLSB" ]; then
+        fail_msg() {
+            echo " ...fail!"
+        }
+        succ_msg() {
+            echo " ...done."
+        }
+        begin_msg() {
+            echo -n "$1"
+        }
+    fi
+    start_daemon() {
+        usr="$1"
+        shift
+        su - $usr -c "$*"
+    }
+fi
+
+if [ "$system" = "lfs" ]; then
+    . /etc/rc.d/init.d/functions
+    if [ -n "$NOLSB" ]; then
+        fail_msg() {
+            echo_failure
+        }
+        succ_msg() {
+            echo_ok
+        }
+        begin_msg() {
+            echo $1
+        }
+    fi
+    start_daemon() {
+        usr="$1"
+        shift
+        su - $usr -c "$*"
+    }
+    status() {
+        statusproc $1
+    }
+fi
+
+if [ "$system" = "other" ]; then
+    if [ -n "$NOLSB" ]; then
+        fail_msg() {
+            echo " ...fail!"
+        }
+        succ_msg() {
+            echo " ...done."
+        }
+        begin_msg() {
+            echo -n "$1"
+        }
+    fi
+fi
+
+vboxdrvrunning() {
+    lsmod | grep -q "vboxdrv[^_-]"
+}
+
+check_single_user() {
+    if [ -n "$2" ]; then
+        fail_msg "VBOXBALLOONCTRL_USER must not contain multiple users!"
+        exit 1
+    fi
+}
+
+start() {
+    if ! test -f $PIDFILE; then
+        [ -z "$VBOXBALLOONCTRL_USER" ] && exit 0
+        begin_msg "Starting VirtualBox balloon control service";
+        check_single_user $VBOXBALLOONCTRL_USER
+        vboxdrvrunning || {
+            fail_msg "VirtualBox kernel module not loaded!"
+            exit 0
+        }
+        PARAMS="--background"
+        [ -n "$VBOXBALLOONCTRL_INTERVAL" ]      && PARAMS="$PARAMS --interval $VBOXBALLOONCTRL_INTERVAL"
+        [ -n "$VBOXBALLOONCTRL_INCREMENT" ]     && PARAMS="$PARAMS --balloon-inc $VBOXBALLOONCTRL_INCREMENT"
+        [ -n "$VBOXBALLOONCTRL_DECREMENT" ]     && PARAMS="$PARAMS --balloon-dec $VBOXBALLOONCTRL_DECREMENT"
+        [ -n "$VBOXBALLOONCTRL_LOWERLIMIT" ]    && PARAMS="$PARAMS --balloon-lower-limit $VBOXBALLOONCTRL_LOWERLIMIT"
+        [ -n "$VBOXBALLOONCTRL_ROTATE" ]        && PARAMS="$PARAMS - $VBOXBALLOONCTRL_ROTATE"
+        [ -n "$VBOXBALLOONCTRL_LOGSIZE" ]       && PARAMS="$PARAMS -S $VBOXBALLOONCTRL_LOGSIZE"
+        [ -n "$VBOXBALLOONCTRL_LOGINTERVAL" ]   && PARAMS="$PARAMS -I $VBOXBALLOONCTRL_LOGINTERVAL"
+        # prevent inheriting this setting to VBoxSVC
+        unset VBOX_RELEASE_LOG_DEST
+        start_daemon $VBOXBALLOONCTRL_USER $binary $PARAMS > /dev/null 2>&1
+        # ugly: wait until the final process has forked
+        sleep .1
+        PID=`pidof $binary 2>/dev/null`
+        if [ -n "$PID" ]; then
+            echo "$PID" > $PIDFILE
+            RETVAL=0
+            succ_msg
+        else
+            RETVAL=1
+            fail_msg
+        fi
+    fi
+    return $RETVAL
+}
+
+stop() {
+    if test -f $PIDFILE; then
+        begin_msg "Stopping VirtualBox balloon control service";
+        killproc $binary
+        RETVAL=$?
+        if ! pidof $binary > /dev/null 2>&1; then
+            rm -f $PIDFILE
+            succ_msg
+        else
+            fail_msg
+        fi
+    fi
+    return $RETVAL
+}
+
+restart() {
+    stop && start
+}
+
+status() {
+    echo -n "Checking for VBox balloon control service"
+    if [ -f $PIDFILE ]; then
+        echo " ...running"
+    else
+        echo " ...not running"
+    fi
+}
+
+case "$1" in
+start)
+    start
+    ;;
+stop)
+    stop
+    ;;
+restart)
+    restart
+    ;;
+force-reload)
+    restart
+    ;;
+status)
+    status
+    ;;
+setup)
+    ;;
+cleanup)
+    ;;
+*)
+    echo "Usage: $0 {start|stop|restart|status}"
+    exit 1
+esac
+
+exit $RETVAL
Index: unk/src/VBox/Installer/linux/vboxballoonctrl-service.sh.in
===================================================================
--- /trunk/src/VBox/Installer/linux/vboxballoonctrl-service.sh.in	(revision 43364)
+++ 	(revision )
@@ -1,375 +1,0 @@
-#!/bin/sh
-#
-# VirtualBox balloon control daemon init script.
-#
-# Copyright (C) 2006-2011 Oracle Corporation
-#
-# This file is part of VirtualBox Open Source Edition (OSE), as
-# available from http://www.virtualbox.org. This file is free software;
-# you can redistribute it and/or modify it under the terms of the GNU
-# General Public License (GPL) as published by the Free Software
-# Foundation, in version 2 as it comes in the "COPYING" file of the
-# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
-# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
-#
-
-# chkconfig: 35 35 65
-# description: VirtualBox balloon control daemon
-#
-### BEGIN INIT INFO
-# Provides:       vboxballoonctrl-service
-# Required-Start: vboxdrv
-# Required-Stop:  vboxdrv
-# Default-Start:  2 3 4 5
-# Default-Stop:   0 1 6
-# Description:    VirtualBox balloon control daemon
-### END INIT INFO
-
-PATH=$PATH:/bin:/sbin:/usr/sbin
-DEBIAN=%DEBIAN%
-NOLSB=%NOLSB%
-
-[ -f /lib/lsb/init-functions ] || NOLSB=yes
-[ -f /etc/vbox/vbox.cfg ] && . /etc/vbox/vbox.cfg
-
-if [ -n "$INSTALL_DIR" ]; then
-    binary="$INSTALL_DIR/VBoxBalloonCtrl"
-else
-    binary="/usr/lib/%PACKAGE%/VBoxBalloonCtrl"
-fi
-
-# silently exit if the package was uninstalled but not purged,
-# applies to Debian packages only
-[ -z "$DEBIAN" -o -x $binary ] || exit 0
-
-[ -r /etc/default/%PACKAGE% ] && . /etc/default/%PACKAGE%
-
-system=unknown
-if [ -f /etc/redhat-release ]; then
-    system=redhat
-    PIDFILE="/var/lock/subsys/vboxballoonctrl-service"
-elif [ -f /etc/SuSE-release ]; then
-    system=suse
-    PIDFILE="/var/lock/subsys/vboxballoonctrl-service"
-elif [ -f /etc/debian_version ]; then
-    system=debian
-    PIDFILE="/var/run/vboxballoonctrl-service"
-elif [ -f /etc/gentoo-release ]; then
-    system=gentoo
-    PIDFILE="/var/run/vboxballoonctrl-service"
-elif [ -f /etc/arch-release ]; then
-     system=arch
-     PIDFILE="/var/run/vboxballoonctrl-service"
-elif [ -f /etc/slackware-version ]; then
-    system=slackware
-    PIDFILE="/var/run/vboxballoonctrl-service"
-elif [ -f /etc/lfs-release ]; then
-    system=lfs
-    PIDFILE="/var/run/vboxballoonctrl-service.pid"
-else
-    system=other
-    if [ -d /var/run -a -w /var/run ]; then
-        PIDFILE="/var/run/vboxballoonctrl-service"
-    fi
-fi
-
-if [ -z "$NOLSB" ]; then
-    . /lib/lsb/init-functions
-    fail_msg() {
-        echo ""
-        log_failure_msg "$1"
-    }
-    succ_msg() {
-        log_success_msg " done."
-    }
-    begin_msg() {
-        log_daemon_msg "$@"
-    }
-fi
-
-if [ "$system" = "redhat" ]; then
-    . /etc/init.d/functions
-    if [ -n "$NOLSB" ]; then
-        start_daemon() {
-            usr="$1"
-            shift
-            daemon --user $usr $@
-        }
-        fail_msg() {
-            echo_failure
-            echo
-        }
-        succ_msg() {
-            echo_success
-            echo
-        }
-        begin_msg() {
-            echo -n "$1"
-        }
-    fi
-fi
-
-if [ "$system" = "suse" ]; then
-    . /etc/rc.status
-    start_daemon() {
-        usr="$1"
-        shift
-        su - $usr -c "$*"
-    }
-    if [ -n "$NOLSB" ]; then
-        fail_msg() {
-            rc_failed 1
-            rc_status -v
-        }
-        succ_msg() {
-            rc_reset
-            rc_status -v
-        }
-        begin_msg() {
-            echo -n "$1"
-        }
-    fi
-fi
-
-if [ "$system" = "debian" ]; then
-    start_daemon() {
-        usr="$1"
-        shift
-        bin="$1"
-        shift
-        start-stop-daemon --background --chuid $usr --start --exec $bin -- $@
-    }
-    killproc() {
-        start-stop-daemon --stop --exec $@
-    }
-    if [ -n "$NOLSB" ]; then
-        fail_msg() {
-            echo " ...fail!"
-        }
-        succ_msg() {
-            echo " ...done."
-        }
-        begin_msg() {
-            echo -n "$1"
-       }
-    fi
-fi
-
-if [ "$system" = "gentoo" ]; then
-    if [ -f /sbin/functions.sh ]; then
-        . /sbin/functions.sh
-    elif [ -f /etc/init.d/functions.sh ]; then
-        . /etc/init.d/functions.sh
-    fi
-    start_daemon() {
-        usr="$1"
-        shift
-        bin="$1"
-        shift
-        start-stop-daemon --background --chuid $usr --start --exec $bin -- $@
-    }
-    killproc() {
-        start-stop-daemon --stop --exec $@
-    }
-    if [ -n "$NOLSB" ]; then
-        fail_msg() {
-            echo " ...fail!"
-        }
-        succ_msg() {
-            echo " ...done."
-        }
-        begin_msg() {
-            echo -n "$1"
-        }
-        if [ "`which $0`" = "/sbin/rc" ]; then
-            shift
-        fi
-    fi
-fi
-
-if [ "$system" = "arch" ]; then
-    USECOLOR=yes
-    . /etc/rc.d/functions
-    start_daemon() {
-        usr="$1"
-        shift
-        su - $usr -c "$*"
-        test $? -eq 0 && add_daemon rc.`basename $2`
-    }
-    killproc() {
-        killall $@
-        rm_daemon `basename $@`
-    }
-    if [ -n "$NOLSB" ]; then
-        fail_msg() {
-            stat_fail
-        }
-        succ_msg() {
-            stat_done
-        }
-        begin_msg() {
-            stat_busy "$1"
-        }
-    fi
-fi
-
-if [ "$system" = "slackware" ]; then
-    killproc() {
-        killall $1
-        rm -f $PIDFILE
-    }
-    if [ -n "$NOLSB" ]; then
-        fail_msg() {
-            echo " ...fail!"
-        }
-        succ_msg() {
-            echo " ...done."
-        }
-        begin_msg() {
-            echo -n "$1"
-        }
-    fi
-    start_daemon() {
-        usr="$1"
-        shift
-        su - $usr -c "$*"
-    }
-fi
-
-if [ "$system" = "lfs" ]; then
-    . /etc/rc.d/init.d/functions
-    if [ -n "$NOLSB" ]; then
-        fail_msg() {
-            echo_failure
-        }
-        succ_msg() {
-            echo_ok
-        }
-        begin_msg() {
-            echo $1
-        }
-    fi
-    start_daemon() {
-        usr="$1"
-        shift
-        su - $usr -c "$*"
-    }
-    status() {
-        statusproc $1
-    }
-fi
-
-if [ "$system" = "other" ]; then
-    if [ -n "$NOLSB" ]; then
-        fail_msg() {
-            echo " ...fail!"
-        }
-        succ_msg() {
-            echo " ...done."
-        }
-        begin_msg() {
-            echo -n "$1"
-        }
-    fi
-fi
-
-vboxdrvrunning() {
-    lsmod | grep -q "vboxdrv[^_-]"
-}
-
-check_single_user() {
-    if [ -n "$2" ]; then
-        fail_msg "VBOXBALLOONCTRL_USER must not contain multiple users!"
-        exit 1
-    fi
-}
-
-start() {
-    if ! test -f $PIDFILE; then
-        [ -z "$VBOXBALLOONCTRL_USER" ] && exit 0
-        begin_msg "Starting VirtualBox balloon control service";
-        check_single_user $VBOXBALLOONCTRL_USER
-        vboxdrvrunning || {
-            fail_msg "VirtualBox kernel module not loaded!"
-            exit 0
-        }
-        PARAMS="--background"
-        [ -n "$VBOXBALLOONCTRL_INTERVAL" ]      && PARAMS="$PARAMS --interval $VBOXBALLOONCTRL_INTERVAL"
-        [ -n "$VBOXBALLOONCTRL_INCREMENT" ]     && PARAMS="$PARAMS --balloon-inc $VBOXBALLOONCTRL_INCREMENT"
-        [ -n "$VBOXBALLOONCTRL_DECREMENT" ]     && PARAMS="$PARAMS --balloon-dec $VBOXBALLOONCTRL_DECREMENT"
-        [ -n "$VBOXBALLOONCTRL_LOWERLIMIT" ]    && PARAMS="$PARAMS --balloon-lower-limit $VBOXBALLOONCTRL_LOWERLIMIT"
-        [ -n "$VBOXBALLOONCTRL_ROTATE" ]        && PARAMS="$PARAMS - $VBOXBALLOONCTRL_ROTATE"
-        [ -n "$VBOXBALLOONCTRL_LOGSIZE" ]       && PARAMS="$PARAMS -S $VBOXBALLOONCTRL_LOGSIZE"
-        [ -n "$VBOXBALLOONCTRL_LOGINTERVAL" ]   && PARAMS="$PARAMS -I $VBOXBALLOONCTRL_LOGINTERVAL"
-        # prevent inheriting this setting to VBoxSVC
-        unset VBOX_RELEASE_LOG_DEST
-        start_daemon $VBOXBALLOONCTRL_USER $binary $PARAMS > /dev/null 2>&1
-        # ugly: wait until the final process has forked
-        sleep .1
-        PID=`pidof $binary 2>/dev/null`
-        if [ -n "$PID" ]; then
-            echo "$PID" > $PIDFILE
-            RETVAL=0
-            succ_msg
-        else
-            RETVAL=1
-            fail_msg
-        fi
-    fi
-    return $RETVAL
-}
-
-stop() {
-    if test -f $PIDFILE; then
-        begin_msg "Stopping VirtualBox balloon control service";
-        killproc $binary
-        RETVAL=$?
-        if ! pidof $binary > /dev/null 2>&1; then
-            rm -f $PIDFILE
-            succ_msg
-        else
-            fail_msg
-        fi
-    fi
-    return $RETVAL
-}
-
-restart() {
-    stop && start
-}
-
-status() {
-    echo -n "Checking for VBox balloon control service"
-    if [ -f $PIDFILE ]; then
-        echo " ...running"
-    else
-        echo " ...not running"
-    fi
-}
-
-case "$1" in
-start)
-    start
-    ;;
-stop)
-    stop
-    ;;
-restart)
-    restart
-    ;;
-force-reload)
-    restart
-    ;;
-status)
-    status
-    ;;
-setup)
-    ;;
-cleanup)
-    ;;
-*)
-    echo "Usage: $0 {start|stop|restart|status}"
-    exit 1
-esac
-
-exit $RETVAL
Index: /trunk/src/VBox/Installer/linux/vboxdrv.sh.in
===================================================================
--- /trunk/src/VBox/Installer/linux/vboxdrv.sh.in	(revision 43364)
+++ /trunk/src/VBox/Installer/linux/vboxdrv.sh.in	(revision 43365)
@@ -30,7 +30,4 @@
 DEVICE=/dev/vboxdrv
 LOG="/var/log/vbox-install.log"
-NOLSB=%NOLSB%
-DEBIAN=%DEBIAN%
-VERSION=%VERSION%
 MODPROBE=/sbin/modprobe
 
@@ -39,6 +36,10 @@
 fi
 
-[ -f /lib/lsb/init-functions ] || NOLSB=yes
-[ -f /etc/vbox/vbox.cfg ] && . /etc/vbox/vbox.cfg
+[ -f /etc/debian_release -a -f /lib/lsb/init-functions ] || NOLSB=yes
+if [ ! -f /etc/vbox/vbox.cfg ]; then
+    echo "/etc/vbox/vbox.cfg not found"  # Fiddle this and do it nicely.
+    exit 1
+fi
+. /etc/vbox/vbox.cfg
 export BUILD_TYPE
 export USERNAME
@@ -49,6 +50,6 @@
     MODULE_SRC="$INSTALL_DIR/src/vboxhost"
 else
-    VBOXMANAGE="/usr/lib/%PACKAGE%/VBoxManage"
-    MODULE_SRC="/usr/share/%PACKAGE%/src/vboxhost"
+    VBOXMANAGE="/usr/lib/virtualbox/VBoxManage"
+    MODULE_SRC="/usr/share/virtualbox/src/vboxhost"
 fi
 BUILDINTMP="$MODULE_SRC/build_in_tmp"
@@ -56,6 +57,6 @@
 
 # silently exit if the package was uninstalled but not purged,
-# applies to Debian packages only
-[ -z "$DEBIAN" -o -x $VBOXMANAGE -a -x $BUILDINTMP ] || exit 0
+# applies to Debian packages only (but shouldn't hurt elsewhere)
+[ ! -f /etc/debian_release -o -x $VBOXMANAGE -a -x $BUILDINTMP ] || exit 0
 
 if [ -n "$NOLSB" ]; then
@@ -69,5 +70,5 @@
 fi
 
-[ -r /etc/default/%PACKAGE% ] && . /etc/default/%PACKAGE%
+[ -r /etc/default/virtualbox ] && . /etc/default/virtualbox
 
 if [ -z "$NOLSB" ]; then
@@ -248,5 +249,5 @@
 }
 
-# enter the following variables in /etc/default/%PACKAGE%:
+# enter the following variables in /etc/default/virtualbox:
 #   SHUTDOWN_USERS="foo bar"  
 #     check for running VMs of user foo and user bar
@@ -323,5 +324,5 @@
     fi
     begin_msg "Trying to register the VirtualBox kernel modules using DKMS"
-    if ! $DODKMS install vboxhost $VERSION >> $LOG; then
+    if ! $DODKMS install vboxhost $INSTALL_VER >> $LOG; then
       fail_msg "Failed, trying without DKMS"
       begin_msg "Recompiling VirtualBox kernel modules"
Index: /trunk/src/VBox/Installer/linux/vboxweb-service.sh
===================================================================
--- /trunk/src/VBox/Installer/linux/vboxweb-service.sh	(revision 43365)
+++ /trunk/src/VBox/Installer/linux/vboxweb-service.sh	(revision 43365)
@@ -0,0 +1,398 @@
+#!/bin/sh
+#
+# VirtualBox web service API daemon init script.
+#
+# Copyright (C) 2006-2012 Oracle Corporation
+#
+# This file is part of VirtualBox Open Source Edition (OSE), as
+# available from http://www.virtualbox.org. This file is free software;
+# you can redistribute it and/or modify it under the terms of the GNU
+# General Public License (GPL) as published by the Free Software
+# Foundation, in version 2 as it comes in the "COPYING" file of the
+# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+#
+
+# chkconfig: 35 35 65
+# description: VirtualBox web service API
+#
+### BEGIN INIT INFO
+# Provides:       vboxweb-service
+# Required-Start: vboxdrv
+# Required-Stop:  vboxdrv
+# Default-Start:  2 3 4 5
+# Default-Stop:   0 1 6
+# Description:    VirtualBox web service API
+### END INIT INFO
+
+PATH=$PATH:/bin:/sbin:/usr/sbin
+
+[ -f /etc/debian_release -a -f /lib/lsb/init-functions ] || NOLSB=yes
+[ -f /etc/vbox/vbox.cfg ] && . /etc/vbox/vbox.cfg
+
+if [ -n "$INSTALL_DIR" ]; then
+    binary="$INSTALL_DIR/vboxwebsrv"
+    vboxmanage="$INSTALL_DIR/VBoxManage"
+else
+    binary="/usr/lib/virtualbox/vboxwebsrv"
+    vboxmanage="/usr/lib/virtualbox/VBoxManage"
+fi
+
+# silently exit if the package was uninstalled but not purged,
+# applies to Debian packages only (but shouldn't hurt elsewhere)
+[ ! -f /etc/debian_release -o -x $binary ] || exit 0
+
+[ -r /etc/default/virtualbox ] && . /etc/default/virtualbox
+
+system=unknown
+if [ -f /etc/redhat-release ]; then
+    system=redhat
+    PIDFILE="/var/lock/subsys/vboxweb-service"
+elif [ -f /etc/SuSE-release ]; then
+    system=suse
+    PIDFILE="/var/lock/subsys/vboxweb-service"
+elif [ -f /etc/debian_version ]; then
+    system=debian
+    PIDFILE="/var/run/vboxweb-service"
+elif [ -f /etc/gentoo-release ]; then
+    system=gentoo
+    PIDFILE="/var/run/vboxweb-service"
+elif [ -f /etc/arch-release ]; then
+     system=arch
+     PIDFILE="/var/run/vboxweb-service"
+elif [ -f /etc/slackware-version ]; then
+    system=slackware
+    PIDFILE="/var/run/vboxweb-service"
+elif [ -f /etc/lfs-release ]; then
+    system=lfs
+    PIDFILE="/var/run/vboxweb-service.pid"
+else
+    system=other
+    if [ -d /var/run -a -w /var/run ]; then
+        PIDFILE="/var/run/vboxweb-service"
+    fi
+fi
+
+if [ -z "$NOLSB" ]; then
+    . /lib/lsb/init-functions
+    fail_msg() {
+        echo ""
+        log_failure_msg "$1"
+    }
+    succ_msg() {
+        log_success_msg " done."
+    }
+    begin_msg() {
+        log_daemon_msg "$@"
+    }
+fi
+
+if [ "$system" = "redhat" ]; then
+    . /etc/init.d/functions
+    if [ -n "$NOLSB" ]; then
+        start_daemon() {
+            usr="$1"
+            shift
+            daemon --user $usr $@
+        }
+        fail_msg() {
+            echo_failure
+            echo
+        }
+        succ_msg() {
+            echo_success
+            echo
+        }
+        begin_msg() {
+            echo -n "$1"
+        }
+    fi
+fi
+
+if [ "$system" = "suse" ]; then
+    . /etc/rc.status
+    start_daemon() {
+        usr="$1"
+        shift
+        su - $usr -c "$*"
+    }
+    if [ -n "$NOLSB" ]; then
+        fail_msg() {
+            rc_failed 1
+            rc_status -v
+        }
+        succ_msg() {
+            rc_reset
+            rc_status -v
+        }
+        begin_msg() {
+            echo -n "$1"
+        }
+    fi
+fi
+
+if [ "$system" = "debian" ]; then
+    start_daemon() {
+        usr="$1"
+        shift
+        bin="$1"
+        shift
+        start-stop-daemon --background --chuid $usr --start --exec $bin -- $@
+    }
+    killproc() {
+        start-stop-daemon --stop --exec $@
+    }
+    if [ -n "$NOLSB" ]; then
+        fail_msg() {
+            echo " ...fail!"
+        }
+        succ_msg() {
+            echo " ...done."
+        }
+        begin_msg() {
+            echo -n "$1"
+       }
+    fi
+fi
+
+if [ "$system" = "gentoo" ]; then
+    if [ -f /sbin/functions.sh ]; then
+        . /sbin/functions.sh
+    elif [ -f /etc/init.d/functions.sh ]; then
+        . /etc/init.d/functions.sh
+    fi
+    start_daemon() {
+        usr="$1"
+        shift
+        bin="$1"
+        shift
+        start-stop-daemon --background --chuid $usr --start --exec $bin -- $@
+    }
+    killproc() {
+        start-stop-daemon --stop --exec $@
+    }
+    if [ -n "$NOLSB" ]; then
+        fail_msg() {
+            echo " ...fail!"
+        }
+        succ_msg() {
+            echo " ...done."
+        }
+        begin_msg() {
+            echo -n "$1"
+        }
+        if [ "`which $0`" = "/sbin/rc" ]; then
+            shift
+        fi
+    fi
+fi
+
+if [ "$system" = "arch" ]; then
+    USECOLOR=yes
+    . /etc/rc.d/functions
+    start_daemon() {
+        usr="$1"
+        shift
+        su - $usr -c "$*"
+        test $? -eq 0 && add_daemon rc.`basename $2`
+    }
+    killproc() {
+        killall $@
+        rm_daemon `basename $@`
+    }
+    if [ -n "$NOLSB" ]; then
+        fail_msg() {
+            stat_fail
+        }
+        succ_msg() {
+            stat_done
+        }
+        begin_msg() {
+            stat_busy "$1"
+        }
+    fi
+fi
+
+if [ "$system" = "slackware" ]; then
+    killproc() {
+        killall $1
+        rm -f $PIDFILE
+    }
+    if [ -n "$NOLSB" ]; then
+        fail_msg() {
+            echo " ...fail!"
+        }
+        succ_msg() {
+            echo " ...done."
+        }
+        begin_msg() {
+            echo -n "$1"
+        }
+    fi
+    start_daemon() {
+        usr="$1"
+        shift
+        su - $usr -c "$*"
+    }
+fi
+
+if [ "$system" = "lfs" ]; then
+    . /etc/rc.d/init.d/functions
+    if [ -n "$NOLSB" ]; then
+        fail_msg() {
+            echo_failure
+        }
+        succ_msg() {
+            echo_ok
+        }
+        begin_msg() {
+            echo $1
+        }
+    fi
+    start_daemon() {
+        usr="$1"
+        shift
+        su - $usr -c "$*"
+    }
+    status() {
+        statusproc $1
+    }
+fi
+
+if [ "$system" = "other" ]; then
+    if [ -n "$NOLSB" ]; then
+        fail_msg() {
+            echo " ...fail!"
+        }
+        succ_msg() {
+            echo " ...done."
+        }
+        begin_msg() {
+            echo -n "$1"
+        }
+    fi
+fi
+
+vboxdrvrunning() {
+    lsmod | grep -q "vboxdrv[^_-]"
+}
+
+check_single_user() {
+    if [ -n "$2" ]; then
+        fail_msg "VBOXWEB_USER must not contain multiple users!"
+        exit 1
+    fi
+}
+
+start() {
+    if ! test -f $PIDFILE; then
+        [ -z "$VBOXWEB_USER" ] && exit 0
+        begin_msg "Starting VirtualBox web service";
+        check_single_user $VBOXWEB_USER
+        vboxdrvrunning || {
+            fail_msg "VirtualBox kernel module not loaded!"
+            exit 0
+        }
+        PARAMS="--background"
+        [ -n "$VBOXWEB_HOST" ]           && PARAMS="$PARAMS -H $VBOXWEB_HOST"
+        [ -n "$VBOXWEB_PORT" ]           && PARAMS="$PARAMS -p $VBOXWEB_PORT"
+        [ -n "$VBOXWEB_SSL_KEYFILE" ]    && PARAMS="$PARAMS -s -K $VBOXWEB_SSL_KEYFILE"
+        [ -n "$VBOXWEB_SSL_PASSWORDFILE" ] && PARAMS="$PARAMS -a $VBOXWEB_SSL_PASSWORDFILE"
+        [ -n "$VBOXWEB_SSL_CACERT" ]     && PARAMS="$PARAMS -c $VBOXWEB_SSL_CACERT"
+        [ -n "$VBOXWEB_SSL_CAPATH" ]     && PARAMS="$PARAMS -C $VBOXWEB_SSL_CAPATH"
+        [ -n "$VBOXWEB_SSL_DHFILE" ]     && PARAMS="$PARAMS -D $VBOXWEB_SSL_DHFILE"
+        [ -n "$VBOXWEB_SSL_RANDFILE" ]   && PARAMS="$PARAMS -r $VBOXWEB_SSL_RANDFILE"
+        [ -n "$VBOXWEB_TIMEOUT" ]        && PARAMS="$PARAMS -t $VBOXWEB_TIMEOUT"
+        [ -n "$VBOXWEB_CHECK_INTERVAL" ] && PARAMS="$PARAMS -i $VBOXWEB_CHECK_INTERVAL"
+        [ -n "$VBOXWEB_THREADS" ]        && PARAMS="$PARAMS -T $VBOXWEB_THREADS"
+        [ -n "$VBOXWEB_KEEPALIVE" ]      && PARAMS="$PARAMS -k $VBOXWEB_KEEPALIVE"
+        [ -n "$VBOXWEB_AUTHENTICATION" ] && PARAMS="$PARAMS -A $VBOXWEB_AUTHENTICATION"
+        [ -n "$VBOXWEB_LOGFILE" ]        && PARAMS="$PARAMS -F $VBOXWEB_LOGFILE"
+        [ -n "$VBOXWEB_ROTATE" ]         && PARAMS="$PARAMS -R $VBOXWEB_ROTATE"
+        [ -n "$VBOXWEB_LOGSIZE" ]        && PARAMS="$PARAMS -S $VBOXWEB_LOGSIZE"
+        [ -n "$VBOXWEB_LOGINTERVAL" ]    && PARAMS="$PARAMS -I $VBOXWEB_LOGINTERVAL"
+        # set authentication method + password hash
+        if [ -n "$VBOXWEB_AUTH_LIBRARY" ]; then
+            su - "$VBOXWEB_USER" -c "$vboxmanage setproperty websrvauthlibrary \"$VBOXWEB_AUTH_LIBRARY\""
+            if [ $? -ne 0 ]; then
+                fail_msg "Error $? setting webservice authentication library to $VBOXWEB_AUTH_LIBRARY"
+            fi
+        fi
+        if [ -n "$VBOXWEB_AUTH_PWHASH" ]; then
+            su - "$VBOXWEB_USER" -c "$vboxmanage setextradata global \"VBoxAuthSimple/users/$VBOXWEB_USER\" \"$VBOXWEB_AUTH_PWHASH\""
+            if [ $? -ne 0 ]; then
+                fail_msg "Error $? setting webservice password hash"
+            fi
+        fi
+        # prevent inheriting this setting to VBoxSVC
+        unset VBOX_RELEASE_LOG_DEST
+        start_daemon $VBOXWEB_USER $binary $PARAMS > /dev/null 2>&1
+        # ugly: wait until the final process has forked
+        sleep .1
+        PID=`pidof $binary 2>/dev/null`
+        if [ -n "$PID" ]; then
+            echo "$PID" > $PIDFILE
+            RETVAL=0
+            succ_msg
+        else
+            RETVAL=1
+            fail_msg
+        fi
+    fi
+    return $RETVAL
+}
+
+stop() {
+    if test -f $PIDFILE; then
+        begin_msg "Stopping VirtualBox web service";
+        killproc $binary
+        RETVAL=$?
+        if ! pidof $binary > /dev/null 2>&1; then
+            rm -f $PIDFILE
+            succ_msg
+        else
+            fail_msg
+        fi
+    fi
+    return $RETVAL
+}
+
+restart() {
+    stop && start
+}
+
+status() {
+    echo -n "Checking for VBox Web Service"
+    if [ -f $PIDFILE ]; then
+        echo " ...running"
+    else
+        echo " ...not running"
+    fi
+}
+
+case "$1" in
+start)
+    start
+    ;;
+stop)
+    stop
+    ;;
+restart)
+    restart
+    ;;
+force-reload)
+    restart
+    ;;
+status)
+    status
+    ;;
+setup)
+    ;;
+cleanup)
+    ;;
+*)
+    echo "Usage: $0 {start|stop|restart|status}"
+    exit 1
+esac
+
+exit $RETVAL
Index: unk/src/VBox/Installer/linux/vboxweb-service.sh.in
===================================================================
--- /trunk/src/VBox/Installer/linux/vboxweb-service.sh.in	(revision 43364)
+++ 	(revision )
@@ -1,400 +1,0 @@
-#!/bin/sh
-#
-# VirtualBox web service API daemon init script.
-#
-# Copyright (C) 2006-2012 Oracle Corporation
-#
-# This file is part of VirtualBox Open Source Edition (OSE), as
-# available from http://www.virtualbox.org. This file is free software;
-# you can redistribute it and/or modify it under the terms of the GNU
-# General Public License (GPL) as published by the Free Software
-# Foundation, in version 2 as it comes in the "COPYING" file of the
-# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
-# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
-#
-
-# chkconfig: 35 35 65
-# description: VirtualBox web service API
-#
-### BEGIN INIT INFO
-# Provides:       vboxweb-service
-# Required-Start: vboxdrv
-# Required-Stop:  vboxdrv
-# Default-Start:  2 3 4 5
-# Default-Stop:   0 1 6
-# Description:    VirtualBox web service API
-### END INIT INFO
-
-PATH=$PATH:/bin:/sbin:/usr/sbin
-DEBIAN=%DEBIAN%
-NOLSB=%NOLSB%
-
-[ -f /lib/lsb/init-functions ] || NOLSB=yes
-[ -f /etc/vbox/vbox.cfg ] && . /etc/vbox/vbox.cfg
-
-if [ -n "$INSTALL_DIR" ]; then
-    binary="$INSTALL_DIR/vboxwebsrv"
-    vboxmanage="$INSTALL_DIR/VBoxManage"
-else
-    binary="/usr/lib/%PACKAGE%/vboxwebsrv"
-    vboxmanage="/usr/lib/%PACKAGE%/VBoxManage"
-fi
-
-# silently exit if the package was uninstalled but not purged,
-# applies to Debian packages only
-[ -z "$DEBIAN" -o -x $binary ] || exit 0
-
-[ -r /etc/default/%PACKAGE% ] && . /etc/default/%PACKAGE%
-
-system=unknown
-if [ -f /etc/redhat-release ]; then
-    system=redhat
-    PIDFILE="/var/lock/subsys/vboxweb-service"
-elif [ -f /etc/SuSE-release ]; then
-    system=suse
-    PIDFILE="/var/lock/subsys/vboxweb-service"
-elif [ -f /etc/debian_version ]; then
-    system=debian
-    PIDFILE="/var/run/vboxweb-service"
-elif [ -f /etc/gentoo-release ]; then
-    system=gentoo
-    PIDFILE="/var/run/vboxweb-service"
-elif [ -f /etc/arch-release ]; then
-     system=arch
-     PIDFILE="/var/run/vboxweb-service"
-elif [ -f /etc/slackware-version ]; then
-    system=slackware
-    PIDFILE="/var/run/vboxweb-service"
-elif [ -f /etc/lfs-release ]; then
-    system=lfs
-    PIDFILE="/var/run/vboxweb-service.pid"
-else
-    system=other
-    if [ -d /var/run -a -w /var/run ]; then
-        PIDFILE="/var/run/vboxweb-service"
-    fi
-fi
-
-if [ -z "$NOLSB" ]; then
-    . /lib/lsb/init-functions
-    fail_msg() {
-        echo ""
-        log_failure_msg "$1"
-    }
-    succ_msg() {
-        log_success_msg " done."
-    }
-    begin_msg() {
-        log_daemon_msg "$@"
-    }
-fi
-
-if [ "$system" = "redhat" ]; then
-    . /etc/init.d/functions
-    if [ -n "$NOLSB" ]; then
-        start_daemon() {
-            usr="$1"
-            shift
-            daemon --user $usr $@
-        }
-        fail_msg() {
-            echo_failure
-            echo
-        }
-        succ_msg() {
-            echo_success
-            echo
-        }
-        begin_msg() {
-            echo -n "$1"
-        }
-    fi
-fi
-
-if [ "$system" = "suse" ]; then
-    . /etc/rc.status
-    start_daemon() {
-        usr="$1"
-        shift
-        su - $usr -c "$*"
-    }
-    if [ -n "$NOLSB" ]; then
-        fail_msg() {
-            rc_failed 1
-            rc_status -v
-        }
-        succ_msg() {
-            rc_reset
-            rc_status -v
-        }
-        begin_msg() {
-            echo -n "$1"
-        }
-    fi
-fi
-
-if [ "$system" = "debian" ]; then
-    start_daemon() {
-        usr="$1"
-        shift
-        bin="$1"
-        shift
-        start-stop-daemon --background --chuid $usr --start --exec $bin -- $@
-    }
-    killproc() {
-        start-stop-daemon --stop --exec $@
-    }
-    if [ -n "$NOLSB" ]; then
-        fail_msg() {
-            echo " ...fail!"
-        }
-        succ_msg() {
-            echo " ...done."
-        }
-        begin_msg() {
-            echo -n "$1"
-       }
-    fi
-fi
-
-if [ "$system" = "gentoo" ]; then
-    if [ -f /sbin/functions.sh ]; then
-        . /sbin/functions.sh
-    elif [ -f /etc/init.d/functions.sh ]; then
-        . /etc/init.d/functions.sh
-    fi
-    start_daemon() {
-        usr="$1"
-        shift
-        bin="$1"
-        shift
-        start-stop-daemon --background --chuid $usr --start --exec $bin -- $@
-    }
-    killproc() {
-        start-stop-daemon --stop --exec $@
-    }
-    if [ -n "$NOLSB" ]; then
-        fail_msg() {
-            echo " ...fail!"
-        }
-        succ_msg() {
-            echo " ...done."
-        }
-        begin_msg() {
-            echo -n "$1"
-        }
-        if [ "`which $0`" = "/sbin/rc" ]; then
-            shift
-        fi
-    fi
-fi
-
-if [ "$system" = "arch" ]; then
-    USECOLOR=yes
-    . /etc/rc.d/functions
-    start_daemon() {
-        usr="$1"
-        shift
-        su - $usr -c "$*"
-        test $? -eq 0 && add_daemon rc.`basename $2`
-    }
-    killproc() {
-        killall $@
-        rm_daemon `basename $@`
-    }
-    if [ -n "$NOLSB" ]; then
-        fail_msg() {
-            stat_fail
-        }
-        succ_msg() {
-            stat_done
-        }
-        begin_msg() {
-            stat_busy "$1"
-        }
-    fi
-fi
-
-if [ "$system" = "slackware" ]; then
-    killproc() {
-        killall $1
-        rm -f $PIDFILE
-    }
-    if [ -n "$NOLSB" ]; then
-        fail_msg() {
-            echo " ...fail!"
-        }
-        succ_msg() {
-            echo " ...done."
-        }
-        begin_msg() {
-            echo -n "$1"
-        }
-    fi
-    start_daemon() {
-        usr="$1"
-        shift
-        su - $usr -c "$*"
-    }
-fi
-
-if [ "$system" = "lfs" ]; then
-    . /etc/rc.d/init.d/functions
-    if [ -n "$NOLSB" ]; then
-        fail_msg() {
-            echo_failure
-        }
-        succ_msg() {
-            echo_ok
-        }
-        begin_msg() {
-            echo $1
-        }
-    fi
-    start_daemon() {
-        usr="$1"
-        shift
-        su - $usr -c "$*"
-    }
-    status() {
-        statusproc $1
-    }
-fi
-
-if [ "$system" = "other" ]; then
-    if [ -n "$NOLSB" ]; then
-        fail_msg() {
-            echo " ...fail!"
-        }
-        succ_msg() {
-            echo " ...done."
-        }
-        begin_msg() {
-            echo -n "$1"
-        }
-    fi
-fi
-
-vboxdrvrunning() {
-    lsmod | grep -q "vboxdrv[^_-]"
-}
-
-check_single_user() {
-    if [ -n "$2" ]; then
-        fail_msg "VBOXWEB_USER must not contain multiple users!"
-        exit 1
-    fi
-}
-
-start() {
-    if ! test -f $PIDFILE; then
-        [ -z "$VBOXWEB_USER" ] && exit 0
-        begin_msg "Starting VirtualBox web service";
-        check_single_user $VBOXWEB_USER
-        vboxdrvrunning || {
-            fail_msg "VirtualBox kernel module not loaded!"
-            exit 0
-        }
-        PARAMS="--background"
-        [ -n "$VBOXWEB_HOST" ]           && PARAMS="$PARAMS -H $VBOXWEB_HOST"
-        [ -n "$VBOXWEB_PORT" ]           && PARAMS="$PARAMS -p $VBOXWEB_PORT"
-        [ -n "$VBOXWEB_SSL_KEYFILE" ]    && PARAMS="$PARAMS -s -K $VBOXWEB_SSL_KEYFILE"
-        [ -n "$VBOXWEB_SSL_PASSWORDFILE" ] && PARAMS="$PARAMS -a $VBOXWEB_SSL_PASSWORDFILE"
-        [ -n "$VBOXWEB_SSL_CACERT" ]     && PARAMS="$PARAMS -c $VBOXWEB_SSL_CACERT"
-        [ -n "$VBOXWEB_SSL_CAPATH" ]     && PARAMS="$PARAMS -C $VBOXWEB_SSL_CAPATH"
-        [ -n "$VBOXWEB_SSL_DHFILE" ]     && PARAMS="$PARAMS -D $VBOXWEB_SSL_DHFILE"
-        [ -n "$VBOXWEB_SSL_RANDFILE" ]   && PARAMS="$PARAMS -r $VBOXWEB_SSL_RANDFILE"
-        [ -n "$VBOXWEB_TIMEOUT" ]        && PARAMS="$PARAMS -t $VBOXWEB_TIMEOUT"
-        [ -n "$VBOXWEB_CHECK_INTERVAL" ] && PARAMS="$PARAMS -i $VBOXWEB_CHECK_INTERVAL"
-        [ -n "$VBOXWEB_THREADS" ]        && PARAMS="$PARAMS -T $VBOXWEB_THREADS"
-        [ -n "$VBOXWEB_KEEPALIVE" ]      && PARAMS="$PARAMS -k $VBOXWEB_KEEPALIVE"
-        [ -n "$VBOXWEB_AUTHENTICATION" ] && PARAMS="$PARAMS -A $VBOXWEB_AUTHENTICATION"
-        [ -n "$VBOXWEB_LOGFILE" ]        && PARAMS="$PARAMS -F $VBOXWEB_LOGFILE"
-        [ -n "$VBOXWEB_ROTATE" ]         && PARAMS="$PARAMS -R $VBOXWEB_ROTATE"
-        [ -n "$VBOXWEB_LOGSIZE" ]        && PARAMS="$PARAMS -S $VBOXWEB_LOGSIZE"
-        [ -n "$VBOXWEB_LOGINTERVAL" ]    && PARAMS="$PARAMS -I $VBOXWEB_LOGINTERVAL"
-        # set authentication method + password hash
-        if [ -n "$VBOXWEB_AUTH_LIBRARY" ]; then
-            su - "$VBOXWEB_USER" -c "$vboxmanage setproperty websrvauthlibrary \"$VBOXWEB_AUTH_LIBRARY\""
-            if [ $? -ne 0 ]; then
-                fail_msg "Error $? setting webservice authentication library to $VBOXWEB_AUTH_LIBRARY"
-            fi
-        fi
-        if [ -n "$VBOXWEB_AUTH_PWHASH" ]; then
-            su - "$VBOXWEB_USER" -c "$vboxmanage setextradata global \"VBoxAuthSimple/users/$VBOXWEB_USER\" \"$VBOXWEB_AUTH_PWHASH\""
-            if [ $? -ne 0 ]; then
-                fail_msg "Error $? setting webservice password hash"
-            fi
-        fi
-        # prevent inheriting this setting to VBoxSVC
-        unset VBOX_RELEASE_LOG_DEST
-        start_daemon $VBOXWEB_USER $binary $PARAMS > /dev/null 2>&1
-        # ugly: wait until the final process has forked
-        sleep .1
-        PID=`pidof $binary 2>/dev/null`
-        if [ -n "$PID" ]; then
-            echo "$PID" > $PIDFILE
-            RETVAL=0
-            succ_msg
-        else
-            RETVAL=1
-            fail_msg
-        fi
-    fi
-    return $RETVAL
-}
-
-stop() {
-    if test -f $PIDFILE; then
-        begin_msg "Stopping VirtualBox web service";
-        killproc $binary
-        RETVAL=$?
-        if ! pidof $binary > /dev/null 2>&1; then
-            rm -f $PIDFILE
-            succ_msg
-        else
-            fail_msg
-        fi
-    fi
-    return $RETVAL
-}
-
-restart() {
-    stop && start
-}
-
-status() {
-    echo -n "Checking for VBox Web Service"
-    if [ -f $PIDFILE ]; then
-        echo " ...running"
-    else
-        echo " ...not running"
-    fi
-}
-
-case "$1" in
-start)
-    start
-    ;;
-stop)
-    stop
-    ;;
-restart)
-    restart
-    ;;
-force-reload)
-    restart
-    ;;
-status)
-    status
-    ;;
-setup)
-    ;;
-cleanup)
-    ;;
-*)
-    echo "Usage: $0 {start|stop|restart|status}"
-    exit 1
-esac
-
-exit $RETVAL
