﻿id	summary	reporter	owner	description	type	status	component	version	resolution	keywords	cc	guest	host
10919	4.2.0 doesn't recognise Solaris 12	James McPherson		"I updated my workstation to Solaris 12 build 4, removed vbox 4.1.18 and installed
the 4.2.0 version. The postinstall script has a problem:
{{{
## Executing postinstall script.
Checking for older bits...
Installing new ones...
Detected Solaris 5.11 Version 12
Loading VirtualBox kernel modules...
   - Loaded: Host module
   - Loaded: NetAdapter module
here
   - Loaded: NetFilter (Crossbow) module
   * Warning!! Solaris 5.11 build 124 or higher required for USB support. Skipped installing USB support.
Configuring services...
   * Warning!! Importing Zone access service  ...FAILED.
   * Warning!! Refer /var/svc/log/system-manifest-import:default.log for details.
}}}

Firstly, this isn't Solaris 5.11 Version 12, it's Solaris 12.
Secondly, the usb support check is broken.

For Solaris 11 (FCS) and later (11.1, 11.whatever, 12...), the usb support check should 
pass, because we are most definitely *past* s11_124. If you detect the kernel version 
as including ""5.12"" or ""5.11-0.175"" then you know that the check has passed.

If you check the kernel version with
{{{
STR_KERN=`pkg info kernel |awk '/Branch/ {print $2}'`
}}}
then you can use something like this to determine OS minor / micro versions:
{{{
if [[ $STR_KERN =~ 5.12 ]]; then
    # Next Release under development
    HOST_OS_MAJORVERSION=""12""
elif [[ $STR_KERN =~ 0.175.[1-9] ]]; then
    # S11 Update release
    HOST_OS_MAJORVERSION=""11.""`echo $STR_KERN|awk -F""."" '{print $3}`
else
    # S11 FCS
    HOST_OS_MAJORVERSION=""11""
fi

if [[ $HOST_OST_MAJORVERSION == ""11"" ]]; then
    HOST_OS_MINORVERSION=`uname -r`
else
    HOST_OS_MINORVERSION=`echo $STR_KERN|awk -F""."" '{print $6}'`
fi
}}}

** I'll ignore for a moment that the Major Solaris Version is _5_ and not _5.11_.


Then when you do the vboxusb addition, you should firstly check the major then minor
OS versions:
{{{
if [[ $HOST_OS_MAJORVERSION == ""5.12"" -o $HOST_OS_MAJORVERSION == ""11.[1-9]"" \
   -o ( $HOST_OS_MAJORVERSION == ""11"" -a $HOST_OS_MINORVERSION -ge 123 ) ]] ; then
   ## clear to add the vboxusb driver
...

fi
}}}"	defect	closed	installer	VirtualBox 4.2.0	fixed			other	Solaris
