RPM at Idle

Donnie Barnes

Red Hat, Inc.


Revision History
Revision V3.03 November 1999

Table of Contents
1. Introduction
2. Overview
3. General Information
3.1. Acquiring RPM
3.2. RPM Requirements
4. Using RPM
5. Now what can I really do with RPM?
6. Building RPMs
6.1. The Spec File
6.2. The Header
6.3. Prep
6.4. Build
6.5. Install
6.6. Cleaning your system
6.7. Optional pre and post Install/Uninstall Scripts
6.8. Files
6.9. Changelog
7. Building It
7.1. The Source Directory Tree
7.2. Test Building
7.3. Generating the File List
7.4. Building the Package with RPM
7.5. Testing It
7.6. What to do with your new RPMs
7.7. What Now?
8. Multi-architectural RPM Building
8.1. Sample spec File
8.2. Optflags
8.3. Macros
8.4. Excluding Architectures from Packages
8.5. Finishing Up

1. Introduction

RPM is the RPM Package Manager. It is an open packaging system available for anyone to use. It allows users to take source code for new software and package it into source and binary form such that binaries can be easily installed and tracked and source can be rebuilt easily. It also maintains a database of all packages and their files that can be used for verifying packages and querying for information about files and/or packages.

Red Hat, Inc. encourages other distribution vendors to take the time to look at RPM and use it for their own distributions. RPM is quite flexible and easy to use, though it provides the base for a very extensive system. It is also completely open and available, though we would appreciate bug reports and fixes. Permission is granted to use and distribute RPM royalty free under the GPL.

More complete documentation is available on RPM in the book by Ed Bailey, Maximum RPM. That book is available for download or purchase at www.redhat.com.