RPM

RPM (originally Red Hat Package Manager) is a format for software distribution used primarily with Linux. The .rpm file is the distribution archive, while .spec files are used in the development process to create RPM files.

The "payload" of the format is (usually) a cpio archive, compressed originally with gzip (but sometimes with other archiving formats in later versions). Headers and a signature are added.

Spec files contain the information needed to build the archive, and are used by the rpmbuild tool. In the SRPM variety of RPM file, the spec file is included and has details on how to build the package so that it can be self-installing.

Links

 * Wikipedia article
 * Official site
 * File format description
 * Working with spec files