chiark / gitweb /
awful debugging hacking
[dpkg] / man / dpkg-buildpackage.man
1 .\" dpkg manual page - dpkg-buildpackage(1)
2 .\"
3 .\" Copyright © 1995-1996 Ian Jackson
4 .\" Copyright © 2000 Wichert Akkerman <wakkerma@debian.org>
5 .\" Copyright © 2007-2008 Frank Lichtenheld <djpig@debian.org>
6 .\" Copyright © 2008-2015 Guillem Jover <guillem@debian.org>
7 .\" Copyright © 2008-2012 Raphaël Hertzog <hertzog@debian.org>
8 .\"
9 .\" This is free software; you can redistribute it and/or modify
10 .\" it under the terms of the GNU General Public License as published by
11 .\" the Free Software Foundation; either version 2 of the License, or
12 .\" (at your option) any later version.
13 .\"
14 .\" This is distributed in the hope that it will be useful,
15 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
16 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 .\" GNU General Public License for more details.
18 .\"
19 .\" You should have received a copy of the GNU General Public License
20 .\" along with this program.  If not, see <https://www.gnu.org/licenses/>.
21 .
22 .TH dpkg\-buildpackage 1 "%RELEASE_DATE%" "%VERSION%" "dpkg suite"
23 .nh
24 .SH NAME
25 dpkg\-buildpackage \- build binary or source packages from sources
26 .
27 .SH SYNOPSIS
28 .B dpkg\-buildpackage
29 .RI [ option ...]
30 .
31 .SH DESCRIPTION
32 .B dpkg\-buildpackage
33 is a program that automates the process of building a Debian package. It
34 consists of the following steps:
35 .IP \fB1.\fP 3
36 It prepares the build environment by setting various environment
37 variables (see \fBENVIRONMENT\fP), runs the \fBinit\fP hook, and calls
38 \fBdpkg\-source \-\-before\-build\fP (unless \fB\-T\fP or \fB\-\-target\fP
39 has been used).
40 .IP \fB2.\fP 3
41 It checks that the build-dependencies and build-conflicts
42 are satisfied (unless \fB\-d\fP or \fB\-\-no\-check\-builddeps\fP is specified).
43 .IP \fB3.\fP 3
44 If one or more specific targets have been selected with the \fB\-T\fP or
45 \fB\-\-target\fP option, it calls those targets and stops here. Otherwise it
46 runs the \fBpreclean\fP hook and calls \fBfakeroot debian/rules clean\fP to
47 clean the build-tree (unless \fB\-nc\fP or \fB\-\-no\-pre\-clean\fP
48 is specified).
49 .IP \fB4.\fP 3
50 It runs the \fBsource\fP hook and calls \fBdpkg\-source \-b\fP to generate
51 the source package (if a \fBsource\fP build has been requested with
52 \fB\-\-build\fP or equivalent options).
53 .IP \fB5.\fP 3
54 It runs the \fBbuild\fP hook and calls \fBdebian/rules\fP \fIbuild-target\fP,
55 then runs the \fBbinary\fP hook followed by \fBfakeroot debian/rules\fP
56 \fIbinary-target\fP (unless a source-only build has been requested with
57 \fB\-\-build=source\fP or equivalent options).
58 Note that \fIbuild-target\fR and \fIbinary-target\fP are either \fBbuild\fP
59 and \fBbinary\fP (default case, or if an \fBany\fP and \fBall\fP build
60 has been requested with \fB\-\-build\fP or equivalent options), or
61 \fBbuild\-arch\fP and \fBbinary\-arch\fP (if an \fBany\fP and not \fBall\fP
62 build has been requested with \fB\-\-build\fP or equivalent options), or
63 \fBbuild\-indep\fP and \fBbinary\-indep\fP (if an \fBall\fP and not \fBany\fP
64 build has been requested with \fB\-\-build\fP or equivalent options).
65 .IP \fB6.\fP 3
66 It runs the \fBbuildinfo\fP
67 hook and calls \fBdpkg\-genbuildinfo\fP to generate a \fB.buildinfo\fP file.
68 Several \fBdpkg\-buildpackage\fP options are forwarded to
69 \fBdpkg\-genbuildinfo\fP.
70 .IP \fB7.\fP 3
71 It runs the \fBchanges\fP hook and calls \fBdpkg\-genchanges\fP to
72 generate a \fB.changes\fP file.
73 The name of the \fB.changes\fP file will depend on the type of build and
74 will be as specific as necessary but not more;
75 for a build that includes \fBany\fP the name will be
76 \fIsource-name\fP\fB_\fP\fIbinary-version\fP\fB_\fP\fIarch\fP\fB.changes\fP,
77 or otherwise for a build that includes \fBall\fP the name will be
78 \fIsource-name\fP\fB_\fP\fIbinary-version\fP\fB_\fP\fBall.changes\fP,
79 or otherwise for a build that includes \fBsource\fP the name will be
80 \fIsource-name\fP\fB_\fP\fIsource-version\fP\fB_\fP\fBsource.changes\fP.
81 Many \fBdpkg\-buildpackage\fP options are forwarded to
82 \fBdpkg\-genchanges\fP.
83 .IP \fB8.\fP 3
84 It runs the \fBpostclean\fP hook and if \fB\-tc\fP or \fB\-\-post\-clean\fP
85 is specified, it will call \fBfakeroot debian/rules clean\fP again.
86 .IP \fB9.\fP 3
87 It calls \fBdpkg\-source \-\-after\-build\fP.
88 .IP \fB10.\fP 3
89 It runs the \fBcheck\fP hook and calls a package checker for the
90 \fB.changes\fP file (if a command is specified in \fBDEB_CHECK_COMMAND\fP or
91 with \fB\-\-check\-command\fP).
92 .IP \fB11.\fP 3
93 It runs the \fBsign\fP hook and calls \fBgpg2\fP or \fBgpg\fP (as long as it
94 is not an UNRELEASED build, or \fB\-\-no\-sign\fP is specified) to sign the
95 \fB.dsc\fP file (if any, unless
96 \fB\-us\fP or \fB\-\-unsigned\-source\fP is specified), the \fB.buildinfo\fP
97 file (unless \fB\-ui\fP, \fB\-\-unsigned\-buildinfo\fP,
98 \fB\-uc\fP or \fB\-\-unsigned\-changes\fP is specified) and
99 the \fB.changes\fP file (unless \fB\-uc\fP or \fB\-\-unsigned\-changes\fP
100 is specified).
101 .IP \fB12.\fP 3
102 It runs the \fBdone\fP hook.
103 .
104 .SH OPTIONS
105 All long options can be specified both on the command line and in the
106 \fBdpkg\-buildpackage\fP system and user configuration files.
107 Each line in the configuration file is either an option (exactly the same
108 as the command line option but without leading hyphens) or a comment (if
109 it starts with a ‘\fB#\fP’).
110
111 .TP
112 .BI \-\-build= type
113 Specifies the build \fItype\fP from a comma-separated list of components
114 (since dpkg 1.18.5).
115 Passed to \fBdpkg\-genchanges\fP.
116
117 The allowed values are:
118 .RS
119 .TP
120 .B source
121 Builds the source package.
122 Note: when using this value standalone and if what you want is simply to
123 (re-)build the source package, using \fBdpkg\-source\fP is always better
124 as it does not require any build dependencies to be installed to be able
125 to call the \fBclean\fP target.
126 .TP
127 .B any
128 Builds the architecture specific binary packages.
129 .TP
130 .B all
131 Builds the architecture independent binary packages.
132 .TP
133 .B binary
134 Builds the architecture specific and independent binary packages.
135 This is an alias for \fBany,all\fP.
136 .TP
137 .B full
138 Builds everything.
139 This is an alias for \fBsource,any,all\fP, and the same as the default
140 case when no build option is specified.
141 .RE
142 .TP
143 .B \-g
144 Equivalent to \fB\-\-build=source,all\fP (since dpkg 1.17.11).
145 .TP
146 .B \-G
147 Equivalent to \fB\-\-build=source,any\fP (since dpkg 1.17.11).
148 .TP
149 .B \-b
150 Equivalent to \fB\-\-build=binary\fP or \fB\-\-build=any,all\fP.
151 .TP
152 .B \-B
153 Equivalent to \fB\-\-build=any\fP.
154 .TP
155 .B \-A
156 Equivalent to \fB\-\-build=all\fP.
157 .TP
158 .B \-S
159 Equivalent to \fB\-\-build=source\fP.
160 .TP
161 .B \-F
162 Equivalent to \fB\-\-build=full\fP, \fB\-\-build=source,binary\fP or
163 \fB\-\-build=source,any,all\fP (since dpkg 1.15.8).
164 .TP
165 .BR \-\-target= \fItarget\fP[,...]
166 .TQ
167 .BR "\-\-target " \fItarget\fP[,...]
168 .TQ
169 .BR \-T ", " \-\-rules\-target= \fItarget\fP[,...]
170 Calls \fBdebian/rules\fP \fItarget\fP once per target specified, after
171 having setup the build environment (except for calling
172 \fBdpkg\-source \-\-before\-build\fP), and stops the package build process
173 here (since dpkg 1.15.0, long option since dpkg 1.18.8, multi-target
174 support since dpkg 1.18.16).
175 If \fB\-\-as\-root\fP is also given, then the command is executed
176 as root (see \fB\-\-root\-command\fP).
177 Note that known targets that are required to
178 be run as root do not need this option (i.e. the \fBclean\fP, \fBbinary\fP,
179 \fBbinary\-arch\fP and \fBbinary\-indep\fP targets).
180 .TP
181 .B \-\-as\-root
182 Only meaningful together with \fB\-\-target\fP (since dpkg 1.15.0).
183 Requires that the target be run with root rights.
184 .TP
185 .B \-si
186 .TQ
187 .B \-sa
188 .TQ
189 .B \-sd
190 .TQ
191 .BI \-v version
192 .TQ
193 .BI \-C changes-description
194 .TQ
195 .BR \-m ", " \-\-release\-by= \fImaintainer-address\fP
196 .TQ
197 .BR \-e ", " \-\-build\-by= \fImaintainer-address\fP
198 Passed unchanged to \fBdpkg\-genchanges\fP. See its manual page.
199 .TP
200 .BR \-a ", " \-\-host\-arch " \fIarchitecture\fP"
201 Specify the Debian architecture we build for (long option since dpkg 1.17.17).
202 The architecture of the
203 machine we build on is determined automatically, and is also the default
204 for the host machine.
205 .TP
206 .BR \-t ", " \-\-host\-type " \fIgnu-system-type\fP"
207 Specify the GNU system type we build for (long option since dpkg 1.17.17).
208 It can be used in place
209 of \fB\-\-host\-arch\fP or as a complement to override the default GNU system type
210 of the host Debian architecture.
211 .TP
212 .BR \-\-target\-arch " \fIarchitecture\fP"
213 Specify the Debian architecture the binaries built will build for
214 (since dpkg 1.17.17).
215 The default value is the host machine.
216 .TP
217 .BR \-\-target\-type " \fIgnu-system-type\fP"
218 Specify the GNU system type the binaries built will build for
219 (since dpkg 1.17.17).
220 It can be
221 used in place of \fB\-\-target\-arch\fP or as a complement to override the
222 default GNU system type of the target Debian architecture.
223 .TP
224 .BR \-P ", " \-\-build\-profiles= \fIprofile\fP[ , ...]
225 Specify the profile(s) we build, as a comma-separated list (since dpkg 1.17.2,
226 long option since dpkg 1.18.8).
227 The default
228 behavior is to build for no specific profile. Also sets them (as a space
229 separated list) as the \fBDEB_BUILD_PROFILES\fP environment variable which
230 allows, for example, \fBdebian/rules\fP files to use this information for
231 conditional builds.
232 .TP
233 .BR \-j ", " \-\-jobs [=\fIjobs\fP|\fBauto\fP]
234 Number of jobs allowed to be run simultaneously, number of jobs matching
235 the number of online processors if \fBauto\fP is specified
236 (since dpkg 1.17.10), or unlimited number if \fIjobs\fP is not specified,
237 equivalent to the
238 .BR make (1)
239 option of the same name (since dpkg 1.14.7, long option since dpkg 1.18.8).
240 Will add itself to the \fBMAKEFLAGS\fP
241 environment variable, which should cause all subsequent make
242 invocations to inherit the option, thus forcing the parallel setting on
243 the packaging (and possibly the upstream build system if that uses make)
244 regardless of their support for parallel builds, which might cause build
245 failures.
246 Also adds \fBparallel=\fP\fIjobs\fP or
247 \fBparallel\fP to the \fBDEB_BUILD_OPTIONS\fP environment variable which
248 allows debian/rules files to use this information for their own purposes.
249 The \fB\-j\fP value will override the \fBparallel=\fP\fIjobs\fP or
250 \fBparallel\fP option in the \fBDEB_BUILD_OPTIONS\fP environment variable.
251 Note that the \fBauto\fP value will get replaced by the actual number of
252 currently active processors, and as such will not get propagated to any
253 child process. If the number of online processors cannot be inferred then
254 the code will fallback to using serial execution (since dpkg 1.18.15),
255 although this should only happen on exotic and unsupported systems.
256 .TP
257 .BR \-J ", " \-\-jobs\-try [=\fIjobs\fP|\fBauto\fP]
258 This option (since dpkg 1.18.2, long option since dpkg 1.18.8) is equivalent
259 to the \fB\-j\fP option except that it does not set the \fBMAKEFLAGS\fP
260 environment variable, and as such it is safer to use with any package
261 including those that are not parallel-build safe.
262
263 \fBauto\fP is the default behavior (since dpkg 1.18.11). Setting the number
264 of jobs to 1 will restore a serial behavior.
265 .TP
266 .BR \-D ", " \-\-check\-builddeps
267 Check build dependencies and conflicts; abort if unsatisfied (long option
268 since dpkg 1.18.8).
269 This is the default behavior.
270 .TP
271 .BR \-d ", " \-\-no\-check\-builddeps
272 Do not check build dependencies and conflicts (long option since dpkg 1.18.8).
273 .TP
274 .B \-\-ignore\-builtin\-builddeps
275 Do not check built-in build dependencies and conflicts (since dpkg 1.18.2).
276 These are the distribution specific implicit build dependencies usually
277 required in a build environment, the so called Build-Essential package set.
278 .TP
279 .BR \-nc ", " \-\-no\-pre\-clean
280 Do not clean the source tree (long option since dpkg 1.18.8).
281 Implies \fB\-b\fP if nothing else has been selected among \fB\-F\fP,
282 \fB\-g\fP, \fB\-G\fP, \fB\-B\fP, \fB\-A\fP or \fB\-S\fP.
283 Implies \fB\-d\fP with \fB\-S\fP (since dpkg 1.18.0).
284 .TP
285 .BR \-\-pre\-clean
286 Clean the source tree before building (since dpkg 1.18.8).
287 .TP
288 .BR \-tc ", " \-\-post\-clean
289 Clean the source tree (using
290 .I gain-root-command
291 .BR "debian/rules clean" )
292 after the package has been built (long option since dpkg 1.18.8).
293 .TP
294 .BR \-r ", " \-\-root\-command= \fIgain-root-command\fP
295 When
296 .B dpkg\-buildpackage
297 needs to execute part of the build process as root, it prefixes the
298 command it executes with
299 .I gain-root-command
300 if one has been specified (long option since dpkg 1.18.8).
301 Otherwise, if none has been specified,
302 \fBfakeroot\fP will be used by default, if the command is present.
303 .I gain-root-command
304 should start with the name of a program on the
305 .B PATH
306 and will get as arguments the name of the real command to run and the
307 arguments it should take.
308 .I gain-root-command
309 can include parameters (they must be space-separated) but no shell
310 metacharacters.
311 .I gain-root-command
312 might typically be
313 .BR fakeroot ", " sudo ", " super " or " really .
314 .B su
315 is not suitable, since it can only invoke the user's shell with
316 .B \-c
317 instead of passing arguments individually to the command to be run.
318 .TP
319 .BR \-R ", " \-\-rules-file= \fIrules-file\fP
320 Building a Debian package usually involves invoking
321 .B debian/rules
322 as a command with several standard parameters (since dpkg 1.14.17,
323 long option since dpkg 1.18.8).
324 With this option it's
325 possible to use another program invocation to build the package (it can
326 include space separated parameters).
327 Alternatively it can be used to execute the standard rules file with
328 another make program (for example by using
329 .B /usr/local/bin/make \-f debian/rules
330 as \fIrules-file\fR).
331 .TP
332 .BI \-\-check\-command= check-command
333 Command used to check the \fB.changes\fP file itself and any artifact built
334 referenced in the file (since dpkg 1.17.6).
335 The command should take the \fB.changes\fP pathname
336 as an argument. This command will usually be \fBlintian\fP.
337 .TP
338 .BI \-\-check\-option= opt
339 Pass option \fIopt\fP to the \fIcheck-command\fP specified with
340 \fBDEB_CHECK_COMMAND\fP or \fB\-\-check\-command\fP (since dpkg 1.17.6).
341 Can be used multiple times.
342 .TP
343 .BI \-\-hook\- hook-name = hook-command
344 Set the specified shell code \fIhook-command\fP as the hook \fIhook-name\fP,
345 which will run at the times specified in the run steps (since dpkg 1.17.6).
346 The hooks will
347 always be executed even if the following action is not performed (except
348 for the \fBbinary\fP hook).
349 All the hooks will run in the unpacked source directory.
350
351 Note: Hooks can affect the build process, and cause build failures if
352 their commands fail, so watch out for unintended consequences.
353
354 The current \fIhook-name\fP supported are:
355
356 .B init preclean source build binary buildinfo changes postclean check sign done
357
358 The \fIhook-command\fP supports the following substitution format string,
359 which will get applied to it before execution:
360
361 .RS
362 .TP
363 .B %%
364 A single % character.
365 .TP
366 .B %a
367 A boolean value (0 or 1), representing whether the following action is
368 being performed.
369 .TP
370 .B %p
371 The source package name.
372 .TP
373 .B %v
374 The source package version.
375 .TP
376 .B %s
377 The source package version (without the epoch).
378 .TP
379 .B %u
380 The upstream version.
381 .RE
382 .TP
383 .BI \-\-buildinfo\-option= opt
384 Pass option \fIopt\fP to \fBdpkg\-genbuildinfo\fP (since dpkg 1.18.11).
385 Can be used multiple times.
386 .TP
387 .BR \-p ", " \-\-sign\-command= \fIsign-command\fP
388 When \fBdpkg\-buildpackage\fP needs to execute GPG to sign a source
389 control (\fB.dsc\fP) file or a \fB.changes\fP file it will run
390 \fIsign-command\fP (searching the \fBPATH\fP if necessary) instead of
391 \fBgpg2\fP or \fBgpg\fP (long option since dpkg 1.18.8).
392 \fIsign-command\fP will get all the arguments
393 that \fBgpg2\fP or \fBgpg\fP would have gotten. \fIsign-command\fP
394 should not contain spaces or any other shell metacharacters.
395 .TP
396 .BR \-k ", " \-\-sign\-key= \fIkey-id\fP
397 Specify a key-ID to use when signing packages (long option since dpkg 1.18.8).
398 .TP
399 .BR \-us ", " \-\-unsigned\-source
400 Do not sign the source package (long option since dpkg 1.18.8).
401 .TP
402 .BR \-ui ", " \-\-unsigned\-buildinfo
403 Do not sign the \fB.buildinfo\fP file (since dpkg 1.18.19).
404 .TP
405 .BR \-uc ", " \-\-unsigned\-changes
406 Do not sign the \fB.buildinfo\fP and \fB.changes\fP files
407 (long option since dpkg 1.18.8).
408 .TP
409 .B \-\-no\-sign
410 Do not sign any file, this includes the source package, the \fB.buildinfo\fP
411 file and the \fB.changes\fP file (since dpkg 1.18.20).
412 .TP
413 .BR \-\-force\-sign
414 Force the signing of the resulting files (since dpkg 1.17.0), regardless of
415 \fB\-us\fP, \fB\-\-unsigned\-source\fP,
416 \fB\-ui\fP, \fB\-\-unsigned\-buildinfo\fP,
417 \fB\-uc\fP, \fB\-\-unsigned\-changes\fP
418 or other internal heuristics.
419 .TP
420 .BR \-sn
421 .TQ
422 .BR \-ss
423 .TQ
424 .BR \-sA
425 .TQ
426 .BR \-sk
427 .TQ
428 .BR \-su
429 .TQ
430 .BR \-sr
431 .TQ
432 .BR \-sK
433 .TQ
434 .BR \-sU
435 .TQ
436 .BR \-sR
437 .TQ
438 .BR \-i ", " \-\-diff\-ignore [=\fIregex\fP]
439 .TQ
440 .BR \-I ", " \-\-tar\-ignore [=\fIpattern\fP]
441 .TQ
442 .BR \-z ", " \-\-compression\-level= \fIlevel\fP
443 .TQ
444 .BR \-Z ", " \-\-compression= \fIcompressor\fP
445 Passed unchanged to \fBdpkg\-source\fP. See its manual page.
446 .TP
447 .BI \-\-source\-option= opt
448 Pass option \fIopt\fP to \fBdpkg\-source\fP (since dpkg 1.15.6).
449 Can be used multiple times.
450 .TP
451 .BI \-\-changes\-option= opt
452 Pass option \fIopt\fP to \fBdpkg\-genchanges\fP (since dpkg 1.15.6).
453 Can be used multiple times.
454 .TP
455 .BI \-\-admindir= dir
456 .TQ
457 .BI "\-\-admindir " dir
458 Change the location of the \fBdpkg\fR database (since dpkg 1.14.0).
459 The default location is \fI%ADMINDIR%\fP.
460 .TP
461 .BR \-? ", " \-\-help
462 Show the usage message and exit.
463 .TP
464 .BR \-\-version
465 Show the version and exit.
466 .
467 .SH ENVIRONMENT
468 .SS External environment
469 .TP
470 .B DEB_CHECK_COMMAND
471 If set, it will be used as the command to check the \fB.changes\fP file
472 (since dpkg 1.17.6).
473 Overridden by the \fB\-\-check\-command\fP option.
474 .TP
475 .B DEB_SIGN_KEYID
476 If set, it will be used to sign the \fB.changes\fP and \fB.dsc\fP files
477 (since dpkg 1.17.2).
478 Overridden by the \fB\-\-sign\-key\fP option.
479 .TP
480 .B DEB_BUILD_OPTIONS
481 If set, it will contain a space-separated list of options that might
482 affect the build process in \fIdebian/rules\fP, and the behavior of some
483 dpkg commands.
484
485 With \fBnocheck\fP the \fBDEB_CHECK_COMMAND\fP variable will be ignored.
486 With \fBparallel=\fP\fIN\fP the parallel jobs will be set to \fIN\fP,
487 overridden by the \fB\-\-jobs\-try\fP option.
488 .TP
489 .B DEB_BUILD_PROFILES
490 If set, it will be used as the active build profile(s) for the package
491 being built (since dpkg 1.17.2).
492 It is a space separated list of profile names.
493 Overridden by the \fB\-P\fP option.
494 .TP
495 .B DPKG_COLORS
496 Sets the color mode (since dpkg 1.18.5).
497 The currently accepted values are: \fBauto\fP (default), \fBalways\fP and
498 \fBnever\fP.
499
500 .SS Internal environment
501 Even if \fBdpkg\-buildpackage\fP exports some variables, \fBdebian/rules\fP
502 should not rely on their presence and should instead use the
503 respective interface to retrieve the needed values, because that
504 file is the main entry point to build packages and running it
505 standalone should be supported.
506
507 .TP
508 .B DEB_BUILD_*
509 .TQ
510 .B DEB_HOST_*
511 .TQ
512 .B DEB_TARGET_*
513 \fBdpkg\-architecture\fP is called with the \fB\-a\fP and \fB\-t\fP
514 parameters forwarded. Any variable that is output by its \fB\-s\fP
515 option is integrated in the build environment.
516
517 .TP
518 .B SOURCE_DATE_EPOCH
519 This variable is set to the Unix timestamp since the epoch of the
520 latest entry in \fIdebian/changelog\fP, if it is not already defined.
521 .
522 .SH FILES
523 .TP
524 .I %PKGCONFDIR%/buildpackage.conf
525 System wide configuration file
526 .TP
527 .IR $XDG_CONFIG_HOME/dpkg/buildpackage.conf " or"
528 .TQ
529 .I $HOME/.config/dpkg/buildpackage.conf
530 User configuration file.
531 .
532 .SH NOTES
533 .SS Compiler flags are no longer exported
534 Between dpkg 1.14.17 and 1.16.1, \fBdpkg\-buildpackage\fP
535 exported compiler flags (\fBCFLAGS\fP, \fBCXXFLAGS\fP, \fBFFLAGS\fP,
536 \fBCPPFLAGS\fP and \fBLDFLAGS\fP) with values as returned
537 by \fBdpkg\-buildflags\fP. This is no longer the case.
538 .SS Default build targets
539 \fBdpkg\-buildpackage\fP is using the \fBbuild\-arch\fP and
540 \fBbuild\-indep\fP targets since dpkg 1.16.2. Those targets are thus
541 mandatory. But to avoid breakages of existing packages, and ease
542 the transition, if the source package does not build both architecture
543 independent and dependent binary packages (since dpkg 1.18.8) it will
544 fallback to use the \fBbuild\fP target if \fBmake \-f debian/rules \-qn\fP
545 \fIbuild-target\fP returns 2 as exit code.
546 .SH BUGS
547 It should be possible to specify spaces and shell metacharacters
548 and initial arguments for
549 .IR gain-root-command " and " sign-command .
550 .
551 .SH SEE ALSO
552 .ad l
553 .BR dpkg\-source (1),
554 .BR dpkg\-architecture (1),
555 .BR dpkg\-buildflags (1),
556 .BR dpkg\-genbuildinfo (1),
557 .BR dpkg\-genchanges (1),
558 .BR fakeroot (1),
559 .BR lintian (1),
560 .BR gpg2 (1),
561 .BR gpg (1).