X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=VirtualBox-vboxguest.init;h=b014a45ab75d88c837ea29d1b8723a9efe4cd329;hb=2c014189daca6704950ad819eed99e4fe06641c1;hp=4d7228319a3258dcea095caf9f9622b679d9cfa5;hpb=f8d383ed7f00d93bb170120d934e60b4fb9011f8;p=packages%2FVirtualBox.git diff --git a/VirtualBox-vboxguest.init b/VirtualBox-vboxguest.init index 4d72283..b014a45 100644 --- a/VirtualBox-vboxguest.init +++ b/VirtualBox-vboxguest.init @@ -20,39 +20,45 @@ VBOX_MODULE="vboxguest" setup() { modprobe -s $VBOX_MODULE - # set proper /dev/vboxdrv for systems with static dev - if [ ! -d /dev/.udev ]; then - show "Setting $VBOX_DEVICE entry" - busy - rm -f $VBOX_DEVICE - VBOX_MAJOR=$(awk '$2 == "vboxdrv" {print $1}' /proc/devices) - if [ -n "$VBOX_MAJOR" ]; then - VBOX_MINOR=0 - else - VBOX_MINOR=$(awk '$2 == "vboxdrv" {print $1}' /proc/misc) - if [ -n "$VBOX_MINOR" ]; then - VBOX_MAJOR=$(awk '$2 == "misc" {print $1}' /proc/devices) - fi - fi - if [ -z "$VBOX_MAJOR" ]; then - /sbin/rmmod $VBOX_MODULE - fail - elif ! mknod -m 0660 $VBOX_DEVICE c $VBOX_MAJOR $VBOX_MINOR; then - rmmod $VBOX_MODNAME - fail - elif ! chown root:vbox $VBOX_DEVICE; then - fail - else - ok + RETVAL=$? + if [ -d /dev/.udev ]; then + return $RETVAL + fi + + # set proper $VBOX_DEVICE for systems with static dev + show "Setting $VBOX_DEVICE entry"; busy + rm -f $VBOX_DEVICE + VBOX_MAJOR=$(awk '$2 == "vboxdrv" {print $1}' /proc/devices) + if [ -n "$VBOX_MAJOR" ]; then + VBOX_MINOR=0 + else + VBOX_MINOR=$(awk '$2 == "vboxdrv" {print $1}' /proc/misc) + if [ -n "$VBOX_MINOR" ]; then + VBOX_MAJOR=$(awk '$2 == "misc" {print $1}' /proc/devices) fi fi + + if [ -z "$VBOX_MAJOR" ]; then + /sbin/rmmod $VBOX_MODULE + RETVAL=1 + elif ! mknod -m 0660 $VBOX_DEVICE c $VBOX_MAJOR $VBOX_MINOR; then + RETVAL=$? + rmmod $VBOX_MODNAME + fail + elif ! chown root:vbox $VBOX_DEVICE; then + RETVAL=$? + fail + else + ok + fi + return $RETVAL } start() { if [ -f /var/lock/subsys/vboxguest ]; then return fi - setup + setup || exit $? touch /var/lock/subsys/vboxguest }