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