Commit Graph

125 Commits

Author SHA1 Message Date
Richard W.M. Jones
a0a4ee5245 Use 'supermin' and 'supermin-helper' in preference to febootstrap.
Febootstrap has been renamed upstream to 'supermin':
https://www.redhat.com/archives/libguestfs/2013-February/msg00004.html

This commit changes libguestfs so it can use either program to build
the supermin appliance.
2013-02-05 15:31:05 +00:00
Richard W.M. Jones
7e25e0780e FAQ: Update section on sVirt. 2013-02-04 21:54:08 +00:00
Richard W.M. Jones
0d18a8b407 Update copyright dates for 2013. 2013-02-02 13:56:19 +00:00
Richard W.M. Jones
9c8e47247b FAQ: Document "Could not allocate dynamic translator buffer" and how to fix it. 2013-01-17 18:10:14 +00:00
Richard W.M. Jones
eca01c3105 faq: Suggest 'approx' (apt proxy) to speed up Debian builds.
Thanks Hilko Bengen.
2012-12-18 20:39:46 +00:00
Richard W.M. Jones
62e775c350 Change the handling of private functions, safe_malloc etc.
Rename guestfs_safe_malloc et al to guestfs___safe_malloc etc.

To use the private functions, code now has to define
-DGUESTFS_PRIVATE_FUNCTIONS=1.  This will make it easier for us in
future to work out which programs are using these functions and to
minimize both the number of programs and the functions they are
calling.

Note that the Perl, Python, OCaml, Ruby and Java bindings use
guestfs_safe_* calls.  None of the other bindings do.  This is a bug
(in the bindings using those functions): these functions will call the
out of memory callback on failure.  This function defaults to abort(),
and since this happens from a language binding, there is no way to
change this default.
2012-12-15 19:41:29 +00:00
Richard W.M. Jones
b554d7de82 guestfs-performance: Some copy-editing. 2012-12-10 17:23:57 +00:00
Richard W.M. Jones
5a2e320ec9 configure: Add --enable-code-profiling and --enable-code-coverage flags.
These configure flags enable code profiling (with gprof) and code
coverage (with gcov) respectively.

Although this is a nice idea, it's not currently very useful.

Libtool mangles filenames in such a way that gcov cannot locate its
datafiles.

Profiling is of dubious utility with libguestfs which is not CPU-bound
and relies extensively on running external programs (oprofile-like
system profiling that took into account libguestfs + qemu or
libguestfs + qemu + the appliance + filesystem tools *would* be
useful).

Also neither flag will help in capturing data from the appliance.
2012-12-04 14:11:14 +00:00
Richard W.M. Jones
ff8bfd3e92 Add Lua bindings.
These are relatively complete, although only lightly tested.  Missing:

 - events
 - last_errno
 - user_cancel
2012-11-17 20:02:42 +00:00
Richard W.M. Jones
5d9f10c312 recipes: Add sections about hexdumping, hexediting sectors. 2012-11-15 09:01:15 +00:00
Richard W.M. Jones
fd81d3f9b2 recipes: Add recipe for diffing two guests. 2012-11-14 22:34:06 +00:00
Richard W.M. Jones
2d220f5da2 tools: Modify existing tools to use guestfs_{push,pop}_error_handler.
This is a shorter and more convenient way to disable errors
temporarily across calls.
2012-11-09 19:51:09 +00:00
Richard W.M. Jones
692701f382 examples: Copy-editing instructions printed by the mount-local program. 2012-11-09 19:50:57 +00:00
Richard W.M. Jones
dd09744432 guestfs-testing: Use L<> around links. 2012-10-29 15:12:54 +00:00
Richard W.M. Jones
d83d17e9db New APIs: Model libvirt authentication events through the API.
This commit models libvirt authentication events through the API,
adding one new event (GUESTFS_EVENT_LIBVIRT_AUTH) and several new
APIs:

  guestfs_set_libvirt_supported_credentials
  guestfs_get_libvirt_requested_credentials
  guestfs_get_libvirt_requested_credential_prompt
  guestfs_get_libvirt_requested_credential_challenge
  guestfs_get_libvirt_requested_credential_defresult
  guestfs_set_libvirt_requested_credential

See the documentation and example which shows how to use the new API.

This commit also changes existing calls to virConnectOpen* within the
library so that the new API is used.

Also included is an example (but not a test, because it's hard to see
how to automatically test the libvirt API).
2012-10-13 20:54:07 +01:00
Richard W.M. Jones
9bd3d5bc6d FAQ: Document debug* and internal* functions in the FAQ. 2012-10-06 17:42:05 +01:00
Richard W.M. Jones
9ea6e97014 inspection: Fix calls to case_sensitive_path (RHBZ#858126).
Don't assume that if guestfs_case_sensitive_path returns NULL, that it
means the file does not exist.

The (previously undefined) behaviour of case_sensitive_path was that a
NULL return meant "either the file doesn't exist or some other error".
However in commit 973581780d this was
changed so that if the last element of the path didn't exist, it was
assumed to be a new file and the (non-NULL) path of the new file is
returned.

This change breaks code (including in libguestfs) which tries to use
case_sensitive_path as a dual-purpose call to fix-up a path for
Windows and test if the file exists.  Such code should be rewritten so
that it explicitly tests for file existence after calling
case_sensitive_path.

I examined all the calls to case_sensitive_path in libguestfs and
modified them where necessary.
2012-09-28 15:09:50 +01:00
Richard W.M. Jones
f7e138835a recipes: Add a section about diagnosing hanging guests. 2012-09-26 20:56:44 +01:00
Richard W.M. Jones
9b7813c5bd guestfs-testing(1): Start by running libguestfs-test-tool. 2012-09-26 12:03:16 +01:00
Richard W.M. Jones
19b29c3637 FAQ: Miscellaneous cleanups.
- Use S<...> for non-breaking spaces.
- Arrange the builds section better.
- Add a section on enabling sVirt.
- Other small fixes.
2012-09-25 19:00:50 +01:00
Richard W.M. Jones
8aa8eb205b recipes: Add section about uploading raw filesystem content. 2012-09-20 17:56:10 +01:00
Richard W.M. Jones
2cac8d490e syntax: Remove trailing whitespace.
Found by 'make syntax-check'.
2012-09-15 13:36:02 +01:00
Richard W.M. Jones
244e9a2ac4 faq: Make the legal section less unnecessarily legalistic. 2012-09-14 23:06:16 +01:00
Richard W.M. Jones
19da851610 faq: Tidy up headings. 2012-09-14 23:06:13 +01:00
Richard W.M. Jones
2c59af7754 faq: Add more answers about read-only disks. 2012-09-14 22:57:02 +01:00
Richard W.M. Jones
b799bc58a8 recipes: Checksum file/device. Download to stdout. 2012-09-02 16:33:59 +01:00
Richard W.M. Jones
8af32b9d5f FAQ: Remove link to old RHEL 6.3 preview repo. 2012-08-30 13:29:49 +01:00
Richard W.M. Jones
b2378a81bb Update inspection and example programs to use new hivex* APIs (RHBZ#852394).
I tested this by comparing the output of virt-inspector over Windows
guests before and after the change, which was identical:

$ md5sum `ls -1 /tmp/*.before /tmp/*.after`
c292d6629b5a761eccb4a279754399b4  /tmp/Win2003.after
c292d6629b5a761eccb4a279754399b4  /tmp/Win2003.before
eb1e1ff29208a9ee46e9c100dfec26b2  /tmp/Win2012.after
eb1e1ff29208a9ee46e9c100dfec26b2  /tmp/Win2012.before
d060a95d7ffe5dce6c4e66feb80c2837  /tmp/Win7x32.after
d060a95d7ffe5dce6c4e66feb80c2837  /tmp/Win7x32.before
8914eee70ac4f8a0317659e09e00dcdc  /tmp/Win7x32Dynamic.after
8914eee70ac4f8a0317659e09e00dcdc  /tmp/Win7x32Dynamic.before
a2dcdfc0f9d64054640875aa791889e0  /tmp/Win7x32TwoDisks.after
a2dcdfc0f9d64054640875aa791889e0  /tmp/Win7x32TwoDisks.before
5ed49568a5147dce7517c99de41ebf2e  /tmp/Win8previewx64.after
5ed49568a5147dce7517c99de41ebf2e  /tmp/Win8previewx64.before
fdfc7d272b79a665ae3313ae1ae30660  /tmp/WinXP.after
fdfc7d272b79a665ae3313ae1ae30660  /tmp/WinXP.before
3c705444be664f1316b21c5d8d3cb0be  /tmp/WinXPRecConsole.after
3c705444be664f1316b21c5d8d3cb0be  /tmp/WinXPRecConsole.before
2012-08-29 17:08:01 +01:00
Olaf Hering
044c5b26d7 remove ulockmgr from fuse LDFLAGS
libguestfs fails to build with --enable-fuse on openSuSE 11.4 and
earlier because the included fuse version does not include
libulockmgr.so. configure already used pkgconfig to retrieve the correct
CFLAGS, so there is no need to hardcode -lulockmgr.
With this change the build succeeds again.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
2012-08-29 16:42:51 +01:00
Richard W.M. Jones
2f97bf873b podwrapper: Add --license parameter, which is required.
This adds standard LICENSE and BUGS sections to all of the man pages
that are processed by podwrapper.

Modify all the calls to $(PODWRAPPER) to add the right --license
parameter according to the content.  Note that this relaxes the
license on some code example pages, making them effectively BSD-style
licensed.
2012-08-21 20:33:21 +01:00
Richard W.M. Jones
f1d98bbc79 man pages: Ensure consistent copyright/author sections, remove license
section.

Ensure each man page contains consistent COPYRIGHT and AUTHOR
sections.

Remove the LICENSE section.  We will add that back in podwrapper in a
later commit.
2012-08-21 20:16:29 +01:00
Richard W.M. Jones
984044043d FAQ: Re-add #backup anchor for section on backups. 2012-08-21 13:21:55 +01:00
Richard W.M. Jones
52e38c7bdc recipes: Update dumping filesystem content to mention that we now support MD/RAID. 2012-08-21 13:19:50 +01:00
Richard W.M. Jones
1e4c6e36a6 recipes: Refer to virt-format, virt-make-fs for creating disk images. 2012-08-21 13:19:50 +01:00
Richard W.M. Jones
5f234548ed recipes: Cloning Windows: plans for virt-sysprep. 2012-08-21 13:19:50 +01:00
Richard W.M. Jones
9fd4d16819 recipes: For auditing for setuid files, point to virt-ls examples. 2012-08-21 13:19:50 +01:00
Richard W.M. Jones
0d2e70b1c7 recipes: For sparsifying guests, point to virt-sparsify. 2012-08-21 13:19:50 +01:00
Richard W.M. Jones
d944a491ac recipes: For listing files, point to virt-ls. 2012-08-21 13:19:50 +01:00
Richard W.M. Jones
ad6870102f recipes: Mention virt-sysprep firstboot feature. 2012-08-21 13:19:50 +01:00
Richard W.M. Jones
87cf749cde recipes: Most guests now use grub2, so change the example. 2012-08-21 13:19:50 +01:00
Richard W.M. Jones
10d48bef30 recipes: Add a section on deleting a file and other common file operations. 2012-08-21 13:19:47 +01:00
Richard W.M. Jones
1454751b73 recipes: Update cloning section. 2012-08-21 13:13:41 +01:00
Richard W.M. Jones
cd1627e804 FAQ: virt-sparsify and raw sparse output. 2012-08-19 15:35:14 +01:00
Richard W.M. Jones
d67e6ea75d Replace mount-options with mount where appropriate.
Since our minimum supported version is now 1.16 and mount was fixed in
1.13.16, it is now safe to replace mount-options + empty options with
mount wherever it occurs.
2012-08-18 22:08:29 +01:00
Richard W.M. Jones
84c897c93a docs: Add a section describing how to use gdb + qemu wrappers to debug the appliance. 2012-08-13 13:51:29 +01:00
Richard W.M. Jones
22da2cb0ae docs: Show how to use 'annotate-output' command to collect timings. 2012-08-12 22:51:45 +01:00
Richard W.M. Jones
b3d0cc0588 grep: Add optargs to grep API and deprecate fgrep etc.
This commit makes grep into an optargs API, with flags for extended,
fixed, [case-]insensitive and compressed.

At the same time it deprecates: egrep, fgrep, grepi, egrepi, fgrepi,
zgrep, zegrep, zfgrep, zgrepi, zegrepi and zfgrepi.
2012-08-02 14:05:54 +01:00
Richard W.M. Jones
941ec968b8 lib: Initialize libvirt and libxml2 once when the library loads. 2012-07-23 21:26:18 +01:00
Richard W.M. Jones
4bc110e2bc docs: Use L<...> for links.
Instead of working around bugs, podwrapper has been fixed so that
links work in all output formats.
2012-07-17 13:18:39 +01:00
Richard W.M. Jones
f2ea617e22 build: Change calls to podwrapper.sh to use $(PODWRAPPER).
This will allow us to easily change the location of this
script in future.
2012-07-16 18:56:57 +01:00