1
0
forked from pool/virtualbox
virtualbox/vbox-vboxdrv-init-script.diff

112 lines
4.2 KiB
Diff

Index: src/VBox/Installer/linux/vboxdrv.sh.in
===================================================================
--- src/VBox/Installer/linux/vboxdrv.sh.in.orig
+++ src/VBox/Installer/linux/vboxdrv.sh.in
@@ -3,7 +3,7 @@
# Linux kernel module init script
#
-# Copyright (C) 2006-2010 Oracle Corporation
+# Copyright (C) 2007-2010 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
@@ -19,11 +19,12 @@
#
### BEGIN INIT INFO
# Provides: vboxdrv
-# Required-Start: $syslog
-# Required-Stop:
+# Required-Start: $syslog $remote_fs
+# Required-Stop: $syslog $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: VirtualBox Linux kernel module
+# Description: VirtualBox Linux kernel module
### END INIT INFO
PATH=/sbin:/bin:/usr/sbin:/usr/bin:$PATH
@@ -58,7 +59,7 @@ fi
# silently exit if the package was uninstalled but not purged,
# applies to Debian packages only
-[ -z "$DEBIAN" -o -x $VBOXMANAGE -a -x $BUILDVBOXDRV ] || exit 0
+[ -z "$DEBIAN" -o -x $VBOXMANAGE -a -x $BUILDVBOXDRV ] || exit 1
if [ -n "$NOLSB" ]; then
if [ -f /etc/redhat-release ]; then
@@ -195,13 +196,6 @@ start()
fi
fi
# ensure permissions
- if ! chown :%GROUP% $DEVICE 2>/dev/null; then
- rmmod vboxpci 2>/dev/null
- rmmod vboxnetadp 2>/dev/null
- rmmod vboxnetflt 2>/dev/null
- rmmod vboxdrv 2>/dev/null
- failure "Cannot change group %GROUP% for device $DEVICE"
- fi
if ! $MODPROBE vboxnetflt > /dev/null 2>&1; then
failure "modprobe vboxnetflt failed. Please use 'dmesg' to find out why"
fi
@@ -299,58 +293,8 @@ stop_vms()
# setup_script
setup()
{
- stop
- begin_msg "Uninstalling old VirtualBox DKMS kernel modules"
- $DODKMS uninstall > $LOG
- succ_msg
- if find /lib/modules/`uname -r` -name "vboxpci\.*" 2>/dev/null|grep -q vboxpci; then
- begin_msg "Removing old VirtualBox pci kernel module"
- find /lib/modules/`uname -r` -name "vboxpci\.*" 2>/dev/null|xargs rm -f 2>/dev/null
- succ_msg
- fi
- if find /lib/modules/`uname -r` -name "vboxnetadp\.*" 2>/dev/null|grep -q vboxnetadp; then
- begin_msg "Removing old VirtualBox netadp kernel module"
- find /lib/modules/`uname -r` -name "vboxnetadp\.*" 2>/dev/null|xargs rm -f 2>/dev/null
- succ_msg
- fi
- if find /lib/modules/`uname -r` -name "vboxnetflt\.*" 2>/dev/null|grep -q vboxnetflt; then
- begin_msg "Removing old VirtualBox netflt kernel module"
- find /lib/modules/`uname -r` -name "vboxnetflt\.*" 2>/dev/null|xargs rm -f 2>/dev/null
- succ_msg
- fi
- if find /lib/modules/`uname -r` -name "vboxdrv\.*" 2>/dev/null|grep -q vboxdrv; then
- begin_msg "Removing old VirtualBox kernel module"
- find /lib/modules/`uname -r` -name "vboxdrv\.*" 2>/dev/null|xargs rm -f 2>/dev/null
- succ_msg
- fi
- begin_msg "Trying to register the VirtualBox kernel modules using DKMS"
- if ! $DODKMS install >> $LOG; then
- fail_msg "Failed, trying without DKMS"
- begin_msg "Recompiling VirtualBox kernel modules"
- if ! $BUILDVBOXDRV \
- --save-module-symvers /tmp/vboxdrv-Module.symvers \
- --no-print-directory install >> $LOG 2>&1; then
- failure "Look at $LOG to find out what went wrong"
- fi
- if ! $BUILDVBOXNETFLT \
- --use-module-symvers /tmp/vboxdrv-Module.symvers \
- --no-print-directory install >> $LOG 2>&1; then
- failure "Look at $LOG to find out what went wrong"
- fi
- if ! $BUILDVBOXNETADP \
- --use-module-symvers /tmp/vboxdrv-Module.symvers \
- --no-print-directory install >> $LOG 2>&1; then
- failure "Look at $LOG to find out what went wrong"
- fi
- if ! $BUILDVBOXPCI \
- --use-module-symvers /tmp/vboxdrv-Module.symvers \
- --no-print-directory install >> $LOG 2>&1; then
- failure "Look at $LOG to find out what went wrong"
- fi
- fi
- rm -f /etc/vbox/module_not_compiled
+ begin_msg "Recompiling VirtualBox vboxadd kernel module, NOT. It has been packaged."
succ_msg
- start
}
dmnstatus()