create-virtualbox-repo Code
OBSOLETE: Script to load VirtualBox packages into an IPS repository
Brought to you by:
stes
File | Date | Author | Commit |
---|---|---|---|
CHANGELOG | 2019-10-12 |
![]() |
[2cd719] Remove .res and .p5m files as they can be regen... |
INSTALL | 2019-10-12 |
![]() |
[0e48e8] Move the createrepo instructions to separate IN... |
LICENSE | 2019-10-11 |
![]() |
[d374b2] Import to GIT |
README | 2019-10-19 |
![]() |
[1a7559] Update for VirtualBox 6.0.14 |
cleanup.sh | 2019-10-12 |
![]() |
[2cd719] Remove .res and .p5m files as they can be regen... |
create-virtualbox-repo.sh | 2019-10-19 |
![]() |
[1a7559] Update for VirtualBox 6.0.14 |
Welcome to "create-virtualbox-repo" ! See the LICENSE for license information. See the INSTALL file for instructions on creating a repo/using the script. VirtualBox distributes "guest additions" for the Solaris operating system, in a .pkg datastream package, called the "SVR4" (System V release 4) format. This package is normally installed with the "pkgadd" command. Also the host software itself is distributed in such a format, in a file called VirtualBox-6.*.*-SunOS-amd64-r*.pkg (specific versions). Under Solaris 11.4, support for this "legacy" format needs to be explicitely installed, using: pkg install svr4 The Solaris 11.4 uses IPS (the Image Packaging System) and the 'pkg' command, but this system can co-exist with "pkgadd". The advantage of the SVR4 package format is that it was used on older versions of Solaris, and it is possible that for testing purposes, you create guest operating systems (vm's or virtual machines) that run older versions of Solaris. So it seems a good thing that a .pkg file is used. On the other hand, the SVR4 format has some drawbacks, it does not support dependencies very well, for example if the Solaris system has no OpenGL packages installed, VirtualBox still will try to install its vbox_vendor_opengl OpenGL passthrough driver, while this is in fact a dependency on OpenGL, but pkgadd doesn't deal with this kind of dependencies very well. Fortunately Sun/Oracle has tools to help conversion and migration, and this script uses the tool to convert the SUNWvboxguest package towards IPS. This script attempts to convert the "legacy" SVR4 package into IPS. The idea is that SUNWvboxguest is converted to a "base" legacy vboxguest, which corresponds with SUNWvboxguest but without the "postinstall" script. For the host software SUNWvbox is converted into "virtualbox/host/vbox", a single package at this moment (containing both GUI and CLI tools). In the future perhaps the SVR4 package could/can be abandonded, but the idea for the moment is that both methods can (or should) co-exist and that the IPS support is for those who wish to create Solaris 11.4 guest machines under VirtualBox, while the old .pkg format can be used on guest machines that run older versions of the Solaris operating system. Also the VirtualBox guest package currently does not support the -R option, and the PKG_INSTALL_ROOT variable for installations under /a or /mnt, where one wishes to install the package in a mounted operating system, instead of under /. The host software .pkg possibly supports (or supported) -R. The IPS repository can also load and keep track of many versions of the guest additions (version 6.0.0, 6.0.1, 6.0.2 etc.) and supports updates to the latest guest additions (pkg update) or installing specific versions. Finally for automated deployments of Solaris using Automated Installer (AI), the fact that the -R option of pkgadd is not supported by VirtualBox, means that an alternative is needed because AI installs the Solaris OS under /a and then reboots into the OS (mounting the files under /a on /), so we can't use pkgadd, at least not the postinstall script it currently uses. One approach would be to "fix" the postinstall scripts to support -R. This script attempts to convert the "legacy" SVR4 package into IPS. It provides a way to install the VirtualBox guest additions from a repo, instead of using pkgadd -d ./VBoxSolarisAdditions.pkg one can then use: pkg install virtualbox/guest/vboxguest (VBoxService+vboxmslnk+vboxsf) pkg install virtualbox/guest/gnome (GNOME) pkg install virtualbox/guest/opengl (OpenGL) The vboxguest package is tested to install on a Solaris "minimal server", i.e. a server installed with a manifest of: <name>pkg:/group/system/solaris-minimal-server</name> The gnome and opengl packages require the solaris-desktop and /service/opengl/ogl-select respectively. Feedback and suggestions are welcome, David Stes Antwerp, Flanders, Belgium email: stes@telenet.be