preremove.sh revision 725ace23cdb8749e16adc3330c357e626b29ac63
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync#!/bin/sh
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync# Sun VirtualBox
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync# VirtualBox pre-remove script for Solaris Guest Additions.
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync#
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync# Copyright (C) 2008-2009 Sun Microsystems, Inc.
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync#
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync# available from http://www.virtualbox.org. This file is free software;
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync# you can redistribute it and/or modify it under the terms of the GNU
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync# General Public License (GPL) as published by the Free Software
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync#
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync# Clara, CA 95054 USA or visit http://www.sun.com if you need
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync# additional information or have any questions.
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync#
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsyncecho "Sun VirtualBox Guest Additions - preremove script"
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsyncecho "This script will unload the VirtualBox Guest kernel module..."
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync# stop and unregister VBoxService daemon
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync/usr/sbin/svcadm disable -s svc:/system/virtualbox/vboxservice:default
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync/usr/sbin/svccfg delete svc:/system/virtualbox/vboxservice:default
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync# stop VBoxClient
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsyncpkill -INT VBoxClient
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync# vboxguest.sh would've been installed, we just need to call it.
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync/opt/VirtualBoxAdditions/vboxguest.sh stopall
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync# remove devlink.tab entry for vboxguest
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsyncsed -e '
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync/name=vboxguest/d' /etc/devlink.tab > /etc/devlink.vbox
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsyncmv -f /etc/devlink.vbox /etc/devlink.tab
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync# remove the link
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsyncif test -h "/dev/vboxguest" || test -f "/dev/vboxguest"; then
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync rm -f /dev/vboxdrv
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsyncfi
02c33b191e5c82efdf0c0480ab7b28bab697feefvboxsync
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync# Try and restore xorg.conf!
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsyncecho "Restoring Xorg..."
02c33b191e5c82efdf0c0480ab7b28bab697feefvboxsync/opt/VirtualBoxAdditions/x11restore.pl
02c33b191e5c82efdf0c0480ab7b28bab697feefvboxsync
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync# Restore crogl symlink mess
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync# 32-bit crogl opengl library replacement
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsyncif test -f "/usr/lib/VBoxOGL.so" && test -f "/usr/X11/lib/mesa/libGL_original_.so.1"; then
4d6b317d67ba577744e53cdfa0c7472d4223db5avboxsync cp -f /usr/X11/lib/mesa/libGL_original_.so.1 /usr/X11/lib/mesa/libGL.so.1
fi
# 64-bit crogl opengl library replacement
if test -f "/usr/lib/amd64/VBoxOGL.so" && test -f "/usr/X11/lib/mesa/amd64/libGL_original_.so.1"; then
cp -f /usr/X11/lib/mesa/amd64/libGL_original_.so.1 /usr/X11/lib/mesa/amd64/libGL.so.1
fi
echo "Done."