Pbuilder

From Wikitech
(Difference between revisions)
Jump to: navigation, search
(use ragweed)
(Same architecture: sources.list)
Line 7: Line 7:
 
The first time, create a clean install image using e.g.:
 
The first time, create a clean install image using e.g.:
 
  # pbuilder create --distribution feisty
 
  # pbuilder create --distribution feisty
 +
 +
Notably, pbuilder doesn't set up a correct APT <tt>/etc/apt/sources.list</tt> in the chroot image, so it's best to use <tt>pbuilder login --save-after-login</tt> once after creating it, and replace its sources.list with an actual correct one.
  
 
Then, when you want to build a package using this distribution image, use:
 
Then, when you want to build a package using this distribution image, use:

Revision as of 16:35, 10 July 2008

pbuilder is a tool to automatically build packages in a clean chroot of an arbitrary Debian/Ubuntu distribution.

Contents

Instructions

At the moment it's best to use ragweed for building packages; it has a slightly modified /etc/pbuilderrc and existing distribution images set up for more convenient building of packages.

Same architecture

The first time, create a clean install image using e.g.:

# pbuilder create --distribution feisty

Notably, pbuilder doesn't set up a correct APT /etc/apt/sources.list in the chroot image, so it's best to use pbuilder login --save-after-login once after creating it, and replace its sources.list with an actual correct one.

Then, when you want to build a package using this distribution image, use:

# pbuilder build package.dsc

i386 under amd64

The 64 bit AMD64 kernel can run i386 binaries, so i386 chroots are possible. Using this, i386 packages can be built on an amd64 machine.

Create a new distribution image using another filename:

# pbuilder create --distribution feisty --debootstrapopts --arch --debootstrapopts i386 --basetgz /var/cache/pbuilder/base-i386.tgz

Then to build a 32 bit package:

# linux32 pbuilder build --basetgz /var/cache/pbuilder/base-i386.tgz package.dsc

Modifying the base image

To change something in the base image, for example to add an APT repository, use:

# pbuilder login --save-after-login

External documentation

Personal tools
Namespaces

Variants
Actions
Navigation
Ops documentation
Wiki
Toolbox