pbuilder-dist, cowbuilder-dist - multi-distribution pbuilder/cowbuilder
pbuilder-dist distribution [architecture] [mainonly] operation [...]
cowbuilder-dist distribution [architecture] [mainonly] operation [...]
pbuilder-dist is a wrapper that makes it easy to use pbuilder with many
different versions of Ubuntu and/or Debian.
It is common to symlink this script in order to give it many names in
the form of pbuilder-distribution or
pbuilder-distribution-architecture, like for example pbuilder-feisty,
pbuilder-sid, pbuilder-gutsy-i386, etc.
The same applies to cowbuilder-dist, which uses cowbuilder. The main
difference between both is that pbuilder compresses the created chroot
as a a tarball, thus using less disc space but needing to uncompress
(and possibly compress) its contents again on each run, and cowbuilder
doesn't do this.
There are many arguments listed on the synopsis; each of them, if used,
has to be used exactly in the same order as it appears there. In case
you renamed the script to pbuilder-distribution, do not use the
distribution parameter; same with i386 / amd64 if the name also
Replace this with the codename of the version of Ubuntu or
Debian you want to use.
This optional parameter will attempt to construct a chroot in a
foreign architecture. For some architecture pairs (e.g. i386 on
an amd64 install), the chroot will be created natively. For
others (e.g. armel on an i386 install), qemu-static and binfmt-
misc will be used. Note that some combinations (e.g. amd64 on
an i386 install) require special separate kernel handling, and
may break in unexpected ways.
If you specify mainonly, only packages from the main (in Debian)
or main and restricted (in Ubuntu) components will be used. By
default, all official components are enabled. This only has
effect when creating a new environment.
Replace this with the action you want pbuilder to do (create,
update, build, clean, login or execute). If you don't specify
any action, but the next argument is a .dsc file, it will assume
that it should build. Check its manpage for more details.
Replace this with other parameters, if needed. For example, if
build is the option, you will need to also specify a .dsc file.
As a special feature, if you specify a .dsc file you can skip
the build option and this script will automatically assume that
building is the action you want to do.
You may also specify --debug-echo so that the pbuilder/
cowbuilder command which would normally be executed is just
printed on the standard output instead. This is useful for
pbuilder-dist gutsy create
Creates a pbuilder environment for Ubuntu Gutsy, with all
pbuilder-sid mainonly create
Creates a pbuilder environment for Debian Sid, with only the
pbuilder-feisty build ./sample_1.0-0ubuntu1.dsc
Builds the specified package on an already existing Ubuntu
pbuilder-dist feisty withlog build ./sample_1.0-0ubuntu1.dsc
Same as above, but stores pbuilder's output on a file.
pbuilder-etch i386 update
Updates an existing i386-architecture Debian Etch environment on
an amd64 system.
Creates a cowbuilder environment for Debian Experimental.
FILES AND ENVIRONMENT VARIABLES
By default, pbuilder-dist will store all the files it generates in
~/pbuilder/. This can be changed by setting the $PBUILDFOLDER global
variable. If the directory doesn't exist, it will be created on the
A file with the log of the last operation, called last_operation.log,
will be saved in the results subdirectory of each build environment.
The default authentication method is sudo. You can change this by
setting the $PBUILDAUTH variable.
If you experience any problem with this script contact me on
firstname.lastname@example.org or file a bug at
Please ensure first that the problem is really this script and not an
issue with pbuilder or cowbuilder themselves.
pbuilder, pbuilderrc, cowbuilder
pbuilder-dist was written by Siegfried-A. Gevatter <email@example.com>
and includes patches by Iain Lane <firstname.lastname@example.org>. This
manual page has been written by Siegfried-A. Gevatter
pbuilder-dist is released under the GNU General Public License, version
2 or later.