This is an old revision of the document!
Table of Contents
Setup an package building environment for Debian/Ubuntu
These are personal notes on how I setup package build environments. When done, I intend to writeup a blog post about it.
Install a Debian or Ubuntu Machine
This step may be a bare-metal, or virtual machine, such as bare http://www.linux-kvm.org/, libvirt, VirtualBox or VMWare.
First, install a minimal system. For Ubuntu, I recommend using the Server CD, and install only the SSH Task. This installer is very similar to the Debian installation media, as both use the software |http://wiki.debian.org/DebianInstaller. This installer comes with extensive documentation here: http://www.debian.org/releases/testing/amd64/
For both, Debian and Ubuntu, I recommend installing in “expert mode”, which can be selected at the boot prompt.
Preparing the environment
Install packages that are relevant for packaging. Note that I prefer sbuild
over pbuilder
for two reasons: First, this is the software that runs on the official buildds in both Debian and Ubuntu. Second, the packaged version extensively uses schroot
for chroot management, which makes it very easy to setup and maintain separate build environments (such as squeeze + squeeze-backports
or quantal + some-extra-ppa
).
The following command gets you started:
sudo apt-get install packaging-dev pbuilder- sbuild ubuntu-dev-tools
The ubuntu-dev-tools
package is available in all relevant versions of Ubuntu, and in Debian since debian/wheezy
Setup the build chroot and keeping it up-to-date
This step needs to be repeated for every build environment you want to use:
mk-sbuild --eatmydata unstable
Replace unstable
with the distribution you want to base this on. On Intel 64bit installations, this will create unstable-amd64
as schroot
managed “chroot”. Adjust to your environment as necessary.
To install the latest update in that environment, use:
sudo schroot-update -ud unstable-amd64
This runs unattendedly and could also be run via cron.
Building a package
To build a package, use:
sbuild -A -d unstable hello.dsc