dpkg-buildpackage man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

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

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

SYNOPSIS
       dpkg-buildpackage [option...]

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   ENVIRONMENT),  runs  the  init  hook,  and	 calls
	  dpkg-source --before-build (unless -T or --target has been used).

       2. It checks that the build-dependencies and build-conflicts are satis‐
	  fied (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  runs  the
	  preclean  hook  and  calls  fakeroot debian/rules clean to clean the
	  build-tree (unless -nc is specified).

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

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

       6. It runs the changes hook and calls  dpkg-genchanges  to  generate  a
	  .changes  file.   Many  dpkg-buildpackage  options  are forwarded to
	  dpkg-genchanges.

       7. It runs the postclean hook and if -tc is  specified,	it  will  call
	  fakeroot debian/rules clean again.

       8. It calls dpkg-source --after-build.

       9. It  runs the check hook and calls a package checker for the .changes
	  file (if  a  command	is  specified  in  DEB_CHECK_COMMAND  or  with
	  --check-command).

       10.
	  It  runs  the	 sign hook and calls gpg2 or gpg to sign the .dsc file
	  (if any, unless -us is specified or on UNRELEASED builds),  and  the
	  .changes file (unless -uc is specified or on UNRELEASED builds).

       11.
	  It runs the done hook.

OPTIONS
       -g     Specifies a build limited to source and architecture independent
	      packages (since dpkg 1.17.11).  Passed to dpkg-genchanges.

       -G     Specifies a build limited to source  and	architecture  specific
	      packages (since dpkg 1.17.11).  Passed to dpkg-genchanges.

       -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 indepen‐
	      dent packages. Passed to dpkg-genchanges.

       -S     Specifies a source-only build, no binary	packages  need	to  be
	      made.   Passed  to  dpkg-genchanges.   Note: if what you want is
	      simply to (re-)build the source package,	using  dpkg-source  is
	      always  better  as it does not require any build dependencies to
	      be installed to be able to call the clean target.

       -F     Specifies a normal full build, binary and source	packages  will
	      be  built	 (since dpkg 1.15.8).  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  environ‐
	      ment  and	 stops	the  package  build  process  here (since dpkg
	      1.15.0).	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  (since dpkg 1.15.0).
	      Requires that the target be run with root rights.

       -si
       -sa
       -sd
       -vversion
       -Cchanges-description
       -mmaintainer-address
       -emaintainer-address
	      Passed unchanged to dpkg-genchanges. See its manual page.

       -a, --host-arch architecture
	      Specify the Debian architecture we build for (long option	 since
	      dpkg  1.17.17).	The architecture of the machine we build on is
	      determined automatically, and is also the default for  the  host
	      machine.

       -t, --host-type gnu-system-type
	      Specify the GNU system type we build for (long option since dpkg
	      1.17.17).	 It can be used in place of --host-arch or as  a  com‐
	      plement  to  override  the  default  GNU system type of the host
	      Debian architecture.

       --target-arch architecture
	      Specify the Debian architecture the binaries  built  will	 build
	      for  (since  dpkg	 1.17.17).   The  default  value  is  the host
	      machine.

       --target-type gnu-system-type
	      Specify the GNU system type the binaries built  will  build  for
	      (since  dpkg 1.17.17).  It can be used in place of --target-arch
	      or as a complement to override the default GNU  system  type  of
	      the target Debian architecture.

       -Pprofile[,...]
	      Specify  the  profile(s)	we  build,  as	a comma-separated list
	      (since dpkg 1.17.2).  The default behavior is to	build  for  no
	      specific	profile. Also sets them (as a space separated list) as
	      the DEB_BUILD_PROFILES environment variable  which  allows,  for
	      example,	debian/rules  files to use this information for condi‐
	      tional builds.

       -j[jobs|auto]
	      Number of jobs allowed to be run simultaneously, number of  jobs
	      matching	the  number  of online processors if auto is specified
	      (since dpkg 1.17.10), or unlimited number if jobs is not	speci‐
	      fied,  equivalent	 to the make(1) option of the same name (since
	      dpkg 1.14.7).  Will add  itself  to  the	MAKEFLAGS  environment
	      variable,	 which should cause all subsequent make invocations to
	      inherit the option, thus forcing the  parallel  setting  on  the
	      packaging	 (and  possibly the upstream build system if that uses
	      make) regardless of their support	 for  parallel	builds,	 which
	      might cause build failures.  Also adds parallel=jobs or parallel
	      to  the  DEB_BUILD_OPTIONS  environment  variable	 which	allows
	      debian/rules  files  to  use this information for their own pur‐
	      poses.  The -j value will override the parallel=jobs or parallel
	      option in the DEB_BUILD_OPTIONS environment variable.  Note that
	      the auto value will get replaced by the actual  number  of  cur‐
	      rently active processors, and as such will not get propagated to
	      any child process. If the number of online processors cannot  be
	      inferred	then the code will fallback to using an unlimited num‐
	      ber.

       -J[jobs|auto]
	      This option (since dpkg 1.18.2) is equivalent to the  -j	option
	      except  that it does not set the MAKEFLAGS environment variable,
	      and as such it is safer to use with any package including	 those
	      that are not parallel-build safe.

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

       -d     Do not check build dependencies and conflicts.

       --ignore-builtin-builddeps
	      Do not check built-in build dependencies	and  conflicts	(since
	      dpkg  1.18.2).   These  are  the	distribution specific implicit
	      build dependencies usually required in a build environment,  the
	      so called Build-Essential package set.

       -nc    Do  not  clean  the source tree.	Implies -b if nothing else has
	      been selected among -F, -g, -G, -B, -A or -S.  Implies  -d  with
	      -S (since dpkg 1.18.0).

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

       -rgain-root-command
	      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-sepa‐
	      rated) but no  shell  metacharacters.   gain-root-command	 might
	      typically	 be  fakeroot, sudo, super or really.  su is not suit‐
	      able, 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  (since  dpkg
	      1.14.17).	 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 stan‐
	      dard rules file with another make program (for example by	 using
	      /usr/local/bin/make -f debian/rules as rules-file).

       --check-command=check-command
	      Command  used to check the .changes file itself and any artifact
	      built referenced in the file (since dpkg 1.17.6).	  The  command
	      should  take  the .changes pathname as an argument. This command
	      will usually be lintian.

       --check-option=opt
	      Pass  option   opt   to	the   check-command   specified	  with
	      DEB_CHECK_COMMAND	 or  --check-command (since dpkg 1.17.6).  Can
	      be used multiple times.

       --hook-hook-name=hook-command
	      Set the specified shell code hook-command as the hook hook-name,
	      which  will  run	at the times specified in the run steps (since
	      dpkg 1.17.6).  The hooks will always be  executed	 even  if  the
	      following action is not performed (except for the binary hook).

	      Note:  Hooks can affect the build process, and cause build fail‐
	      ures if their commands fail, so watch out for unintended	conse‐
	      quences.

	      The current hook-name supported are:

	      init  preclean  source build binary changes postclean check sign
	      done

	      The hook-command	supports  the  following  substitution	format
	      string, which will get applied to it before execution:

	      %%     A single % character.

	      %a     A	boolean	 value (0 or 1), representing whether the fol‐
		     lowing action is being performed.

	      %p     The source package name.

	      %v     The source package version.

	      %s     The source package version (without the epoch).

	      %u     The upstream version.

       -psign-command
	      When dpkg-buildpackage needs to execute GPG  to  sign  a	source
	      control  (.dsc) file or a .changes file it will run sign-command
	      (searching the PATH if necessary) instead of gpg2 or gpg.	 sign-
	      command  will  get all the arguments that gpg2 or gpg would have
	      gotten. 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.

       --force-sign
	      Force  the  signing  of the resulting files (since dpkg 1.17.0),
	      regardless of -us or -uc or other internal heuristics.

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

       --source-option=opt
	      Pass option opt to dpkg-source (since dpkg 1.15.6).  Can be used
	      multiple times.

       --changes-option=opt
	      Pass  option opt to dpkg-genchanges (since dpkg 1.15.6).	Can be
	      used multiple times.

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

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

       --version
	      Show the version and exit.

ENVIRONMENT
       DEB_CHECK_COMMAND
	      If  set,	it  will  be used as the command to check the .changes
	      file (since dpkg 1.17.6).	  Overridden  by  the  --check-command
	      option.

       DEB_SIGN_KEYID
	      If  set,	it  will  be  used to sign the .changes and .dsc files
	      (since dpkg 1.17.2).  Overridden by the -k option.

       DEB_BUILD_OPTIONS
	      If set, and containing nocheck  the  DEB_CHECK_COMMAND  variable
	      will be ignored.

       DEB_BUILD_PROFILES
	      If  set,	it will be used as the active build profile(s) for the
	      package being built (since dpkg 1.17.2).	It is  a  space	 sepa‐
	      rated list of profile names.  Overridden by the -P option.

   Reliance on exported environment flags
       Even  if	 dpkg-buildpackage exports some variables, debian/rules should
       not rely on their presence and should instead use the respective inter‐
       face 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.

NOTES
   Compiler flags are no longer exported
       Between	dpkg  1.14.17  and 1.16.1, dpkg-buildpackage exported compiler
       flags (CFLAGS, CXXFLAGS, FFLAGS, CPPFLAGS and LDFLAGS) with  values  as
       returned by dpkg-buildflags. This is no longer the case.

   Default build targets
       dpkg-buildpackage is using the build-arch and build-indep targets since
       dpkg 1.16.2. Those targets are thus mandatory. But to  avoid  breakages
       of  existing  packages,	and  ease  the transition, it will fallback to
       using the build target if make -f debian/rules -qn build-target returns
       2 as exit code.

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

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

Debian Project			  2015-07-05		  dpkg-buildpackage(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net