summaryrefslogtreecommitdiff
path: root/README
blob: 3ce64542a26bfb191c8350f20cbcb62aab3c760a (plain)
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
biruda
------

The successor of 'build' (birua - Japanese for builder).

The master:
* receives build commands, orchestrates the build

The coordinator:
* manages resources (virtual machines, CPUs per chroot, etc.)

The builder:
* does the job (this can be build, test, etc.)

Requirements
------------

* biruda is written in plain C and uses libraries written in plain C.
  You need a C compiler (gcc, clang, tcc, MSVC) and GNU make (resp.
  NMAKE on Windows).
* gengetopt: for command argument line parsing (on Windows you need the
  Cygwin version of gengetopt)
  http://www.gnu.org/software/gengetopt/gengetopt.html
* confuse: configuration library
  http://www.nongnu.org/confuse/
* nanomsg: for communication between nodes (on the same machine or on
  several machines)
  http://nanomsg.org/
* libmicrohttpd: for an embedded web interface (not on Windows, there
  is no master webserver on Windows currently)
  http://www.gnu.org/software/libmicrohttpd/
* pthreads: for threading support on Windows
  http://sourceware.org/pthreads-win32/
* json-c: JSON for message payload
  https://github.com/json-c/json-c/wiki
* glib2: for direct execution of children in the worker
  http://www.gtk.org/
* linenoise: lightweight editline/readline replacement for the biruda
  command line interface (cli)
  https://github.com/antirez/linenoise
  (integrated)
* http-tiny: simple web client library, used by the 'cli' to talk to
  the master.
  http://www.demailly.com/~dl/http-tiny-1.2.tar.gz
  (integrated)
* libdaemon: for daemonizing support on Unix
* xxd: for integrating a configuration template into the biruda binary
  itself for the '--generate-config' option
  
Other projects
--------------

* my own shell-script-based predecessor (http://github.com/Wolframe/build)
* buildbot (http://buildbot.net/)
* OpenSuseBuild service (http://openbuildservice.org/)