summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2011-07-13 15:03:04 +0100
committerRichard W.M. Jones <rjones@redhat.com>2011-07-13 15:03:04 +0100
commitf91c6f217facc88b60225769c61604a8b8c7169b (patch)
treec7e82457966b96c4e63e4d0eec6eabecf65ed8b8 /README
parentaa8a9ebf29b7fdc97467e911560a1a7a774e9e1f (diff)
downloadlibguestfs-f91c6f217facc88b60225769c61604a8b8c7169b.tar.gz
libguestfs-f91c6f217facc88b60225769c61604a8b8c7169b.tar.xz
libguestfs-f91c6f217facc88b60225769c61604a8b8c7169b.zip
Refresh README file.
Update and verify the list of requirements, by checking it against both configure.ac and the Fedora specfile. Remove some obsolete sections that covered historical ground.
Diffstat (limited to 'README')
-rw-r--r--README154
1 files changed, 79 insertions, 75 deletions
diff --git a/README b/README
index a1e3faba..787ec324 100644
--- a/README
+++ b/README
@@ -12,18 +12,56 @@ list:
Requirements
----------------------------------------------------------------------
-- recent QEMU >= 0.13 with virtio-serial support
+Running ./configure will check you have all the requirements installed
+on your machine.
+
+Fedora/RHEL users:
+
+ A useful tip is to run:
+
+ yum-builddep libguestfs
+
+ which will install all build dependencies automatically. If that is
+ successful, you don't need to bother with the rest of this section.
+
+Debian/Ubuntu users:
+
+ Take a look at the debian/control file and install everything listed
+ in "Build-Depends". If that is successful, you don't need to bother
+ with the rest of this section.
+
+The full requirements are described below.
+
+For basic functionality and the C tools:
+
+- look at appliance/packagelist.in and install as many of the packages
+ that apply to your distro as possible
+
+- recent QEMU >= 0.13 (0.14 or later is better) with virtio-serial support
-- kernel >= 2.6.34 with virtio-serial support enabled. virtio-block
- support is not required but comes highly recommended.
+- kernel >= 2.6.34 with virtio-serial support enabled.
-- febootstrap >= 3.0 (recommended >= 3.3)
- *NB*: febootstrap 2.x WILL NOT WORK
- febootstrap 3.x is distro-independent, and is required on
- Debian and other distros too
+- virtio-block and virtio-net drivers should be compiled into your
+ host kernel (strictly speaking this is optional, but you will have
+ to make complex changes to the ./configure command line to get it
+ to work if you don't have virtio)
+
+- febootstrap >= 3.3 (it is best to use the latest version)
+
+ Notes: (1) febootstrap 2.x WILL NOT WORK
+ (2) febootstrap 3.x is distro-independent, and is required on
+ Debian and other distros as well as Fedora
- XDR, rpcgen (on Linux these are provided by glibc)
+- cpio
+
+- gperf
+
+- genisoimage (NOT mkisofs any more)
+
+- hivex >= 1.2.7 (http://libguestfs.org/download) (optional)
+
- pcre (Perl Compatible Regular Expressions C library) (optional)
- libmagic (the library that corresponds to the 'file' command) (optional)
@@ -32,68 +70,66 @@ Requirements
- libxml2 (optional)
-- libconfig (optional, to parse /etc/libguestfs-tools.conf)
-
-- Augeas (http://augeas.net/) (optional)
+- libconfig (optional)
-- gperf
+- augeas >= 0.5.0 (http://augeas.net/) (optional)
-- squashfs-tools (mksquashfs only)
+- Berkeley DB 'db_dump' and 'db_load' utilities
+ (db4-utils or db4.X-util or similar) (optional)
-- genisoimage (NOT mkisofs any more)
+- perldoc (pod2man, pod2text, pod2html) to generate the manual pages
+ and other documentation.
-- hivex >= 1.2.7 (http://libguestfs.org/download)
+- Readline to have nicer command-line editing in guestfish (optional)
-- (Optional) Berkeley DB 'db_dump' and 'db_load' utilities
- (db4-utils or db4.X-util or similar)
+- xmllint (part of libxml2) to validate virt-inspector
+ RELAX NG schema (optional)
-- (Optional) FUSE to build the FUSE module
+- OCaml if you want to rebuild the generated files, and
+ also to build the OCaml bindings (optional)
-- perldoc (pod2man, pod2text, pod2html) to generate the manual pages
- and other documentation.
+- po4a for translating manpages and POD files.
+ This is optional when compiling from the tarball, but mandatory
+ if you compile from git.
-- (Optional) Readline to have nicer command-line editing in guestfish.
+- getfacl, getfattr libraries and programs (optional)
-- (Optional) xmllint to validate virt-inspector RELAX NG schema
+To build FUSE support (guestmount):
-- (Optional) OCaml if you want to rebuild the generated files, and
- also to build the OCaml bindings
+- FUSE libraries and kernel module (optional)
-- (Optional) OCaml PCRE bindings (ocaml-pcre).
+To build virt-resize:
-- (Optional) Perl if you want to build the perl bindings
+- OCaml PCRE bindings (ocaml-pcre) (optional)
-- (Optional) Python if you want to build the python bindings
+To build language bindings:
-- (Optional) Ruby, rake if you want to build the ruby bindings
+- Perl if you want to build the perl bindings (optional)
-- (Optional) Java, JNI, jpackage-utils if you want to build the java
-bindings
+- Python if you want to build the python bindings (optional)
-- (Optional) GHC if you want to build the Haskell bindings
+- Ruby, rake if you want to build the ruby bindings (optional)
-- (Optional) Perl Sys::Virt module.
+- Java, JNI, jpackage-utils if you want to build the java
+ bindings (optional)
-- (Optional) Perl Win::Hivex module.
+- GHC if you want to build the Haskell bindings (optional)
-- (Optional) Perl Pod::Usage module.
+- PHP, phpize if you want to build the PHP bindings (optional)
-- (Optional) Perl Test::More module (from perl Test::Simple).
+To build the Perl tools:
-- (Optional) Perl String::ShellQuote module.
+- Perl Sys::Virt module (optional)
-- (Optional, but highly recommended) perl-libintl for translating perl code.
+- Perl Win::Hivex module (optional)
-- po4a for translating manpages and POD files.
- This is optional when compiling from the tarball, but mandatory
- if you compile from git.
+- Perl Pod::Usage module (optional)
-- (Optional) PHP, phpize if you want to build the PHP bindings
+- Perl Test::More module (from perl Test::Simple) (optional)
-- (Optional, but highly recommended) getfacl, getfattr
+- Perl String::ShellQuote module (optional)
-Running ./configure will check you have all the requirements installed
-on your machine.
+- perl-libintl for translating perl code (optional)
Building
@@ -179,38 +215,6 @@ On some systems, the chmod will not survive a reboot, and you will
need to make edits to the udev configuration.
-vmchannel
-----------------------------------------------------------------------
-
-Previous versions of libguestfs required something called "vmchannel".
-Vmchannel is a special device given to virtual machines which allows
-them to communicate in some way with the host, often (but not always)
-without using a traditional network device. In reality, there is no
-one thing called "vmchannel". This idea has been reimplemented
-several times under the name vmchannel, and other hypervisors have
-their own incompatible implementation(s) too.
-
-In libguestfs <= 1.0.71, we required a specific vmchannel which is
-properly known as "guestfwd" and has been upstream in qemu since here:
-
- http://lists.gnu.org/archive/html/qemu-devel/2009-02/msg01042.html
-
-In libguestfs >= 1.0.71 we don't require any vmchannel implementation,
-as long as qemu has been compiled with support for SLIRP (user mode
-networking, or "-net user"), which is almost always the case.
-
-In libguestfs >= 1.5.4 we switched again to using qemu's virtio-serial
-and removed all the other vmchannels and the SLIRP channel.
-
-
-Supermin appliance
-----------------------------------------------------------------------
-
-In libguestfs >= 1.7.19 the supermin appliance is the default and only
-supported form of appliance. For more information see febootstrap
-(http://people.redhat.com/~rjones/febootstrap/).
-
-
Mirroring tip
----------------------------------------------------------------------