tests: Test the nbdkit command line more thoroughly.
[nbdkit/ericb.git] / README
blob437048c13b95c9a37dbe9f0ee0dc7de4532533ab
1 NBD is a protocol for accessing Block Devices (hard disks and
2 disk-like things) over a Network.
4 'nbdkit' is a toolkit for creating NBD servers.
6 The key features are:
8 * Multithreaded NBD server written in C with good performance.
10 * Well-documented, simple plugin API with a stable ABI guarantee.
11   Let's you export "unconventional" block devices easily.
13 * Liberal license (BSD) allows nbdkit to be linked to proprietary
14   libraries or included in proprietary code.
16 For documentation, see the docs/ directory.
18 For plugins and examples, see the plugins/ directory.
20 License
21 -------
23 This software is copyright (C) Red Hat Inc. and licensed under a BSD
24 license.  See LICENSE for details.
26 Building from source
27 --------------------
29 By default nbdkit needs nothing except Linux and reasonably recent gcc.
31 To build the man pages, you will need to install:
33  - pod2man (included with perl)
35 There are some *optional* libraries you may want to install for the
36 plugins.
38 For the gzip plugin:
40  - zlib
42 For the xz plugin:
44  - liblzma
46 For the libvirt plugin:
48  - libvirt
50 For the libguestfs plugin, and to run the test suite:
52  - libguestfs
54  - guestfish (from libguestfs)
56 For the VDDK plugin:
58  - VDDK (see plugins/vddk/README.VDDK)
60 For the Perl plugin:
62  - perl development libraries
64  - perl module ExtUtils::Embed
66 For the Python plugin:
68  - python development libraries
70 After installing any dependencies:
72   To build from tarball:         To build from git:
73   ----------------------         ------------------
74                                  autoreconf -i
75   ./configure                    ./configure
76   make                           make
77   make check                     make check
79 Optionally run this as root to install everything:
81   make install
83 Tests
84 -----
86 You will need to install libguestfs to run the test suite.
88 The test suite ('make check') is fairly comprehensive.  It runs the
89 newly built nbdkit + plugin as a captive process, and tests it using
90 libguestfs.
92 If there is a failure, look at the corresponding tests/*.log file for
93 debug information.
95 Packager information
96 --------------------
98 Tarballs are available from:
99 http://libguestfs.org/download/nbdkit
101 Developer information
102 ---------------------
104 For development ideas, see the TODO file.
106 The upstream git repository is:
107 https://github.com/libguestfs/nbdkit
109 Please send patches to the libguestfs mailing list:
110 https://www.redhat.com/mailman/listinfo/libguestfs
112 For further information, see:
113 http://libguestfs.org/