Not logged in - Log In / Register

Revision 4 as of 2011-03-24 11:59:21

Clear message

Launchpad Help > Packaging > Daily builds > bzr-build

lp-diamond-16.png Source package recipes in Launchpad


Getting Started

Knowledge Base

List of Daily Builds


bzr-builder is the Bazaar plugin that helps you set up daily builds in Launchpad. You need to install it locally to test your recipes and builds before you send them to Launchpad.


The easiest way to install bzr-builder, and keep it updated, is using the PPA at:

Alternatively, you can pull down the branch from Launchpad and install it in your Bazaar plugins directory:

$ mkdir -p ~/.bazaar/plugins/
$ bzr branch lp:bzr-builder ~/.bazaar/plugins/builder

To check if it is install and running, enter:

$ bzr plugins -v

Looking for "builder" in the listed plugins.

Getting help

Help for the plugin is available by running:

$ bzr help builder

Help for the individual commands is available as:

$ bzr help build
$ bzr help dailydeb


bzr-builder works with "recipes" that are descriptions of the steps needed to construct a package from the various Bazaar branches.

Read our guide to writing recipes.

Running commands in recipes

Sometimes you may need run a partircular command in order to prepare a branch for packaging.

bzr-builder supports this through the run command.

Note: Launchpad does not support the run command.

Let's say you need to run autoreconf -i at some point during the build process. You'd add the following line to your recipe:

run autoreconf -i

When bzr-builder reaches that point in the recipe it will run that command.

If you place a run command in a nest section of a recipe — i.e. indented by two spaces below a nest command — the command will be run in the nested location.

For example:

nest packaging lp:~team/project/ubuntu debian
  run cat control

The command is passed through the shell, so you can use shell constructs, such as:

run touch a && touch b

If the command exits with a non-zero error code then it will stop the building of the package.

Building the recipe

In order to build the recipe you need to use the bzr dailydeb command.

$ bzr dailydeb package.recipe working-dir

This will perform the steps specified in package.recipe. It will create working-dir and put the resulting source tree and the source package there.

You can examine the unpacked source tree and then build the source package and install the results.

Next steps

There's more in the Packaging/SourceBuildsdaily builds knowledge base.

< Recipes in detail

More help in the daily builds knowledgebase >