With a heterogeneous environment, package installation
requires an understanding of each of the package management systems.
This presented a problem with the 2.0 and 2.1 releases for certain
platforms, in particular Solaris. Unlike HP-UX depot, Solaris pkgadd
handles installation of dependencies poorly. The Solaris package
manager does not "automatically" install a package's dependencies.
Our solution to this problem is
pkgutils, a suite of tools that provides transparent
access to the underlying package management system. The most important
of these is the pkg-inst tool, a utility that
installs packages independent of the package management system.
Support is available for the following package management systems: AIX
lpp, HP-UX depot, RPM, and Solaris pkgadd. The
pkg-inst tool works by reading an XML database
containing information about a package and its dependencies to
abstract from the user the details needed to install packages. Options
such as --ignoredeps and --reinstall provide access to
the specific options required by the package managers to achieve the
same end result on all package management systems. If a package being
installed has dependencies, pkg-inst will
automatically install the dependencies and then attempt to reinstall
the package once the dependencies have been installed.
The pkgutils also includes the following
||Check for new releases relative to what is
||Install and remove links to common bin, info,
and man directories after installation of a package
||List installed packages, packages from a
repository, package information, and what packages have common links
associated with them
||Removes packages installed with the
pkg-inst tool, regardless of the package management
system being used
A sample run of pkg-inst is available
for AIX lpp, HP-UX depot, RPM, and Solaris pkgadd.