[vbox-dev] Patch to support installation on non-Sun/Oracle Solaris hosts
jim at cos.ru
Wed Jul 22 15:48:21 GMT 2015
Sorry I was away from networking for a while so could not check.
I ran vboxconfig.sh replicas modified by your and by my patches, instrumented to print out major/minor versions after get_sysinfo and abort. Results differ:
OI_151a8 : both detected as 11 / 151
OmniOS Bloody 151015: mine detected as 11 / 151, yours detected as 11 / 151015 (which will be greater than 159 in a later test)
OI Hipster: mine detected as 11 / 151, yours detected as 11 / 0
SXCE snv_117 (svr4): mine detected as 11 / 117 (interim HOST_OS_MAJORVERSION=SXCE), yours detected as a strange Solaris 11 without pkg(5) and aborted... VirtualBox does run there (at least an older version, and IIRC without both of the advanced modules) ;-)
----- Исходное сообщение -----
От: Ramshankar <ramshankar.venkataraman at oracle.com>
Дата: Tuesday, July 7, 2015 16:25
Тема: Re: [vbox-dev] Patch to support installation on non-Sun/Oracle Solaris hosts
Кому (To): jim at cos.ru
Копия (Cc): vbox-dev at virtualbox.org
> Hi Jim,
> On 07/ 7/15 02:45 PM, Jim Klimov wrote:
> > Hello Ram,
> > Makes sense, and that's why I started with touch-files
> following an
> > established example so as to support anything regardless of
> matching,> only an admin (or wrap-package) who'd touch the file
> is needed. ;)
> Adding a touch file is okay. I have no objections to having that
> option in.
> > I think a "case" would be more readable and conservative on
> resources> than a stack of if-elif-else-fi (don't have to call
> an external program
> > too many times) and would suffice especially since you are comparing
> > fixed strings or, at most, simple wildcards here.
> Yes, I'm aware of this but as of now, I'd rather have everything
> fork-avoidance optimizations. This can come at a later step.
> > In the patch itself, here's a bit that worries me: either I've
> had a
> > night too sleepless, or there is a logical error here:
> + STR_KERN_MAJOR=`echo "$PKGFMRI" | sed
> > 's/^.*\@//;s/\,.*//;s/\-.*//'`
> + if test "$STR_KERN_MAJOR" = "5.12"; then
> > + ###(comments snipped)
> + BRANCH_VERSION=$STR_KERN_MAJOR
> + HOST_OS_MAJORVERSION=`echo "$BRANCH_VERSION" |
> > cut -f2 -d'-' | cut -f1,2 -d'.'`
> + if test "$HOST_OS_MAJORVERSION" = "5.12"; then
> + HOST_OS_MAJORVERSION="12"
> + HOST_OS_MINORVERSION=`echo
> > "$BRANCH_VERSION" | cut -f2 -d'-' | cut -f6 -d'.'`
> + return 0
> + else
> + errorprint "Failed to parse the Solaris
> > kernel major version."
> + exit 1
> > Here you have STR_KERN_MAJOR=="5.12" (fixed, no more, no
> less), then
> > assign BRANCH_VERSION to the same "5.12" and try to `cut`
> major/minor> versions out of it. You do get "5.12" again as
> major, but minor without
> > the dash-separated part of the FMRI is meaningless (and ends
> up empty).
> Oops, my mistake. Thanks. I've attached a new patch of that part
> of the code
> which I think should address the problem.
> > Otherwise, cutting the "5.11", "0.5.11" or "5.12" parts seems
> to work
> > correctly here.
> > Also, in line 10 (added comment for OI Hipster string) there
> is "of"
> > instead of "or" ;)
> Also fixed in the patch I've attached.
> Let me know how this works for the OS/distros in question here.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the vbox-dev