Richard Jones [Sat, 11 Sep 2010 11:05:03 +0000 (12:05 +0100)]
generator: Don't use real uuidgen for UUIDs.
This was one reason why capitests/tests.c changed every time the
generator was run.
Richard Jones [Sat, 11 Sep 2010 08:25:12 +0000 (09:25 +0100)]
Split generator into separate source files.
'src/generator.ml' is no more. Instead the generator is logically
split up over many different source files.
Read generator/README for help and tips.
We compile the generator down to bytecode, not native code. This
means it will run more slowly, but is done for maximum portability.
Richard Jones [Sat, 11 Sep 2010 07:11:43 +0000 (08:11 +0100)]
syntax: Replace -a and -o with && and || for portability.
Richard Jones [Fri, 10 Sep 2010 22:00:07 +0000 (23:00 +0100)]
syntax: Use exit (EXIT_SUCCESS) instead of hard-coded number.
Richard Jones [Fri, 10 Sep 2010 21:55:32 +0000 (22:55 +0100)]
syntax: Remove unused assert.h header.
Richard Jones [Fri, 10 Sep 2010 21:55:03 +0000 (22:55 +0100)]
syntax: Remove unused ignore-value.h header.
Richard Jones [Fri, 10 Sep 2010 21:54:30 +0000 (22:54 +0100)]
syntax: Remove unused signal.h header.
Richard Jones [Fri, 10 Sep 2010 21:53:56 +0000 (22:53 +0100)]
syntax: Remove unused c-ctype.h header.
Richard Jones [Fri, 10 Sep 2010 21:56:22 +0000 (22:56 +0100)]
syntax: Fully bracket m4 macro arguments.
Richard Jones [Fri, 10 Sep 2010 21:52:50 +0000 (22:52 +0100)]
syntax: Remove trailing spaces.
Richard Jones [Fri, 10 Sep 2010 21:57:10 +0000 (22:57 +0100)]
syntax: Use spaces instead of tabs for indentation.
Richard Jones [Fri, 10 Sep 2010 21:51:39 +0000 (22:51 +0100)]
syntax: Replace _prohibit_regexp with _sc_search_regexp.
Richard Jones [Fri, 10 Sep 2010 12:26:10 +0000 (13:26 +0100)]
fish: glob should only print commands when trace mode is enabled.
Richard Jones [Fri, 10 Sep 2010 12:25:40 +0000 (13:25 +0100)]
fish: Add regression test for copy-in and copy-out.
Richard Jones [Fri, 10 Sep 2010 11:01:03 +0000 (12:01 +0100)]
README: Document virtio-serial is now the only vmchannel.
Richard Jones [Fri, 10 Sep 2010 10:53:46 +0000 (11:53 +0100)]
fish: const-correctness fixes in copy.c
Richard Jones [Fri, 10 Sep 2010 09:29:46 +0000 (10:29 +0100)]
Version 1.5.11.
Richard Jones [Fri, 10 Sep 2010 09:28:51 +0000 (10:28 +0100)]
Update OCaml dependencies.
Richard Jones [Fri, 10 Sep 2010 09:28:37 +0000 (10:28 +0100)]
Update PO files.
Richard Jones [Fri, 10 Sep 2010 09:27:45 +0000 (10:27 +0100)]
fish: Fix 'copy-out' command when local directory is "/foo".
Richard Jones [Thu, 9 Sep 2010 23:02:56 +0000 (00:02 +0100)]
fish: Fix typo in documentation of copy-out.
Richard Jones [Thu, 9 Sep 2010 22:25:37 +0000 (23:25 +0100)]
Version 1.5.10.
Richard Jones [Thu, 9 Sep 2010 22:25:23 +0000 (23:25 +0100)]
todo: Remove discussion of copy-in/copy-out.
Richard Jones [Thu, 9 Sep 2010 17:49:10 +0000 (18:49 +0100)]
fish: Implement copy-in and copy-out commands.
Richard Jones [Thu, 9 Sep 2010 21:43:32 +0000 (22:43 +0100)]
New APIs: is-chardev, is-blockdev, is-fifo, is-symlink, is-socket
These complement the existing is-file and is-dir APIs.
Richard Jones [Thu, 9 Sep 2010 21:20:28 +0000 (22:20 +0100)]
daemon: Move 'exists', 'is-file' and 'is-dir' to separate file.
This commit is just code movement.
Richard Jones [Thu, 9 Sep 2010 21:42:57 +0000 (22:42 +0100)]
generator: Fix incorrect shortdesc in docs for 'is-dir' command.
Richard Jones [Thu, 9 Sep 2010 21:42:26 +0000 (22:42 +0100)]
generator: Fix documentation for 'is-file' command.
Richard Jones [Thu, 9 Sep 2010 13:11:32 +0000 (14:11 +0100)]
fish: Fix 'more' command to work with any file.
Richard Jones [Thu, 9 Sep 2010 13:11:20 +0000 (14:11 +0100)]
fish: Fix 'edit' command to work with any file.
Richard Jones [Thu, 9 Sep 2010 12:53:08 +0000 (13:53 +0100)]
guestfs: Reference guestfs-browser architecture in threads documentation.
Richard Jones [Thu, 9 Sep 2010 12:52:48 +0000 (13:52 +0100)]
guestfs: Document progress notification messages in protocol.
Richard Jones [Thu, 9 Sep 2010 12:52:32 +0000 (13:52 +0100)]
guestfs: More accurate documentation for initial message.
Richard Jones [Thu, 9 Sep 2010 12:51:52 +0000 (13:51 +0100)]
guestfs: Remove traces of documentation for non-existent 'low-level API'
Richard Jones [Thu, 9 Sep 2010 11:00:36 +0000 (12:00 +0100)]
guestfs: Fix typo in man page.
Richard Jones [Thu, 9 Sep 2010 12:40:45 +0000 (13:40 +0100)]
todo: Notes on virt copy command.
Richard Jones [Wed, 8 Sep 2010 16:50:44 +0000 (17:50 +0100)]
Bring TODO file up to date.
Richard Jones [Wed, 8 Sep 2010 10:03:10 +0000 (11:03 +0100)]
Version 1.5.9.
Richard Jones [Wed, 8 Sep 2010 10:00:00 +0000 (11:00 +0100)]
fish: Add guestfish -N bootroot and -N bootrootlv for creating boot+root disks.
Richard Jones [Wed, 8 Sep 2010 09:24:01 +0000 (10:24 +0100)]
fish: Add guestfish -N lvfs for creating formatted LVs.
Richard Jones [Wed, 8 Sep 2010 08:58:37 +0000 (09:58 +0100)]
fish: Add guestfish -N lv for creating disks with LVs.
Richard Jones [Wed, 8 Sep 2010 09:23:28 +0000 (10:23 +0100)]
fish: Improve appearance of guestfish -N help output.
Richard Jones [Wed, 8 Sep 2010 08:37:22 +0000 (09:37 +0100)]
fish: Allow guestfish -N help for listing prepared disk image help.
Richard Jones [Wed, 8 Sep 2010 08:05:18 +0000 (09:05 +0100)]
fish: Generate list of prepared disk image types.
This commit shouldn't change the semantics of the code.
Richard Jones [Mon, 6 Sep 2010 09:13:31 +0000 (10:13 +0100)]
test-tool: Add a 'run-test-tool-locally' script.
This can be used to run the test tool without installing it.
It sets the environment variables and command line arguments
up correctly to run the tool from the build directory.
Richard Jones [Mon, 6 Sep 2010 09:04:01 +0000 (10:04 +0100)]
appliance: init script does 'ls -lR /dev' (verbose only)
It's useful to see what files are in /dev subdirectories
at boot, eg. for looking at virtio-serial ports.
Richard Jones [Mon, 6 Sep 2010 09:03:38 +0000 (10:03 +0100)]
daemon: Don't warn about 'long long' usage.
This removes a fatal warning (-Werror) which stops compilation
on 32 bit machines.
Richard Jones [Sun, 5 Sep 2010 20:51:45 +0000 (16:51 -0400)]
php: Remove 'make clean' rule in subdirectory.
Richard Jones [Sat, 4 Sep 2010 11:45:42 +0000 (12:45 +0100)]
Version 1.5.8.
Richard Jones [Fri, 3 Sep 2010 11:15:00 +0000 (12:15 +0100)]
PHP bindings.
Note that these are not complete on 32 bit architectures. PHP doesn't
offer any convenient 64 bit type (on 32 bit). Therefore you should
always use these PHP bindings on 64 bit.
Richard Jones [Thu, 2 Sep 2010 21:45:54 +0000 (22:45 +0100)]
Define LIBGUESTFS_HAVE_<shortname> for C API functions.
The actions each have a corresponding define, eg:
#define LIBGUESTFS_HAVE_VGUUID 1
extern char *guestfs_vguuid (guestfs_h *g, const char *vgname);
However functions which are for testing, debugging or deprecated do
not have the corresponding define. Also a few functions are so
basic (eg. guestfs_create) that there is no point defining a symbol
for them.
Richard Jones [Thu, 2 Sep 2010 21:27:35 +0000 (22:27 +0100)]
build: guestfs-structs.h was missing from libguestfs_la_SOURCES.
Richard Jones [Thu, 2 Sep 2010 21:25:47 +0000 (22:25 +0100)]
Add full docs pot file.
Richard Jones [Thu, 2 Sep 2010 13:54:44 +0000 (14:54 +0100)]
Allow manual pages and POD files to be translated.
This uses the optional po4a package to split these files into
PO files for translation, and reassemble afterwards.
Note this creates an extra pot file (po-docs/libguestfs-docs.pot).
We don't (yet) combine this with the main po/libguestfs.pot file.
The 'libguestfs-docs.pot' file included in this commit is not the
real thing, just a short cut down snippet for testing. The real
thing is created if you update one of the dependent files and
rebuild.
Note also the dummy ja.po, for testing the principles.
Geert Warrink [Thu, 2 Sep 2010 13:56:36 +0000 (14:56 +0100)]
Add Dutch translation (RHBZ#629593).
Richard Jones [Thu, 2 Sep 2010 11:01:06 +0000 (12:01 +0100)]
ruby: Add Guestfs::Guestfs.new() method.
This is a more standard way to create objects in Ruby. The old
way was to call the module function Guestfs::create() which still
works.
Richard Jones [Thu, 2 Sep 2010 10:11:55 +0000 (11:11 +0100)]
perl: Document handle is a hashref.
For details see commit
eb566f7dc7974b42ac65729a2e5e5bcee329a0a9.
Richard Jones [Thu, 2 Sep 2010 09:58:28 +0000 (10:58 +0100)]
perl: Add documentation about testing availability of methods and features.
Richard Jones [Wed, 1 Sep 2010 17:44:33 +0000 (18:44 +0100)]
build: Link static -ltinfo into guestfish.static binary.
Richard Jones [Wed, 1 Sep 2010 16:12:37 +0000 (17:12 +0100)]
Version 1.5.7.
Richard Jones [Wed, 1 Sep 2010 17:10:41 +0000 (18:10 +0100)]
fish: Add missing header file to sources.
Richard Jones [Wed, 1 Sep 2010 16:12:15 +0000 (17:12 +0100)]
ocaml: Add test for progress notification callbacks.
Richard Jones [Wed, 1 Sep 2010 16:03:19 +0000 (17:03 +0100)]
debug: Add 'debug progress' command.
This debugging command generates progress notification messages,
used for testing purposes.
Richard Jones [Wed, 1 Sep 2010 14:38:15 +0000 (15:38 +0100)]
debug: Arrange prototypes in alphabetical order.
Richard Jones [Wed, 1 Sep 2010 14:37:24 +0000 (15:37 +0100)]
daemon: Enable debug command by default.
The debug command is useful for internal testing, and so should
be enabled by default in all builds.
Note that it is still *not* part of the stable ABI.
Richard Jones [Wed, 1 Sep 2010 12:19:05 +0000 (13:19 +0100)]
Consistent use of 'void *opaque' to refer to opaque pointer in C API.
We inconsistently used 'void *data' or 'void *opaque' all over to
refer to the same thing. Use 'void *opaque' in all places in the
published API and documentation.
Richard Jones [Tue, 31 Aug 2010 19:39:40 +0000 (20:39 +0100)]
resize: Add progress bar to virt-resize.
With this commit you will see a plain progress bar during the
lengthy copy operations, similar to below:
Summary of changes:
/dev/sda1: partition will be left alone
/dev/sda2: partition will be resized from 7.5G to 9.5G
/dev/sda2: content will be expanded using the 'pvresize' method
Copying /dev/sda1 ...
[############################################################################]
Copying /dev/sda2 ...
[########################################------------------------------------]
Richard Jones [Tue, 31 Aug 2010 19:14:17 +0000 (20:14 +0100)]
perl: bindings to progress callback.
Richard Jones [Tue, 31 Aug 2010 16:04:52 +0000 (17:04 +0100)]
ocaml: bindings to progress callback.
Richard Jones [Tue, 31 Aug 2010 17:48:32 +0000 (18:48 +0100)]
Implement private data area.
The private data area is a hash table which is associated with
libguestfs handles, that C callers may use to store arbitrary
data for the lifetime of the handle.
Later the OCaml bindings will use this in order to implement
callbacks.
Richard Jones [Sat, 28 Aug 2010 11:49:55 +0000 (12:49 +0100)]
fish: Implement progress bars in guestfish.
The progress bar is updated 3 times per second, and is not displayed
at all for operations which take less than two seconds.
You can disable progress bars by using the flag --no-progress-bars,
and you can enable progress bars in non-interactive sessions with
the flag --progress-bars.
A good way to test this is to use the following command:
guestfish --progress-bars \
-N disk:10G \
zero-device /dev/sda
(adjust "10G" to get different lengths of time).
Richard Jones [Sat, 28 Aug 2010 11:48:49 +0000 (12:48 +0100)]
fish: Detect UTF-8 output and open termcap/terminfo database.
Provide a generic mechanism within guestfish to detect if
output if UTF-8 and to open the termcap (or terminfo) database
for the current terminal type.
Richard Jones [Wed, 1 Sep 2010 10:54:15 +0000 (11:54 +0100)]
Add progress messages to download command.
Richard Jones [Sat, 28 Aug 2010 13:29:21 +0000 (14:29 +0100)]
Add progress messages to zero-device command.
Richard Jones [Sat, 28 Aug 2010 13:29:07 +0000 (14:29 +0100)]
Add progress messages to zero command.
Richard Jones [Sat, 28 Aug 2010 13:28:42 +0000 (14:28 +0100)]
Add progress messages to fill-pattern command.
Richard Jones [Sat, 28 Aug 2010 13:28:26 +0000 (14:28 +0100)]
Add progress messages to fill command.
Richard Jones [Sat, 28 Aug 2010 10:11:32 +0000 (11:11 +0100)]
Add progress messages to copy-size command.
Richard Jones [Sat, 28 Aug 2010 09:33:24 +0000 (10:33 +0100)]
Implement progress messages in the daemon and library.
This implements progress notification messages in the daemon, and
adds a callback in the library to handle them.
No calls are changed so far, so in fact no progress messages can
be generated by this commit.
For more details, see:
https://www.redhat.com/archives/libguestfs/2010-July/msg00003.html
https://www.redhat.com/archives/libguestfs/2010-July/msg00024.html
Richard Jones [Tue, 31 Aug 2010 18:25:45 +0000 (19:25 +0100)]
ocaml: Remove old entry from .gitignore file.
Richard Jones [Fri, 27 Aug 2010 21:01:23 +0000 (22:01 +0100)]
Version 1.5.6.
Richard Jones [Fri, 27 Aug 2010 20:47:49 +0000 (21:47 +0100)]
Requires febootstrap >= 2.9.
Richard Jones [Fri, 27 Aug 2010 14:27:22 +0000 (15:27 +0100)]
daemon: Set O_CLOEXEC flag on the virtio-serial file descriptor.
Richard Jones [Fri, 27 Aug 2010 12:38:49 +0000 (13:38 +0100)]
build: Don't add version extra string to the version number.
If this string was non-empty, then it broke a lot of things because
autoconf and other parts of the build system were expecting this
string to contain a simple MAJOR.MINOR.RELEASE version number.
This requires changes to guestfish and guestmount so they use the
guestfs_version API to fetch the version from the library. (The
Perl tools were already doing it this way). In a way this is more
accurate, because it's no longer hard-coded in the binary, but
fetched from the dynamically linked libguestfs.so.
Richard Jones [Thu, 26 Aug 2010 15:42:53 +0000 (16:42 +0100)]
Update BUGS, PO files.
Daniel Cabrera [Thu, 26 Aug 2010 15:40:44 +0000 (16:40 +0100)]
Update Spanish translations (RHBZ#627556).
Daniel Cabrera [Thu, 26 Aug 2010 15:39:39 +0000 (16:39 +0100)]
Updated Spanish translations (RHBZ#626843).
Piotr Drąg [Thu, 26 Aug 2010 15:38:11 +0000 (16:38 +0100)]
Update Polish translation (RHBZ#502533).
Richard Jones [Thu, 26 Aug 2010 15:31:40 +0000 (16:31 +0100)]
Prepare for version 1.5.5.
Richard Jones [Thu, 26 Aug 2010 14:55:34 +0000 (15:55 +0100)]
rescue: Fix typo in comment.
Matthew Booth [Thu, 26 Aug 2010 14:08:20 +0000 (15:08 +0100)]
Ignore launch() error in virt-rescue. (RHBZ#618556)
launch() expects guestfsd to start, which it never does in virt-rescue, so it
always returns an error about the appliance shutting down unexpectedly.
Matthew Booth [Thu, 26 Aug 2010 13:34:44 +0000 (14:34 +0100)]
Shut down the appliance cleanly
When guestfsd exits, or the user exits the virt-rescue shell, the init script
exits which causes the kernel to panic. This isn't really a functional issue, as
all useful work is done by this point. However, it does cause virt-rescue to
display an unsightly error message.
This patch causes the appliance to power off cleanly before the init script
exits. Note it actually does a reboot rather than a poweroff. This is because
ACPI is disabled in the appliance, meaning poweroff doesn't work, but qemu is
configured not to restart on reboot.
Matthew Booth [Thu, 26 Aug 2010 11:11:59 +0000 (12:11 +0100)]
Call sync after guestfsd exits
Core files are not reliably written to disk if guestfsd dumps core. This patch
makes libguestfs do the same appliance cleanup for guestfsd and virt-rescue,
which seems to fix the matter.
It also removes a redundant sleep and additional sync when exiting virt-rescue.
Matthew Booth [Thu, 26 Aug 2010 12:36:10 +0000 (13:36 +0100)]
Add a core_pattern debug command
This adds a new debug command, core_pattern, which writes a new pattern for
coredump files to the appliance kernel, and sets the daemon's hard and soft core
limits to infinity.
Richard Jones [Wed, 25 Aug 2010 10:53:00 +0000 (11:53 +0100)]
Include statically linked binaries in the binary distribution.
Richard Jones [Wed, 25 Aug 2010 10:41:17 +0000 (11:41 +0100)]
Rename global 'xdr_str'.
Two bits of XDR both contained a definition called 'str' which
means that 'xdr_str' was being exported globally twice. Because
of the linker script this didn't affect us. But it's best to
rename this global so that conflicts cannot arise.
Daniel Berrange [Tue, 24 Aug 2010 13:27:15 +0000 (14:27 +0100)]
Add -nodefconfig command line option to qemu.
Without this option, qemu will read some defaults from /etc/qemu/
configuration files.
Richard Jones [Tue, 24 Aug 2010 11:37:39 +0000 (12:37 +0100)]
Version 1.5.4.
Richard Jones [Tue, 24 Aug 2010 10:53:40 +0000 (11:53 +0100)]
New APIs: set-network and get-network to enable network support.
guestfs_set_network (g, true) enables network support in the appliance.
Richard Jones [Tue, 24 Aug 2010 10:19:55 +0000 (11:19 +0100)]
build: Add 'bindist' rule for building binary distribution.