SYNOPSIS

cowbuilder [commands] [options]

DESCRIPTION

cowbuilder Executes the specified pbuilder operation with cowdancer

COMMANDS

Most commands invoke pbuilder with the specified commands, see pbuilder manual for details.

--create

Create the base.cow image. The directory for base.cow should be empty, or this command will fail.

--update

Update the base.cow image.

--build .dsc-file

Build a package given a .dsc file

--login

Start a session within the base.cow.

--execute

Execute a command within the base.cow.

--dumpconfig

dump configuration information.

OPTIONS

Most options are the same as pbuilder, except for the following which are handled specially

--buildplace

The place where COW operation takes place.

--basepath

has a very different meaning to basetgz option of pbuilder, since there is no tgz. This option specifies the directory in which the COW master data is stored, the default being /var/cache/pbuilder/base.cow

--configfile [configuration file to load]

Additional configuration file to read after all other configuration files have been read.

--no-cowdancer-update

Do not use cowdancer on cowbuilder --update. Please use this option when cowdancer is interfering with upgrade process, or cowdancer itself is being upgraded within chroot.

--debian-etch-workaround

Work around on Debian etch compatibility. cow-shell will search for all files in chroot, but will work.

CONFIGURATION FILES

cowbuilder reads the following configuration files per default.

/usr/share/pbuilder/pbuilderrc

Application default, not to be changed.

/etc/pbuilderrc

System-wide default.

~/.pbuilderrc

User default

anything specified with --configfile option

Additional configuration at runtime.

CONFIGURATION FILE OPTIONS

The possible configuration options are as follows. Others are ignored.

DISTRIBUTION=distribution

BUILDRESULT=directory

BUILDPLACE=directory

BASEPATH=path

MIRRORSITE=http://mirror

NO_COWDANCER_UPDATE=1

See --no-cowdancer-update

DEBIAN_ETCH_WORKAROUND=1

See --debian-etch-workaround

EXAMPLES

cowbuilder --create

Create a base.cow image.

# cowbuilder --create --hookdir /usr/share/doc/pbuilder/examples/workaround/ --distribution etch --debootstrap debootstrap --basepath /var/cache/pbuilder/base-test.cow
bash: /root/.pbuilderrc: No such file or directory
W: /home/dancer/.pbuilderrc does not exist
 -> Running in no-targz mode
Distribution is etch.
Building the build environment
 -> running debootstrap
/usr/sbin/debootstrap
I: Retrieving Release
	.
	.

cowbuilder --update
Update the base.cow image.

# cowbuilder --update
bash: /root/.pbuilderrc: No such file or directory
 -> Copying COW directory
 -> Invoking pbuilder
W: /home/dancer/.pbuilderrc does not exist
 -> Running in no-targz mode
 -> copying local configuration
 -> mounting /proc filesystem
 -> mounting /dev/pts filesystem
 -> policy-rc.d already exists
Refreshing the base.tgz
 -> upgrading packages
	.
	.

cowbuilder --build test_0.1.dsc
Build the package specified in dsc file, with the base.cow image.

pdebuild --pbuilder cowbuilder
Run
cowbuilder --build
against the current directory.
The current directory should be an extracted Debian source package directory.

Edit
/etc/pbuilderrc
to have
PDEBUILD_PBUILDER=cowbuilder
to make this the default behavior for
pdebuild.

cowbuilder --login --bindmounts /home/dancer
Start a cow-shell session inside base.cow, with
/home/dancer
 being bind-mounted to within chroot.

Note that cowbuilder will not cow-protect what is inside
/home/

# cowbuilder --login --bindmount ${HOME}
bash: /root/.pbuilderrc: No such file or directory
 -> Copying COW directory
 -> Invoking pbuilder
W: /home/dancer/.pbuilderrc does not exist
 -> Running in no-targz mode
 -> copying local configuration
 -> mounting /proc filesystem
 -> mounting /dev/pts filesystem
-> Mounting /home/dancer
 -> policy-rc.d already exists
 -> entering the shell
#

cowbuilder --create --distribution sid --basepath /var/cache/pbuilder/base-test.cow
Create a base.cow image with the path
/var/cache/pbuilder/base-test.cow
and distribution sid.

AUTHOR

Junichi Uekawa ([email protected])

RELATED TO cowbuilder…

/usr/share/doc/pbuilder/pbuilder-doc.html, pbuilder (8), pdebuild (1)