summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2015-06-16 08:15:10 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2015-06-16 08:15:10 +0200
commit92e491f519dba28b046cfc8c7bfe3cbc9a5a99a2 (patch)
tree411c20a1ad17a5a83135e6af02b6757c2fe60c3f
parent0b0830e7c6f6911d568cd156b5729dd240773af0 (diff)
downloadbiruda-92e491f519dba28b046cfc8c7bfe3cbc9a5a99a2.tar.gz
biruda-92e491f519dba28b046cfc8c7bfe3cbc9a5a99a2.tar.bz2
updated README
-rw-r--r--README40
1 files changed, 31 insertions, 9 deletions
diff --git a/README b/README
index 3ce6454..43f453c 100644
--- a/README
+++ b/README
@@ -1,7 +1,15 @@
-biruda
-------
+What is biruda?
+---------------
-The successor of 'build' (birua - Japanese for builder).
+Biruda tries to provide a C-only and lightweight automatic build
+framework based on messaging. The virtualization technology is
+not glued to the builder, it allows chroot, jails, docker, libvirt,
+etc. technology to form the builders.
+
+Burida is the successor of 'build' (birua - Japanese for builder),
+see http://github.com/Wolframe/build.
+
+Biruda consists of the following logical components:
The master:
* receives build commands, orchestrates the build
@@ -9,15 +17,25 @@ The master:
The coordinator:
* manages resources (virtual machines, CPUs per chroot, etc.)
-The builder:
+The worker:
* does the job (this can be build, test, etc.)
+An embedded web server:
+* RESTful and JSON service for web interfaces and the CLI
+
+A commnd line interface (CLI), embedded in biruda itself:
+* communicates to the embedded web server in the master
+
+
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).
+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).
+
+Additionally you need the following third-party software:
+
* gengetopt: for command argument line parsing (on Windows you need the
Cygwin version of gengetopt)
http://www.gnu.org/software/gengetopt/gengetopt.html
@@ -35,6 +53,11 @@ Requirements
https://github.com/json-c/json-c/wiki
* glib2: for direct execution of children in the worker
http://www.gtk.org/
+* libdaemon: for daemonizing support on Unix
+
+The following software is integrated in the biruda source tarball,
+mainly because of lack on some systems or local modifications:
+
* linenoise: lightweight editline/readline replacement for the biruda
command line interface (cli)
https://github.com/antirez/linenoise
@@ -43,13 +66,12 @@ Requirements
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
+ (integrated)
Other projects
--------------
-* my own shell-script-based predecessor (http://github.com/Wolframe/build)
* buildbot (http://buildbot.net/)
* OpenSuseBuild service (http://openbuildservice.org/)