| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324 |
- .TH dpkg\-buildpackage 1 "2009-06-13" "Debian Project" "dpkg utilities"
- .SH NAME
- dpkg\-buildpackage \- build binary or source packages from sources
- .
- .SH SYNOPSIS
- .B dpkg\-buildpackage
- .RI [ options ]
- .
- .SH DESCRIPTION
- .B dpkg\-buildpackage
- is a program that automates the process of building a Debian package. It
- consists of the following steps:
- .IP \fB1.\fP 3
- It prepares the build environment by setting various environment
- variables (see \fBENVIRONMENT VARIABLES\fP).
- .IP \fB2.\fP 3
- It checks that the build-dependencies and build-conflicts
- are satisfied (unless \fB\-d\fP is specified).
- .IP \fB3.\fP 3
- If a specific target has been selected with the \fB-T\fP or \fB--target\fP
- option, it calls that target and stops here. Otherwise it calls
- \fBfakeroot debian/rules clean\fP to clean the build-tree (unless
- \fB\-nc\fP is specified).
- .IP \fB4.\fP 3
- It calls \fBdpkg-source\fP to generate the source package (unless
- a binary-only build has been requested with \fB\-b\fP, \fB\-B\fP or
- \fB\-A\fP).
- .IP \fB5.\fP 3
- It calls \fBdebian/rules\fP \fBbuild\fP followed by
- \fBfakeroot debian/rules\fP \fIbinary-target\fP (unless a source-only
- build has been requested with \fB\-S\fP). Note that \fIbinary-target\fR is
- either \fBbinary\fP (default case, or if \fB\-b\fP is specified)
- or \fBbinary-arch\fP (if \fB\-B\fP is specified) or \fBbinary-indep\fP
- (if \fB\-A\fP is specified).
- .IP \fB6.\fP 3
- It calls \fBgpg\fP to sign the \fB.dsc\fP file (if any, unless
- \fB\-us\fP is specified).
- .IP \fB7.\fP 3
- It calls \fBdpkg-genchanges\fP to generate a \fB.changes\fP file.
- Many \fBdpkg-buildpackage\fP options are forwarded to
- \fBdpkg-genchanges\fP.
- .IP \fB8.\fP 3
- It calls \fBgpg\fP to sign the \fB.changes\fP file (unless \fB\-uc\fP
- is specified).
- .IP \fB9.\fP 3
- If \fB\-tc\fP is specified, it will call \fBfakeroot debian/rules clean\fP
- again.
- .
- .SH OPTIONS
- .TP
- .B \-b
- Specifies a binary-only build, no source files are to be built and/or
- distributed. Passed to \fBdpkg-genchanges\fP.
- .TP
- .B \-B
- Specifies a binary-only build, limited to architecture dependent packages.
- Passed to \fBdpkg-genchanges\fP.
- .TP
- .B \-A
- Specifies a binary-only build, limited to architecture independent
- packages. Passed to \fBdpkg-genchanges\fP.
- .TP
- .B \-S
- Specifies a source-only build, no binary packages need to be made.
- Passed to \fBdpkg-genchanges\fP.
- .P
- .BI \-\-target= target
- .br
- .BI "\-\-target " target
- .br
- .BI \-T target
- .RS
- Calls \fBdebian/rules\fP \fItarget\fP after having setup the build
- environment and stops the package build process here. If
- \fB\-\-as\-root\fP is also given, then the command is executed
- as root (see \fB\-r\fP). Note that official targets that are required to
- be run as root by the Debian policy do not need this option.
- .RE
- .TP
- .B \-\-as\-root
- Only meaningful together with \fB\-\-target\fP. Requires that the target be
- run with root rights.
- .P
- .B \-si
- .br
- .B \-sa
- .br
- .B \-sd
- .br
- .BI \-v version
- .br
- .BI \-C changesdescription
- .br
- .BI \-m maintaineraddress
- .br
- .BI \-e maintaineraddress
- .RS
- Passed unchanged to \fBdpkg-genchanges\fP. See its manual page.
- .RE
- .TP
- .BI \-a architecture
- 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.
- If the host architecture differs from the build architecture (as is the
- case for a cross-compilation), and if the environment variable
- \fBPKG_CONFIG_LIBDIR\fP is not set, then it is set to a value suitable for
- cross-compilation
- ("/usr/\fIgnu-system-type\fP/lib/pkgconfig/:/usr/share/pkgconfig").
- .TP
- .BI \-t gnu-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 architecture.
- .TP
- .BI \-j jobs
- Number of jobs allowed to be run simultaneously, equivalent to the
- .BR 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 \fBparallel=\fP\fIjobs\fP
- to the DEB_BUILD_OPTIONS environment variable which allows
- debian/rules files to use this information for their own purposes.
- The \fBparallel=\fP\fIjobs\fP in DEB_BUILD_OPTIONS environment variable
- will override the \fB-j\fP value if this option is given.
- .TP
- .B \-D
- Check build dependencies and conflicts; abort if unsatisfied. This is the
- default behavior.
- .TP
- .B \-d
- Do not check build dependencies and conflicts.
- .TP
- .B \-nc
- Do not clean the source tree (implies \fB\-b\fP if nothing else has been
- selected among \fB-B\fP, \fB-A\fP or \fB-S\fP).
- .TP
- .B \-tc
- Clean the source tree (using
- .I gain-root-command
- .BR "debian/rules clean" )
- after the package has been built.
- .TP
- .BI \-r gain-root-command
- When
- .B dpkg\-buildpackage
- needs to execute part of the build process as root, it prefixes the
- command it executes with
- .I gain-root-command
- if one has been specified. Otherwise, if none has been specified,
- \fBfakeroot\fP will be used by default, if the command is present.
- .I gain-root-command
- should start with the name of a program on the
- .B PATH
- and will get as arguments the name of the real command to run and the
- arguments it should take.
- .I gain-root-command
- can include parameters (they must be space-separated) but no shell
- metacharacters.
- .I gain-root-command
- might typically be
- .BR fakeroot ", " sudo ", " super " or " really .
- .B su
- is not suitable, since it can only invoke the user's shell with
- .B \-c
- instead of passing arguments individually to the command to be run.
- .TP
- .BI \-R rules-file
- Building a Debian package usually involves invoking
- .B 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
- .B /usr/local/bin/make -f debian/rules
- as \fIrules-file\fR).
- .TP
- .BI \-p sign-command
- When \fBdpkg\-buildpackage\fP needs to execute GPG or PGP to sign a source
- control (\fB.dsc\fP) file or a \fB.changes\fP file it will run
- \fIsign-command\fP (searching the \fBPATH\fP if necessary) instead of
- \fBgpg\fP. \fIsign-command\fP will get all the arguments that
- \fBpgp\fP would have gotten. If \fIsign-command\fP
- takes its arguments in GPG rather than PGP style, you should give
- the \fB\-sgpg\fP option. \fIsign-command\fP
- should not contain spaces or any other shell metacharacters.
- .TP
- .BI \-k key-id
- Specify a key-ID to use when signing packages.
- .TP
- .BR \-us
- Do not sign the source package.
- .TP
- .BR \-uc
- Do not sign the \fB.changes\fP file.
- .P
- .BR \-i [\fIregexp\fP]
- .br
- .BI \-I [\fIpattern\fP]
- .br
- .BR \-s [ nsAkurKUR ]
- .br
- .BR \-z ", " \-Z
- .br
- .RS
- Passed unchanged to \fBdpkg\-source\fP. See its manual page.
- .RE
- .P
- .BI \-\-admindir= dir
- .br
- .BI "\-\-admindir " dir
- .RS
- Change the location of the \fBdpkg\fR database. The default location is
- \fI/var/lib/dpkg\fP.
- .RE
- .TP
- .BR \-h ", " \-\-help
- Show the usage message and exit.
- .TP
- .BR \-\-version
- Show the version and exit.
- .
- .SH ENVIRONMENT VARIABLES
- .SS Variables set by dpkg-architecture
- \fBdpkg\-architecture\fP is called with the \fB\-a\fP and \fB\-t\fP
- parameters forwarded. Any variable that is output by its \fB\-s\fP
- option is integrated in the build environment.
- .SS Compiler flags
- Some environment variables defining compiler and linker options are
- set to default values unless already present in the environment. Note that
- this mechanism was only introduced in version 1.14.17 of dpkg-dev and
- not all \fIrules\fP files and build tools will honour these variables,
- yet.
- .TP
- .B CFLAGS
- Optimization options which are passed to the Debian build system and
- can/should be overriden by the package build if needed (default value:
- .BR "\-g \-O2" ,
- or
- .BR \-g\ \-O0
- if
- .BR noopt
- is specified in DEB_BUILD_OPTIONS). Overriding options can be
- used to explicitely set a
- higher optimization level, or work around compiler bugs, which only
- can be seen with some optimization levels (the last opt level "wins").
- .TP
- .B CFLAGS_APPEND
- Optimization options appended to the compiler flags, which must not be
- overwritten by the package (mostly used to for test builds). Default
- value: empty.
- .TP
- .B CXXFLAGS
- Same as
- .B CFLAGS
- for C++ sources.
- .TP
- .B CXXFLAGS_APPEND
- Same as
- .B CFLAGS_APPEND
- for C++ sources.
- .TP
- .B FFLAGS
- Same as
- .B CFLAGS
- for Fortran sources.
- .TP
- .B FFLAGS_APPEND
- Same as
- .B CFLAGS_APPEND
- for Fortran sources.
- .TP
- .B CPPFLAGS
- Preprocessor flags which are passed to the Debian build system and
- can/should be overriden by the package build if needed (default:
- empty). This macro is seldom used (most build systems just use
- .B CFLAGS
- instead of
- .BR CPPFLAGS ).
- .TP
- .B CPPFLAGS_APPEND
- Preprocessor flags appended to the preprocessor flags, which must not
- be overwritten by the package (mostly used to for test
- builds). Default value: empty.
- .TP
- .B LDFLAGS
- Options passed to the compiler when linking executables or shared
- objects (if the linker is called directly, then
- .B -Wl
- and
- .B ,
- have to be stripped from these options). Default value: empty.
- .TP
- .B LDFLAGS_APPEND
- Optimization options appended to the compiler flags when linking code,
- which must not be overwritten by the package (mostly used to for test
- builds). Default value: empty.
- .
- .SH BUGS
- It should be possible to specify spaces and shell metacharacters in
- and initial arguments for
- .IR gain-root-command " and " sign-command .
- .
- .SH "SEE ALSO"
- .BR dpkg\-source (1),
- .BR dpkg\-architecture (1),
- .BR dpkg\-genchanges (1),
- .BR fakeroot (1),
- .BR gpg (1).
- .
- .SH AUTHORS
- Copyright \(co 1995-1996 Ian Jackson
- .br
- Copyright \(co 2000 Wichert Akkerman
- .br
- Copyright \(co 2007 Frank Lichtenheld
- .br
- Copyright \(co 2008 Rapha\[:e]l Hertzog
- .sp
- This is free software; see the GNU General Public Licence version 2 or later
- for copying conditions. There is NO WARRANTY.
|