Index

%attr directive, The %attr Directive, The %attr Directive
%build script, The %build Script
%build scriptlet, %build Directive -- Configure and compile components to be packaged.
%clean script, The %clean Script
%clean scriptlet, %clean Directive -- Remove build components.
%config directive, The %config Directive, The %config Directive
%description tag, The %description Tag, %description Directive -- Describe the packages intended use.
%dir directive, The %dir Directive, The %dir Directive
%doc directive, The %doc Directive, The %doc Directive
%docdir directive, The %docdir Directive, The %docdir Directive
%else conditional, The %else Conditional, The %else Conditional
%endif conditional, The %endif Conditional, The %endif Conditional
%ifarch conditional, The %ifarch Conditional, %ifxxx, The %ifarch Conditional
%ifnarch conditional, The %ifnarch Conditional, %ifnxxx, The %ifnarch Conditional
%ifnos conditional, The %ifnos Conditional, %ifnxxx, The %ifnos Conditional
%ifos conditional, The %ifos Conditional, %ifxxx, The %ifos Conditional
%install script, The %install Script
%install scriptlet, %install Directive -- Install components to be packaged.
%package directive, The Lone Directive: %package, The %package Directive, %package Directive
-n option, -n <string> &#8212; Use <string> As the Entire Subpackage Name , Adding -n To the %package directive , The %package -n Option
%patch macro, The %patch Macro, The %patch Macro
-b option, -b <name> &#8212; Set the backup file extension to <name>
-E option, -E &#8212; Remove Empty Output Files
-P option, Specifying Which patch Tag to Use, -p <#> &#8212; Strip <#> leading slashes and directories from patch filenames
compressed patches, Compressed Patch Files
example of, An example of the %patch Macro in Action
options to, The -P <n> Option
%post script, The %post Script
%post scriptlet, The %post Script
%postun script, The %postun Script
%postun scriptlet, %postun Directive
%pre script, The %pre Script
%pre scriptlet, The %pre Script
%prep script, The %prep Script
%prep scriptlet, %prep Directive -- Unpack archives and apply patches.
%preun script, The %preun Script
%preun scriptlet, The %preun Script
%setup macro, The %setup Macro, The %setup Macro
-a option, -a <n> &#8212; Unpack The nth Sources After Changing Directory
-b option, -b <n> &#8212; Unpack The nth Sources Before Changing Directory
-c option, -c &#8212; Create Directory (and change to it) Before Unpacking
-D option, -D &#8212; Do Not Delete Directory Before Unpacking Sources
-n option, -n <name> &#8212; Set Name of Build Directory
-T option, -T &#8212; Do Not Perform Default Archive Unpacking
options to, The -n <name> Option
use in multi-source spec files, Using %setup in a Multi-source Spec File
%verify directive, The %verify Directive, The %verify Directive
%verifyscript script, Verification-Time Script &#8212; The %verifyscript Script
%verifyscript scriptlet, The %verifyscript Script
--addsign option, --addsign &#8212; Add a Signature To a Package
limitations to, A Few Caveats
--buildarch option, --buildarch <arch> &#8212; Perform Build For the <arch> Architecture
--buildos option, --buildos <os> &#8212; Perform Build For the <os> Operating System
--buildroot option, --buildroot <path> &#8212; Execute %install using <path> as the root
warning, Using --buildroot Can Bite You!
--clean option, --clean &#8212; Clean up after build
--dbpath option, --dbpath <path>: Use <path> To Find RPM Database , --dbpath <path>: Use <path> To Find RPM Database , --dbpath <path>: Use <path> To Find RPM Database , --dbpath <path>: Use <path> To Find RPM Database
--dump option, --dump: Display All Verifiable Information for Each File
--excludedocs, -s &#8212; Display the State of Each File in the Package
--excludedocs option, --excludedocs: Do Not Install Documentation For This Package
--force option, --force: The Big Hammer, --force: The Big Hammer
--ftpport option, --ftpport <port>: Use <port> In FTP-based Installs
--ftpproxy option, --ftpproxy <host>: Use <host> As Proxy In FTP-based Installs
--help option, --help &#8212; Display a help message
--ignorearch option, --ignorearch: Do Not Verify Package Architecture
--ignoreos option, --ignoreos: Do Not Verify Package Operating System
--includedocs option, --includedocs: Install Documentation For This Package
--initdb option, --initdb &#8212; Create a New RPM Database
--nodeps option, --nodeps: Do Not Check Dependencies Before Installing Package , --nodeps: Do Not Check Dependencies Before Erasing Package , --nodeps: Do Not Check Dependencies During Verification
--nofiles option, --nofiles: Do Not Verify File Attributes
--nopgp option, --nopgp &#8212; Do Not Verify Any PGP Signatures
--noscripts option, --noscripts: Do Not Execute Pre- and Post-install Scripts, --noscripts &#8212; Do Not Execute Pre- and Post-uninstall Scripts , --noscripts: Do Not Execute Install and Uninstall Scripts , --noscripts: Do Not Execute Verification Script
--oldpackage option, --oldpackage: Upgrade To An Older Version
--percent option, --percent: Not Meant for Human Consumption
--prefix option, --prefix <path>: Relocate the package to <path>, if possible
--provides option, --provides: Display Capabilities Provided by the Package
--queryformat option, --queryformat &#8212; Construct a Custom Query Response
carriage control in, Carriage Control Escape Sequences
example, --prefix <path>: Relocate the package to <path>, if possible
literal text in, Literal text
tags for, Tags, Available Tags For --queryformat
ARCH, The ARCH Tag
ARCHIVESIZE, The ARCHIVESIZE Tag
AUTOREQPROV, The AUTOREQPROV Tag
BUILDHOST, The BUILDHOST Tag
BUILDROOT, The BUILDROOT Tag
BUILDTIME, The BUILDTIME Tag
CHANGELOG, The CHANGELOG Tag
CONFLICTFLAGS, The CONFLICTFLAGS Tag
CONFLICTNAME, The CONFLICTNAME Tag
CONFLICTVERSION, The CONFLICTVERSION Tag
COPYRIGHT, The COPYRIGHT Tag
DEFAULTPREFIX, The DEFAULTPREFIX Tag
DESCRIPTION, The DESCRIPTION Tag
DISTRIBUTION, The DISTRIBUTION Tag
EXCLUDE, The EXCLUDE Tag
EXCLUDEARCH, The EXCLUDEARCH Tag
EXCLUDEOS, The EXCLUDEOS Tag
EXCLUSIVE, The EXCLUSIVE Tag
EXCLUSIVEARCH, The EXCLUSIVEARCH Tag
EXCLUSIVEOS, The EXCLUSIVEOS Tag
FILEFLAGS, The FILEFLAGS Tag
FILEGIDS, The FILEGIDS Tag
FILEGROUPNAME, The FILEGROUPNAME Tag
FILELINKTOS, The FILELINKTOS Tag
FILEMD5S, The FILEMD5S Tag
FILEMODES, The FILEMODES Tag
FILEMTIMES, The FILEMTIMES Tag
FILENAMES, The FILENAMES Tag
FILERDEVS, The FILERDEVS Tag
FILESIZES, The FILESIZES Tag
FILESTATES, The FILESTATES Tag
FILEUIDS, The FILEUIDS Tag
FILEUSERNAME, The FILEUSERNAME Tag
FILEVERIFYFLAGS, The FILEVERIFYFLAGS Tag
GIF, The GIF Tag
GROUP, The GROUP Tag
ICON, The ICON Tag
INSTALLPREFIX, The INSTALLPREFIX Tag
INSTALLTIME, The INSTALLTIME Tag
NAME, The NAME Tag
NOPATCH, The NOPATCH Tag
NOSOURCE, The NOSOURCE Tag
OS, The OS Tag
PACKAGER, The PACKAGER Tag
PATCH, The PATCH Tag
POSTIN, The POSTIN Tag
POSTUN, The POSTUN Tag
PREIN, The PREIN Tag
PREUN, The PREUN Tag
PROVIDES, The PROVIDES Tag
RELEASE, The RELEASE Tag
REQUIREFLAGS, The REQUIREFLAGS Tag
REQUIRENAME, The REQUIRENAME Tag
REQUIREVERSION, The REQUIREVERSION Tag
ROOT, The ROOT Tag
RPMVERSION, The RPMVERSION Tag
SERIAL, The SERIAL Tag
SIZE, The SIZE Tag
SOURCE, The SOURCE Tag
SOURCERPM, The SOURCERPM Tag
SUMMARY, The SUMMARY Tag
TRIGGERFLAGS, The TRIGGERFLAGS Tag
TRIGGERINDEX, The TRIGGERINDEX Tag
TRIGGERNAME, The TRIGGERNAME Tag
TRIGGERSCRIPTS, The TRIGGERSCRIPTS Tag
TRIGGERVERSION, The TRIGGERVERSION Tag
URL, The URL Tag
VENDOR, The VENDOR Tag
VERIFYSCRIPT, The VERIFYSCRIPT Tag
VERSION, The VERSION Tag
XPM, The XPM Tag
tags, array iterators, Array Iterators
tags, iterating single-entry, Iterating Single-Entry Tags
tags, listing available, In Case You Were Wondering&#8230;
tags, modifiers, Modifiers &#8212; Making Data More Readable
tags, width and justification, Field Width and Justification
--quiet option, --quiet &#8212; Produce as little output as possible , --quiet &#8212; Produce as Little Output as Possible
--rcfile option, --rcfile <rcfile>: Use <rcfile> As An Alternate rpmrc File , --rcfile <rcfile> &#8212; Read <rcfile> For RPM Defaults , --rcfile <rcfile>: Use <rcfile> As An Alternate rpmrc File , --rcfile <rcfile>: Set Alternate rpmrc file to <rcfile> , --rcfile <rcfile>: Use <rcfile> As An Alternate rpmrc File , --rcfile <rcfile> &#8212; Set alternate rpmrc file to <rcfile> , File indicated by the --rcfile option
--rebuild option, rpm --rebuild &#8212; What Does it Do?
--rebuilddb option, --rebuilddb &#8212; Rebuild RPM database
--recompile option, rpm --recompile &#8212; What Does it Do?
--replacefiles option, --replacefiles: Install the Package Even If It Replaces Another Package's Files, --force: The Big Hammer, --force: The Big Hammer
interaction with config files, --replacefiles and Config Files
problems from using, --replacefiles Can Mean Trouble Down the Road
--replacepkgs option, --replacepkgs: Install the Package Even If Already Installed, --force: The Big Hammer, --force: The Big Hammer
--requires option, --requires: Display Capabilities Required by the Package
--resign option, --resign &#8212; Replace a Package's Signature(s)
limitations to, There Are Limits, However&#8230;
--root option, --root <path>: Use <path> As An Alternate Root , --root <path> &#8212; Use <path> As the Root , --root <path>: Use <path> As An Alternate Root , --root <path>: Set Alternate Root to <path>
--scripts option, --scripts &#8212; Show Scripts Associated With a Package
--short-circuit option, --short-circuit &#8212; Force build to start at particular stage
--showrc, Using the --showrc Option
--sign option, --sign &#8212; Add a Digital Signature to the Package , --sign &#8212; Sign a Package At Build-Time
using with multiple builds, Multiple Builds? No Problem!
--test option, --test: Perform Installation Tests Only, --test &#8212; Go Through the Process of Erasing the Package, But Do Not Erase It , --test &#8212; Create, Save Build Scripts For Review
--timecheck option, --timecheck <secs> &#8212; Print a warning if files to be packaged are over <secs> old
--version option, --version &#8212; Display the current RPM version
--whatprovides option, --whatprovides <x>: Query the Packages That Provide Capability <x>
--whatrequires option, --whatrequires <x>: Query the Packages That Require Capability <x>
-a option, -a &#8212; Query All Installed Packages, -a &#8212; Verify All Installed Packages Against the RPM Database
-c option, -c &#8212; Display the Package's List of Configuration Files
-d option, -d &#8212; Display a List of the Package's Documentation
-f option, -f <file> &#8212; Query the Package Owning <file> , -f <file> &#8212; Verify the Package Owning <file> Against the RPM Database
hint when using, A Tricky Detail
-g option, -g <group>: Query Packages Belonging To Group <group> , -g <group> &#8212; Verify Packages Belonging To <group>
-h option, -h: Perfect for the Impatient
-i option, -i &#8212; Display Package Information
-l option, -l &#8212; Display the Package's File List
-p option, -p <file> &#8212; Query a Specific RPM Package File , -p <file> &#8212; Verify Against a Specific Package File
-s option, -s &#8212; Display the State of Each File in the Package
-v option, Getting a bit more feedback with -v, -v &#8212; Display Additional Information , -v &#8212; Display Additional Information, -v &#8212; Display Additional Information
-vv option, Getting a lot more information with -vv, Getting More Information With -vv, Getting a lot more information with -vv , -vv &#8212; Display Debugging Information, -vv &#8212; Display Debugging Information, -vv &#8212; Display debugging information
acknowledgements, Acknowledgements
adding dependencies
See dependencies, adding
architecture
See RPM, philosophy behind, multi-architecture
architectures, support for multiple, Make it work on different computer architectures
archive
See format, RPM file, parts of, archive
area, build
See build area
arguments
See scripts, install/erase-time, arguments in
attributes, file
See file attributes, specifying
automatic dependencies
See dependencies, automatic
autoreqprov tag, The autoreqprov Tag, The autoreqprov Tag &#8212; Disable Automatic Dependency Processing
AutoReqProv: tag, The AutoReqProv: Tag
book, sections of, Parts of the book, and Who They're For
build area
alternate, Having RPM Use a Different Build Area
building in, Performing a Build in a New Build Area
creating, Setting up a Build Area
using, Directing RPM to Use the New Build Area
build roots
danger using, Some Things to Consider
defining, Using Build Roots in a Package
issues surrounding, Some Things to Consider
building packages
See rpm -b
buildroot tag, The buildroot Tag
BuildRoot: tag, The BuildRoot: Tag
command options
See the option itself
conditionals
See the conditional itself
config files, What are Packages, and Why Manage Them?, Keeping Track of Packages, RPM Version 1, rpm -i &#8212; What does it do?, Deciding what to do with config files:, A warning message you might never see, --replacefiles and Config Files, --excludedocs: Do Not Install Documentation For This Package , rpm -e &#8212; What Does it Do?, rpm -e and Config files, rpm -U &#8212; What Does it Do?, Config file magic, -c &#8212; Display the Package's List of Configuration Files , -d &#8212; Display a List of the Package's Documentation , --dump: Display All Verifiable Information for Each File , Modifiers &#8212; Making Data More Readable, Finding Config Files Based on a Program Name, When Verification Fails &#8212; rpm -V Output, Intelligent Configuration File Handling, %files List Restrictions, Relocatable Packages Must Contain Relocatable Software, Tying Up the Loose Ends
configuration files
See config files
conflicts tag, The conflicts Tag, The conflicts Tag
Conflicts: tag, The Conflicts: Tag
copyright tag, The copyright Tag
Copyright: tag, The Copyright: Tag
database, rebuilding RPM
See RPM, command reference, rebuild database mode
dependencies
adding, Adding Dependency Information to a Package
automatically added, Automatic Dependencies
example of, Automatic Dependencies: An Example
autoreqprov tag, The autoreqprov Tag &#8212; Disable Automatic Dependency Processing
basic concepts, An Overview of Dependencies
conflicts tag, The conflicts Tag
manually added, Manual Dependencies
provides tag, The provides Tag
requires tag, The requires Tag
scripts related to, The Automatic Dependency Scripts
find-provides, find-provides &#8212; Automatically Determine Shared Library Sonames
find-requires, find-requires &#8212; Automatically Determine Shared Library Requirements
serial numbers, using, Solution Number 1: Serial numbers
version requirements, adding, Adding Version Requirements
virtual packages, Virtual Packages
directives
See the directive itself
distribution tag, The distribution Tag
Distribution: tag, The Distribution: Tag
Doug Hoffman
See Hoffman, Doug
environment variables
See scripts, build-time, environment variables in
erasing packages
See rpm -e
Ewing, Marc, Acknowledgements, RPM Version 1, The RPM of Today: Version 2, Let's Get Started
examples building packages
See package building
excludearch tag, The excludearch Tag, The excludexxx Tag
ExcludeArch: tag, The ExcludeArch: Tag
excludeos tag, The excludeos Tag, The excludexxx Tag
ExcludeOs: tag, The ExcludeOs: Tag
exclusivearch tag, The exclusivearch Tag, The exclusivexxx Tag
ExclusiveArch: tag, The ExclusiveArch: Tag
exclusiveos tag, The exclusiveos Tag, The exclusivexxx Tag
ExclusiveOs: tag, The ExclusiveOs: Tag
Faith, Rik, PMS, PM
file attributes verified
See rpm -V, attributes verified
file attributes, specifying, Specifying File Attributes
file, spec
See spec file
files, configuration
See config files
find-provides script, find-provides &#8212; Automatically Determine Shared Library Sonames
find-requires script, find-requires &#8212; Automatically Determine Shared Library Requirements
format, package file
See format, RPM file
format, RPM file, Format of the RPM File
caveats, RPM File Format
file() command,identifying with, Identifying RPM files with the file(1) command
naming convention, RPM File Naming Convention
parts of, Parts of an RPM File
archive, The Archive
header, The Header
header structure, The Solution: The Header Structure
header, analysis of, Analyzing the Header
header, tags used in, Header Tag Listing
lead, The Lead
lead, reduced use of, The lead: An Abandoned Data Structure
signature, The Signature
signature, analysis of, Analyzing the Signature Area
tools for studying, Tools For Studying RPM Files
FTP
package specification using, URLs &#8212; Another Way to Specify Package Files
specifying non-standard port with, URLs &#8212; Another Way to Specify Package Files
specifying username and password with, URLs &#8212; Another Way to Specify Package Files
General Public License
See GPL
GNU General Public License
See GPL
GPL, GNU GENERAL PUBLIC LICENSE
group tag, The group Tag
Group: tag, The Group: Tag
header
See format, RPM file, parts of, header
history, Linux and RPM, Linux and RPM &#8212; A Brief History
Hoffman, Doug, PM
icon tag, The icon Tag
Icon: tag, The Icon: Tag
information
package-wide, Package-wide Information
per-file, Per-file Information
installing packages
See rpm -i
label, package
See package label
lead
See format, RPM file, parts of, lead
library functions, RPM
See rpmlib
Linux and RPM history, Linux and RPM &#8212; A Brief History
Marc Ewing
See Ewing, Marc
multi-platform package building, Building Packages for Multiple Architectures and Operating Systems
features supporting, What Does RPM Do To Make Multi-Platform Packaging Easier?
hints, Hints and Kinks
platform detection, Build and Install Platform Detection
reasons for, Architectures and Operating Systems: A Primer
name tag, The name Tag
Name: tag, The Name: Tag
nopatch tag, The nopatch Tag
NoPatch: tag, The NoPatch: Tag
nosource tag, The nosource Tag
NoSource: tag, The NoSource: Tag
numbers, serial
See dependencies, serial numbers, using
options, command
See the option itself
package
advantages of, Advantages of a Package
building anywhere, Making a Package That Can Build Anywhere
contents of, What's in a package?
labels, RPM's Package Labels
labels vs. names, Labels And Names: Similar, But Distinct
management of
how to, Package Management: How to Do It?
introduction, An Introduction to Package Management
reasons for, Manage Your Packages, or They Will Manage You
reasons for, What are Packages, and Why Manage Them?
relocatable
See relocatable packages
virtual
See dependencies, virtual packages
what is it, Enter the Package
package building
real-world example, Real-World Package Building
%files list, adding, Adding %files Lists
%files list, finalizing, Creating the %files list
build area, creating, Setting Up A Test Build Area
building with RPM, Letting RPM do the Building
building, initial, Initial Building With RPM
directives, adding, Applying Directives
initial build, Initial Building Without RPM
initial build, installing, Installing and testing
initial build, performing, Getting Software to build
installing with RPM, Letting RPM do the Installing
overview, An Overview of Amanda
package files, creating, Package Building
packages, testing, Testing those first packages
patches, applying w/RPM, Getting patches properly applied
patches, generating, Generating patches
scripts, adding built-time, Adding the build-time scripts
scripts, creating, Creating Install Scripts
sources, unpacking w/RPM, Getting the original sources unpacked
spec file, first-cut, Making a first-cut spec file
testing after build, Testing RPM's Handiwork
simple example, Building Packages: A Simple Example
%files list, creating, How Do You Create the File List?
build directory, creating, Creating the Build Directory Structure
package, building, Starting the Build
scripts, %clean, The %clean Section
scripts, install/uninstall, The Install/Uninstall Scripts
sources, obtaining, Getting the Sources
spec file, %build section, The %build Section
spec file, %files list, The %files Section
spec file, %install section, The %install Section
spec file, %prep section, The %prep Section
spec file, creating, Creating the Spec File
spec file, preamble, The Preamble
troubleshooting, When Things Go Wrong
package file format
See format, RPM file
package label, The Package Label, The Package Label &#8212; Verify an Installed Package Against the RPM Database
package-wide information
See information, package-wide
packager tag, The packager Tag
Packager: tag, The Packager: Tag
packages
building
See rpm -b
erasing
See rpm -e
files, verifying
See rpm -K
getting information about
See rpm -q
installing
See rpm -i
querying
See rpm -q
removing
See rpm -e
uninstalling
See rpm -e
upgrading
See rpm -U
verifying installed
See rpm -V
patch tag, The patch Tag
Patch: tag, The Patch: Tag
per-file information
See information, per-file
PGP
building, Building PGP
getting more information on, So Much to Cover, So Little Time
introduction to, An Introduction to PGP
legal, patent issues, Know Your Laws!
obtaining, Obtaining PGP
"international" version, Outside the United States and Canada
RSAREF-based version, Getting RSAREF-based PGP
overview of, PGP &#8212; Privacy for Regular People
RPM's use of, Are RPM Packages Encrypted?
setting up for RPM's use, Installing PGP for RPM's Use
signatures
adding, Adding PGP Signatures to a Package
configuring RPM for, Preparing RPM
key pair generation, Preparing PGP: Creating a Key Pair
reasons for, Why Sign a Package?
signing packages, Signing Packages
platform information, overriding at build-time, Overriding Platform Information At Build-Time
platform information, overriding at install-time, Overriding Platform Information At Install-Time
platform-dependent
conditionals, Platform-Dependent Conditionals
%ifarch, %ifxxx
%ifnarch, %ifnxxx
%ifnos, %ifnxxx
%ifos, %ifxxx
features of, Common Features of All Conditionals
nesting, Conditionals Can Be Nested
rpmrc file entries, Platform-Specific rpmrc Entries
arch_canon, xxx_canon &#8212; Define Canonical Platform Name and Number
arch_compat, xxx_compat &#8212; Define Compatible Architectures
buildarch_translate, buildxxxtranslate &#8212; Define Build Platform
buildos_translate, buildxxxtranslate &#8212; Define Build Platform
optflags, optflags &#8212; The Other rpmrc File Entry
os_canon, xxx_canon &#8212; Define Canonical Platform Name and Number
os_compat, xxx_compat &#8212; Define Compatible Architectures
tags, Platform-Dependent Tags
excludearch, The excludexxx Tag
excludeos, The excludexxx Tag
exclusivearch, The exclusivexxx Tag
exclusiveos, The exclusivexxx Tag
PM
See RPM, ancestors of, PM
PMS
See RPM, ancestors of, PMS
prefix tag, The prefix Tag, The prefix tag: Relocation Central, The Subpackage's "Preamble"
Prefix: tag, The Prefix: Tag
Pretty Good Privacy
See PGP
provides tag, The provides Tag, The provides Tag
Provides: tag, The Provides: Tag
querying packages
See rpm -q
recursion
See recursion
release tag, The release Tag
Release: tag, The Release: Tag
relocatable packages, Making a Relocatable Package
%files list restrictions, %files List Restrictions
building, Building a Relocatable Package
prefix tag, The prefix tag: Relocation Central
reasons for, Why relocatable packages?
requirements, Relocatable Wrinkles: Things to Consider
software requirements, Relocatable Packages Must Contain Relocatable Software
testing, Test-Driving a Relocatable Package
removing packages
See rpm -e
requires tag, The requires Tag, The requires Tag
Requires: tag, The Requires: Tag
Rik Faith
See Faith Rik
root, build
See build roots
RPM
ancestors of, Ancestors of RPM
PM, PM
PMS, PMS
RPM version 1, RPM Version 1
RPM version 2, The RPM of Today: Version 2
RPP, RPP
basics of developing with, The Basics of Developing With RPM
command reference, Concise RPM Command Reference
add signature mode, Add Signature Mode
build mode, Build Mode
check signature mode, Check Signature Mode
erase mode, Erase Mode
global options, Global Options
informational options, Informational Options
initialize database mode, Initalize Database Mode
install mode, Install Mode
query mode, Query Mode
rebuild database mode, Rebuild Database Mode
rebuild mode, Rebuild Mode
recompile mode, Recompile Mode
resign mode, Resign Mode
upgrade mode, Upgrade Mode
verify mode, Verify Mode
creating patches for, Creating the Patches
design goals of, RPM Design Goals
inputs to, The Inputs
patches, The Patches
sources, The Sources
spec file, The Spec File
library functions
See rpmlib
license, RPM's License
mailing list
redhat-digest, The redhat-digest Mailing List
redhat-list, The redhat-list Mailing List
rpm-list, The rpm-list Mailing List
obtaining, Where to Get RPM
files to download, What Do I Need?
FTP sites carrying, FTP Sites
outputs from, The Outputs
binary package, The Binary RPM
source package, The Source Package File
philosophy behind, The Philosophy Behind RPM
ease of use, Easier For Your Users
easy builds, Easy Builds
multi-architecture, Multi-architecture/operating system Support
multi-operating system, Multi-architecture/operating system Support
pristine sources, Pristine Sources
resources related to, RPM-related Resources
spec file
%build section of, The Build Section
%files list, The File List
%install section of, The Install Section
%prep section of, The Prep Section
preamble, The Preamble
scripts, Install and Uninstall Scripts
support, information for, Where to Talk About RPM
what it does, The Engine: RPM
WWW resources, RPM On the World Wide Web
rpm -b, rpm -b Command Reference
build stages of, rpm -b &#8212; What Does it Do?
a, rpm -ba &#8212; Execute %prep, %build, %install, package (bin, src)
b, rpm -bb &#8212; Execute %prep, %build, %install, package (bin)
c, rpm -bc &#8212; Execute %prep, %build
i, rpm -bi &#8212; Execute %prep, %build, %install
l, rpm -bl &#8212; Check %files list
p, rpm -bp &#8212; Execute %prep
options, --short-circuit &#8212; Force build to start at particular stage
related commands, Other Build-related Commands
what it does, rpm -b &#8212; What Does it Do?
rpm -e, Using RPM to Erase Packages
basic command, Erasing a Package
config file handling, rpm -e and Config files
options, Getting More Information With -vv
problems using, Watch Out!
what it does, rpm -e &#8212; What Does it Do?
rpm -i, Using RPM to Install Packages
options, Two handy options
overview, rpm -i &#8212; What does it do?
performing, Performing an Install
warning message, A warning message you might never see
rpm -K, Using RPM to Verify Package Files
additional software used by, Pretty Good Privacy: RPM's Assistant
basic use, Using rpm -K
configuring PGP for use by, Configuring PGP for rpm -K
example of failed verification, When a Package Just Doesn't Verify
options, -v &#8212; Display Additional Information, --nopgp &#8212; Do Not Verify Any PGP Signatures
output when missing public key, When You Are Missing the Correct Public Key
output when package unsigned, When the Package is Not Signed
what it does, rpm -K &#8212; What Does it Do?
rpm -q, Getting Information About Packages
examples using, A Few Handy Queries
finding config files with, Finding Config Files Based on a Program Name
finding documentation with, Finding Documentation for a Specific Package
finding largest packages with, Finding the Largest Installed Packages
finding recently installed packages with, Finding Recently Installed Packages, Part I
finding similar packages with, Finding Similar Packages
information selection options, Query Commands, Part Two: Information Selection
options, Query Commands, Part One: Package Selection
package selection options, Query Commands, Part One: Package Selection
querying uninstalled packages with, Learning More About an Uninstalled Package
what it does, rpm -q &#8212; What does it do?
rpm -U, Using RPM to Upgrade Packages
as replacement for rpm -i, rpm -U's Dirty Little Secret
basic command, Upgrading a Package
config file handling, Config file magic
options, They're Nearly Identical&#8230;
what it does, rpm -U &#8212; What Does it Do?
rpm -V, Using RPM to Verify Installed Packages
attributes verified, File Ownership
file group, File Group
file mode, File Mode
file ownership, File Ownership
file size, File Size
major number, Major Number
MD5 checksum, MD5 Checksum
minor number, Minor Number
modification time, Modification Time
symbolic link, Symbolic Link
options, Selecting What to Verify, and How
output of, When Verification Fails &#8212; rpm -V Output
verification, control of, We've Lied to You&#8230;
what it does, rpm -V &#8212; What Does it Do?
what it verifies, What Does it Verify?
RPM database, rebuilding
See RPM, command reference, rebuild database mode
RPM file format
See format, RPM file
RPM version 1
See RPM, ancestors of, RPM version 1
RPM version 2
See RPM, ancestors of, RPM version 2
rpm2cpio
use of, Using rpm2cpio
extracting files in package, Extracting one or more files from a package file
listing files in package, A more real-world example &#8212; Listing the files in a package file
what it does, rpm2cpio &#8212; What does it do?
rpmlib, The RPM of Today: Version 2
examples using, Example Code
functions
dependency processing, Dependency-Related Operations
error handling, Error Handling
header entry manipulation, Header Entry Manipulation
header iterator, Header Iterator Support
header manipulation, Header Manipulation
output control, Diagnostic Output Control
package information, Getting Package Information
package manipulation, Package Manipulation
package/file verification, Package And File Verification
RPM database manipulation, RPM Database Manipulation
RPM database search, RPM Database Search
RPM database traversal, RPM Database Traversal
rpmrc-related, rpmrc-Related Information
signature verification, Signature Verification
variable manipulation, Variable Manipulation
guide to using, A Guide to the RPM Library API
overview, An Overview of rpmlib
rpmlib functions, list of, rpmlib Functions
dbiFreeIndexRecord(), Free Database Index &#8212; dbiFreeIndexRecord()
headerAddEntry(), Add Entry To Header &#8212; headerAddEntry()
headerCopy(), Copy A Header &#8212; headerCopy()
headerDump(), Print Header Structure In Human-Readable Form &#8212; headerDump()
headerFree(), Deallocate A Header &#8212; headerFree()
headerFreeIterator(), Free An Iterator &#8212; headerFreeIterator()
headerGetEntry(), Get Entry From Header &#8212; headerGetEntry()
headerInitIterator(), Create an Iterator &#8212; headerInitIterator()
headerIsEntry(), Determine If Entry Is In Header &#8212; headerIsEntry()
headerNew(), Create A New Header &#8212; headerNew()
headerNextIterator(), Step To the Next Entry &#8212; headerNextIterator()
headerRead(), Read A Header &#8212; headerRead()
headerSizeof(), Calculate A Header's Size &#8212; headerSizeof()
headerWrite(), Write A Header &#8212; headerWrite()
rpmArchScore(), Return Architecture Compatibility Score &#8212; rpmArchScore()
rpmdbClose(), Close RPM Database &#8212; rpmdbClose()
rpmdbFindByConflicts(), Search RPM Database By Conflicts &#8212; rpmdbFindByConflicts()
rpmdbFindByFile(), Search RPM Database By File &#8212; rpmdbFindByFile()
rpmdbFindByGroup(), Search RPM Database By Group &#8212; rpmdbFindByGroup()
rpmdbFindByProvides(), Search RPM Database By Provides &#8212; rpmdbFindByProvides()
rpmdbFindByRequiredBy(), Search RPM Database By Requires &#8212; rpmdbFindByRequiredBy()
rpmdbFindPackage(), Search RPM Database By Package &#8212; rpmdbFindPackage()
rpmdbFirstRecNum(), Begin RPM Database Traversal &#8212; rpmdbFirstRecNum()
rpmdbGetRecord(), Return Record From RPM Database &#8212; rpmdbGetRecord()
rpmdbInit(), Create RPM Database &#8212; rpmdbInit()
rpmdbNextRecNum(), Traverse To Next RPM Database Record &#8212; rpmdbNextRecNum()
rpmdbOpen(), Open RPM Database &#8212; rpmdbOpen()
rpmdbRebuild(), Rebuild RPM Database &#8212; rpmdbRebuild()
rpmdepAddPackage(), Add a Package Install To the Dependency Data Structure &#8212; rpmdepAddPackage()
rpmdepAvailablePackage(), Add an Available Package To the Dependency Data Structure &#8212; rpmdepAvailablePackage()
rpmdepCheck(), Perform a Dependency Check &#8212; rpmdepCheck()
rpmdepDependencies(), Create a New Dependency Data Structure &#8212; rpmdepDependencies()
rpmdepDone(), Free a Dependency Data Structure &#8212; rpmdepDone()
rpmdepFreeConflicts(), Free Results of rpmdepCheck() &#8212; rpmdepFreeConflicts()
rpmdepRemovePackage(), Add a Package Removal To the Dependency Data Structure &#8212; rpmdepRemovePackage()
rpmdepUpgradePackage(), Add a Package Upgrade To the Dependency Data Structure &#8212; rpmdepUpgradePackage()
rpmErrorCode(), Return Error Code &#8212; rpmErrorCode()
rpmErrorSetCallback(), Set Error CallBack Function &#8212; rpmErrorSetCallback()
rpmErrorString(), Return Error String &#8212; rpmErrorString()
rpmFreeSignature(), Free Signature Read By rpmReadPackageInfo() &#8212; rpmFreeSignature()
rpmGetArchName(), Return Architecture Name &#8212; rpmGetArchName()
rpmGetBooleanVar(), Return Boolean Value Of RPM Variable &#8212; rpmGetBooleanVar()
rpmGetOsName(), Return Operating System Name &#8212; rpmGetOsName()
rpmGetVar(), Return Value of RPM Variable &#8212; rpmGetVar()
rpmGetVerbosity(), Return Verbosity Level &#8212; rpmGetVerbosity()
rpmIncreaseVerbosity(), Increase Verbosity Level &#8212; rpmIncreaseVerbosity()
rpmInstallPackage(), Install Binary Package File &#8212; rpmInstallPackage()
rpmInstallSourcePackage(), Install Source Package File &#8212; rpmInstallSourcePackage()
rpmIsDebug(), Check Debug Level &#8212; rpmIsDebug()
rpmIsVerbose(), Check Verbosity Level &#8212; rpmIsVerbose()
rpmNotifyFunction(), Track Package Installation Progress &#8212; rpmNotifyFunction()
rpmOsScore(), Return Operating System Compatibility Score &#8212; rpmOsScore()
rpmReadConfigFiles(), Read rpmrc Files &#8212; rpmReadConfigFiles()
rpmReadPackageHeader(), Read Package Header &#8212; rpmReadPackageHeader()
rpmReadPackageInfo(), Read Package Information &#8212; rpmReadPackageInfo()
rpmRemovePackage(), Remove Installed Package &#8212; rpmRemovePackage()
rpmSetVar(), Set Value Of RPM Variable &#8212; rpmSetVar()
rpmSetVerbosity(), Set Verbosity Level &#8212; rpmSetVerbosity()
rpmShowRC(), Print all rpmrc-Derived Variables &#8212; rpmShowRC()
rpmVerifyFile(), Verify File &#8212; rpmVerifyFile()
rpmVerifyScript(), Execute Package's %verifyscript Verification Script &#8212; rpmVerifyScript()
rpmVerifySignature(), Verify A Package File's Signature &#8212; rpmVerifySignature()
rpmrc file, The rpmrc File
entries, rpmrc File Entries
arch_canon, xxx_canon &#8212; Define Canonical Platform Name and Number , arch_canon
arch_compat, xxx_compat &#8212; Define Compatible Architectures , arch_compat
buildarchtranslate, buildarchtranslate
buildarch_translate, buildxxxtranslate &#8212; Define Build Platform
builddir, builddir
buildostranslate, buildostranslate
buildos_translate, buildxxxtranslate &#8212; Define Build Platform
buildroot, buildroot
cpiobin, cpiobin
dbpath, dbpath
defaultdocdir, defaultdocdir
distribution, distribution
excludedocs, --excludedocs: Do Not Install Documentation For This Package , excludedocs
ftpport, ftpport
ftpproxy, ftpproxy
messagelevel, messagelevel
netsharedpath, -s &#8212; Display the State of Each File in the Package , netsharedpath
optflags, optflags
os_canon, xxx_canon &#8212; Define Canonical Platform Name and Number , os_canon
os_compat, xxx_compat &#8212; Define Compatible Architectures , os_compat
packager, packager
pgp_name, pgp_name
pgp_path, pgp_path
require_distribution, require_distribution
require_icon, require_icon
require_vendor, require_vendor
rpmdir, rpmdir
signature, signature
sourcedir, sourcedir
specdir, specdir
srcrpmdir, srcrpmdir
timecheck, timecheck
tmppath, tmppath
topdir, topdir
vendor, vendor
locations of, Different Places an rpmrc File Resides
/etc/rpmrc, /etc/rpmrc
/usr/lib/rpmrc, /usr/lib/rpmrc
~/.rpmrc, .rpmrc in the user's login directory
syntax of, rpmrc File Syntax
RPP
See RPM, ancestors of, RPP
scripts
See RPM, spec file, scripts
build-time, Build-time Scripts
environment variables in, Build-time Scripts
install/erase-time, Install/Erase-time Scripts
arguments in, Install/Erase-time Scripts
environment variables in, Install/Erase-time Scripts
verification-time, Verification-Time Script &#8212; The %verifyscript Script
sections of book, Parts of the book, and Who They're For
serial numbers
See dependencies, serial numbers, using
serial tag, The serial Tag
Serial: tag, The Serial: Tag
signature
See format, RPM file, parts of, signature
source package files
installing, So what can I do with it?
use of, Source Package Files and How To Use Them
source tag, The source Tag
Source: tag, The Source: Tag
spec file
%files list directives, Directives For the %files list
%files list in, The %files List, The %files List
-f option, -f <file> &#8212; Read the %files List From <file>
comments in, Comments: Notes Ignored by RPM, Comments
conditionals in, Conditionals
%else, The %else Conditional
%endif, The %endif Conditional
%ifarch, The %ifarch Conditional
%ifnarch, The %ifnarch Conditional
%ifnos, The %ifnos Conditional
%ifos, The %ifos Conditional
contents of, Inside the Spec File, Concise Spec File Reference
directives in
%attr, The %attr Directive
%config, The %config Directive
%dir, The %dir Directive
%doc, The %doc Directive
%docdir, The %docdir Directive
%package, options to, The %package -n Option
%verify, The %verify Directive
macros in, Macros: Helpful Shorthand for Package Builders
%patch, The %patch Macro
%patch, options to, The -P <n> Option
%setup, The %setup Macro
%setup, options to, The -n <name> Option
scriptlets
%build, %build Directive -- Configure and compile components to be packaged.
%clean, %clean Directive -- Remove build components.
%install, %install Directive -- Install components to be packaged.
%post, The %post Script
%postun, %postun Directive
%pre, The %pre Script
%prep, %prep Directive -- Unpack archives and apply patches.
%preun, The %preun Script
%verifyscript, The %verifyscript Script
scripts in, Scripts: RPM's Workhorse
tags in, Tags: Data Definitions
%description, %description Directive -- Describe the packages intended use.
AutoReqProv:, The AutoReqProv: Tag
BuildRoot:, The BuildRoot: Tag
Conflicts:, The Conflicts: Tag
Copyright:, The Copyright: Tag
Distribution:, The Distribution: Tag
ExcludeArch:, The ExcludeArch: Tag
ExcludeOs:, The ExcludeOs: Tag
ExclusiveArch:, The ExclusiveArch: Tag
ExclusiveOs:, The ExclusiveOs: Tag
Group:, The Group: Tag
Icon:, The Icon: Tag
Name:, The Name: Tag
NoSource:, The NoSource: Tag
Packager:, The Packager: Tag
Prefix:, The Prefix: Tag
Provides:, The Provides: Tag
Release:, The Release: Tag
Requires:, The Requires: Tag
Serial:, The Serial: Tag
Source:, The Source: Tag
Summary:, The Summary: Tag
URL:, The URL: Tag
Vendor:, The Vendor: Tag
Version:, The Version: Tag
subpackages, Creating Subpackages
%files list changes, The %files List
%package directive, The %package Directive
-n option, Adding -n To the %package directive
build-time scripts, unchanged, Build-Time Scripts: Unchanged For Subpackages
building, Building Subpackages
definition of, What Are Subpackages?
example requirements, Our Example Spec File: Subpackages Galore!
script changes, Install- and Erase-time Scripts
scripts, testing, Verifying Subpackage-specific Install and Erase Scripts
spec file changes, Spec File Changes For Subpackages
tags required by, Required Tags In Subpackages
testing, Giving Subpackages the Once-Over
why needed, Why Are They Needed?
summary tag, The summary Tag
Summary: tag, The Summary: Tag
tags
%description, The %description Tag
autoreqprov, The autoreqprov Tag
buildroot, The buildroot Tag
conflicts, The conflicts Tag
copyright, The copyright Tag
distribution, The distribution Tag
excludearch, The excludearch Tag
excludeos, The excludeos Tag
exclusivearch, The exclusivearch Tag
exclusiveos, The exclusiveos Tag
group, The group Tag
icon, The icon Tag
name, The name Tag
nopatch, The nopatch Tag
nosource, The nosource Tag
packager, The packager Tag
patch, The patch Tag
prefix, The prefix Tag
provides, The provides Tag
release, The release Tag
requires, The requires Tag
serial, The serial Tag
source, The source Tag
summary, The summary Tag
url, The url Tag
vendor, The vendor Tag
version, The version Tag
tags, --queryformat
See --queryformat option, tags for
tags, dependency-related
See dependencies
Troan, Erik, Acknowledgements, RPM Version 1, The RPM of Today: Version 2, Let's Get Started
uninstalling packages
See rpm -e
upgrading packages
See rpm -U
URL, URLs &#8212; Another Way to Specify Package Files, --ftpport <port>: Use <port> In FTP-based Installs , -p <file> &#8212; Query a Specific RPM Package File , The url Tag, The source Tag, The patch Tag
package specification using, URLs &#8212; Another Way to Specify Package Files
specifying non-standard port with, URLs &#8212; Another Way to Specify Package Files
specifying username and password with, URLs &#8212; Another Way to Specify Package Files
url tag, The url Tag
URL: tag, The URL: Tag
variables, environment
See scripts, build-time, environment variables in
vendor tag, The vendor Tag
Vendor: tag, The Vendor: Tag
verifying installed packages
See rpm -V
verifying package files
See rpm -K
version tag, The version Tag
Version: tag, The Version: Tag
virtual packages
See dependencies, virtual packages