Chapter 13. Packaging your application

Table of Contents
A quick introduction to RPMs
Selecting and creating RPMs for your application
Setting up your RPM development environment
Building an RPM

Once you have created a customization for your SME Server by adding new files, directories, and symbolic links (for your actions, events, etc.) - and perhaps also triggering an action to initialize your customization - you are ready to package your customization into an RPM.

A quick introduction to RPMs

All SME Server software packages are distributed as RPM packages. This is the format used by CentOS and other major Linux distributions for distributing applications and other collections of files. The RPM system provides the ability to install, upgrade, remove and (importantly) verify the contents of installed packages.

An RPM essentially consists of an archive of all the files required by a piece of software. Additionally, it includes meta-information describing the software, and scripts which must be run to install or uninstall the software.

Meta-information stored in an RPM includes:

  1. summary and description of the software

  2. package name

  3. version number

  4. copyright information

  5. category/group to which the software belongs

  6. name and email address of the packager

  7. pre-requisites to installing this package

  8. ... and more