File: guide.rst

package info (click to toggle)
debomatic 0.8-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 344 kB
  • ctags: 69
  • sloc: python: 642; sh: 67; makefile: 12
file content (133 lines) | stat: -rw-r--r-- 4,979 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
===========
Deb-o-Matic
===========

--------------------------------------------------
Automatic build machine for Debian source packages
--------------------------------------------------

:Author: Luca Falavigna <dktrkranz@debian.org>
:Date: January 08, 2010
:Homepage: http://launchpad.net/debomatic

.. contents::

Introduction
============

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

It has some useful feature such as automatic chroot update and automatic scan
and selection of source packages to build. 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 (>= 2.5)
* python-docutils
* intltool

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

* python (>= 2.5)
* pbuilder or cowbuilder
* debootstrap or cdebootstrap

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

* python-pyinotify (>= 0.8.6)
* gnupg
* lintian

An Internet connection is also required, broadband access is recommended because
debootstrap will fetch several packages from the Internet to set up chroots.

Installation and removal
========================

Installation process is straightforward, just execute:

``python setup.py install``

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

Configuration
=============

In order to have 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:

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

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

When 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 into examples directory.
Names must match target distribution you want to build packages for (e.g. if
you want to build a package for unstable, pbuilder configuration filename must
be unstable). They should be the same as the ones provided by debootstrap.

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.
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.
A source upload is required, other type of .changes files could not be parsed
correctly leading to an ignored build.

GPG support
-----------

Deb-o-Matic supports 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 correspondent option will be processed, unknown packages will be
deleted automatically.

How to prepare source packages
------------------------------

Deb-o-Matic can automatically fetch upstream tarballs if already available on
main distribution archive (e.g. http://archive.debian.com/debian), so you can
choose not to include them in such cases. You always need to include them in
case of new upstream version or new packages.

Modules
=======

Deb-o-Matic provides modules support. Modules are Python scripts pluggable at
runtime which extend Deb-o-Matic features. Available modules are stored into
modules directory. An example module can be found into examples directory,
useful to write your own Deb-o-Matic module.

Bugs and feedback
=================

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