Package: virtualbox
Version: 4.3.10-dfsg-1
Severity: normal
Tags: patch

Dear Maintainer,

The current virtualbox debian package does not ship 
/etc/init.d/vboxautostart-service , which allows to start VMs at system boot.
Without this init script, the procedure described at 
https://www.virtualbox.org/manual/ch09.html#autostart does not work. (no
virtual machines are started during boot process)

I've manually installed the script from 
https://www.virtualbox.org/browser/vbox/trunk/src/VBox/Installer/linux/vboxautostart-service.sh?format=raw
and it is fully working, without modifications.

Could you include this init script in the Debian package?

Thanks in advance


-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (500, 'testing'), (200, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.13-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages virtualbox depends on:
ii  adduser          3.113+nmu3
ii  dpkg             1.17.9
ii  libc6            2.18-5
ii  libcurl3         7.36.0-2
ii  libgcc1          1:4.9.0-1
ii  libgsoap4        2.8.16-2
ii  libpng12-0       1.2.50-1
ii  libpython2.7     2.7.6-8
ii  libsdl1.2debian  1.2.15-9
ii  libssl1.0.0      1.0.1g-3
ii  libstdc++6       4.9.0-1
ii  libvncserver0    0.9.9+dfsg-4
ii  libvpx1          1.3.0-2
ii  libx11-6         2:1.6.2-1
ii  libxcursor1      1:1.1.14-1
ii  libxext6         2:1.3.2-1
ii  libxml2          2.9.1+dfsg1-3
ii  libxmu6          2:1.1.1-1
ii  libxt6           1:1.1.4-1
ii  python           2.7.5-5
ii  python2.7        2.7.6-8
ii  zlib1g           1:1.2.8.dfsg-1

Versions of packages virtualbox recommends:
ii  libgl1-mesa-glx [libgl1]  10.1.0-5
ii  libqt4-opengl             4:4.8.5+git242-g0315971+dfsg-2
ii  libqtcore4                4:4.8.5+git242-g0315971+dfsg-2
ii  libqtgui4                 4:4.8.5+git242-g0315971+dfsg-2
ii  virtualbox-dkms           4.3.10-dfsg-1
ii  virtualbox-qt             4.3.10-dfsg-1

Versions of packages virtualbox suggests:
pn  vde2                            <none>
ii  virtualbox-guest-additions-iso  4.3.10-1

-- Configuration Files:
/etc/default/virtualbox changed:
LOAD_VBOXDRV_MODULE=1
SHUTDOWN_USERS=""
SHUTDOWN=poweroff
VBOXAUTOSTART_DB=/etc/vbox
VBOXAUTOSTART_CONFIG=/etc/vbox/vboxauto.conf


-- no debconf information
*** /dev/null	2014-05-19 19:04:22.254997106 +0200
--- /etc/init.d/vboxautostart-service	2014-05-19 19:02:23.318049048 +0200
***************
*** 0 ****
--- 1,318 ----
+ #!/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
+ 
+     PARAMS="--stop --config $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

Reply via email to