[vbox-dev] IPS package
klaus.espenlaub at oracle.com
Wed Apr 2 15:52:05 UTC 2014
On 02.04.2014 14:45, Thomas Gouverneur wrote:
> As far as I'm aware, there's no way to automatise it, although I find it
> better than nothing to benefit from the IPS packaging rather than the
> SVR one.
> On another side, we can still display a big fat warning when the user is
> trying to install/upgrade with the instructions to get this done the
> proper way.
If I'm not completely behind this isn't possible with IPS, as one of its
design decisions was that a package install/upgrade/uninstall cannot
ever block to ask for input or provide any output besides requesting a
reboot. I don't think anyone seriously considers reboots to be an option
(it's a problem, not a solution).
To reach a good usability a VirtualBox IPS needs to be able to reliably
trigger some activity for ALL of the following situations:
postinstall/postupgrade/postuninstall (and it'd be nice to have
preinstall/preupgrade/preuninistall for doing some truly vital
cleanups). Would it be possible to use a variable component in the SMF
run-once service name like the package version to trigger activities for
upgrades (only necessary for the case of upgrading a live system)?
Anything automatable in a build process is fine with us. Trust me, we're
not afraid of complex implementations :)
If these activities aren't possible then the only way would be to detect
a driver/application version mismatch when some VirtualBox application
is started, and this is where we get into the very bad user experience
region: this is generally done by non-root users, who don't have the
privileges to rectify the problem and have to ask the admin to complete
the manual part of the upgrade.
I briefly thought about doing a "dummy IPS" package, i.e. one which
simply dumps the PKG file into some location, and use the run-once
service to do the PKG install, but honestly this is several orders of
magnitude too ugly to be acceptable.
> What do you think? Could this be integrated?
We're not against IPS packaging, we'd be gladly providing IPS packages
tailored for Solaris 11 ourselves if only there would be a good solution
in sight which is user friendly. So far we couldn't find any way to
create an IPS package with an acceptable user experience, and that's why
we stick to the PKG stuff which has the necessary hooks.
The IPS package has quite some potential (directly installing the
package as part of autoinstall, skipping the useless 32 bit binaries,
skipping irrelevant drivers like the streams based bridging support,
i.e. reducing the package size significantly)...
> Le 2014-04-02 11:29, ramshankar venkataraman a écrit :
>> On 31/03/2014 23:06, Thomas Gouverneur wrote:
>>> Thanks for your answer.
>>> 1. Yes
>>> 2. Yes, considering that you need to run an 'svcadm restart
>>> virtualbox-run-once' service that gets installed with the first
>>> installation. Then, when an upgrade is done, this service is
>>> responsible to upgrade drivers and/or services at its next start. (so
>>> either manually, or, indeed after a reboot).
>>> Does that make sense?
>> So it requires manual running of a service to make the upgrade work?
>> Is it possible to automate this somehow as part of the IPS upgrade
>> procedure itself?
>>> Le 2014-03-31 13:49, Ramshankar a écrit :
>>> Thanks for the work and the heads up, but before I look into
>>> this, a couple of questions:
>>> 1. Does the installation work without requiring reboots (drivers
>>> are loaded and active after installation)?
>>> 2. Does upgrading VirtualBox versions work without requiring
>>> reboots (old drivers are unloaded, removed and new ones are
>>> installed and loaded) ?
>>> On 03/30/2014 03:42 PM, Thomas Gouverneur wrote:
>>> I'm writing today because I've been asked some time ago to
>>> write a converter from SVR to IPS packages for VirtualBox to
>>> allow the installation of VirtualBox and of the extension
>>> pack through IPS. I wonder now if this work can be useful
>>> upstream too?!
>>> I published the scripts there:https://github.com/tgouverneur/VBox-SVR2IPS
>>> And an example repository can be found there:http://mdma.igh.cnrs.fr/vbox/en/catalog.shtml?show_all_versions=1&action=Refresh
>>> The repository has been built with the VirtualBox.org's packages converted using the scripts present inside the GitHub repository listed below.
>>> NOTE: This repo has only been tested with Solaris 11.1.
>>> Any idea with who I could start the discussion to see what would those package be missing to allow a possible upstream adoption, so we can all have IPS upstream packages of VirtualBox in the future?
More information about the vbox-dev