[unknown button type]

This is an old revision of the document!


Packaging

These notes will be updated to proper documentation soon.

IMPORTANT — when building for the PPA, be very, very careful that you upload the proper, bona-fide upstream tarball available from the downloads page. Oh yes.

General:

  • Packaging info kept in main tree, under packages
  • Package directories are merged with the main tree to create packages, eg. packages/ubuntu/debian gets moves to the top level

Policy:

  • Only use packaging control files and patches against the source tree. Do not directly modify source tree files and keep them under packaging. Most distros have some sort of build-time patch system.
  • Don't go nuts trying anything fancy with distro detection, just create new packaging directories
Distribution Regexp Builder Comments
generic Generic tarball: Builds a simple tarball of the current state of the tree
debian.*, ubuntu.* Debian binary: builds a binary deb package
source: builds a source package (a .dsc etc package)
ppa: builds a source-based package ready for upload to the PPA
official: a binary package as per Debian requirements for upload
fedora.* Fedora Not implemented yet, coming soon

PBuilder

PBuilder is a personal package builder for Debian/Ubuntu packages. It builds packages inside a chroot, in effect emulating how your package would build on a completely pristine installation. It is incredibly useful for identifying build dependencies and other problems.

Useful trick: Using pbuilder (along with my config files detailed under that link below), I can create a port for any Debian/Ubuntu distro using DIST=whatever make ubuntu binary -p (where “whatever” is the target distro, eg. “jaunty”, “squeeze”, etc).

Here are some useful notes on PBuilder notes.