Wow, has time passed since my last posting. I promise to do a quick update soon as a lot has been happening over the last six months! In the meantime, I wanted to tell you all about a new version of the Solaris Package Companion
(version 0.8) that is now available.
For those not familiar with the tool, here is a brief overview:
The Solaris Package Companion is a small Korn shell script that allows you to ask
quite a number of interesting questions about the relationships between Solaris
metaclusters, clusters and packages as well as their respective dependencies. Very
often, answers to these kinds of questions are essential for the construction of
minimized systems as well as more generally for OS golden images.
The goal of the Solaris Package Companion, or SPC for short, is to do all of the
hard work so you don't have to. SPC will create a cache of important facts by mining
information from the various packaging files and directories to allow you to quickly
and easily obtain answers to a variety of questions such as:
\* What clusters or packages are contained in a given metacluster?
\* What packages are contained in a given cluster?
\* What metacluster or cluster contains a given package?
\* On what other packages does a given package or cluster depend?
\* Which packages depend on a given package?
\* … and so on…
New to this release is a tree view display method that allows you to list the contents of metaclusters and clusters in a more eye-friendly tree-view. Thanks to Fredrich Maney for contributing the idea and code! Here are a few examples from the project page showing what this looks like:
To see what packages are included in a cluster, just use the "-t" option:
$ ./spc-v0.8.ksh -v -r ./myrepository -t SUNWCssh
[C] SUNWCssh Secure Shell
[P] SUNWsshcu SSH Common, (Usr)
[P] SUNWsshdr SSH Server, (Root)
[P] SUNWsshdu SSH Server, (Usr)
[P] SUNWsshr SSH Client and utilities, (Root)
[P] SUNWsshu SSH Client and utilities, (Usr)
To see what packages and clusters are included in a metacluster, just use the "-T" option:
$ ./spc-v0.8.ksh -v -r ./myrepository -T SUNWCmreq | head -10
[M] SUNWCmreq Minimal Core System Support
[C] SUNWCfca Sun ISP Fibre Channel Device Drivers
[P] SUNWqlc Qlogic ISP 2200/2202 Fibre Channel Device Driver
[P] SUNWemlxs Emulex-Sun LightPulse Fibre Channel Adapter (FCA) driver (root)
[C] SUNWCfct Sun Fibre Channel Transport Software
[P] SUNWfcsm FCSM driver
[P] SUNWfctl Sun Fibre Channel Transport layer
[P] SUNWfcp Sun FCP SCSI Device Driver
[P] SUNWfcip Sun FCIP IP/ARP over FibreChannel Device Driver
[C] SUNWCfmd Fault Management Daemon and Utilities
I would also like to thank Peter Pickford for sharing a fix for a bug that resulted in the tool not properly recording all dependencies under certain circumstances. Thank you! While I was at it, I also took a little time to clean up the code a bit.
You can find more information, examples and the source code on the project page.
Keep the suggestions, reports and fixes coming!