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