A pbuilder wrapper for cowdancer.
cowbuilder [commands] [options]
cowbuilder Executes the specified pbuilder operation with cowdancer
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.
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.
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.
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
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.
Junichi Uekawa ([email protected])
/usr/share/doc/pbuilder/pbuilder-doc.html, pbuilder (8), pdebuild (1)