#!/bin/bash # # Copyright (C) 2006-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. # # we can be called with the following arguments (6.5 of Debian policy): # install: (our version): install our version # upgrade: (our version): upgrade to our version # abort-upgrade: (old version): upgrade to a new version failed # defaults [ -r /etc/default/virtualbox ] && . /etc/default/virtualbox if [ "$1" = "install" -o "$1" = "upgrade" ]; then . /usr/share/debconf/confmodule db_version 2.0 db_capb backup # check for active VMs VBOXSVC_PID=`pidof VBoxSVC 2> /dev/null || true` if [ -n "$VBOXSVC_PID" ]; then if [ -f /etc/init.d/vboxballoonctrl-service ]; then # try graceful termination; terminate the ballon control service first if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then invoke-rc.d vboxballoonctrl-service stop || true else /etc/init.d/vboxballoonctrl-service stop || true fi fi if [ -f /etc/init.d/vboxweb-service ]; then # try graceful termination; terminate the webservice first if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then invoke-rc.d vboxweb-service stop || true else /etc/init.d/vboxweb-service stop || true fi fi kill -USR1 $VBOXSVC_PID sleep 1 if pidof VBoxSVC > /dev/null 2>&1; then db_fset virtualbox/old-running seen false || true db_input critical virtualbox/old-running || true db_go || true exit 1 fi fi # check for old installation if [ -r /etc/vbox/vbox.cfg ]; then . /etc/vbox/vbox.cfg if [ "x$INSTALL_DIR" != "x" -a -d "$INSTALL_DIR" ]; then db_fset virtualbox/old-installation-found seen false || true db_input critical virtualbox/old-installation-found || true db_go || true exit 1 fi # we will remove that file in postinst fi # check for old vboxdrv modules if [ "$INSTALL_NO_VBOXDRV" != "1" ]; then if find /lib/modules -name "vboxdrv\.*" 2>/dev/null|grep -q vboxdrv; then # old modules found db_get virtualbox/delete-old-modules || true if [ "$RET" = "false" ]; then cat << EOF Old vboxdrv kernel modules found in EOF find /lib/modules -name "vboxdrv\.*" 2>/dev/null|sed "s+\(.*\)+ \1+g" cat << EOF Removing of these modules denied by debconf setting EOF else db_input low virtualbox/delete-old-modules || true db_go || true db_get virtualbox/delete-old-modules || true if [ "$RET" = "true" ]; then find /lib/modules -name "vboxdrv\.*" 2>/dev/null|xargs rm -f 2>/dev/null find /lib/modules -name "vboxnetflt\.*" 2>/dev/null|xargs rm -f 2>/dev/null find /lib/modules -name "vboxnetadp\.*" 2>/dev/null|xargs rm -f 2>/dev/null fi fi fi fi fi # "$1" = "install" -o "$1" = "upgrade" #DEBHELPER#