Blastwave and OpenCSW package repositories, although compatible with each other for some time, are compatible no longer. You cannot mix packages from the Blastwave mirrors with packages from the OpenCSW mirrors.
If you wish to migrate your Solaris system from Blastwave to OpenCSW, here are rough instructions:
- Install CSWpkgutil, which will be useful later
- Create a list of currently installed CSW packages (Blastwave uses CSW namespace), except CSWwget
(cd /var/sadm/pkg; echo CSW*) | tr ' ' '\n' \ | grep -v CSWwget | grep -v CSWpkgutil \ > /var/tmp/before-migration.list - Reconfigure pkgutil to use an OpenCSW mirrors. See the list at /get-it/mirrors/
opencsw_mirror="http://mirror.opencsw.org/opencsw/current/" cp /etc/opt/csw/pkgutil.conf /etc/opt/csw/pkgutil.conf.bak gsed -e '/^\s*mirror=/d' -i /etc/opt/csw/pkgutil.conf echo >> /etc/opt/csw/pkgutil.conf "mirror=${opencsw_mirror}" - Uninstall all the packages from the list. In order to uninstall all the packages in a batch mode, we need to use a so called ‘admin file’. There’s one provided by CSWpkgutil, /var/opt/csw/pkgutil/admin
for pkg in `cat /var/tmp/before-migration.list`; do \ pkgrm -n -a /var/opt/csw/pkgutil/admin $pkg; \ done - Update pkgutil’s catalog cache
pkgutil -U
- Create a new list of packages to install. Some packages have been renamed and the package names aren’t exactly the same in OpenCSW as in Blastwave. You can compare the list of packages against a catalog file to figure out which exact packages you need.
cp /var/tmp/before-migration.list /var/tmp/after-migration.list
- Use pkgutil to install the packages from the new list.
for pkg in `cat /var/tmp/after-migration.list`; do \ pkgutil -y -i $pkg; \ done