Opt_Depot

opt_depot


opt_depot is a suite of Perl scripts which makes it easy to manage installed software across a wide range of client systems. opt_depot makes it possible to keep all files associated with a program together in one directory, so installation and de-installation is simple. opt_depot is easy to manage, and provides a scheme for installing software in a truly portable fashion; packages may be installed locally on client systems, or kept in a central package archive for NFS access.

opt_depot was written by the Computer Science Division (CSD) at Applied Research Laboratories, The University of Texas at Austin. Jeremy Thibeaux, Amy Shook, Jonathan Abbey, and Erik Grostic directly contributed to the code, and is licensed under the GNU General Public Licence.


The Software


Web Documentation


The Man Pages



Information on related software and techniques

Carnegie Mellon's Depot Software
The inspiration for opt_depot. I've not looked at the Andrew Depot package for a while now. We found Depot to be less flexible and more complex than we wanted, with some basic design decisions that gave us problems. It may be much better now.
STORE - A System for Third Party Software Installation and Maintenance
A very well thought-out freely distributable UNIX software management system from Norway. Much more extensive than opt_depot, but also more complex to use.
STOW - Gnu Package Manager
A simple, single-script system, generally similar to opt_depot. It appears to be a bit less refined in some ways than opt_depot. However, Stow is under the GPL, so it will likely garner a good bit of popularity and improvements with time.
LUDE - Logitheque Universitaire Distribuee et Extensible
Recommended by merc@ackley.net.. LUDE is a project both to achieve a standard package format and to build up a library of packaged software.
Encap Package Management System
A newly announced package management system that combines a symlink tree maintenance utility with a RPM-like package format. Makes it possible to download and install a new package into your /usr/local tree in one step. Seems similar to LUDE in this respect. Includes a number of utilities and alternate implementations for tools to work with their package archive format.
Graft
Another implementation of the basic Depot idea. Looks like it innovates in its handling of directories. Sort of similar to Stow, but more flexible about handling files in the tree that did not come from package archives. Unlike most of these packages, the graft script is intended to be manually run on a per-package basis.
Reflect
Another Depot-style tool, this one written entirely in Bash and assorted Unix utilities.. no C or Perl required. Has some of the nice features of opt_depot, including clean integration with target directories containing non-reflect managed files and symlinks. Reflect adds a rather innovative feature; Reflect allows per-package configuration files, and a package may be configured so that particular files are linked into multiple locations in the filesystem. In this way, Reflect is approaching the more location agnostic design of RPM. Like Graft, Reflect is designed to be run manually on a package-by-package basis.
SrcPkg
This is a particularly innovative entry. SrcPkg is almost a 'reverse depot' tool; to use it, one goes through a normal software install process, then runs srcpkg to identify the files that were installed and replace them with symbolic links. Using SrcPkg, large and complex software packages that are not depot-friendly can be depotized after the fact in an automatic fashion.
SpkgTool
Now, here's an interesting one. SpkgTool actually provides a set of GUI tools to manage the symbolic links for packages. Apparently inspired by Graft in the first instance, SpkgTool also supports automated installation of tar files that conform to the autoconf standard.

Send comments or questions about the opt_depot scripts to opt-depot@arlut.utexas.edu