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.