Red Hat Catapult - an RPM product installer

Catapult allows you to build a self-extracting installer from a set of RPMs. The installer is built by concatenating a self-extractor stub (the "sfx") with any binary RPMs (along with some extra metadata) which should be installed, producing a single binary which will install the RPMs on the system.

                  +-----------+-------+-------+-------+----+
                  |           |       |       |       |Meta|
                  | Installer | RPM 1 | RPM 2 | RPM 3 |data|
                  |           |       |       |       |    |
                  +-----------+-------+-------+-------+----+

                               <------    Payload   ------>

Catapult can be built in two varieties: firstly to build a relocatable installer, which will install a set of relocatable RPMs, prompting the user for the install prefix when first invoked. Alternatively it can build an system installer, which installs packages as normal on a Red Hat Linux (or other RPM-based) operating system. Catapult also supports optional packages; where the user is prompted for which packages they wish to install.

The RPM philosophy is that interactive configuration should not take place in %post or %pre scripts (i.e. during installation): Catapult allows you to specify a program to run after installation, which can perform any interactive configuration your product requries.

Download the source: catapult-1.0.1.tar.gz