JExpress is a Java installer builder and auto-updater. It gives you your choice of a standalone installer, including both native and cross platform installers and updaters for Windows, Mac OS X, Linux, and Solaris, or a Java Web Start one-click install. You create your installer quickly with your choice of a simple wizard or a powerful advanced interface, both included. You can bundle the exact JVM you want with your installer. The auto-updater gives you a continuous revenue stream after the sale. Your software is always up-to-date, so your customers have fewer problems. You also get all the features you expect in a top end installer. Your Java application becomes a native program just like any other. On Windows it's an EXE, on Mac OS X an app bundle, etc. If you need something really special, you can customize your installer by adding simple Java classes. You can even get a source license at a reasonable price.
Buildkernel is an intelligent shell script that automates the task of building a Linux kernel. For beginning users, it handles the process from beginning to end, prompting the user when they have to do something. Advanced users can use it to build multiple kernels with little effort. Buildkernel will download kernel and pcmcia source, remove unnecessary code, create symlinks, automatically patch the kernel, build the kernel, modules, and pcmcia modules (nicely), and install them to hard disk or floppy, running LILO as necessary.
GNU Make examines the timestamps on a set of interdependent files, and, if necessary, issues commands to bring them up-to-date. The user creates a makefile describing the files, their relationships, and the commands to run. Most often make is used to rebuild libraries and programs when their sources are changed, but it can be used for any situation where one set of files needs to be generated from another set.
Cook is a tool for constructing files. It is given a set of files to create, and recipes of how to create them. In any non-trivial program there will be prerequisites to performing the actions necessary to creating any file, such as include files. Cook provides a mechanism to define these. When a program is being developed or maintained, the programmer will typically change one file of several which comprise the program. Cook examines the last-modified times of the files to see when the prerequisites of a file have changed, implying that the file needs to be recreated as it is logically out of date.
Aegis is a transaction-based software configuration management system. It provides a framework within which a team of developers may work on many changes to a program independently, and Aegis coordinates integrating these changes back into the master source of the program, with as little disruption as possible. Aegis supports geographically distributed development.