Newer autoconf adds PACKAGE_URL definition.
[virt-top.git] / README
diff --git a/README b/README
old mode 100755 (executable)
new mode 100644 (file)
index b3001a3..0e56218
--- a/README
+++ b/README
@@ -1,62 +1,17 @@
-ocaml-libvirt
+virt-top
 ----------------------------------------------------------------------
 
-Copyright (C) 2007 Richard W.M. Jones, Red Hat Inc.
+Copyright (C) 2007-2009 Richard W.M. Jones, Red Hat Inc.
+http://et.redhat.com/~rjones/virt-top/
 http://libvirt.org/ocaml/
 http://libvirt.org/
 
-This is a complete set of OCaml bindings around libvirt, exposing all
-known functionality to OCaml programs.
+virt-top is a top-like utility for showing stats of virtualized
+domains. Many keys and command line options are the same as for
+ordinary top.
 
-
-Requirements
-----------------------------------------------------------------------
-
-To build the bindings, examples, and mlvirsh (required):
-
-  GNU make, gcc
-  libvirt >= 0.2.1 (from http://libvirt.org/,
-                   get the latest version if you can)
-  ocaml >= 3.08 (from http://caml.inria.fr/)
-
-Optional, but highly recommended:
-
-  findlib (from http://www.ocaml-programming.de/packages/)
-
-To build the OCaml interface documentation (optional):
-
-  ocamldoc (part of OCaml itself)
-
-To build virt-top (optional):
-
-  ocaml-curses (from http://www.nongnu.org/ocaml-tmk/)
-  Extlib (from http://ocaml-lib.sourceforge.net/)
-  xml-light (from http://tech.motion-twin.com/doc/xml-light/)
-  ocaml CSV library (from http://merjis.com/developers/csv)
-  ocaml-calendar (http://www.lri.fr/~signoles/prog.en.html)
-
-  [Only ocaml-curses and Extlib are required for building virt-top.
-  The other packages are not required, but you will get reduced
-  functionality].
-
-To build mlvirtmanager (optional):
-
-  GTK2 (from http://gtk.org/)
-  lablgtk2 (from http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgtk.html)
-
-To build the manpages (optional):
-
-  perldoc (part of Perl)
-
-OCaml packages are available for Fedora 7 and above (ocaml,
-ocaml-findlib, ocaml-findlib-devel, ocaml-ocamldoc, ocaml-extlib,
-ocaml-extlib-devel, ocaml-lablgtk, ocaml-lablgtk-devel, ocaml-curses,
-ocaml-xml-light, ocaml-csv).
-
-  http://www.annexia.org/tmp/ocaml/
-  http://fedoraproject.org/wiki/SIGs/OCaml
-
-Debian/Ubuntu have all the packages you require.
+It uses libvirt so it capable of showing stats across a variety of
+different virtualization systems.
 
 
 Building
@@ -64,102 +19,7 @@ Building
 
   ./configure           # Checks that you have all the required bits.
 
-  make all             # Builds the bytecode version of libs/programs.
-  make opt             # Builds the native code version of libs/programs.
-
-  make install          # Install in OCaml directory, and the binaries
-                               # in $prefix/bin.
-
-  make doc              # Build HTML documentation in html/ subdirectory.
-
-Then have a look at the programs 'mlvirsh.opt' and 'mlvirtmanager.opt'.
-
-Note: If you want to run the programs without first installing, you
-may need to set your $LD_LIBRARY_PATH environment variable so it
-contains the build directory.  eg:
-
-  LD_LIBRARY_PATH=libvirt/ mlvirsh/mlvirsh.opt
-
-
-Windows
-----------------------------------------------------------------------
-
-I have built libvirt (the bindings), examples, mlvirsh and
-mlvirtmanager on Windows using the MinGW port of OCaml.  It's quite
-likely that it will also work under VC++, but I have not tested this.
-
-
-mlvirsh
-----------------------------------------------------------------------
-
-'mlvirsh' is an almost complete reimplementation of virsh, which is
-mostly command compatible (there are a very few commands missing, and
-some commands have a slightly different syntax, but broadly speaking
-they are equivalent programs except that one is written in C and the
-other in OCaml).
-
-At the time of writing:
-
-              wc -c  wc -l
-
-  virsh     126,056  4,641
-  mlvirsh    19,427    598
-
-  % size        15%    13%
-
-
-mlvirtmanager
-----------------------------------------------------------------------
-
-'mlvirtmanager' is a demonstration implementation of virt-manager in
-OCaml.  It is not feature-complete by any means, but does allow you to
-show the running domains and start and stop defined domains.  The main
-functionality _missing_ is the ability to define new virtual machines,
-change the resources allocated to domains, or show the machine
-console.
-
-
-Programming
-----------------------------------------------------------------------
-
-The interface is described in 'libvirt.mli'.  The main modules are
-Libvirt.Connect, Libvirt.Domain and Libvirt.Network, corresponding
-respectively to the virConnect*, virDomain*, and virNetwork*
-functions.  For brevity I usually rename these modules like this:
-
-  module C = Libvirt.Connect
-  module D = Libvirt.Domain
-  module N = Libvirt.Network
-
-To get a connection handle, do:
-
-  let name = "xen:///"
-  let conn = C.connect ~name ()
-
-To list domains, do:
-
-  let n = C.num_of_domains conn
-  let ids = C.list_domains conn n
-  let domains = Array.map (D.lookup_by_id conn) ids
-  let () =
-    Array.iter (
-      fun dom ->
-        printf "%5d %s\n" (D.get_id dom) (D.get_name dom)
-    ) domains
-
-(See also the program list_domains.ml).
-
-For documentation on these bindings, read libvirt.mli and/or 'make
-doc' and browse the HTML documentation in the html/ subdirectory.
-
-For documentation on libvirt itself, see http://libvirt.org/html/
-
-
-Subdirectories
-----------------------------------------------------------------------
+  make all             # Builds the bytecode version of the program.
+  make opt             # Builds the native code version of the program.
 
-libvirt/               The OCaml bindings.
-examples/              Some example programs using the bindings.
-mlvirsh/               'mlvirsh' command line tool.
-mlvirtmanager/         'mlvirtmanager' graphical tool.
-virt-top/              'virt-top' tool.
+Then have a look at the program 'virt-top/virt-top.opt'.