Experimental or wishlist features of pbuilder¶
There are some advanced features, above that of the basic feature of
pbuilder
, for some specific purposes.
Using LVM¶
LVM2 has a useful snapshot function that features Copy-on-write images.
That could be used for pbuilder
just as it can be used for the
user-mode-linux pbuilder
port. lvmpbuilder script in the examples
directory implements such port. The scripts and documentation can be
found under /usr/share/doc/pbuilder/examples/lvmpbuilder/
.
Using cowdancer¶
cowdancer
allows copy-on-write semantics on file system using hard
links and hard-link-breaking-on-write tricks. pbuilder
using
cowdancer
seems to be much faster and it is one ideal point for
improvement. cowbuilder
, a wrapper for pbuilder
for using
cowdancer
is available from cowdancer
package since 0.14
Example command-lines for cowbuilder look like the following.
# cowbuilder --create --distribution sid
# cowbuilder --update --distribution sid
# cowbuilder --build XXX.dsc
It is also possible to use cowdancer with pdebuild command. Specify with
command-line option --pbuilder
or set it in PDEBUILD_PBUILDER
configuration option.
$ pdebuild --pbuilder cowbuilder
Using pbuilder without tar.gz¶
The --no-targz
option of pbuilder
will allow usage of pbuilder
in a
different way from conventional usage. It will try to use an existing
chroot, and will not try to clean up after working on it. It is an
operation mode more like sbuild
.
It should be possible to create base chroot images for dchroot
with
the following commands:
# pbuilder create --distribution lenny --no-targz --basetgz /chroot/lenny
# pbuilder create --distribution squeeze --no-targz --basetgz /chroot/squeeze
# pbuilder create --distribution sid --no-targz --basetgz /chroot/sid
Using pbuilder in a vserver¶
It is possible to use pbuilder
in a vserver environment. This
requires either vserver-patches in version 2.1.1-rc14 or higher, or a
Linux kernel version 2.6.16 or higher.
To use pbuilder
in a vserver, you need to set the secure_mount
CAPS
in the ccapabilities
of this vserver.
Usage of ccache¶
By default pbuilder
will use the C compiler cache ccache
to
speed up repeated builds of the same package (or packages that compile
the same files multiple times for some reason). Using ccache
can
speed up repeated building of large packages dramatically, at the cost
of some disk space and bookkeeping.
To disable usage of ccache
with pbuilder
, you should unset
CCACHEDIR
in your pbuilderrc
file.