Provided by: dpkg-dev_1.16.1.2ubuntu7_all bug


       dpkg-buildpackage - build binary or source packages from sources


       dpkg-buildpackage [option...]


       dpkg-buildpackage is a program that automates the process of building a Debian package. It
       consists of the following steps:

       1. It prepares the  build  environment  by  setting  various  environment  variables  (see
          ENVIRONMENT)  and  calls  dpkg-source  --before-build  (unless  -T or --target has been

       2. It checks that the build-dependencies and build-conflicts are satisfied (unless  -d  is

       3. If  a  specific  target has been selected with the -T or --target option, it calls that
          target and stops here. Otherwise it calls fakeroot  debian/rules  clean  to  clean  the
          build-tree (unless -nc is specified).

       4. It  calls dpkg-source -b to generate the source package (unless a binary-only build has
          been requested with -b, -B or -A).

       5. It calls debian/rules build followed by fakeroot debian/rules binary-target  (unless  a
          source-only build has been requested with -S). Note that binary-target is either binary
          (default case, or  if  -b  is  specified)  or  binary-arch  (if  -B  is  specified)  or
          binary-indep (if -A is specified).

       6. It calls gpg to sign the .dsc file (if any, unless -us is specified).

       7. It  calls  dpkg-genchanges to generate a .changes file.  Many dpkg-buildpackage options
          are forwarded to dpkg-genchanges.

       8. It calls gpg to sign the .changes file (unless -uc is specified).

       9. If -tc is specified, it will call fakeroot debian/rules clean again. Finally  it  calls
          dpkg-source --after-build.


       -b     Specifies  a binary-only build, no source files are to be built and/or distributed.
              Passed to dpkg-genchanges.

       -B     Specifies a binary-only build, limited to architecture dependent packages.   Passed
              to dpkg-genchanges.

       -A     Specifies a binary-only build, limited to architecture independent packages. Passed
              to dpkg-genchanges.

       -S     Specifies a source-only build, no binary packages  need  to  be  made.   Passed  to

       -F     Specifies  a  normal full build, binary and source packages will be built.  This is
              the same as the default case when no build option is specified.

       --target target
              Calls debian/rules target after having setup the build environment  and  stops  the
              package  build  process  here.  If  --as-root  is  also  given, then the command is
              executed as root (see -r). Note that official targets that are required to  be  run
              as root by the Debian policy do not need this option.

              Only  meaningful  together with --target. Requires that the target be run with root

              Passed unchanged to dpkg-genchanges. See its manual page.

              Specify the Debian architecture we build for. The architecture of  the  machine  we
              build on is determined automatically, and is also the default for the host machine.

              Specify  the  GNU  system  type we build for. It can be used in place of -a or as a
              complement  to  override  the  default  GNU  system  type  of  the  target   Debian

       -jjobs Number  of  jobs allowed to be run simultaneously, equivalent to the make(1) option
              of the same name. Will add itself to  the  MAKEFLAGS  environment  variable,  which
              should  cause  all  subsequent  make  invocations  to inherit the option. Also adds
              parallel=jobs  to  the  DEB_BUILD_OPTIONS   environment   variable   which   allows
              debian/rules   files   to  use  this  information  for  their  own  purposes.   The
              parallel=jobs in DEB_BUILD_OPTIONS environment variable will override the -j  value
              if this option is given.

       -D     Check  build  dependencies and conflicts; abort if unsatisfied. This is the default

       -d     Do not check build dependencies and conflicts.

       -nc    Do not clean the source tree (implies -b if nothing else has  been  selected  among
              -B, -A or -S).

       -tc    Clean  the  source  tree  (using  gain-root-command  debian/rules  clean) after the
              package has been built.

              When dpkg-buildpackage needs to execute part of  the  build  process  as  root,  it
              prefixes  the command it executes with gain-root-command if one has been specified.
              Otherwise, if none has been specified, fakeroot will be used  by  default,  if  the
              command  is  present.  gain-root-command should start with the name of a program on
              the PATH and will get as arguments the name of the real  command  to  run  and  the
              arguments  it  should take.  gain-root-command can include parameters (they must be
              space-separated) but no shell metacharacters.  gain-root-command might typically be
              fakeroot,  sudo, super or really.  su is not suitable, since it can only invoke the
              user's shell with -c instead of passing arguments individually to the command to be

              Building  a Debian package usually involves invoking debian/rules as a command with
              several standard parameters. With this option it's possible to use another  program
              invocation  to  build  the  package  (it  can  include space separated parameters).
              Alternatively it can be used to execute the standard rules file with  another  make
              program (for example by using /usr/local/bin/make -f debian/rules as rules-file).

              When  dpkg-buildpackage needs to execute GPG or PGP to sign a source control (.dsc)
              file or a .changes file it will run sign-command (searching the PATH if  necessary)
              instead of gpg. sign-command will get all the arguments that pgp would have gotten.
              If sign-command takes its arguments in GPG rather than PGP style, you  should  give
              the  -sgpg  option.  sign-command  should  not  contain  spaces  or any other shell

              Specify a key-ID to use when signing packages.

       -us    Do not sign the source package.

       -uc    Do not sign the .changes file.

       -z, -Z
              Passed unchanged to dpkg-source. See its manual page.

              Pass option opt to dpkg-source.

              Pass option opt to dpkg-genchanges.

       --admindir dir
              Change the location of the dpkg database. The default location is /var/lib/dpkg.

       -h, --help
              Show the usage message and exit.

              Show the version and exit.


       Even if dpkg-buildpackage exports some variables, debian/rules should not  rely  on  their
       presence and should instead use the respective interface to retrieve the needed values.

   Variables set by dpkg-architecture
       dpkg-architecture  is called with the -a and -t parameters forwarded. Any variable that is
       output by its -s option is integrated in the build environment.

   Compiler flags
       The CFLAGS, CXXFLAGS, FFLAGS, CPPFLAGS and LDFLAGS environment variables are  set  to  the
       values that dpkg-buildflags returned. See its manual page for more information.


       It  should be possible to specify spaces and shell metacharacters in and initial arguments
       for gain-root-command and sign-command.


       dpkg-source(1), dpkg-architecture(1), dpkg-buildflags(1), dpkg-genchanges(1), fakeroot(1),


       Copyright © 1995-1996 Ian Jackson
       Copyright © 2000 Wichert Akkerman
       Copyright © 2007 Frank Lichtenheld
       Copyright © 2008-2010 Raphaël Hertzog

       This  is  free software; see the GNU General Public Licence version 2 or later for copying
       conditions. There is NO WARRANTY.