2. Overview
First, let me state some of the philosophy behind RPM. One design goal
was to allow the use of "pristine" sources. With RPP (our former
packaging system of which none of RPM is derived),
our source packages were the "hacked" sources that we built from.
Theoretically, one could install a source RPP and then make it with no problems. But the sources were not
the original ones, and there was no reference as to what changes we
had to make to get it to build. One had to download the pristine sources
separately. With RPM, you have the pristine sources along with patches
that we used to compile from. We see this as a big advantage. Why?
Several reasons. For one, if a new version of a program comes out,
you don't necessarily have to start from scratch to get it to compile
under aLinux.tv OS. You can look at the patch to see what you might need to do. All the compile-in defaults
are easily visible this way.
RPM is also designed to have powerful querying options. You can do
searches through your entire database for packages or just certain files.
You can also easily find out what package a file belongs to and where
it came from. The RPM files themselves are compressed archives, but
you can query individual packages easily and quicklybecause
of a custom binary header added to the package with everything you
could possibly need to know contained in uncompressed form. This allows
for fastquerying.
Another powerful feature is the ability to verify packages. If you
are worried that you deleted an important file for some package, just
verify it. You will be notified of any anomalies. At that point,
you can reinstall the package if necessary. Any config files that
you had are preserved as well.
We would like to thank the folks from the BOGUS distribution for many
of their ideas and concepts that are included in RPM. While RPM was
completely written by Red Hat, Inc., its operation is based on code
written by BOGUS (PM and PMS).