Updating OSOL Applicance to b.134
The OSOL appliance released by Jignesh Shah is 2009.6 -- nearly a year old now. Since then the packaging tools for OpenSolaris have made great strides. IPS remains .. interesting. I'm not entirely convinced that it was worth the effort of not using some of the existing package formats. However, by now I understand the API it brings in as well as the various uses of the tool, (and it crashes no more) so I'm starting to like it.
Anyway, the point of this particular appliance is to host KDE4 packages for OpenSolaris in an IPS repo. To do that means running the IPS pkg.depotd. I have a port of an older version of pkg(5) to FreeBSD, but it all seems a little klunky and hard to maintain. So using an OpenSolaris VM seems the right approach.
Except that the OSOL VM from Jignesh is kind of old, isn't it. So I ended up looking into upgrading the OSOL VM after installation, and ended up with the following steps:
- Set the publisher to the dev branch: pkg set-publisher -O http://pkg.opensolaris.org/dev/ opensolaris.org . This means that future packages will come from the dev branch, not the released branch.
- pkg refresh --full to fetch all the new package references.
- pkg image-update -f (I have to force it, because something's wrong with cherrypy and the image will not update otherwise) and wait a while while 138MB of package updates are downloaded.
- Reboot into the new boot environment (VOSApp-1). This will fall into a root shell for fixit-purposes, because the filesystems are messed up.
- Fix mountpoints for those messed-up filesystems and reboot again; I recall I needed to re-set a number of zfs mountpoints to get the correct organization for regular system operation. Bear in mind this isn't needed with normal OSOL upgrades, just for this slightly peculiar application setup. I think I had to set the new rpool/ROOT/VOSAPP-1/opt/ (and var and root) to mount in the right places and move the older rpool/ROOT/VOSApp/ filesystems to somewhere in /mnt.
- Reboot, possibly fix up remaining mountpoints, then zfs destroy the old ones.
There's a useful HOWTO entry on updating OSOL to a specific build which I might otherwise have used, but the appliance image does not have an entire package installed which could be used to drive the upgrade. Hence this slightly klunkier approach.
Since Jignesh has left Sun, I'm not sure if there will be any future growth in these appliance builds. They were popular enough in Nigeria, where I distributed verbatim copies of the original (probably still in violation of the license terms though) to people interested in running OSOL at all.