Unix/Linux Go Back    


Linux 2.6 - man page for dpkg-buildpackage (linux section 1)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


dpkg-buildpackage(1)			  dpkg utilities		     dpkg-buildpackage(1)

NAME
       dpkg-buildpackage - build binary or source packages from sources

SYNOPSIS
       dpkg-buildpackage [options]

DESCRIPTION
       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  ENVI-
	  RONMENT) and calls dpkg-source --before-build (unless -T or --target has been used).

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

       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.

OPTIONS
       -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 dpkg-
	      genchanges.

       -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
       --target target
       -Ttarget
	      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  exe-
	      cuted  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.

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

       -si
       -sa
       -sd
       -vversion
       -Cchangesdescription
       -mmaintaineraddress
       -emaintaineraddress
	      Passed unchanged to dpkg-genchanges. See its manual page.

       -aarchitecture
	      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.

       -tgnu-system-type
	      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 architec-
	      ture.

       -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  par-
	      allel=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
	      behavior.

       -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  pack-
	      age has been built.

       -rgain-root-command
	      When  dpkg-buildpackage needs to execute part of the build process as root, it pre-
	      fixes 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
	      run.

       -Rrules-file
	      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).

       -psign-command
	      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
	      metacharacters.

       -kkey-id
	      Specify a key-ID to use when signing packages.

       -us    Do not sign the source package.

       -uc    Do not sign the .changes file.

       -i[regexp]
       -I[pattern]
       -s[nsAkurKUR]
       -z, -Z
	      Passed unchanged to dpkg-source. See its manual page.

       --source-option=opt
	      Pass option opt to dpkg-source.

       --changes-option=opt
	      Pass option opt to dpkg-genchanges.

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

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

       --version
	      Show the version and exit.

ENVIRONMENT
       Even  if  dpkg-buildpackage  export  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.

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

SEE ALSO
       dpkg-source(1), dpkg-architecture(1), dpkg-genchanges(1), fakeroot(1), gpg(1).

AUTHORS
       Copyright (C) 1995-1996 Ian Jackson
       Copyright (C) 2000 Wichert Akkerman
       Copyright (C) 2007 Frank Lichtenheld
       Copyright (C) 2008-2010 Raphael Hertzog

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

Debian Project				    2010-07-29			     dpkg-buildpackage(1)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 09:16 AM.