2008-01-20 Richard Jones Fix Volume.lookup_by_key and Volume.lookup_by_path * libvirt/libvirt.mli, libvirt/libvirt.ml: These functions take a connection object, not a pool, as first parameter. Version 0.4.0.2 released. 2008-01-18 Richard Jones Move to autogeneration of many C bindings. * configure.ac, libvirt/libvirt_c.c, libvirt/generator.pl: Many C bindings can now be autogenerated using a Perl script. Also includes preliminary support for the experimental storage API. 2008-01-08 Richard Jones Get node_info just once for each connection. * vc_connections.ml: Get node_info just once for each connection, which is more efficient. * vc_connections.mli: Tidy up. Type Vc_domain_ops.dops_callback_fn for clarity. * virt-ctrl/vc_domain_ops.mli, virt-ctrl/vc_domain_ops.ml, virt-ctrl/vc_mainwindow.mli: Give a type name to the domain_ops callback type, for extra clarity. Change comments virt-manager -> virt-ctrl. * virt-ctrl/*.ml, virt-ctrl/*.mli: Change comments virt-manager -> virt-ctrl. Move programming information to libvirt generated doc. * README, libvirt/libvirt.mli: Moved programming information to libvirt generated documentation, greatly expanded examples and other issues. * examples/Makefile.in, examples/node_info.ml, examples/.depend: Added node_info example program. * .hgignore, Makefile.in: Ignore, clean up node_info binary. * examples/list_domains.ml: Make a read-only connection. Clean up *.exe files. * Makefile.in: Clean up *.exe files. Version 0.4.0.1 released. * Makefile.in: Provide a 'winupload' target. Rename some dialogs in virt-ctrl. * virt-ctrl/vc_mainwindow.ml: Fix some "virtual machine manager" -> "virt-ctrl" dialogs in main window. Fix bad paths in wininstaller.nsis.in. * wininstaller.nsis.in: * .hgignore: Ignore *.orig files. Fix native virt-ctrl on Windows. * virt-ctrl/Makefile.in, virt-ctrl/mingw-gcc-wrapper.ml: Wrapper around 'gcc' to fix native virt-ctrl builds on Windows/MinGW. * .hgignore: Ignore *.exe files. 2008-01-07 Richard Jones Updated MANIFEST. * MANIFEST: Bring the MANIFEST file up to date. mlvirtmanager renamed as virt-ctrl. * .hgignore, Makefile.in, configure.ac: Rename mlvirtmanager as virt-ctrl to avoid any confusion with the real virt-manager. * mlvirtmanager/, virt-ctrl/: Subdirectory moved. * README: Supporting documentation updated. Include mlvirtmanager in the Windows installer. * wininstaller.nsis.in: Include mlvirtmanager in the Windows installer. * Makefile.in: Re-enable native code builds for Windows installer. * mlvirtmanager/Makefile.in: Pass $(LDFLAGS) when building on Windows - you need to specify the location of $GTK/lib. Bundle Gtk DLLs and support files in the Windows installer. * configure.ac: Detect library paths instead of hard- coding them. * wininstaller.nsis (removed): This file is now autogenerated. * wininstaller.nsis.in: Bundle Gtk DLLs and support files. * Makefile.in: More verbose messages from NSIS. Include required libraries in the Windows installer. * wininstaller.nsis: Include *.dll files. Windows installer. * Makefile.in, configure.ac: Add --with-nsis[=path/to/nsis] and call out to 'makensis.exe'. * wininstaller.nsis, winlicense.rtf: Configuration and support files for NSIS-based Windows installer. * README: Update documentation to reflect. 2008-01-05 Richard Jones mlvirtmanager compiles and runs on Windows (MinGW). * configure.ac: Directories to search for optional modules were specified incorrectly - fixed. * mlvirtmanager/Makefile.in: Changed so can build without ocamlfind, and checked it can build on Windows. mlvirsh can compile without extlib * mlvirsh/mlvirsh.ml: mlvirsh only needed three functions from extlib, so copy them in here to avoid the dependency. * configure.ac: No dependency on extlib for mlvirsh. * mlvirsh/Makefile.in: Changed so can build without ocamlfind. * README: Updated documentation. Update documentation for Windows. * README: Update documentation for Windows. Build libvirt and examples on Windows (MinGW). * aclocal.m4: Add AC_CHECK_OCAML_MODULE to check for OCaml modules directly (without ocamlfind being needed). * configure.ac: Remove requirement for ocamlfind. * config.guess, config.sub: Ship these files to guess host, build and target. * libvirt/Makefile.in, examples/Makefile.in: Change these so they don't require ocamlfind, do the right thing on MinGW. * Make.rules.in: Make.rules is now generated from this file. File can use ocamlfind or direct ocaml commands as available. * .hgignore: Ignore some generated files on Windows. 2008-01-04 Richard Jones Make extlib an optional dependency. * Makefile.in, README, configure.ac, examples/Makefile.in, libvirt/Makefile.in, mlvirtmanager/Makefile.in: Much code doesn't really need extlib, so make it optional. Bail earlier in configure step if we don't have ocamlfind. 2007-12-20 Richard Jones * libvirt/libvirt_c.c: Use enter/leave_blocking_section around synchronous libvirt API calls, so that multithreaded OCaml programs can be used. * configure.ac: Version 0.4.0.0 for release. * libvirt/libvirt.ml, libvirt/libvirt.mli, libvirt/libvirt_c.c: Change the ad-hoc "foo not supported" exception into a specific Libvirt.Not_supported "foo" exception. * virt-top/virt_top.ml: Change virt-top to understand new exception type. 2007-11-20 Richard Jones * libvirt/libvirt.mli, libvirt/libvirt.ml: New error numbers in base libvirt. * libvirt/libvirt_c.c: Gracefully handle the case where libvirt throws an error number we have not heard of before (eg. when dynamic linking with newer libvirt). * configure.ac: Check exists. * configure.ac: Version 0.3.3.4. * virt-top/virt-top.pod: Fixed ocaml libvirt website URI in manpage. 2007-11-19 Richard Jones * virt-top/virt-top.pod: Example connection URIs in virt-top manpage (bug 390691). 2007-11-14 Richard Jones * libvirt/libvirt.mli: Added filename = string type to clarify some function signatures which take a filename. Added lots of function documentation. * libvirt/libvirt.ml: Added VIR_FROM_OPENVZ. * configure.ac: Version 0.3.3.3 for release. 2007-11-14 Richard Jones * Makefile.in: New rules for releasing and uploading. 2007-11-14 Richard Jones * libvirt/libvirt.mli, libvirt/libvirt.ml, libvirt/libvirt_c.c: Added support for virNodeGetFreeMemory and virNodeGetCellsFreeMemory * mlvirsh/mlvirsh.ml: Added 'freecell' command. 2007-10-19 Richard Jones * virt-top/virt_top_calendar.ml: Added --end-time option. Extra optional dep on ocaml-calendar. * virt-top/virt-top.pod: Document how to compress and split CSV files. Document --end-time option and time formats. * virt-top/virt_top.ml: Allow sub-second delays when in batch and script mode. * virt-top/virt_top_utils.mli, virt-top/virt_top.mli: Reorganise the code and add some interfaces. 2007-10-17 Richard Jones * virt-top/virt_top.ml: Added --script option. * virt-top/virt_top.ml: Log domain data to CSV file. * virt-top/virt_top.ml: Added --no-csv-cpu, --no-csv-block and --no-csv-net flags. * virt-top/*.ml: Much code clean-up and restructuring. * *: Added GNU GPL/LGPL copyright messages to all files. 2007-09-27 Richard Jones * configure.ac: Changed version to 0.3.2.9. * Makefile.in: Re-enable virt-df. * virt-df/virt_df*.ml: Mostly finished off the core of virt-df. Ext2/3 support. No LVM as yet. * virt-df/README: Added README file. 2007-09-24 Richard Jones * configure.ac: Version 0.3.2.8 for release. * virt-top/virt-top.ml, virt-top/virt-top.pod: Support for $HOME/.virt-toprc init file, modelled after top. * virt-top/virt_top_utils.ml: Split out string utilities into a separate file. 2007-09-20 Richard Jones * virt-top/virt_top.ml: qemu:/// URIs (and others) don't support virConnectGetHostname. Catch this exception. * Makefile.in: Disable virt-df in this release until I have time to fix it properly. * Makefile.in: Fix 'check-manifest' rule. Added 'make release'. * MANIFEST: Updated MANIFEST. 2007-09-19 Richard Jones * virt-top/virt_top.ml: Ignore transient error from C.num_of_defined_domains when it cannot contact xend; that was causing virt-top to exit when xend was restarted. 2007-09-18 Richard Jones * virt-df/virt_df.ml: Handle domains with partition-backed block devices. * virt-top/virt_top.ml: Don't fail on older libvirt which would give an error if list_domains or list_defined_domains was called with n = 0. * ChangeLog: Start tracking changes.