X-Git-Url: http://git.pld-linux.org/?p=packages%2FVirtualBox.git;a=blobdiff_plain;f=vboxautostart.init;h=f9ce4cb02a2f4e207579fc333d451dc913858ec5;hp=fb1142f3ebfa3fa4829b1a2c665c1995ac64b05e;hb=HEAD;hpb=c920e7dbcee156bc6732e87c2d4c29a1157aa8ed diff --git a/vboxautostart.init b/vboxautostart.init index fb1142f..f9ce4cb 100755 --- a/vboxautostart.init +++ b/vboxautostart.init @@ -11,12 +11,17 @@ # Source function library . /etc/rc.d/init.d/functions +VBOXAUTOSTART_DB=/etc/vbox/autostart +VBOXAUTOSTART_CONFIG=/etc/vbox/autostart.cfg +VBOXAUTOSTART=@INSTALL_DIR@/VBoxAutostart + # Get service config - may override defaults [ -f /etc/sysconfig/virtualbox ] && . /etc/sysconfig/virtualbox start_daemon() { local user="$1" shift + show "VMs for user '%s'" "$user" daemon --user $user "$@" } @@ -27,20 +32,21 @@ start() { return fi - [ -z "$VBOXAUTOSTART_DB" ] && exit 0 - [ -z "$VBOXAUTOSTART_CONFIG" ] && exit 0 + [ -z "$VBOXAUTOSTART_DB" ] && exit 0 + [ -z "$VBOXAUTOSTART_CONFIG" ] && exit 0 - msg_starting "Starting VirtualBox VMs configured for autostart" + msg_starting "VirtualBox VMs configured for autostart"; busy; echo - local user PARAMS="--background --start --config $VBOXAUTOSTART_CONFIG" + local file user PARAMS="--background --start --config $VBOXAUTOSTART_CONFIG" - # prevent inheriting this setting to VBoxSVC - unset VBOX_RELEASE_LOG_DEST + # prevent inheriting this setting to VBoxSVC + unset VBOX_RELEASE_LOG_DEST - for user in `ls $VBOXAUTOSTART_DB/*.start 2>/dev/null`; do - user=$(basename $user | sed -ne "s/\(.*\).start/\1/p") - start_daemon $user $binary $PARAMS - done + for file in $VBOXAUTOSTART_DB/*.start; do + test -f "$file" || continue + user=${file##*/}; user=${user%.start} + start_daemon $user $VBOXAUTOSTART $PARAMS + done [ $RETVAL -eq 0 ] && touch /var/lock/subsys/vboxautostart } @@ -51,21 +57,22 @@ stop() { return fi - [ -z "$VBOXAUTOSTART_DB" ] && exit 0 - [ -z "$VBOXAUTOSTART_CONFIG" ] && exit 0 + [ -z "$VBOXAUTOSTART_DB" ] && exit 0 + [ -z "$VBOXAUTOSTART_CONFIG" ] && exit 0 # Stop daemons. - msg_stopping "VirtualBox Autostart" + msg_stopping "VirtualBox Autostart"; busy; echo - local user PARAMS="--stop --config $VBOXAUTOSTART_CONFIG" + local file user PARAMS="--stop --config $VBOXAUTOSTART_CONFIG" - # prevent inheriting this setting to VBoxSVC - unset VBOX_RELEASE_LOG_DEST + # prevent inheriting this setting to VBoxSVC + unset VBOX_RELEASE_LOG_DEST - for user in `ls $VBOXAUTOSTART_DB/*.stop 2>/dev/null`; do - user=$(basename $user | sed -ne "s/\(.*\).stop/\1/p") - start_daemon $user $binary $PARAMS - done + for file in $VBOXAUTOSTART_DB/*.stop; do + test -f "$file" || continue + user=${file##*/}; user=${user%.stop} + start_daemon $user $VBOXAUTOSTART $PARAMS + done rm -f /var/lock/subsys/vboxautostart }