                   Deb-o-Matic
Automatic build machine for Debian source packages



Introduction

This is Deb-o-Matic, a easy to use build machine for Debian-based source
packages based on pbuilder. It provides a simple tool to automate the build of
source packages with limited user interaction and a simple configuration.

It has some useful feature such as automatic update of pbuilder, automatic scan
and selection of source packages to build and lintian support. It is meant to
help developers to build their packages without worrying too much of compilation,
since it will run in background and no user feedback is required during the
whole process.


Requisites

These packages are required to build and install Deb-o-Matic on your system:

    * python-dev
    * docboock2x

These ones are required to execute Deb-o-Matic:

    * python
    * pbuilder
    * debootstrap

To enable additional features, you may want to install these packages:

    * python-pyinotify
    * gnupg
    * lintian

A Internet connection is also required, broadband access is recommended since
debootstrap will fetch several packages from internet to set up pbuilder chroot
environment.


Installation and removal

Installation process is straightforward, just execute these commands:

make
make install (with root privileges)

You will find debomatic executable in /usr/bin, modules in
/usr/lib/python*/site-packages/Debomatic (based on your Python version) and
related manpages in /usr/share/man/ directory.

In order to uninstall Deb-o-Matic, you need to launch make uninstall
(with root privileges).


Configuration

In order to get Deb-o-Matic working, you have to prepare a configuration file
which will provide the options needed to run debomatic. You can look at
examples/debomatic.conf to see a working example.

The most important options are located under default section: here are some of them:

    * packagedir: base directory where debomatic will scan for packages to build
    * configdir: place where pbuilder configuration files used to pass build
      options to pbuilder are stored
    * maxbuilds: maximum number of parallel builds allowed 

See debomatic.conf man page for a complete list of the available options.

Once main configuration file is complete, you must create the directories
referenced by packagedir and configdir, where you will put pbuilder
configuration files. Working examples are located in examples directory. Names
must match target distribution you want to build packages for (e.g. if you want
to build a package for Intrepid, pbuilder configuration filename must be intrepid).

See pbuilderrc man page for a complete list of the available options.


Running Deb-o-Matic

To start Deb-o-Matic, you have to launch debomatic -c debomatic.conf command
(where debomatic.conf is your main configuration file). You need root
privileges to do so because of pbuilder infrastructure. This will start
debomatic in daemon mode, use -n switch to avoid this.

Now you can put source packages in the chosen package directory (identified by
packagedir option) and Deb-o-Matic will take care of the building phase. Since
Deb-o-Matic requires .changes files, be sure to generate a full Debian source
package by using a command such as dpkg-buildpackage -S -sa. You have to upload
.changes file and each file mentioned under its Files section. You may want to
use software like dput to automate the process.

GPG support

Deb-o-Matic support GPG-signed source packages to allow build for authorized
people only. To enable GPG support, you need to set options in gpg section in
main configuration file. Only packages signed with keys present in keyring
pointed by the correspondant option will be processed, unknown packages will be
deleted automatically.

Advice on how to prepare source packages

Deb-o-Matic can fetch .orig.tar.gz files automatically if already available on
main distribution archive (e.g. http://archive.ubuntu.com/ubuntu), so you can
choose not to include .orig.tar.gz sometimes. You always need to include it in
case of new upstream version or new packages.


Bugs and feedback

If you want to report a bug or a feature, please visit Deb-o-Matic homepage at
https://launchpad.net/debomatic.
