How to restore / revert to an older package version?

I've updated an OpenCSW Solaris package, but now I'd like to revert to the previous version. How can I do that?

asked: 2012-02-09 by: automaciej


Dagobert answers:

All old versions are archived on the primary mirror. To revert to an older version you can just remove the package manually with pkgrm <pkgname> and then reinstall the new one after uncompression gunzip <catalogname>-*.pkg.gz with pkgadd -d <catalogname>-* add.

If you want to revert more than one package it is easier to make a local repository with bldcat from CSWpkgutilplus with the old packages and than overlay the local repository with -t to pkgutil. See the question about local catalogs for details.