Building Debian packages with Deb-o-Matic

Today I’ll be telling you about an interesting way to build your Debian packages using Deb-o-Matic, a tool developed and maintained by Luca Falavigna. Some more details about this tool from the package’s description:

Deb-o-Matic is an easy to use build machine for Debian source packages based on pbuilder, written in Python.

It provides a simple tool to automate build of source packages with limited user interaction and a simple configuration. It has some useful features such as automatic update of pbuilder, automatic scan and selection of source packages to build and modules support.

The setup.

1. Download the package.

2. Modify the main configuration file as follows:

The available modules are:

  1.  “Contents“, which acts as a ‘dpkg -c’ over the built packages.
  2. DateStamp“, which displays build start and finish times into a file in the build directory.
  3. Lintian“, which stores Lintian output on top of the built package in the pool directory.
  4. Mailer“, which sends a reply to the uploader once the build has finished.
  5. PrevBuildCleaner“, which deletes all files generated by the previous build.
  6. Repository“, which generates a local repository of built packages.

2. Configure ‘dput‘ to upload package’s sources to your local repository, edit the /etc/dput.cf file and add this entry:

or the following if you are going to upload the files to a different machine through SSH:

3. Add a new Virtual Host on Apache and access the repository / built packages directly through your browser:

4. Start the daemon:

5. (Optional) Add your repository to APT‘s sources.list:

6. (Optional) Start Deb-O-Matic at system’s startup by modifying the /etc/init.d/debomatic file at line 21:

and finally add it to the desired runlevels:

Enjoy!

Share on Google+2Tweet about this on TwitterShare on Facebook0Share on LinkedIn0Digg thisShare on Reddit0Share on StumbleUpon0Email this to someone