rpmbuild - Build RPM Package(s)
SYNOPSIS
BUILDING PACKAGES:
rpmbuild {-ba|-bb|-bp|-bc|-bi|-bl|-bs} [rpmbuild-options]
SPECFILE ...
rpmbuild {-ta|-tb|-tp|-tc|-ti|-tl|-ts} [rpmbuild-options]
TARBALL ...
rpmbuild {--rebuild|--recompile} SOURCEPKG ...
MISCELLANEOUS:
rpmbuild {--showrc}
RPMBUILD-OPTIONS
[--buildroot DIRECTORY] [--clean] [--nobuild] [--rmsource]
[--rmspec] [--short-circuit] [--sign] [--target PLATFORM]
DESCRIPTION
rpmbuild is used to build both binary and source software
packages. A package consists of an archive of files and
meta-data used to install and erase the archive files. The
meta-data includes helper scripts, file attributes, and
descriptive information about the package. Packages come
in two varieties: binary packages, used to encapsulate
software to be installed, and source packages, containing
the source code and recipe necessary to produce binary
packages.
One of the following basic modes must be selected: Build
Package, Build Package from Tarball, Recompile Package,
Show Configuration.
GENERAL OPTIONS
These options can be used in all the different modes.
-?, --help
Print a longer usage message then normal.
--version
Print a single line containing the version number
of rpm being used.
--quiet
Print as little as possible - normally only error
messages will be displayed.
-v Print verbose information - normally routine
progress messages will be displayed.
-vv Print lots of ugly debugging information.
Each of the files in the colon separated FILELIST
is read sequentially by rpm for configuration
information. Only the first file in the list must
exist, and tildes will be expanded to the value of
$HOME. The default FILELIST is
/usr/lib/rpm/rpmrc:/etc/rpmrc:~/.rpmrc.
--pipe CMD
Pipes the output of rpm to the command CMD.
--dbpath DIRECTORY
Use the database in DIRECTORY rathen than the
default path /var/lib/rpm
--root DIRECTORY
Use the system rooted at DIRECTORY for all opera
tions. Note that this means the database will be
read or modified under DIRECTORY and any %pre or
%post scriptlet(s) are run after a chroot(2) to
DIRECTORY.
BUILD OPTIONS
The general form of an rpm build command is
rpmbuild {-bSTAGE|-tSTAGE} [rpmbuild-options] FILE ...
The argument used is -b if a spec file is being used to
build the package and -t if rpmbuild should look inside of
a (possibly compressed) tar file for the spec file to use.
After the first argument, the next character (STAGE) spec
ifies the stages of building and packaging to be done and
is one of:
-ba Build binary and source packages (after doing the
%prep, %build, and %install stages).
-bb Build a binary package (after doing the %prep,
%build, and %install stages).
-bp Executes the "%prep" stage from the spec file. Nor
mally this involves unpacking the sources and
applying any patches.
-bc Do the "%build" stage from the spec file (after
doing the %prep stage). This generally involves
the equivalent of a "make".
-bi Do the "%install" stage from the spec file (after
doing the %prep and %build stages). This generally
involves the equivalent of a "make install".
-bl Do a "list check". The "%files" section from the
spec file is macro expanded, and checks are made to
-bs Build just the source package.
The following options may also be used:
--buildroot DIRECTORY
When building a package, override the BuildRoot tag
with directory DIRECTORY.
--clean
Remove the build tree after the packages are made.
--nobuild
Do not execute any build stages. Useful for testing
out spec files.
--rmsource
Remove the sources after the build (may also be
used standalone, e.g. "rpmbuild --rmsource
foo.spec").
--rmspec
Remove the spec file after the build (may also be
used standalone, eg. "rpmbuild --rmspec foo.spec").
--short-circuit
Skip straight to specified stage (i.e., skip all
stages leading up to the specified stage). Only
valid with -bc and -bi.
--sign Embed a GPG signature in the package. This signa
ture can be used to verify the integrity and the
origin of the package. See the section on GPG SIG
NATURES for configuration details.
--target PLATFORM
When building the package, interpret PLATFORM as
arch-vendor-os and set the macros %_target, %_tar
get_arch, and %_target_os accordingly.
REBUILD AND RECOMPILE OPTIONS
There are two other ways to invoke building with rpm:
rpmbuild {--rebuild|--recompile} SOURCEPKG ...
When invoked this way, rpmbuild installs the named source
package, and does a prep, compile and install. In addi
tion, --rebuild builds a new binary package. When the
build has completed, the build directory is removed (as in
--clean) and the the sources and spec file for the package
are removed.
The command
rpmbuild --showrc
shows the values rpmbuild will use for all of the options
are currently set in rpmrc and macros configuration
file(s).
FILES
/usr/lib/rpm/rpmrc
/etc/rpmrc
~/.rpmrc
/usr/lib/rpm/macros
/etc/rpm/macros
~/.rpmmacros
/var/lib/rpm/Conflictname
/var/lib/rpm/Basenames
/var/lib/rpm/Group
/var/lib/rpm/Name
/var/lib/rpm/Packages
/var/lib/rpm/Providename
/var/lib/rpm/Requirename
/var/lib/rpm/Triggername
/var/tmp/rpm*
SEE ALSO
popt(3),
rpm2cpio(8),
gendiff(1),
rpm(8),
http://www.rpm.org/ <URL:http://www.rpm.org/>
AUTHORS
Marc Ewing <marc@redhat.com>
Erik Troan <ewt@redhat.com>
Man(1) output converted with
man2html