summaryrefslogtreecommitdiff
path: root/src/VBox/Additions/solaris/Installer
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2014-03-26 19:21:20 +0000
committer <>2014-05-08 15:03:54 +0000
commitfb123f93f9f5ce42c8e5785d2f8e0edaf951740e (patch)
treec2103d76aec5f1f10892cd1d3a38e24f665ae5db /src/VBox/Additions/solaris/Installer
parent58ed4748338f9466599adfc8a9171280ed99e23f (diff)
downloadVirtualBox-master.tar.gz
Imported from /home/lorry/working-area/delta_VirtualBox/VirtualBox-4.3.10.tar.bz2.HEADVirtualBox-4.3.10master
Diffstat (limited to 'src/VBox/Additions/solaris/Installer')
-rwxr-xr-xsrc/VBox/Additions/solaris/Installer/makepackage.sh2
-rwxr-xr-xsrc/VBox/Additions/solaris/Installer/postinstall.sh81
-rwxr-xr-xsrc/VBox/Additions/solaris/Installer/preremove.sh7
-rwxr-xr-xsrc/VBox/Additions/solaris/Installer/vboxguest.sh2
-rw-r--r--src/VBox/Additions/solaris/Installer/vboxservice.xml2
5 files changed, 34 insertions, 60 deletions
diff --git a/src/VBox/Additions/solaris/Installer/makepackage.sh b/src/VBox/Additions/solaris/Installer/makepackage.sh
index 4080e644..0fe9aeb0 100755
--- a/src/VBox/Additions/solaris/Installer/makepackage.sh
+++ b/src/VBox/Additions/solaris/Installer/makepackage.sh
@@ -2,7 +2,7 @@
#
# VirtualBox Solaris Guest Additions package creation script.
#
-# Copyright (C) 2008-2010 Oracle Corporation
+# Copyright (C) 2008-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;
diff --git a/src/VBox/Additions/solaris/Installer/postinstall.sh b/src/VBox/Additions/solaris/Installer/postinstall.sh
index 85049175..9ddd152e 100755
--- a/src/VBox/Additions/solaris/Installer/postinstall.sh
+++ b/src/VBox/Additions/solaris/Installer/postinstall.sh
@@ -1,8 +1,11 @@
#!/bin/sh
+# $Id: postinstall.sh $
+## @file
+# VirtualBox postinstall script for Solaris Guest Additions.
#
-# VirtualBox postinstall script for Solaris.
+
#
-# Copyright (C) 2008-2010 Oracle Corporation
+# Copyright (C) 2008-2013 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
@@ -48,26 +51,12 @@ uncompress_file()
uncompress -f "$1/$2.Z" > /dev/null 2>&1
}
+# uncompress_files(directory_with_*.Z_files)
uncompress_files()
{
- # VBox guest files
- uncompress_file "$1" "VBoxClient"
- uncompress_file "$1" "VBoxService"
- uncompress_file "$1" "VBoxControl"
-
- # VBox Xorg Video drivers
- uncompress_file "$1" "vboxvideo_drv_13.so"
- uncompress_file "$1" "vboxvideo_drv_14.so"
- uncompress_file "$1" "vboxvideo_drv_15.so"
- uncompress_file "$1" "vboxvideo_drv_16.so"
- uncompress_file "$1" "vboxvideo_drv_17.so"
- uncompress_file "$1" "vboxvideo_drv_18.so"
- uncompress_file "$1" "vboxvideo_drv_19.so"
- uncompress_file "$1" "vboxvideo_drv_110.so"
- uncompress_file "$1" "vboxvideo_drv_111.so"
- uncompress_file "$1" "vboxvideo_drv_112.so"
- uncompress_file "$1" "vboxvideo_drv_70.so"
- uncompress_file "$1" "vboxvideo_drv_71.so"
+ for i in "${1}/"*.Z; do
+ uncompress_file "${1}" "`basename \"${i}\" .Z`"
+ done
}
solaris64dir="amd64"
@@ -143,43 +132,20 @@ if test ! -z "$xorgbin"; then
xorgversion=`/usr/bin/expr "${xorgversion_long}" : 'X.Org X Server \([^ ]*\)'`
fi
- vboxvideo_src=""
+ # "X.Y.Z" - strip off all numerics after the 2nd '.' character, e.g. "1.11.3" -> "1.11"
+ # Then the next sed, strips of all '.' characters, "1.11" -> "111".
+ fileversion=`echo $xorgversion | sed "s/\.[0-9]*//2" | sed "s/\.//"`
+ vboxvideo_src="vboxvideo_drv_$fileversion.so"
+ # Handle exceptions now where the X.org version does not exactly match the file-version.
case "$xorgversion" in
- 1.3.* )
- vboxvideo_src="vboxvideo_drv_13.so"
- ;;
- 1.4.* )
- vboxvideo_src="vboxvideo_drv_14.so"
- ;;
- 1.5.99 | 1.6.* )
+ 1.5.99 )
vboxvideo_src="vboxvideo_drv_16.so"
;;
- 1.5.* )
- vboxvideo_src="vboxvideo_drv_15.so"
- ;;
- 1.7.*)
- vboxvideo_src="vboxvideo_drv_17.so"
- ;;
- 1.8.*)
- vboxvideo_src="vboxvideo_drv_18.so"
- ;;
- 1.9.*)
- vboxvideo_src="vboxvideo_drv_19.so"
- ;;
- 1.10.*)
- vboxvideo_src="vboxvideo_drv_110.so"
- ;;
- 1.11.*)
- vboxvideo_src="vboxvideo_drv_111.so"
- ;;
- 1.12.*)
- vboxvideo_src="vboxvideo_drv_112.so"
- ;;
- 7.1.* | *7.2.* )
+ 7.2.* )
vboxvideo_src="vboxvideo_drv_71.so"
;;
- 6.9.* | 7.0.* )
+ 6.9.* )
vboxvideo_src="vboxvideo_drv_70.so"
;;
esac
@@ -191,6 +157,12 @@ if test ! -z "$xorgbin"; then
# Exit as partially failed installation
retval=2
+ elif test ! -f "$vboxadditions32_path/$vboxvideo_src" && test ! -f "$vboxadditions64_path/$vboxvideo_src"; then
+ echo "*** $vboxadditions32_path/$vboxvideo_src or $vboxadditions64_path/$vboxvideo_src not found!"
+ echo "*** Failed to install the VirtualBox X.org drivers."
+
+ # Exit as partially failed installation
+ retval=2
else
echo "Installing video driver for X.Org $xorgversion..."
@@ -378,9 +350,8 @@ if test "$currentzone" = "global"; then
# take a while to complete, using disable/enable -s doesn't work either. So we restart it, and poll in
# 1 second intervals to see if our service has been successfully imported and timeout after 'cmax' seconds.
/usr/sbin/svcadm restart svc:system/manifest-import:default
- ## @todo why do we redirect to /dev/null and then save the output?
- is_import=`/usr/bin/svcs virtualbox/vboxservice >/dev/null 2>&1 && /usr/bin/svcs virtualbox/vboxmslnk >/dev/null 2>&1`
- while test $? -ne 0;
+ /usr/bin/svcs virtualbox/vboxservice virtualbox/vboxmslnk >/dev/null 2>&1
+ while test "$?" -ne 0;
do
sleep 1
cslept=`expr $cslept + 1`
@@ -388,7 +359,7 @@ if test "$currentzone" = "global"; then
success=1
break
fi
- is_import=`/usr/bin/svcs virtualbox/vboxservice >/dev/null 2>&1 && /usr/bin/svcs virtualbox/vboxmslnk >/dev/null 2>&1`
+ /usr/bin/svcs virtualbox/vboxservice virtualbox/vboxmslnk >/dev/null 2>&1
done
if test "$success" -eq 0; then
echo "Enabling services..."
diff --git a/src/VBox/Additions/solaris/Installer/preremove.sh b/src/VBox/Additions/solaris/Installer/preremove.sh
index 688df266..b8bc54f7 100755
--- a/src/VBox/Additions/solaris/Installer/preremove.sh
+++ b/src/VBox/Additions/solaris/Installer/preremove.sh
@@ -1,8 +1,11 @@
#!/bin/sh
+# $Id: preremove.sh $
+## @file
+# VirtualBox preremove script for Solaris Guest Additions.
#
-# VirtualBox pre-remove script for Solaris Guest Additions.
+
#
-# Copyright (C) 2008-2010 Oracle Corporation
+# Copyright (C) 2008-2013 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
diff --git a/src/VBox/Additions/solaris/Installer/vboxguest.sh b/src/VBox/Additions/solaris/Installer/vboxguest.sh
index bb0d0b9d..8c8781f7 100755
--- a/src/VBox/Additions/solaris/Installer/vboxguest.sh
+++ b/src/VBox/Additions/solaris/Installer/vboxguest.sh
@@ -2,7 +2,7 @@
#
# VirtualBox Guest Additions kernel module control script for Solaris.
#
-# Copyright (C) 2008-2010 Oracle Corporation
+# Copyright (C) 2008-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;
diff --git a/src/VBox/Additions/solaris/Installer/vboxservice.xml b/src/VBox/Additions/solaris/Installer/vboxservice.xml
index 1a2ebef6..61f896d5 100644
--- a/src/VBox/Additions/solaris/Installer/vboxservice.xml
+++ b/src/VBox/Additions/solaris/Installer/vboxservice.xml
@@ -3,7 +3,7 @@
#
# Solaris SMF service manifest for VBoxService (timesync).
#
- Copyright (C) 2008-2010 Oracle Corporation
+ Copyright (C) 2008-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;