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/)
|