Code

e9578012ce00157679918eaa77b718f6a500b6c7
[sysdb.git] / README
1         SysDB -- a system management and inventory collection service
2        ===============================================================
4   “System DataBase” (SysDB) is a multi-backend system management and inventory
5   collection service. It may be used to (continuously) collect information
6   about your systems from various backends (inventory services, monitoring
7   services, etc.) and provides a unique interface to access the information
8   independent of the active backends. This is done by storing and mapping the
9   backend objects to generic objects and correlating the attributes to create
10   a single hierarchical view of your infrastructure.
12   SysDB is free and open source software, licensed under the 2-clause BSD
13   license. See COPYING for details.
15 Prerequisites
16 -------------
18   To compile the SysDB package from source you need:
20   * A build environment: autotools, libtool, C compiler, ...
22     <http://www.gnu.org/software/automake/>
23     <http://www.gnu.org/software/autoconf/>
24     <http://www.gnu.org/software/libtool/>
25     <http://www.freedesktop.org/wiki/Software/pkg-config/>
26     <http://gcc.gnu.org/>
28   * When building from Git, you also need the flex lexical analyzer generator
29     and bison parser generator (other lex and yacc compatible tools might work
30     as well if you are lucky).
32     <http://www.gnu.org/software/bison/>
33     <http://flex.sourceforge.net/>
35   * A POSIX + Single UNIX Specification compatible C library.
37     <http://pubs.opengroup.org/onlinepubs/9699919799/>
39   * asciidoc, xsltproc, xmlto:
40     The AsciiDoc text document format is used to write the manpages.
42     <http://www.methods.co.nz/asciidoc/>
43     <http://xmlsoft.org/XSLT/>
44     <https://fedorahosted.org/xmlto/>
46   * libedit or libreadline:
47     A readline compatible command line editor and history library is used for
48     handling input in the sysdb client program.
50     <http://thrysoee.dk/editline/>
51     <http://tiswww.case.edu/php/chet/readline/rltop.html>
53   The following optional libraries may be used by various plugins:
55   * libdbi:
56     The database independent abstraction layer is used for database access by
57     the puppet::store-configs plugin.
59     <http://libdbi.sourceforge.net/>
61 Testing
62 -------
64   Unit tests for SysDB are shipped along with the source code in the ‘t’
65   subdirectory. Run ‘make test’ to run all available tests.
67   Some tests require the ‘fopencookie’ function as provided by the GNU libc
68   library. It used used to mock I/O related functions. In case this function
69   is not available, the respective tests will be disabled automatically.
71   For the latest build status, see:
72   <https://travis-ci.org/tokkee/sysdb>
74   Code coverage testing using Gcov may be enabled when using the
75   ‘--enable-gcov’ configure option.
77   For the latest coverage report, see:
78   <https://coveralls.io/r/tokkee/sysdb>
80 Configuring / Compiling / Installing
81 ------------------------------------
83   To configure, build and install SysDB with the default settings, run
84   ‘./configure && make && make install’. For detailed, generic instructions
85   see INSTALL. For a complete list of configure options and their description,
86   run ‘./configure --help’.
88   By default, SysDB will be installed into ‘/opt/sysdb’. You can adjust this
89   setting by specifying the ‘--prefix’ configure option - see INSTALL for
90   details. If you pass DESTDIR=<path> to ‘make install’, <path> will be
91   prefixed to all installation directories. This might be useful when creating
92   packages for SysDB.
94 Author
95 ------
97   Sebastian “tokkee” Harl <sh@tokkee.org>