Pbuilder
(→Forcefully include the source tarball) |
Ori.livneh (Talk | contribs) (Recommend debbuildopts arg by default) |
||
| Line 23: | Line 23: | ||
# pbuilder create --distribution feisty --debootstrapopts --arch --debootstrapopts i386 --basetgz /var/cache/pbuilder/base-i386.tgz | # pbuilder create --distribution feisty --debootstrapopts --arch --debootstrapopts i386 --basetgz /var/cache/pbuilder/base-i386.tgz | ||
Then to build a 32 bit package: | Then to build a 32 bit package: | ||
| − | # linux32 pbuilder build --basetgz /var/cache/pbuilder/base-i386.tgz ''package.dsc'' | + | # linux32 pbuilder build --basetgz /var/cache/pbuilder/base-i386.tgz --debbuildopts "-sa" ''package.dsc'' |
| − | + | The <tt>debbuildopts</tt> argument forces the inclusion of the package source, a requirement for inclusion in the Wikimedia repository. | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
=== Modifying the base image === | === Modifying the base image === | ||
Revision as of 20:04, 16 August 2012
pbuilder is a tool to automatically build packages in a clean chroot of an arbitrary Debian/Ubuntu distribution.
Contents |
Instructions
At one moment, ragweed was the recommended server for building packages which had a slightly modified /etc/pbuilderrc and existing distribution images set up for more convenient building of packages.
Since december 2011, the recommended way it to use a labs virtual machine. Then one should use the misc::package-builder puppet class to get all needed tools.
Setup
This is now done by misc::package-builder in Puppet automatically. Modify misc/package-builder if it's not to your needs, or alternatively do it manually using the following steps. 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.
Building
Then, when you want to build a package using this distribution image, use:
# pbuilder build --basetgz /var/cache/pbuilder/distribution.tgz package.dsc
If all goes well, you'll find the resulting package(s) in /var/cache/pbuilder/result.
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 --debbuildopts "-sa" package.dsc
The debbuildopts argument forces the inclusion of the package source, a requirement for inclusion in the Wikimedia repository.
Modifying the base image
To change something in the base image, for example to add an APT repository, use:
# pbuilder login --save-after-login