cowbuilder(8)

NAME
cowbuilder - a pbuilder wrapper for cowdancer.

SYNOPSIS
cowbuilder create [options]

cowbuilder update [options]

cowbuilder build [options] .dsc-file

cowbuilder login [options]

cowbuilder execute [options] -- script [script options]

cowbuilder dumpconfig

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, up, u
    Update the base.cow image.

build, b
    Build a package given a .dsc file

login, l
    Start a session within the base.cow.

execute, e
    Execute a command within the base.cow.

dumpconfig
    Dump configuration information, used for debugging.

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
    This has a very different meaning to the --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
    Workaround for Debian Etch. cow-shell will search for all files in the 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
    I: Running in no-targz mode
    Distribution is etch.
    Building the build environment
    I: 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
    I: Copying COW directory
    I: Invoking pbuilder
    W: /home/dancer/.pbuilderrc does not exist
    I: Running in no-targz mode
    I: copying local configuration
    I: mounting /proc filesystem
    I: mounting /dev/pts filesystem
    I: policy-rc.d already exists
    Refreshing the base.tgz
    I: 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
    I: Copying COW directory
    I: Invoking pbuilder
    W: /home/dancer/.pbuilderrc does not exist
    I: Running in no-targz mode
    I: copying local configuration
    I: mounting /proc filesystem
    I: mounting /dev/pts filesystem
    I: Mounting /home/dancer
    I: policy-rc.d already exists
    I: 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 (dancer@debian.org)

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