File: pbuilderrc.5

package info (click to toggle)
pbuilder 0.231.1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 3,864 kB
  • sloc: sh: 5,726; xml: 1,755; makefile: 248; ansic: 11
file content (590 lines) | stat: -rw-r--r-- 17,072 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
.TH "pbuilderrc" 5 "2016 March" "Debian" "pbuilder"
.SH NAME
pbuilderrc \- configuration files for personal package builder
.SH DESCRIPTION
.B "/etc/pbuilderrc"
contains default values used in the
.B "pbuilder"
program invocation.
.PP
The file itself is sourced by a shell script, so
it is required that the file conforms to shell script conventions.
.PP
The environment variable
.I PBUILDER_OPERATION
contains the current operation mode of pbuilder, and can be used to do a
conditional configuration.
Possible values are \fBbuild\fR, \fBclean\fR, \fBcreate\fR, \fBdebuild\fR,
\fBdumpconfig\fR, \fBexecute\fR, \fBlogin\fR, \fBupdate\fR.

.SH "FORMAT"
.TP
.BI "APTCACHE=" "/var/cache/pbuilder/aptcache"
Specify the location that the packages downloaded by apt
should be cached.
Setting this value to "" will cause caching to be
turned off.
.TP
.BI "APTCACHEHARDLINK=" "yes"
Specify using hard links in apt cache handling.
Changing this to no will disable hard linking and will
copy the files.

It is advised to set this to
.B "no"
if you are using user-mode-linux.
.TP
.BI "APTCONFDIR=" "/etc/apt"
Configures where the apt configuration files are copied from.
By default, this value is empty,
allowing the usual configuration options
to take effect.
Setting this variable overrides other options.

.TP
.BI "ARCHITECTURE=" "`dpkg \-\-print\-architecture`"
Specifies the
.B build architecture
(as described in
.BR dpkg\-architecture (1)).
It'll be the architecture used when creating the chroot, defaults to the
 system one.  The supported values are the ones debootstrap supports.

.TP
.BI "AUTOCLEANAPTCACHE=" "yes"
Always run with
.B "\-\-autocleanaptcache"
option.
.TP
.BI "AUTO_DEBSIGN=" "yes"
When this value is set to yes,
.B pdebuild
will invoke debsign command after building.
.TP
.BI "BASETGZ=" "/var/cache/pbuilder/base.tgz"
Specifies the default location for the archived
chroot image to be created and used.
This is overridden with the option
.BR "\-\-basetgz" "."
.TP
.BI "BINDMOUNTS=" "directories-to-bind-mount[:internal-mountpoint]"
When this value is set, pbuilder will mount these directories using
bind-mount.  Different directories are space separated, a column can optionally
specify a mount destination inside the chroot.
.br
Do not bind-mount
.BR "/" .
.br
An Example:

.EX
BINDMOUNTS="/home /mnt/test /home/joe/repo:/var/repo"
.EE
.TP
.BI "BUILDDIR=" "/build"
The directory inside the chroot where the build happens.
This directory will contain the build products; the source packages will be
unpacked in a subdirectory therein contained, named
.IR $srcpkg - $ver ,
with
.I $ver
being the upstream part of the version, without epoch and debian revision.

Attention! Some directories \(em such as
.B /tmp
\(em are not safe to use since they can be world-writable, and external users
can temper with the build process.
.TP
.BI "BUILDPLACE=" "/var/cache/pbuilder/build/"
The default place which the chroot is constructed.
.B pbuilder
will use the directory
.BR "$BUILDPLACE$$" "."
which means, that it will use the directory and the
PID to determine the directory to use.
This should obtain an unique directory for
concurrent runs of pbuilder in one machine.
This is not guaranteed to happen on network shared drives,
so be aware of this fact when playing with this option
on NFS shared beowulf clusters.
Change it to something like
.I "/var/cache/pbuilder/build/$HOSTNAME/"
when doing such a thing.

.B "pbuilder clean"
cleans up this directory.
.TP
.BI "BUILDRESULT=" "/var/cache/pbuilder/result/"
Specify the default directory which the build result will
be copied over to after the building.

Unlike the
.B "\-\-buildresult"
command-line option the path is not canonicalized, so you should specify a
full path, not a relative path.
.TP
.BI "EATMYDATA=" "no"
Enable or disable the builtin eatmydata support.
.br
For this to work the library of the same architecture as the one inside the
chroot has to be installed in the host.
.TP
.BI "CCACHEDIR=" ""
Specifies where ccache will keep its cached compiler output.
If this is specified, ccache will be installed upon pbuilder create or
pbuilder update,
.I /usr/lib/ccache
will be prepended to the
.BR PATH ,
.B CCACHEDIR
will be bind-mounted in the chroot, and
.B CCACHE_DIR
(ccache variable) will be set to
.BR CCACHEDIR .
Note that files in
.B CCACHEDIR
are chowned to
.B BUILDUSERID
(1234 by default).
.br
.I ccache
is disabled by default.
.TP
.BI "BUILDRESULTUID="
.TP
.BI "BUILDRESULTGID="
Set the UID and GID of the files built as result.
They probably need to be set to numeric UID values,
so that it works the same inside the chroot and outside the
chroot.

If sudo is used, the values specified by sudo is used.
They are
.BR "SUDO_UID" ", and"
.BR "SUDO_GID" ". "
The default value is
.B "0"
.TP
.BI "BUILDSOURCEROOTCMD=" "fakeroot"
This option is used on invocation of fakeroot
for
.B "dpkg\-buildpackage"
in
.B "pdebuild"
.TP
.BI "BUILDUSERID=" "1234"
The uid to be used inside chroot.
It should ideally not collide with user-id outside the chroot,
to avoid user inside chroot having access to
processes owned by the user id outside the chroot.
.TP
.BI "BUILDUSERNAME=" "pbuilder"
The user name of the user the build will run as.
Specifying this will enable the use of fakeroot inside
pbuilder.

Note that this will require fakeroot to be installed within
the chroot, and fakeroot will automatically be installed.
And
.B "\-rfakeroot"
will be added to
.B "DEBBUILDOPTS"
.TP
.BI "COMPONENTS=" "main"
Specify the default distribution components to use.
This option is space-delimited, use quotes when listing multiple components.
This option only affects when doing
.B "pbuilder create"
or when
.B "\-\-override\-config"
is specified for
.B "pbuilder update"
option.
.TP
.BI "COMPRESSPROG=" "gzip"
Program to use for compression of the base.tgz.
The default is to use gzip, and any program that can be used to compress data
using a pipe can be used.

If set to "pigz", compression and decompression is gzip compatible
but will use all available CPUs.
.br
If set to "cat", there will be no compression at all (so compression/decompression
will be a lot faster but takes much more space on the disk).
.TP
.BI "export http_proxy=" "http://your-proxy:8080/"
Defines the proxy for http connection.
.TP
.BI "export DEBIAN_BUILDARCH=" "athlon"
Uses this variable as
.BR "DEBIAN_BUILDARCH" "."
This trick can be used for other environmental variables as well.
.TP
.BI "DEBBUILDOPTS=" ""
The options given here will be passed on to
.BR dpkg\-buildpackage .
This can be useful e.g. for binary-only builds. The command-line option
.B "\-\-debbuildopts" will be appended to any contents specified here but
may also be used to reset the list of options.

The default value is to build source and binary package.
.TP
.BI "DEBOOTSTRAPOPTS=" "( '\-\-variant=buildd' '\-\-keyring' '/usr/share/keyrings/debian\-archive\-keyring.gpg' )"
When this option is set to
.B "\-\-variant=buildd"
.B "pbuilder"
will invoke
.B "$DEBOOTSTRAP"
with
.B "\-\-variant=buildd"
option, which results in debootstrap creating a minimal chroot for
buildd instead of trying to create a minimal installation chroot.
.B "\-\-keyring"
is used to specify a keyring for debootstrap.
.TP
.BI "APTKEYRINGS=" "()"
Additional keyrings to use for package verification with apt, not used for
debootstrap (use
.BR "$DEBOOTSTRAPOPTS" ).
Use this to add (local) signed repositories. By default the
debian-archive-keyring package inside the chroot is used.

Keyrings are copied into
.I "/etc/apt/trusted.gpg.d"
in the chroot.  APT supports it since version 0.7.25.1, firstly available in the
Debian release codenamed "squeeze" (released on 2011).
For older chroots, use a
.B G
hook to run
.B "apt\-key"
manually.
.TP
.BI "DEBOOTSTRAP=" "debootstrap"
Use this option to switch the implementation of
debootstrap.
Known implementations of debootstrap are
.B "cdebootstrap"
and
.B "debootstrap"
.TP
.BI "export DEBIAN_FRONTEND=" "noninteractive"
Sets interactiveness of pbuilder run.
Setting this value to blank will cause the
pbuilder run to be interactive.
Change this value when noninteractive upgrades
do not work.
.TP
.BI "DISTRIBUTION=" "sid"
Specify the default distribution to use.
This option only affects when doing
.B "pbuilder create"
or when
.B "\-\-override\-config"
is specified for
.B "pbuilder update"
option.
.TP
.BI "EXTRAPACKAGES=" """ccache lintian XXX"""
Specifies extra packages which the system should install
in the chroot on
.BR "pbuilder create" "."
This is a space-delimited list.
Also this is installed on
.B "pbuilder update"
.TP
.BI "HOOKDIR=" "/usr/lib/pbuilder/hooks"
Specifies the default location for the user hooks
directory.
This is overridden with the option
.BR "\-\-hookdir" "."

If this is specified, hooks are searched for in
the chroot, when running
.BR "pbuilder" "."
If it is not defined, or is an empty string,
hooks are not executed.

For details, see
.B "pbuilder(8)"
.TP
.BI "LOGLEVEL=" "I"
Specify how much output you want from pbuilder, valid values are
.BR E
(errors only),
.BR W
(errors and warnings),
.BR I
(errors, warnings and informational) and
.BR D
(everything including some debug messages).
.TP
.BI "USECOLORS=" "auto"
Specify whether you'd like to see colored output from pbuilder.  Valid values are
.B auto
(to try to automatically detect whether the terminal supports them),
.B yes
(to always use colors), and
.B no
(to never use colors).
.TP
.BI "MIRRORSITE=" "http://www.jp.debian.org/debian"
Specify the mirror site which contains the
main Debian distribution.

Note that you cannot really use
.B "file:/"
kind of URL, because the location needs to be accessible from within
the chroot.
.TP
.BI "OTHERMIRROR=" "deb http://xxx/xxx/ ./ " "[|" " other deb lines... " "]"
The lines which is added to the sources.list, delimited with
.B "|"
Like:
.br
.B "deb http://local/mirror sid main|deb file:/usr/local/mirror ./"

The deb lines here are the ones that will appear at the top of the
.B "sources.list"
inside the chroot.
Be sure to follow the syntax rules of
.BR "sources.list" "(5)."
These lines appear at the beginning of the
constructed sources file, so this is the place to list your
.B "local"
mirror sites; apt will then use them in preference to the ones
listed in
.B "MIRRORSITE".

To make changes on mirror site effective on
.B update
.B "\-\-override\-config"
needs to be specified.
.TP
.BI "PDEBUILD_PBUILDER=" "pbuilder"
Specify what pbuilder implementation to use for pdebuild.
The currently possible values are
.B "pbuilder"
and
.B "cowbuilder"
.TP
.BI "PKGNAME_LOGFILE_EXTENSION=" "_$(dpkg \-\-print\-architecture).build"
The extension of filename used in pkgname\-logfile option.
.TP
.BI "PKGNAME_LOGFILE=" "yes"
Always run with
.B "\-\-pkgname\-logfile"
option, and create a logfile named after the package name.
.TP
.BI "PBUILDERROOTCMD=" "sudo \-E"
This option is used on invocation of
.B "pbuilder build"
in
.B "pdebuild"
.TP
.BI "PBUILDERSATISFYDEPENDSCMD=" "/usr/lib/pbuilder/pbuilder\-satisfydepends"
This option is used by various parts of pbuilder to satisfy
(i.e. install) the build-dependencies of a package.
These are the available implementations:

.I pbuilder\-satisfydepends\-apt
the newest implementation, which leverage the ability of apt 1.4 to satisfy
build dependencies and build conflicts from a .dsc; useful since it's pretty
fast and doesn't require the installation of any non-required package in the
chroot, nor of dummy packages.

.I pbuilder\-satisfydepends\-experimental
might be useful to pull packages from repositories with a low APT Pin Priority
(for example, Debian's experimental or stable-backports).

.I pbuilder\-satisfydepends\-aptitude
will resolve build-dependencies and build-conflicts with aptitude which helps
dealing with complex cases but does not support unsigned APT repositories.

.I pbuilder\-satisfydepends\-gdebi
will resolve build-dependencies using gdebi, faster than classic implementation,
and does not require installation of a dummy package like the aptitude
implementation.

.I pbuilder\-satisfydepnds\-classic
the "classic" implementation, which was the original implementation used by
default until v0.172.

The default is now "aptitude".
.TP
.BI "PBUILDERSATISFYDEPENDSOPT=" "()"
Array of flags to give to pbuilder\-satisfydepends.

.TP
.BI "SOURCE_ONLY_CHANGES=" "yes"
Specify whether to generate an additional .changes file for a source-only
upload, whilst still producing a full .changes file for any binary packages
built.

.TP
.BI "ALLOWUNTRUSTED=" "no"
Allow untrusted (no key installed) and unsigned repositories.
.BI Warning:
Enabling this option may allow remote attackers to compromise the system.
Better use signed repositories and
.B "$APTKEYRINGS"
to add the key(s).

.TP
.BI "APTGETOPT=" "()"
Extra flags to give to apt\-get.

.TP
.BI "APTITUDEGETOPT=" "()"
Extra flags to give to aptitude.

.TP
.BI "DEBDELTA=" "no"
Enable use of debdelta to download the needed updated in the chroot, if
debdelta is already installed.

.TP
.BI "REMOVEPACKAGES=" "lilo"
Specify the packages to be removed on creation of
.B base.tgz
Leaving lilo in the chroot is like keeping a timebomb...
.TP
.BI "TIMEOUT_TIME=" "2h"
Sets timeout time.
Build will be stopped with SIGTERM after the set time.
.TP
.BI "USEDEVFS=" "no"
Whether to mount a devfs or not.  Has no effect on kFreeBSD, as a devfs (and fdescfs for
.BR /dev/fd )
is always used.
.TP
.BI "USEDEVPTS=" "yes"
Specify
.B yes
when it is desired to mount
.B /dev/pts
interface. It is usually a good idea, since there
are many software which fail miserably when there is no
.B /dev/pts
being mounted.
.TP
.BI "USESYSFS=" "yes"
Whether to mount a sysfs (linsysfs for kFreeBSD) in
.B /sys
or not.  Has no effect on GNU/Hurd hosts, where sysfs is not available.
It is usually a good idea, since there are several software which require
.B /sys
being populated.
.TP
.BI "USENETWORK=" "no"
Specify
.B yes
when you do not want to disable network access during build.
Network is not available on a Debian buildd, so you might
want to keep the default.
Disabling network access currently only works on Linux.
.TP
.BI "USECGROUP=" "yes"
Specify
.B yes
to use a cgroup to isolate build processes, so that any stray processes
from the build can be cleaned up afterwords.
This currently only works on Linux systems running systemd.
.TP
.BI "USESHM=" "yes"
Specify
.B yes
when it is desired to mount
.B /dev/shm
mount point. It is usually a good idea in order to work with software that
expects shm to work.
.br
.B /run/shm
will be configured as a symbolic link to
.BR /dev/shm .
.br
This option used to be named
.BR USERUNSHM ,
for compatibility purpose the old name is still supported, and if set it'll
override any
.BR USESHM .
.br
Has no effect on GNU/Hurd hosts due to bugs in
.BR /hurd/tmpfs ;
since /dev is always bind-mounted, the host's
.B /dev/shm
will be used.

.TP
.BI "USE_PDEBUILD_INTERNAL=" "yes"
When this option is set to
.I yes
.B "pdebuild\-internal"
implementation of
.B pdebuild
is used.
.TP
.BI "USEPROC=" "yes"
Specify
.B yes
when it is desired to mount
.B /proc
interface. It is usually a good idea, since there are many
software which fail miserably when there is no
.B /proc
being mounted.
.TP
.BI "ADDITIONAL_BUILDRESULTS=" "(foo \(dqbar*\(dq \(dqbaz\(rs biz\(dq)"
Array of additional files to copy out of the build area.
.br
In case a wildcard is needed (e.g.
.BR *.changes )
quote it to have the wildcard escaped and not expanded at configuration load time,
but instead expanded at run time when the additional build artifacts are exported.
Spaces in file names needs to be escaped by using a \(rs or a wildcard to match
the space.

.TP
.BI "CONFDIR=" "/etc/pbuilder/conf_files"
.B pbuilder
copies some configuration files (like
.B /etc/hosts
or
.BR /etc/hostname )
from the host system into the chroot.  If the directory specified here
exists and contains one of the copied files (without the leading /etc) that
file will be copied from here instead of the system one.
.TP
.BI "BUILD_HOME=" "/nonexistent"
Set the what the
.B HOME
environment variable points to during the builds.  It defaults to a non-existing
directory to prevent builds from writing to HOME, which is reserved to users.
If you need a working HOME you can set it to
.B $BUILDDIR
instead.
.TP
.BI "BINNMU_MAINTAINER=" ""
Set the value of the maintainer name and email in the changelog during binNMU.
Such value is then copied to the Changed-By field of the .changes file.  Can be
set at run time with the
.B --bin-nmu-maintainer
command line option.


.SH "AUTHOR"
Initial coding, and main maintenance is done by
Junichi Uekawa <dancer@debian.org>.
User hooks code added by Dale Amon <amon@vnl.com>

The homepage is available at
.B "\%https://pbuilder-team.pages.debian.net/pbuilder/"
.SH "FILES"
.I "/etc/pbuilderrc, $HOME/.pbuilderrc"
.SH "SEE ALSO"
.BR "/usr/share/doc/pbuilder/pbuilder\-doc.html" ", "
.BR "cowbuilder" "(8), "
.BR "pbuilder" "(8), "
.BR "pdebuild" "(1)"

\"  LocalWords:  interactiveness noninteractive pdebuild pbuilder buildd
\"  LocalWords:  pbuilderrc