postinstall.sh revision 0486df2e670fa5d25ca947fd92b19dd54229692d
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync#!/bin/sh
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync#
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync# VirtualBox postinstall script for Solaris.
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync#
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync# Copyright (C) 2008-2010 Oracle Corporation
e64031e20c39650a7bc902a3e1aba613b9415deevboxsync#
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync# This file is part of VirtualBox Open Source Edition (OSE), as
82bcaaf8077ba892f39afb721dca149353c63d2cvboxsync# available from http://www.virtualbox.org. This file is free software;
82bcaaf8077ba892f39afb721dca149353c63d2cvboxsync# you can redistribute it and/or modify it under the terms of the GNU
82bcaaf8077ba892f39afb721dca149353c63d2cvboxsync# General Public License (GPL) as published by the Free Software
82bcaaf8077ba892f39afb721dca149353c63d2cvboxsync# Foundation, in version 2 as it comes in the "COPYING" file of the
82bcaaf8077ba892f39afb721dca149353c63d2cvboxsync# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
82bcaaf8077ba892f39afb721dca149353c63d2cvboxsync# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
82bcaaf8077ba892f39afb721dca149353c63d2cvboxsync#
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync# The contents of this file may alternatively be used under the terms
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync# of the Common Development and Distribution License Version 1.0
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync# (CDDL) only, as it comes in the "COPYING.CDDL" file of the
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync# VirtualBox OSE distribution, in which case the provisions of the
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync# CDDL are applicable instead of those of the GPL.
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync#
43747b1f0bc8302a238fb35e55857a5e9aa1933dvboxsync# You may elect to license modified versions of this file under the
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync# terms and conditions of either the GPL or the CDDL or both.
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync#
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncLANG=C
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncexport LANG
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync# uncompress(directory, file)
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync# Updates package metadata and uncompresses the file.
f5e53763b0a581b0299e98028c6c52192eb06785vboxsyncuncompress_file()
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync{
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync if test -z "$1" || test -z "$2"; then
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync echo "missing argument to uncompress_file()"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync return 1
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync fi
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync # Remove compressed path from the pkg
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync /usr/sbin/removef $PKGINST "$1/$2.Z" 1>/dev/null
8112e0942f1128329b99b22a20b395963d4abceavboxsync
8112e0942f1128329b99b22a20b395963d4abceavboxsync # Add uncompressed path to the pkg
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync /usr/sbin/installf -c none $PKGINST "$1/$2" f
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync # Uncompress the file (removes compressed file when done)
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress -f "$1/$2.Z" > /dev/null 2>&1
874be5c5b701726b68fa1391022ae2f5c7768894vboxsync}
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncuncompress_files()
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync{
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync # VBox guest files
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "VBoxClient"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "VBoxService"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "VBoxControl"
8112e0942f1128329b99b22a20b395963d4abceavboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync # VBox Xorg Video drivers
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "vboxvideo_drv_13.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "vboxvideo_drv_14.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "vboxvideo_drv_15.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "vboxvideo_drv_16.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "vboxvideo_drv_17.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "vboxvideo_drv_18.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "vboxvideo_drv_19.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "vboxvideo_drv_110.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "vboxvideo_drv_70.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "vboxvideo_drv_71.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync # VBox Xorg Mouse drivers
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "vboxmouse_drv_13.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "vboxmouse_drv_14.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "vboxmouse_drv_15.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "vboxmouse_drv_16.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "vboxmouse_drv_17.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "vboxmouse_drv_18.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "vboxmouse_drv_19.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "vboxmouse_drv_110.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "vboxmouse_drv_70.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_file "$1" "vboxmouse_drv_71.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync}
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncsolaris64dir="amd64"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncsolaris32dir="i386"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncvboxadditions_path="$BASEDIR/opt/VirtualBoxAdditions"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncvboxadditions32_path=$vboxadditions_path/$solaris32dir
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncvboxadditions64_path=$vboxadditions_path/$solaris64dir
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync# get the current zone
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsynccurrentzone=`zonename`
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync# get what ISA the guest is running
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsynccputype=`isainfo -k`
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncif test "$cputype" = "amd64"; then
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync isadir=$solaris64dir
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncelse
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync isadir=""
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncfi
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncvboxadditionsisa_path=$vboxadditions_path/$isadir
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync# uncompress if necessary
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncif test -f "$vboxadditions32_path/VBoxClient.Z" || test -f "$vboxadditions64_path/VBoxClient.Z"; then
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync echo "Uncompressing files..."
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync if test -f "$vboxadditions32_path/VBoxClient.Z"; then
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_files "$vboxadditions32_path"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync fi
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync if test -f "$vboxadditions64_path/VBoxClient.Z"; then
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync uncompress_files "$vboxadditions64_path"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync fi
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncfi
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncif test "$currentzone" = "global"; then
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync # vboxguest.sh would've been installed, we just need to call it.
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync echo "Configuring VirtualBox guest kernel module..."
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync $vboxadditions_path/vboxguest.sh restartall silentunload
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync sed -e '/name=vboxguest/d' /etc/devlink.tab > /etc/devlink.vbox
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync echo "type=ddi_pseudo;name=vboxguest \D" >> /etc/devlink.vbox
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync mv -f /etc/devlink.vbox /etc/devlink.tab
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync # create the device link
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync /usr/sbin/devfsadm -i vboxguest
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncfi
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync# check if X.Org exists (snv_130 and higher have /usr/X11/* as /usr/*)
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncif test -f "/usr/bin/Xorg"; then
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync xorgbin="/usr/bin/Xorg"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncelif test -f "/usr/X11/bin/Xorg"; then
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync xorgbin="/usr/X11/bin/Xorg"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncelse
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync xorgbin=""
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync retval=0
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncfi
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync# create links
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncecho "Creating links..."
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncif test "$currentzone" = "global"; then
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync /usr/sbin/installf -c none $PKGINST /dev/vboxguest=../devices/pci@0,0/pci80ee,cafe@4:vboxguest s
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncfi
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync# Install Xorg components to the required places
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncif test ! -z "$xorgbin"; then
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync xorgversion_long=`$xorgbin -version 2>&1 | grep "X Window System Version"`
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync xorgversion=`/usr/bin/expr "${xorgversion_long}" : 'X Window System Version \([^ ]*\)'`
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync if test -z "$xorgversion_long"; then
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync xorgversion_long=`$xorgbin -version 2>&1 | grep "X.Org X Server"`
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync xorgversion=`/usr/bin/expr "${xorgversion_long}" : 'X.Org X Server \([^ ]*\)'`
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync fi
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxmouse_src=""
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxvideo_src=""
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
8112e0942f1128329b99b22a20b395963d4abceavboxsync case "$xorgversion" in
8112e0942f1128329b99b22a20b395963d4abceavboxsync 1.3.* )
8112e0942f1128329b99b22a20b395963d4abceavboxsync vboxmouse_src="vboxmouse_drv_71.so"
6cd65034f702d9b4122249011835e9639a7bc660vboxsync vboxvideo_src="vboxvideo_drv_13.so"
6cd65034f702d9b4122249011835e9639a7bc660vboxsync ;;
6cd65034f702d9b4122249011835e9639a7bc660vboxsync 1.4.* )
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxmouse_src="vboxmouse_drv_14.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxvideo_src="vboxvideo_drv_14.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync ;;
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync 1.5.99 | 1.6.* )
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxmouse_src="vboxmouse_drv_16.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxvideo_src="vboxvideo_drv_16.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync ;;
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync 1.5.* )
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxmouse_src="vboxmouse_drv_15.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxvideo_src="vboxvideo_drv_15.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync ;;
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync 1.7.*)
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxmouse_src="vboxmouse_drv_17.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxvideo_src="vboxvideo_drv_17.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync ;;
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync 1.8.*)
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxmouse_src="vboxmouse_drv_18.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxvideo_src="vboxvideo_drv_18.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync ;;
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync 1.9.*)
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxmouse_src="vboxmouse_drv_19.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxvideo_src="vboxvideo_drv_19.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync ;;
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync 1.10.*)
8112e0942f1128329b99b22a20b395963d4abceavboxsync vboxmouse_src="vboxmouse_drv_110.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxvideo_src="vboxvideo_drv_110.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync ;;
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync 7.1.* | *7.2.* )
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxmouse_src="vboxmouse_drv_71.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxvideo_src="vboxvideo_drv_71.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync ;;
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync 6.9.* | 7.0.* )
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxmouse_src="vboxmouse_drv_70.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxvideo_src="vboxvideo_drv_70.so"
8112e0942f1128329b99b22a20b395963d4abceavboxsync ;;
8112e0942f1128329b99b22a20b395963d4abceavboxsync esac
8112e0942f1128329b99b22a20b395963d4abceavboxsync
8112e0942f1128329b99b22a20b395963d4abceavboxsync retval=0
8112e0942f1128329b99b22a20b395963d4abceavboxsync if test -z "$vboxmouse_src"; then
8112e0942f1128329b99b22a20b395963d4abceavboxsync echo "*** Unknown version of the X Window System installed."
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync echo "*** Failed to install the VirtualBox X Window System drivers."
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync
8112e0942f1128329b99b22a20b395963d4abceavboxsync # Exit as partially failed installation
8112e0942f1128329b99b22a20b395963d4abceavboxsync retval=2
8112e0942f1128329b99b22a20b395963d4abceavboxsync else
8112e0942f1128329b99b22a20b395963d4abceavboxsync echo "Installing mouse and video drivers for X.Org $xorgversion..."
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync # Determine destination paths (snv_130 and above use "/usr/lib/xorg", older use "/usr/X11/lib"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxmouse32_dest_base="/usr/lib/xorg/modules/input"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync if test ! -d $vboxmouse32_dest_base; then
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxmouse32_dest_base="/usr/X11/lib/modules/input"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync fi
8112e0942f1128329b99b22a20b395963d4abceavboxsync vboxvideo32_dest_base="/usr/lib/xorg/modules/drivers"
8112e0942f1128329b99b22a20b395963d4abceavboxsync if test ! -d $vboxvideo32_dest_base; then
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxvideo32_dest_base="/usr/X11/lib/modules/drivers"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync fi
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxmouse64_dest_base=$vboxmouse32_dest_base/$solaris64dir
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxvideo64_dest_base=$vboxvideo32_dest_base/$solaris64dir
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync # snv_163 drops 32-bit support completely, and uses 32-bit locations for the 64-bit stuff. Ugly.
8112e0942f1128329b99b22a20b395963d4abceavboxsync # We try to detect this by looking at bitness of "mouse_drv.so", and adjust our destination paths accordingly.
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync # We do not rely on using Xorg -version's ABI output because some builds (snv_162 iirc) have 64-bit ABI with
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync # 32-bit file locations.
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync if test -f "$vboxmouse32_dest_base/mouse_drv.so"; then
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync bitsize=`file "$vboxmouse32_dest_base/mouse_drv.so" | grep -i "32-bit"`
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync skip32="no"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync else
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync echo "* Warning mouse_drv.so missing. Assuming Xorg ABI is 64-bit..."
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync fi
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync if test -z "$bitsize"; then
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync skip32="yes"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxmouse64_dest_base=$vboxmouse32_dest_base
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxvideo64_dest_base=$vboxvideo32_dest_base
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync fi
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync # Make sure destination path exists
8112e0942f1128329b99b22a20b395963d4abceavboxsync if test ! -d $vboxmouse32_dest_base || test ! -d $vboxvideo32_dest_base || test ! -d $vboxmouse64_dest_base || test ! -d $vboxvideo64_dest_base; then
8112e0942f1128329b99b22a20b395963d4abceavboxsync echo "*** Missing destination paths for mouse or video modules. Aborting."
8112e0942f1128329b99b22a20b395963d4abceavboxsync echo "*** Failed to install the VirtualBox X Window System drivers."
8112e0942f1128329b99b22a20b395963d4abceavboxsync
8112e0942f1128329b99b22a20b395963d4abceavboxsync # Exit as partially failed installation
8112e0942f1128329b99b22a20b395963d4abceavboxsync retval=2
8112e0942f1128329b99b22a20b395963d4abceavboxsync else
8112e0942f1128329b99b22a20b395963d4abceavboxsync # 32-bit x11 drivers
8112e0942f1128329b99b22a20b395963d4abceavboxsync if test "$skip32" = "no" && test -f "$vboxadditions32_path/$vboxmouse_src"; then
8112e0942f1128329b99b22a20b395963d4abceavboxsync vboxmouse_dest="$vboxmouse32_dest_base/vboxmouse_drv.so"
8112e0942f1128329b99b22a20b395963d4abceavboxsync vboxvideo_dest="$vboxvideo32_dest_base/vboxvideo_drv.so"
8112e0942f1128329b99b22a20b395963d4abceavboxsync /usr/sbin/installf -c none $PKGINST "$vboxmouse_dest" f
8112e0942f1128329b99b22a20b395963d4abceavboxsync /usr/sbin/installf -c none $PKGINST "$vboxvideo_dest" f
8112e0942f1128329b99b22a20b395963d4abceavboxsync cp "$vboxadditions32_path/$vboxmouse_src" "$vboxmouse_dest"
8112e0942f1128329b99b22a20b395963d4abceavboxsync cp "$vboxadditions32_path/$vboxvideo_src" "$vboxvideo_dest"
8112e0942f1128329b99b22a20b395963d4abceavboxsync
8112e0942f1128329b99b22a20b395963d4abceavboxsync # Removing redundant names from pkg and files from disk
8112e0942f1128329b99b22a20b395963d4abceavboxsync /usr/sbin/removef $PKGINST $vboxadditions32_path/vboxmouse_drv_* 1>/dev/null
8112e0942f1128329b99b22a20b395963d4abceavboxsync /usr/sbin/removef $PKGINST $vboxadditions32_path/vboxvideo_drv_* 1>/dev/null
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync rm -f $vboxadditions32_path/vboxmouse_drv_*
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync rm -f $vboxadditions32_path/vboxvideo_drv_*
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync fi
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync # 64-bit x11 drivers
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync if test -f "$vboxadditions64_path/$vboxmouse_src"; then
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxmouse_dest="$vboxmouse64_dest_base/vboxmouse_drv.so"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync vboxvideo_dest="$vboxvideo64_dest_base/vboxvideo_drv.so"
500d759609a43a472c7a29b58f3479ed319a5a76vboxsync /usr/sbin/installf -c none $PKGINST "$vboxmouse_dest" f
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync /usr/sbin/installf -c none $PKGINST "$vboxvideo_dest" f
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync cp "$vboxadditions64_path/$vboxmouse_src" "$vboxmouse_dest"
500d759609a43a472c7a29b58f3479ed319a5a76vboxsync cp "$vboxadditions64_path/$vboxvideo_src" "$vboxvideo_dest"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync # Removing redundant names from pkg and files from disk
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync /usr/sbin/removef $PKGINST $vboxadditions64_path/vboxmouse_drv_* 1>/dev/null
500d759609a43a472c7a29b58f3479ed319a5a76vboxsync /usr/sbin/removef $PKGINST $vboxadditions64_path/vboxvideo_drv_* 1>/dev/null
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync rm -f $vboxadditions64_path/vboxmouse_drv_*
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync rm -f $vboxadditions64_path/vboxvideo_drv_*
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync fi
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync # Some distros like Indiana have no xorg.conf, deal with this
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync if test ! -f '/etc/X11/xorg.conf' && test ! -f '/etc/X11/.xorg.conf'; then
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync # Xorg 1.3.x+ should use the modeline less Xorg confs while older should
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync # use ones with all the video modelines in place. Argh.
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync xorgconf_file="solaris_xorg_modeless.conf"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync xorgconf_unfit="solaris_xorg.conf"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync case "$xorgversion" in
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync 7.1.* | 7.2.* | 6.9.* | 7.0.* )
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync xorgconf_file="solaris_xorg.conf"
8112e0942f1128329b99b22a20b395963d4abceavboxsync xorgconf_unfit="solaris_xorg_modeless.conf"
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync ;;
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync esac
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync /usr/sbin/removef $PKGINST $vboxadditions_path/$xorgconf_file 1>/dev/null
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync mv -f $vboxadditions_path/$xorgconf_file /etc/X11/.xorg.conf
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync
8112e0942f1128329b99b22a20b395963d4abceavboxsync /usr/sbin/removef $PKGINST $vboxadditions_path/$xorgconf_unfit 1>/dev/null
8112e0942f1128329b99b22a20b395963d4abceavboxsync rm -f $vboxadditions_path/$xorgconf_unfit
8112e0942f1128329b99b22a20b395963d4abceavboxsync fi
8112e0942f1128329b99b22a20b395963d4abceavboxsync case "$xorgversion" in
8112e0942f1128329b99b22a20b395963d4abceavboxsync 7.1.* | 7.2.* | 6.9.* | 7.0.* | 1.3.* )
8112e0942f1128329b99b22a20b395963d4abceavboxsync $vboxadditions_path/x11config.pl
8112e0942f1128329b99b22a20b395963d4abceavboxsync ;;
8112e0942f1128329b99b22a20b395963d4abceavboxsync 1.4.* | 1.5.* | 1.6.* | 1.7.* | 1.8.* | 1.9.* | 1.10.*)
8112e0942f1128329b99b22a20b395963d4abceavboxsync $vboxadditions_path/x11config15sol.pl
500d759609a43a472c7a29b58f3479ed319a5a76vboxsync ;;
8112e0942f1128329b99b22a20b395963d4abceavboxsync esac
8112e0942f1128329b99b22a20b395963d4abceavboxsync fi
500d759609a43a472c7a29b58f3479ed319a5a76vboxsync fi
8112e0942f1128329b99b22a20b395963d4abceavboxsync
8112e0942f1128329b99b22a20b395963d4abceavboxsync
8112e0942f1128329b99b22a20b395963d4abceavboxsync # Setup our VBoxClient
500d759609a43a472c7a29b58f3479ed319a5a76vboxsync echo "Configuring client..."
8112e0942f1128329b99b22a20b395963d4abceavboxsync vboxclient_src=$vboxadditions_path
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync vboxclient_dest="/usr/share/gnome/autostart"
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync clientinstalled=0
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync if test -d "$vboxclient_dest"; then
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync /usr/sbin/installf -c none $PKGINST $vboxclient_dest/vboxclient.desktop=$vboxadditions_path/vboxclient.desktop s
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync clientinstalled=1
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync fi
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync vboxclient_dest="/usr/dt/config/Xsession.d"
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync if test -d "$vboxclient_dest"; then
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync /usr/sbin/installf -c none $PKGINST $vboxclient_dest/1099.vboxclient=$vboxadditions_path/1099.vboxclient s
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync clientinstalled=1
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync fi
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync # Try other autostart locations if none of the above ones work
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync if test $clientinstalled -eq 0; then
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync vboxclient_dest="/etc/xdg/autostart"
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync if test -d "$vboxclient_dest"; then
0e3950d85821ff3f0f9191f7bf0efe7b3510a808vboxsync /usr/sbin/installf -c none $PKGINST $vboxclient_dest/1099.vboxclient=$vboxadditions_path/1099.vboxclient s
8112e0942f1128329b99b22a20b395963d4abceavboxsync clientinstalled=1
8112e0942f1128329b99b22a20b395963d4abceavboxsync else
8112e0942f1128329b99b22a20b395963d4abceavboxsync echo "*** Failed to configure client, couldn't find any autostart directory!"
8112e0942f1128329b99b22a20b395963d4abceavboxsync # Exit as partially failed installation
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync retval=2
8112e0942f1128329b99b22a20b395963d4abceavboxsync fi
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync fi
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncelse
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync echo "(*) X.Org not found, skipped configuring X.Org guest additions."
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncfi
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync# Shared Folder kernel module (different for S10 & Nevada)
8112e0942f1128329b99b22a20b395963d4abceavboxsyncosverstr=`uname -r`
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncvboxfsmod="vboxfs"
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncvboxfsunused="vboxfs_s10"
8112e0942f1128329b99b22a20b395963d4abceavboxsyncif test "$osverstr" = "5.10"; then
8112e0942f1128329b99b22a20b395963d4abceavboxsync vboxfsmod="vboxfs_s10"
8112e0942f1128329b99b22a20b395963d4abceavboxsync vboxfsunused="vboxfs"
8112e0942f1128329b99b22a20b395963d4abceavboxsyncfi
8112e0942f1128329b99b22a20b395963d4abceavboxsync
8112e0942f1128329b99b22a20b395963d4abceavboxsync# Move the appropriate module to kernel/fs & remove the unused module name from pkg and file from disk
8112e0942f1128329b99b22a20b395963d4abceavboxsync# 64-bit shared folder module
8112e0942f1128329b99b22a20b395963d4abceavboxsyncif test -f "$vboxadditions64_path/$vboxfsmod"; then
8112e0942f1128329b99b22a20b395963d4abceavboxsync echo "Installing 64-bit shared folders module..."
8112e0942f1128329b99b22a20b395963d4abceavboxsync /usr/sbin/installf -c none $PKGINST "/usr/kernel/fs/$solaris64dir/vboxfs" f
8112e0942f1128329b99b22a20b395963d4abceavboxsync mv -f $vboxadditions64_path/$vboxfsmod /usr/kernel/fs/$solaris64dir/vboxfs
8112e0942f1128329b99b22a20b395963d4abceavboxsync /usr/sbin/removef $PKGINST $vboxadditions64_path/$vboxfsmod 1>/dev/null
8112e0942f1128329b99b22a20b395963d4abceavboxsync /usr/sbin/removef $PKGINST $vboxadditions64_path/$vboxfsunused 1>/dev/null
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync rm -f $vboxadditions64_path/$vboxfsunused
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncfi
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync# 32-bit shared folder module
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncif test -f "$vboxadditions32_path/$vboxfsmod"; then
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync echo "Installing 32-bit shared folders module..."
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync /usr/sbin/installf -c none $PKGINST "/usr/kernel/fs/vboxfs" f
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync mv -f $vboxadditions32_path/$vboxfsmod /usr/kernel/fs/vboxfs
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync /usr/sbin/removef $PKGINST $vboxadditions32_path/$vboxfsmod 1>/dev/null
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync /usr/sbin/removef $PKGINST $vboxadditions32_path/$vboxfsunused 1>/dev/null
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync rm -f $vboxadditions32_path/$vboxfsunused
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncfi
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
8112e0942f1128329b99b22a20b395963d4abceavboxsync# Add a group "vboxsf" for Shared Folders access
8112e0942f1128329b99b22a20b395963d4abceavboxsync# All users which want to access the auto-mounted Shared Folders have to
8112e0942f1128329b99b22a20b395963d4abceavboxsync# be added to this group.
8112e0942f1128329b99b22a20b395963d4abceavboxsyncgroupadd vboxsf >/dev/null 2>&1
8112e0942f1128329b99b22a20b395963d4abceavboxsync
8112e0942f1128329b99b22a20b395963d4abceavboxsync# install openGL extensions for X.Org
8112e0942f1128329b99b22a20b395963d4abceavboxsyncif test ! -z "$xorgbin"; then
8112e0942f1128329b99b22a20b395963d4abceavboxsync # 32-bit crogl opengl library replacement
8112e0942f1128329b99b22a20b395963d4abceavboxsync if test -f "/usr/lib/VBoxOGL.so"; then
8112e0942f1128329b99b22a20b395963d4abceavboxsync cp -f /usr/X11/lib/mesa/libGL.so.1 /usr/X11/lib/mesa/libGL_original_.so.1
8112e0942f1128329b99b22a20b395963d4abceavboxsync ln -sf /usr/lib/VBoxOGL.so /usr/X11/lib/mesa/libGL.so.1
8112e0942f1128329b99b22a20b395963d4abceavboxsync fi
8112e0942f1128329b99b22a20b395963d4abceavboxsync
8112e0942f1128329b99b22a20b395963d4abceavboxsync # 64-bit crogl opengl library replacement
1a1433dbc5e55f83cbcde6aa9f045c2dc7eeb9e7vboxsync if test -f "/usr/lib/amd64/VBoxOGL.so"; then
1a1433dbc5e55f83cbcde6aa9f045c2dc7eeb9e7vboxsync cp -f /usr/X11/lib/mesa/amd64/libGL.so.1 /usr/X11/lib/mesa/amd64/libGL_original_.so.1
8112e0942f1128329b99b22a20b395963d4abceavboxsync ln -sf /usr/lib/amd64/VBoxOGL.so /usr/X11/lib/mesa/amd64/libGL.so.1
8112e0942f1128329b99b22a20b395963d4abceavboxsync fi
8112e0942f1128329b99b22a20b395963d4abceavboxsyncfi
8112e0942f1128329b99b22a20b395963d4abceavboxsync
8112e0942f1128329b99b22a20b395963d4abceavboxsync# Finalize
8112e0942f1128329b99b22a20b395963d4abceavboxsync/usr/sbin/removef -f $PKGINST
8112e0942f1128329b99b22a20b395963d4abceavboxsync/usr/sbin/installf -f $PKGINST
8112e0942f1128329b99b22a20b395963d4abceavboxsync
8112e0942f1128329b99b22a20b395963d4abceavboxsync
8112e0942f1128329b99b22a20b395963d4abceavboxsyncif test "$currentzone" = "global"; then
8112e0942f1128329b99b22a20b395963d4abceavboxsync # Setup our VBoxService SMF service
8112e0942f1128329b99b22a20b395963d4abceavboxsync echo "Configuring service..."
8112e0942f1128329b99b22a20b395963d4abceavboxsync
8112e0942f1128329b99b22a20b395963d4abceavboxsync /usr/sbin/svccfg import /var/svc/manifest/system/virtualbox/vboxservice.xml
8112e0942f1128329b99b22a20b395963d4abceavboxsync /usr/sbin/svcadm enable svc:/system/virtualbox/vboxservice
8112e0942f1128329b99b22a20b395963d4abceavboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync /usr/sbin/devfsadm -i vboxguest
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync
8112e0942f1128329b99b22a20b395963d4abceavboxsync # Update boot archive
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync BOOTADMBIN=/sbin/bootadm
8112e0942f1128329b99b22a20b395963d4abceavboxsync if test -x "$BOOTADMBIN"; then
8112e0942f1128329b99b22a20b395963d4abceavboxsync if test -h "/dev/vboxguest"; then
8112e0942f1128329b99b22a20b395963d4abceavboxsync echo "Updating boot archive..."
8112e0942f1128329b99b22a20b395963d4abceavboxsync $BOOTADMBIN update-archive > /dev/null
8112e0942f1128329b99b22a20b395963d4abceavboxsync else
8112e0942f1128329b99b22a20b395963d4abceavboxsync echo "## Guest kernel module doesn't seem to be up. Skipped explicit boot-archive update."
8112e0942f1128329b99b22a20b395963d4abceavboxsync fi
8112e0942f1128329b99b22a20b395963d4abceavboxsync else
8112e0942f1128329b99b22a20b395963d4abceavboxsync echo "## $BOOTADMBIN not found/executable. Skipped explicit boot-archive update."
8112e0942f1128329b99b22a20b395963d4abceavboxsync fi
874be5c5b701726b68fa1391022ae2f5c7768894vboxsyncfi
874be5c5b701726b68fa1391022ae2f5c7768894vboxsync
874be5c5b701726b68fa1391022ae2f5c7768894vboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncecho "Done."
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncif test $retval -eq 0; then
8112e0942f1128329b99b22a20b395963d4abceavboxsync if test ! -z "$xorgbin"; then
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync echo "Please re-login to activate the X11 guest additions."
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync fi
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync echo "If you have just un-installed the previous guest additions a REBOOT is required."
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncfi
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsyncexit $retval
8112e0942f1128329b99b22a20b395963d4abceavboxsync
ae0f2178b9a5aded928e0245cb830ba1d3d04c57vboxsync