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