The Red Hat Package Manager (RPM) is a freely available packaging system for software distribution and installation. In addition to the Red Hat Enterprise Linux and Fedora Core distributions, both SuSE and Mandrake are among the Linux distributions that use RPM.
Using RPM is straightforward. A single command, rpm, has options to perform all package management functions except building packages.[*] For example, to find out if the Emacs editor is installed on your system, you could say:
rpm -q emacsemacs-21.3-17
This command prints the full package name, confirming its presence.
You use the rpmbuild command to build both binary and source packages.
This section provides an overview of some of the parts of an RPM package. Much of the information is of primary use to developers, but because some of the terms are referenced in the RPM command descriptions, they are explained briefly here.
An RPM package has three primary components. The header contains all the information about the package, such as its name and version, a description, a list of included files, the copyright terms, and where the source file can be found. The signature contains information used to verify the integrity and authenticity of the package. The archive contains the actual files that make up the package.
When a package is being built, one of the requirements for the developers is to create a spec file. If you download the source RPM for a package, you can look at the ...