Partial Response to "TechRadar: 20 things we'd change about installing software in Linux" with Solaris IPS [aka pkg(5) ]
By DarrenMoffat on Jan 10, 2011
TechRadar has an article today about "20 things we'd change about installing software in Linux" most of which is general good advice. I found a few of the points very interesting considering how Solaris 11 Express is packaged using the Image Packaging System (IPS); which was also used for OpenSolaris releases).
I've not commented on any of "the 20 things" that are to do with installing from source or packaging of source or filesystem layout since I don't believe they have anything to do with the packaging system, also IPS is by design a packaging system not a build and packaging system (like RPM).
"4. Easier adding of repositories"
We have that already with IPS in the form of .p5i files (see below).
"11. Get rid of -dev package hell"
The facet system in IPS packaging will help with this, if you are intending to build things from source you would set the appropriate facet and you would automatically get all the "developer" parts of packages.
"16. Link to package manager from web pages"
The .p5i file format allows for that for example "this link" points to the .p5i file in the Oracle Solaris 11 Express repository that will install the web/proxy/privoxy package. If I click on that link on a Solaris system it will automatically start up the package manager to allow installation. The .p5i file contains all the information necessary to add the appropriate repository (including any known mirrors and required certificates for SSL transport and any certificate information required for the package signing). The .p5i files and links are automatically created when packages are published into a repository.
"20. Clean up old dependencies"
When uninstalling packages just specify the -r argument to "pkg uninstall" and it will recursively remove any packages 'require' dependencies on the initial package. So that should catch many (but many be not all of these dependencies - since optional dependencies aren't removed by pkg uninstall -r).