pbuilderrc - configuration files for personal package builder
contains default values used in the pbuilder
The file itself is sourced by a shell script, so it is required that the file
conforms to shell script conventions.
The environment variable PBUILDER_OPERATION
contains the current
operation mode of pbuilder, and can be used to do a conditional configuration.
Possible values are build
- Specify the location that the packages downloaded by apt
should be cached. Setting this value to "" will cause caching to
be turned off.
- 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 no if you are using
- 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.
- ARCHITECTURE=`dpkg --print-architecture`
- Specifies the build architecture (as described in
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.
- Always run with --autocleanaptcache option.
- When this value is set to yes, pdebuild will invoke
debsign command after building.
- Specifies the default location for the archived chroot
image to be created and used. This is overridden with the option
- 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.
Do not bind-mount /.
BINDMOUNTS="/home /mnt/test /home/joe/repo:/var/repo"
- 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
$srcpkg-$ver, with $ver being the upstream part of
the version, without epoch and debian revision.
Attention! Some directories — such as /tmp — are not
safe to use since they can be world-writable, and external users can
temper with the build process.
- The default place which the chroot is constructed.
pbuilder will use the directory $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
/var/cache/pbuilder/build/$HOSTNAME/ when doing such a thing.
pbuilder clean cleans up this directory.
- Specify the default directory which the build result will
be copied over to after the building.
Unlike the --buildresult command-line option the path is not
canonicalized, so you should specify a full path, not a relative
- Enable or disable the builtin eatmydata support.
For this to work the library of the same architecture as the one inside the
chroot has to be installed in the host.
- Specifies where ccache will keep its cached compiler
output. If this is specified, ccache will be installed upon pbuilder
create or pbuilder update, /usr/lib/ccache will be prepended to the
PATH, CCACHEDIR will be bind-mounted in the chroot, and
CCACHE_DIR (ccache variable) will be set to CCACHEDIR. Note
that files in CCACHEDIR are chowned to BUILDUSERID (1234 by
ccache is disabled by default.
- 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
SUDO_UID, and SUDO_GID. The default value is 0
- This option is used on invocation of fakeroot for
dpkg-buildpackage in pdebuild
- 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.
- 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 -rfakeroot will be
added to DEBBUILDOPTS
- Specify the default distribution components to use. This
option is space-delimited, use quotes when listing multiple components.
This option only affects when doing pbuilder create or when
--override-config is specified for pbuilder update
- 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.
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).
- Defines the proxy for http connection.
- export DEBIAN_BUILDARCH=athlon
- Uses this variable as DEBIAN_BUILDARCH. This trick
can be used for other environmental variables as well.
- The options given here will be passed on to
dpkg-buildpackage. This can be useful e.g. for binary-only builds.
The command-line option --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.
- DEBOOTSTRAPOPTS=( '--variant=buildd' '--keyring'
- When this option is set to --variant=buildd
pbuilder will invoke $DEBOOTSTRAP with
--variant=buildd option, which results in debootstrap creating a
minimal chroot for buildd instead of trying to create a minimal
installation chroot. --keyring is used to specify a keyring for
- Additional keyrings to use for package verification with
apt, not used for debootstrap (use $DEBOOTSTRAPOPTS). Use this to
add (local) signed repositories. By default the debian-archive-keyring
package inside the chroot is used.
Keyrings are copied into /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 G hook to run apt-key manually.
- Use this option to switch the implementation of
debootstrap. Known implementations of debootstrap are cdebootstrap
- 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.
- Specify the default distribution to use. This option only
affects when doing pbuilder create or when --override-config
is specified for pbuilder update option.
- EXTRAPACKAGES="ccache lintian
- Specifies extra packages which the system should install in
the chroot on pbuilder create. This is a space-delimited list. Also
this is installed on pbuilder update
- Specifies the default location for the user hooks
directory. This is overridden with the option --hookdir.
If this is specified, hooks are searched for in the chroot, when running
pbuilder. If it is not defined, or is an empty string, hooks are
For details, see pbuilder(8)
- Specify how much output you want from pbuilder, valid
values are E (errors only), W (errors and warnings),
I (errors, warnings and informational) and D (everything
including some debug messages).
- Specify whether you'd like to see colored output from
pbuilder. Valid values are auto (to try to automatically detect
whether the terminal supports them), yes (to always use colors),
and no (to never use colors).
- Specify the mirror site which contains the main Debian
Note that you cannot really use file:/ kind of URL, because the
location needs to be accessible from within the chroot.
- OTHERMIRROR=deb http://xxx/xxx/ ./
[| other deb lines... ]
- The lines which is added to the sources.list, delimited
with | Like:
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
sources.list inside the chroot. Be sure to follow the syntax rules
of sources.list(5). These lines appear at the beginning of the
constructed sources file, so this is the place to list your local
mirror sites; apt will then use them in preference to the ones listed in
To make changes on mirror site effective on update
--override-config needs to be specified.
- Specify what pbuilder implementation to use for pdebuild.
The currently possible values are pbuilder and
- The extension of filename used in pkgname-logfile
- Always run with --pkgname-logfile option, and create
a logfile named after the package name.
- PBUILDERROOTCMD=sudo -E
- This option is used on invocation of pbuilder build
- This option is used by various parts of pbuilder to satisfy
(i.e. install) the build-dependencies of a package. These are the
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
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).
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.
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.
pbuilder-satisfydepnds-classic the "classic"
implementation, which was the original implementation used by default
The default is now "aptitude".
- Array of flags to give to pbuilder-satisfydepends.
- 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.
- Allow untrusted (no key installed) and unsigned
repositories. Warning: Enabling this option may allow remote
attackers to compromise the system. Better use signed repositories and
$APTKEYRINGS to add the key(s).
- Extra flags to give to apt-get.
- Extra flags to give to aptitude.
- Enable use of debdelta to download the needed updated in
the chroot, if debdelta is already installed.
- Specify the packages to be removed on creation of
base.tgz Leaving lilo in the chroot is like keeping a
- Sets timeout time. Build will be stopped with SIGTERM after
the set time.
- Whether to use DEVFS or not. Has no effect on kFreeBSD, as
DEVFS is always used.
- Specify yes when it is desired to mount
/dev/pts interface. It is usually a good idea, since there are many
software which fail miserably when there is no /dev/pts being
- Whether to mount a sysfs (linsysfs for KFreeBSD) in
/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 /sys being populated.
- Specify 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.
- Specify yes when it is desired to mount
/dev/shm mount point. It is usually a good idea in order to work
with software that expects shm to work.
/run/shm will be configured as a symbolic link to /dev/shm.
This option used to be named USERUNSHM, for compatibility purpose the
old name is still supported, and if set it'll override any USESHM.
Has no effect on GNU/Hurd hosts due to bugs in /hurd/tmpfs; since
/dev is always bind-mounted, the host's /dev/shm will be used.
- When this option is set to yes
pdebuild-internal implementation of pdebuild is used.
- Specify yes when it is desired to mount /proc
interface. It is usually a good idea, since there are many software which
fail miserably when there is no /proc being mounted.
- ADDITIONAL_BUILDRESULTS=(foo "bar*"
- Array of additional files to copy out of the build area.
In case a wildcard is needed (e.g. *.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 \ or a wildcard to
match the space.
- pbuilder copies some configuration files (like
/etc/hosts or /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.
- Set the what the 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 $BUILDDIR instead.
- 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
--bin-nmu-maintainer command line option.
Initial coding, and main maintenance is done by Junichi Uekawa
<firstname.lastname@example.org>. User hooks code added by Dale Amon
The homepage is available at https://pbuilder.alioth.debian.org