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