An increasingly important part of building and deploying software is the creation of packages in formats such as RPM, Debian or simple ZIP / Tar+GZip. Rather than explain how to create packages in these formats, this page outlines some of the issues specific to integrating with the autobuild framework.

RPM Integration

Since the autobuilds run as an unprivileged user (builder) it is neccessary to create and configure a local RPM build root. The example autobuild configuration file expects the RPM build root to be in the directory /var/builder/packages/rpm. To create this, login as the user 'builder' and run

cd /var/builder
mkdir packages
mkdir packages/rpm
mkdir packages/rpm/{RPMS,SRPMS,SPECS,SOURCES,BUILD}
mkdir packages/rpm/RPMS/{i386,i486,i586,i686,sparc,noarch}

To instruct RPM to use this build root is it neccessary to create a .rpmmacros file containing:

%_topdir /var/builder/packages/rpm

Debian Integration

The Debian packaging tools don't need a central build root to operate with - instead they create files in a subdir of the package being built. The autobuild package detection does, however, expect the resulting binary packages to be placed in a central directory - by convention /var/builder/packages/debian. This is accomplished by specifying the DESTDIR variable when running the main build command:

fakeroot debian/rules binary DESTDIR=/var/builder/packages/debian

ZIP / Tar+GZip Integration

As with Debian packaging, there is no need for a centralized build root. It is merely neccessary to put the resulting ZIP or Tar+GZip binary files in a central distribution directory - by convention /var/builder/packages/zip or /var/builder/packages/tgz.