Source package recipes
Source package recipes are a great way of trying out the latest code from a project, with relatively little effort.
Whether you want to help others test your code, or you want to run a modified or bleeding edge version of your favourite software, with Launchpad's source package recipes you can:
- take the code in one or more Bazaar branches
- borrow the packaging information from the software's existing Ubuntu package
- sit back and get an automatic build on every day the source changes, which is then published in the PPA of your choice.
So you can run the latest code, with or without your chosen modifications, without having to install from source. Plus, you get automatic Ubuntu update reminders whenever the package changes.
Source package builds is the name we give to this Launchpad feature. Most source package builds are automatically built each day and you'll see those referred to as daily builds.
Why source package recipes?
If you're running a software project, the main advantage of source package recipes is that they help with testing. In particular, they can help:
Tighten the feedback loop: making new code available almost straight away, in a way that's easy to install, brings developers and testers closer together
Lowers the barrier to becoming a tester: adding a PPA is an easy and common task for Ubuntu users, meaning that anyone can help test your software
Easier verification testing: people who've reported a bug can quickly and simply check that the bug is fixed in a future revision.
There are also some considerations that may mean source package recipes are not suitable for your project, such as:
- Your project doesn't use feature branches or keep the trunk in a buildable state.
- Your project is in the early stages of development or in the middle of a major refactoring and not yet ready for testing.
- Sometimes users think source package builds are supported releases, which can both add to bug noise and generate support requests.
- If users cannot easily go back to their previous version of your software after using source package builds (for example you do a one-time database upgrade or something from one version to another) then this can be problematic.
Finding daily builds
Many people opt to have Launchpad build their source package recipes each day there's a change in the source.
There are two main places to find a list of daily builds.
Launchpad provides a list of all daily builds and the Ubuntu community has a slightly more detailed but manually maintained list of daily builds.
Getting started with source package recipes
To get started with your own source package recipes you'll need source code in Launchpad, packaging information and a recipe that brings them all together. Let's take a look in more detail.