diff options
authorRichard W.M. Jones <>2011-01-06 14:30:35 +0000
committerRichard W.M. Jones <>2011-01-06 14:39:11 +0000
commit7a27efc36031b14450b34cbf6bf0e83cf6e26b6a (patch)
parent3e91201065f12b3a2944a9eb60cc91addf5fd3c3 (diff)
4 files changed, 115 insertions, 328 deletions
diff --git a/ChangeLog b/ChangeLog
index 955b0a8..d501dcd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,398 +1,182 @@
-2009-10-05 Richard Jones <>
- Version 1.0.4 for release.
- Fix changelog and manifest files.
- gitlog-to-changelog: If the date field is empty, don't barf.
- Added Jim Meyering's gitlog-to-changelog program.
- Add total hardware memory field (RHBZ#521785)
- Don't need to explicitly link against ncurses.
- Update PO files.
- Add Japanese to list of translations.
- Use msgfmt to generate *.mo files correctly.
- Update documentation.
- Update dependencies.
- Rename .hgignore -> .gitignore, update dependencies.
- New translations.
- Unknown, empty change.
- Added PO files. For some reason the Japanese PO file has a parse error, so omitted it for now.
- Updated MANIFEST
- Added translations for zh_CN by Wei Liu
- Added de translation by Fabian Affolter
- Version 1.0.2 for release.
- Fixed missing PO file in MANIFEST.
- Rebuild ChangeLog file automatically when we distribute.
- Brazilian Portuguese translation by Herli Joaquim de Menezes and revised by Igor Pires Soares.
- Ignore tarball.
- Avoid an error when gettext is not available.
-2008-04-17 rjones@thinkpad <rjones@thinkpad>
- Merge.
- Remove bogus =end from end of manpage.
-2008-03-05 <>
- Don't link virt-df with ncurses.
- Version for release.
- Remove META file.
- Restructure main window code slightly.
- *** THIS REPO IS JUST FOR VIRT-TOP NOW *** - See for bindings and the other applications.
- New connection dialog with support for Avahi detection of libvirtd.
- Removed virt-ctrl, virt-df, ocaml-libvirt - now in separate repositories.
- Updated deps.
- Updated MANIFEST.
- Added support for compiled-in icons from a GNOME theme.
- Update manpage.
- Updated MANIFEST.
- Fix alignment in -t option
- "Finish off" this program, add manpage.
- LVM2 parsing complete and working.
- Update list of dependencies.
- Use offset_device
- Update MANIFEST.
- Added offset_device, canonical_uuid function, pass LV device with LV filesystems
- Move connection dialog to its own module. ocaml-dbus >= 0.04.
- Minor clarifications to developer docs.
- Upgrade to released storage API in libvirt CVS.
- Make debug selectable at runtime.
- Extra tasks for jmh
- Almost complete VG & LV metadata parsing.
- Move open_connection dialog. - Move open_connection dialog into vc_mainwindow which is more logical.
- Added range library function.
- Combine historical data, provide accessor functions. - Historical data combined into a single array of dhentrys. - Provide accessor functions. - Clamp %CPU to 0..100.
- Redundant newline.
- Store domain %CPU and memory history.
- Removed some debugging prints.
- Clean up memory handling. - Call Gc.compact during timeout handler and when program exits to check for memory errors. - Don't allow timeout exceptions to propagate - causes a segfault in lablgtk. - Tidy up the About dialog.
+2011-01-06 Richard W.M. Jones <>
- Removed text-mode annotation.
+ Version 1.0.5.
- Added a separate file and dependency for DBus.
+ Add aclocal.m4 file to git.
+ This file is sort of generated, but at the moment only has
+ a single line which includes m4/ocaml.m4, that is vital for
+ the build.
- Added developer documentation.
+ Re-add virt-top/README file.
+ This seems to have been dropped during the hg->git transition.
- Rewrite the requirements section of the README file to make it clearer.
+ Document background noise of RX packets from bridges (RHBZ#647987).
+ For more information see:
- Metadata parser.
+ man page: Remove excess blank line.
- Version released.
+ main: Record and print full exception stack traces.
+ This turns on stack trace recording unconditionally (the same
+ effect as if OCAMLRUNPARAM=b was always supplied), and also prints
+ stack traces to the log file if there is an exception.
- Empty *.mli files to stop those modules from exporting symbols.
+ See also:
- Minor fix for calendar 1.x
+ Note that this requires OCaml >= 3.11.0.
-2008-02-12 <>
+ Fix pad function to work for negative widths (RHBZ#634435).
+ The pad function is supposed to pad a string to a width. Under some
+ circumstances, the width parameter could be negative resulting in a
+ call to String.sub such as:
- Support for calendar >= 2.0
+ String.sub str 0 (-1)
- Cosmetic fixes and comments.
+ which caused an exception to be thrown and not caught, causing
+ virt-top to exit. Fix the pad function to return an empty string if
+ width <= 0 instead of throwing an exception.
- Fix Volume.lookup_by_key and Volume.lookup_by_path * libvirt/libvirt.mli, libvirt/ These functions take a connection object, not a pool, as first parameter.
+ See also:
- Read out the actual metadata.
- Version released.
- Added a documentation note about RAID devices.
- Updated MANIFEST
- Read out metadata offset & length from PV header.
- Implemented virStorageVolLookupByName & virStorageVolCreateXML.
- Refactor the types so we have distinct PV & LV types.
- Return UUID (packed byte array) correctly.
- Infrastructure to detect filesystems on LVs.
- Print signatures next to functions in the bindings.
- Update deps.
- Don't hard-code Storage API errors, in case building with older libvirt.
- LVM2 PV detection.
- Complete implementation of storage API.
- Add PV detection framework.
- Job functions should be marked as weak.
- Don't need the ': device' typecasts any more.
- Storage API almost completed, even more autogeneration.
- Move main code to and provide explicit interface virt_df.mli
- Autogenerate *Free and *Destroy functions.
- Added Polish translation (thanks: Piotr Drąg)
- Documentation updates.
- Complete rewrite of virt-df: - Uses pa_bitmatch for robust parsing of disk structures. - Completely modularized.
- Autogenerate all GetUUID and GetUUIDString functions.
- Updated deps.
- Further work on storage API and autogenerating bindings.
- pa_bitmatch package added. xml-light is now optional. MBR code now in its own file.
- Notes.
- Add new column for virt-df requirements.
- Add 'make autostatus' target so we can test how we autogeneration of bindings is going.
- Check for pa_bitmatch extension (now required by virt-df).
- Ignore config.cache (./configure -C)
- Allow extra OCAMLDEPFLAGS to be passed, eg to make syntax extensions possible.
- More bindings autogenerated, more coverage of storage API.
- Updated PO files.
- Move to autogeneration of many C bindings. *, libvirt/libvirt_c.c, libvirt/ Many C bindings can now be autogenerated using a Perl script. Also includes preliminary support for the experimental storage API.
- Internationalize virt-top.
- List functions to test one-per-line to make it simpler to add more.
- Updated PO files.
- Changing copyright notice for new year.
- Internationalize virt-df program.
- Get node_info just once for each connection. * Get node_info just once for each connection, which is more efficient. * vc_connections.mli: Tidy up.
- Should always link to program gettext package.
- Type Vc_domain_ops.dops_callback_fn for clarity. * virt-ctrl/vc_domain_ops.mli, virt-ctrl/, virt-ctrl/vc_mainwindow.mli: Give a type name to the domain_ops callback type, for extra clarity.
- Update translations. Added a couple of Japanese translations for testing.
- Change comments virt-manager -> virt-ctrl. * virt-ctrl/*.ml, virt-ctrl/*.mli: Change comments virt-manager -> virt-ctrl.
- Internationalize 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/, examples/, examples/.depend: Added node_info example program. * .hgignore, Ignore, clean up node_info binary. * examples/ Make a read-only connection.
- Make mlvirsh localizable.
- Bumped version number.
- Basic infrastructure for using gettext to translate.
+ Update dependencies.
- Clean up *.exe files. * Clean up *.exe files.
+ Update generated man pages.
- Version for release.
+ Fix virt-top --end-time option when TZ<>UTC (RHBZ#637964).
+ Return the end time as seconds since 1970, and don't adjust it
+ for timezone. In the main module the end time is compared against
+ the result of Unix.gettimeofday, which is also seconds since 1970,
+ so the comparison now works.
- Version released. * Provide a 'winupload' target.
+ Tested with TZ=UTC-05, TZ=UTC and TZ=UTC+05.
- Install the *.cmi files as well.
+ NB: This has not been tested against ocaml-calendar 1.x, although
+ that version of calendar is obsolete and no one should be using it.
- Commit ChangeLog.
+ Update dependencies file.
- Generated file updated by previous commit.
+ man page: memory option shows total guest memory (RHBZ#647991).
- Rename some dialogs in virt-ctrl. * virt-ctrl/ Fix some "virtual machine manager" -> "virt-ctrl" dialogs in main window.
+ man page: Update copyright date and link to web pages.
- Use CAMLnoreturn to avoid compiler warning.
+ Remove references to xm/xentop manual pages (RHBZ#648186).
+ These Xen tools are obsolete since virsh/virt-top works across
+ all hypervisors.
- Fix bad paths in * * .hgignore: Ignore *.orig files.
+2010-09-02 Richard Jones <>
- Update Windows installer license to include GPL, LGPL text.
+ Change order of return values from getyx - fixes display of historical CPU.
+ In this commit:
+ Sam changed (fixed) the order that the coordinates are returned
+ from the ncurses 'getyx' call. Since this commit was made 3 years
+ ago it should be safe to assume everyone is using the new ocaml-ncurses
+ by now.
- Update MANIFEST.
+ This meant the historical %CPU was being displayed off the bottom of
+ the screen instead of on the top row at the right. Now it is displayed
+ in the correct place.
- Fix native virt-ctrl on Windows. * virt-ctrl/, virt-ctrl/ Wrapper around 'gcc' to fix native virt-ctrl builds on Windows/MinGW. * .hgignore: Ignore *.exe files.
+2010-06-15 Kiyoto Hashida <>
- Updated MANIFEST. * MANIFEST: Bring the MANIFEST file up to date.
+ Update Japanese translations (RHBZ#493799).
- mlvirtmanager renamed as virt-ctrl. * .hgignore,, Rename mlvirtmanager as virt-ctrl to avoid any confusion with the real virt-manager. * mlvirtmanager/, virt-ctrl/: Subdirectory moved. * README: Supporting documentation updated.
+2010-03-05 Yulia <>
- Missing virt-df/.depend.
+ Updated Russian translations (RHBZ#493799).
- Fix executable permissions added by Windoze.
+2010-03-05 Richard Jones <>
- Include mlvirtmanager in the Windows installer. * Include mlvirtmanager in the Windows installer. * Re-enable native code builds for Windows installer. * mlvirtmanager/ Pass $(LDFLAGS) when building on Windows - you need to specify the location of $GTK/lib.
+ Newer autoconf adds PACKAGE_URL definition.
- Bundle Gtk DLLs and support files in the Windows installer. * Detect library paths instead of hard- coding them. * wininstaller.nsis (removed): This file is now autogenerated. * Bundle Gtk DLLs and support files. * More verbose messages from NSIS.
+2010-02-12 Richard Jones <>
- Include required libraries in the Windows installer. * wininstaller.nsis: Include *.dll files.
+ zh_CN: Remove bogus Plural-Forms line.
- Update ChangeLog for Windows installer details.
+ Japanese: update bogus 'Plural-Forms: Plural-Forms'.
- Basic framework for NSIS.
+2010-02-12 Hajime Taira <>
- mlvirtmanager compiles and runs on Windows (MinGW). * Directories to search for optional modules were specified incorrectly - fixed. * mlvirtmanager/ Changed so can build without ocamlfind, and checked it can build on Windows.
+ Update Japanese translations (RHBZ#493799).
- mlvirsh can compile without extlib * mlvirsh/ mlvirsh only needed three functions from extlib, so copy them in here to avoid the dependency. * No dependency on extlib for mlvirsh. * mlvirsh/ Changed so can build without ocamlfind. * README: Updated documentation.
+2010-01-28 Richard Jones <>
- Update documentation for Windows. * README: Update documentation for Windows.
+ Rename te_IN.po -> te.po (Piotr Drąg).
- Build libvirt and examples on Windows (MinGW). * aclocal.m4: Add AC_CHECK_OCAML_MODULE to check for OCaml modules directly (without ocamlfind being needed). * Remove requirement for ocamlfind. * config.guess, config.sub: Ship these files to guess host, build and target. * libvirt/, examples/ Change these so they don't require ocamlfind, do the right thing on MinGW. * 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.
+ Telugu translation added by Krishna Babu K (RHBZ#493799c32)
- Make extlib an optional dependency. *, README,, examples/, libvirt/, mlvirtmanager/ Much code doesn't really need extlib, so make it optional. Bail earlier in configure step if we don't have ocamlfind.
+ Polish translation updated by Piotr Drag (RHBZ#493799c31)
- New exception Libvirt.Not_supported "function" * libvirt/, 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/ Change virt-top to understand new exception type.
+ Portuguese translation added by Glaucia Cintra (RHBZ#493799c30)
- Version for release. * Version for release.
+ Chinese translation updated by Wei Liu (RHBZ#493799c29)
- Enable multithreaded OCaml programs. * libvirt/libvirt_c.c: Use enter/leave_blocking_section around synchronous libvirt API calls, so that multithreaded OCaml programs can be used.
+ Oriya translation added by Manoj Kumar Giri (RHBZ#493799c28)
- * libvirt/libvirt.mli, libvirt/ 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). * Check <libvirt/virterror.h> exists. * Version
+ Spanish translation updated by Daniel Cabrera (RHBZ#493799c27)
- Changed the ocaml-libvirt website in the manpage.
+2009-12-30 Richard Jones <>
- Example connection URIs in virt-top manpage (bug 390691).
+ Update to ocaml-autoconf macros 1.1
- Version * libvirt/libvirt.mli: Added filename = string type to clarify some function signatures which take a filename. Added lots of function documentation. * libvirt/ Added VIR_FROM_OPENVZ.
+ Fix detection of ocaml-findlib.
- Version - New website is
+2009-10-06 Richard Jones <>
- Added changes to ChangeLog.
+ HACKING file, update (C) messages.
- Start version
+ Update PO files.
- Added support for new API calls: - virNodeGetFreeMemory - virNodeGetCellsFreeMemory
- Release of
+ Remove extra spaces after s_ and f_ operators.
- Version
+ Safer curses functions.
+ Add safer curses functions which don't require use of dangerous
+ ignore() function.
- Updated MANIFEST.
+ Replace failwith (sprintf...) with failwithf
- Updated virt-top.txt.
+ Remove -w s and fix so it compiles without warnings.
- * virt-top/ 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/ Allow sub-second delays when in batch and script mode.
+ Remove NSIS installer.
- Reorganised the code to put more utility functions into virt_top_utils. Added explicit interfaces for Virt_top_utils & Virt_top modules. Corrected use of endwin when _not_ in script mode.
+ Change over to using ocaml.m4 macros.
- Feature request 12.
- Set version to to match libvirt numbering.
+2009-10-05 Richard Jones <>
- Added requests #10 & #11 from JMH.
- Don't call curses endwin if we are in script mode.
- Updated ChangeLog for previous changes
+ TODO.virt-top renamed as TODO
- Added GNU GPL/LGPL copyright notices everywhere. Fixed display of time which was accidentally broken in previous code move.
+ Typo fixed.
- Removed $Id$ everywhere. 'make distclean' now cleans more files.
+ Update manpage with --version option.
- Add the flags for enabling/disabling CPU, block and net stats.
+ Add virt-top --version command line option.
- Removed dep on libvirt & extlib -- unnecessary for this file.
+ Add the real virt-top version to help display.
- Log domain data to CSV file.
- Added --script option.
- Rearranged the code so that there are now separate functions to collect
- the data and update the display.
- * Changed version to * 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.
- Just fixed the README file.
- Updated ChangeLog.
- Version Added support for init files.
- * virt-top/ qemu:/// URIs (and others) don't support virConnectGetHostname. Catch this exception.
- * Disable virt-df in this release until I have time to fix it properly. * Fix 'check-manifest' rule. Added 'make release'. * MANIFEST: Updated MANIFEST.
+ Version 1.0.4 for release.
- * Disable virt-df in this release until I have time to fix it properly.
+ Fix changelog and manifest files.
- * virt-top/ 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.
+ gitlog-to-changelog: If the date field is empty, don't barf.
- 2007-09-18 Richard Jones <>
- * virt-df/ Handle domains with partition-backed
- block devices.
+ Added Jim Meyering's gitlog-to-changelog program.
- * virt-top/ Don't fail on older libvirt which would
- give an error if list_domains or list_defined_domains was called
- with n = 0.
+ Add total hardware memory field (RHBZ#521785)
- * ChangeLog: Start tracking changes.
+ Don't need to explicitly link against ncurses.
-2007-09-04 rjones@amd <rjones@amd>
+ Update PO files.
- Basic version, just prints the domains and disk/file mappings.
+ Add Japanese to list of translations.
- Remove a few more generated files.
+ Use msgfmt to generate *.mo files correctly.
- Convert .cvsignore files to .cvsignore files, and remove some generated files.
+ Update documentation.
-2007-08-30 rjones@localhost <rjones@localhost>
+ Update dependencies.
- Initial import from CVS.
+ Rename .hgignore -> .gitignore, update dependencies.
diff --git a/MANIFEST b/MANIFEST
index 516dfba..43438b5 100644
@@ -7,11 +7,13 @@ config.sub
@@ -23,10 +25,13 @@ po/LINGUAS
@@ -47,5 +52,3 @@ virt-top/
diff --git a/ b/
index 3c91d4d..12887e1 100644
--- a/
+++ b/
@@ -17,7 +17,7 @@
dnl Process this file with autoconf to produce a configure script.
diff --git a/virt-top/.depend b/virt-top/.depend
index 0f09d4f..08bbd95 100644
--- a/virt-top/.depend
+++ b/virt-top/.depend
@@ -2,6 +2,8 @@ virt_top_utils.cmi:
+virt_top_utils.cmo: virt_top_gettext.cmo virt_top_utils.cmi
+virt_top_utils.cmx: virt_top_gettext.cmx virt_top_utils.cmi
virt_top_main.cmo: virt_top_gettext.cmo virt_top.cmi
virt_top_main.cmx: virt_top_gettext.cmx virt_top.cmx
virt_top_csv.cmo: virt_top_gettext.cmo virt_top.cmi
@@ -10,8 +12,6 @@ virt_top_calendar1.cmo: virt_top_gettext.cmo virt_top.cmi
virt_top_calendar1.cmx: virt_top_gettext.cmx virt_top.cmx
virt_top_xml.cmo: virt_top_gettext.cmo virt_top.cmi
virt_top_xml.cmx: virt_top_gettext.cmx virt_top.cmx
-virt_top_utils.cmo: virt_top_gettext.cmo virt_top_utils.cmi
-virt_top_utils.cmx: virt_top_gettext.cmx virt_top_utils.cmi
virt_top_calendar2.cmo: virt_top_gettext.cmo virt_top.cmi
virt_top_calendar2.cmx: virt_top_gettext.cmx virt_top.cmx