Upgrader is a simple tool that enables Java developers to add software upgrade capability into their applications. An upgrade process typically involves replacing the old version of the binaries with a new version of the binaries and performing data upgrades. It may also need to perform changes to the directory structure. The data upgrade outlined above may involve changes to the configuration files or database. This tool provides a framework which application developers can use to keep track of changes to the application. Every time there is a change in the database schema or configuration files, the application developers can create a "patch" script and add it to the "patch list". The Upgrader tool may be bundled with the application and is typically invoked during the installation and upgrade processes. When it is invoked, it determines the current patch level of the system, determines the patch scripts that need to be executed, sequences the patch scripts, and applies them.
The CPAN shell (and module) automates or at least simplifies the building and installation of Perl modules and extensions. It includes some primitive searching capabilities and knows how to use Net::FTP, LWP, and certain external download clients to fetch distributions from the Internet. Then it automatically tests and installs them and their dependencies.
HAL/C++ is a library using dbusmm to access the HAL daemon. The library is not a wrapper around libhal and libhal-storage, but rather a reimplementation using dbusmm to communicate with the HAL daemon. Even though it is modeled after the official libhal and libhal-storage, it does not aim at complete adherance to the original API. The library is application-oriented, so for now, features that would only be useful to system-level applications or daemons, or HAL addons, are not being implemented. However, some of these features are mostly conveniences in the original libhal, and can be emulated even with the existing API.
Portable Linux is a tool that lets you create bootable USB and removable drives using popular Live CDs based on Casper (like the Ubuntu family of distributions). It sports some unique features. The live setups it creates let you use the remaining disk space on your USB drive to store and transport files between computers, as usual. If your distribution supports persistence, the files and settings you edit on your live Linux distribution are persisted across reboots. Finally, you can access the area used to store your files from within your Linux distribution.
gitty-gitty, the (general | GNU) template generation tools, are a set of scripts for creating a whole set of sources which may already be compiled and installed using the GNU development tools. Think of gtgt as a program which is able to create an already compilable, very sophisticated "hello world" program, written in C or C++ and constituted by a main program, two internal modules (classes), and one static and one shared library, and this complex "Hello World" is already fully embedded into the GNU autoconf/automake development environment. By using gitty-gitty, you will get a template of sources for the main cases you might meet, and which you can also use as examples for automake, autoconf, etc.
Rocks is a complete "cluster on a CD" solution for x86 and IA64 Red Hat Linux COTS clusters. Building a Rocks cluster does not require any experience in clustering, yet a cluster architect will find a flexible and programmatic way to redesign the entire software stack just below the surface (appropriately hidden from the majority of users). Although Rocks includes the tools expected from any clustering software stack (PBS, Maui, GM support, Ganglia, etc), it is unique in its simplicity of installation.
CPAN+changelog.pl is a wrapper script for the CPAN Perl module. It adds ChangeLog and BuildLog functionality. A ChangeLog allows an administrator to better decide if and when a module from CPAN should be upgraded. A BuildLog helps answer questions like, "When was module Foo installed?" or, "Were there any warnings when compiling Bar?"
The 64 Studio Platform Development Kit (PDK) is a version control system for GNU/Linux distributions, allowing the creation and management of many different projects, based on Debian and Ubuntu sources. PDK is written in Python, and the source code is well commented and contains documented examples.