Richard W.M. Jones [Tue, 21 Jul 2009 09:59:51 +0000 (10:59 +0100)]
Docs: Add "API Overview" section to guestfs(3) manpage.
This section collects together related API calls, to provide
more coherent documentation about different ways to carry
out actions such as uploading and downloading.
Richard Jones [Mon, 20 Jul 2009 18:04:40 +0000 (19:04 +0100)]
Generator: Improve accuracy of a comment.
Richard Jones [Mon, 20 Jul 2009 14:09:11 +0000 (15:09 +0100)]
virt-inspector --fish: Fix incorrect '-a' parameter (RHBZ#512709)
virt-inspector --fish dom
virt-inspector --ro-fish dom
Both of the above commands give incorrect results if run on a
libvirt domain, eg:
$ virt-inspector --ro-fish RHEL54Betax64
==> --ro -a RHEL54Betax64 -m /dev/VolGroup00/LogVol00:/ -m /dev/sda1:/boot
^^^^^^^^^^^^^
This is because the current code just prints back the original @ARGV
parameters.
This patch fixes this by getting the image names instead.
Matthew Booth [Mon, 20 Jul 2009 10:16:55 +0000 (11:16 +0100)]
Replace 'distrofamily' with feature tags
It turns out that the distribution hierarchy is not as reliable concept as you
might think. This patch removes distrofamily again.
Instead of distrofamily, we will add feature tags. This patch adds 2 feature
tags for Linux distributions:
package_format (eg rpm/dpkg)
package_management (eg rhn/yum/apt)
This change is reflected in the output of virt-inspector
Guido Günther [Sat, 18 Jul 2009 16:20:29 +0000 (18:20 +0200)]
add nls_base.ko and nls_cp437.ko for vfat
Richard Jones [Sat, 18 Jul 2009 09:43:52 +0000 (10:43 +0100)]
Make /sysroot path configurable.
Currently /sysroot is hard-coded throughout the daemon code.
This patch turns the path into a variable so that we can change
it in future, for example to allow standalone mode to be implemented.
This patch was tested by running all the C API tests successfully.
Richard Jones [Fri, 17 Jul 2009 16:40:30 +0000 (17:40 +0100)]
Version 1.0.62.
Richard Jones [Fri, 17 Jul 2009 15:33:30 +0000 (16:33 +0100)]
Merge branch 'master' of git+ssh://g-rjones@et.redhat.com/git/libguestfs
Richard W.M. Jones [Fri, 17 Jul 2009 15:32:05 +0000 (16:32 +0100)]
RHEL 5.4 fix: Check for qemu-kvm binary in /usr/libexec
Matthew Booth [Thu, 16 Jul 2009 22:48:25 +0000 (23:48 +0100)]
Differentiate 'distro' and 'distrofamily' in Sys::Guestfs::Lib
Change distro in the output formally known as virt-inspector to reflect the
actual distro. Possible values are now: fedora, rhel, centos, scientific,
debian.
Add new distrofamily entry which is one of: redhat, debian. Currently all
distros except 'debian' are in the redhat family.
This allows you to, for example, select a RHEL/CentOS/Scientific Linux specific
kernel for installation rather than assuming they're all the same.
Note this also changes the behaviour of virt-inspector --query. It will now only
return rhel=yes for RHEL.
Richard Jones [Fri, 17 Jul 2009 08:37:37 +0000 (09:37 +0100)]
cat: Example of finding DHCP IP address of a VM.
Richard Jones [Fri, 17 Jul 2009 08:37:18 +0000 (09:37 +0100)]
Fix non-srcdir builds: Ignore perl/Makefile-pl.old
Richard Jones [Fri, 17 Jul 2009 08:36:28 +0000 (09:36 +0100)]
Fix non-srcdir builds: further fixes to OCaml build rules.
Richard Jones [Thu, 16 Jul 2009 18:29:47 +0000 (19:29 +0100)]
Fixes for non-srcdir builds: Only include POTFILES from SUBDIRS directories.
Richard Jones [Thu, 16 Jul 2009 18:27:16 +0000 (19:27 +0100)]
Fix non-srcdir builds: fix OCaml build rules.
Richard Jones [Thu, 16 Jul 2009 17:52:44 +0000 (18:52 +0100)]
Fix non-srcdir builds: Files generated by configure should be in the tarball.
Richard Jones [Thu, 16 Jul 2009 17:32:57 +0000 (18:32 +0100)]
Fix non-srcdir builds: Don't include generated *_protocol.c files in POTFILES.
Richard Jones [Thu, 16 Jul 2009 17:31:25 +0000 (18:31 +0100)]
Don't clean up some non-generated files.
Richard Jones [Thu, 16 Jul 2009 17:23:53 +0000 (18:23 +0100)]
Fix for non-srcdir builds: more misc fixes.
Richard Jones [Thu, 16 Jul 2009 17:08:44 +0000 (18:08 +0100)]
Fix for non-srcdir builds: Run src/generator.ml from the srcdir.
Note that files generated by src/generator.ml are stored in
the srcdir, *not* the builddir. The reason is so that they
can be included in the tarball and will appear in the srcdir
for tarball builds.
Richard Jones [Thu, 16 Jul 2009 17:04:01 +0000 (18:04 +0100)]
More misc fixes to non-srcdir builds.
Richard Jones [Thu, 16 Jul 2009 16:52:59 +0000 (17:52 +0100)]
More misc fixes for non-srcdir builds.
Richard Jones [Thu, 16 Jul 2009 16:15:40 +0000 (17:15 +0100)]
Miscellaneous fixes for non-srcdir builds.
Richard W.M. Jones [Wed, 15 Jul 2009 22:12:02 +0000 (23:12 +0100)]
New commands: 'mkmountpoint' and 'rmmountpoint'
These specialized commands are used to create additional mountpoints
before mounting filesystems. They are only used where you want to
mount several unrelated or read-only filesystems together, and need
additional care to use correctly.
Here is how to use these calls to unpack the "Russian doll" nest
of a Fedora 11 live CD:
add-ro Fedora-11-i686-Live.iso
run
mkmountpoint /cd
mkmountpoint /squash
mkmountpoint /ext3
mount /dev/sda /cd
mount-loop /cd/LiveOS/squashfs.img /squash
mount-loop /squash/LiveOS/ext3fs.img /ext3
The inner filesystem is now unpacked under the /ext3 mountpoint.
Richard W.M. Jones [Wed, 15 Jul 2009 21:25:51 +0000 (22:25 +0100)]
New command: 'mountpoints' which returns a hash of device -> mountpoint.
Richard Jones [Wed, 15 Jul 2009 18:16:02 +0000 (19:16 +0100)]
Build fix: perl-libintl is not required for the basic Perl bindings.
Richard Jones [Wed, 15 Jul 2009 16:18:19 +0000 (17:18 +0100)]
Version 1.0.61
Richard Jones [Wed, 15 Jul 2009 15:34:19 +0000 (16:34 +0100)]
New tool virt-cat: display a file in a virtual machine.
This script is just a simpler way to cat a file from a VM. It
is otherwise equivalent to using guestfish.
virt-cat someguest /etc/fstab
virt-cat someguest /var/log/messages | tail
Richard Jones [Wed, 15 Jul 2009 13:24:41 +0000 (14:24 +0100)]
Make Perl strings translatable using perl-libintl.
All Perl strings are now marked as translatable using __"string"
or __x("string {placeholder}", placeholder => $_). Perl strings
now get copied to the PO files.
The po/POTFILES.in file is now updated automagically whenever we
add new *.c, *.pl or *.pm files into the repository.
Richard Jones [Wed, 15 Jul 2009 10:39:04 +0000 (11:39 +0100)]
guestfish: Add tilde expansion for paths (RHBZ#511372).
This commit adds tilde expansion for local users in guestfish:
><fs> echo "~"
~
><fs> echo ~
/home/rjones
><fs> echo ~foo
~foo
><fs> echo ~rjones/bar
/home/rjones/bar
><fs> echo ~roo
~roo
><fs> echo ~root/foo
/root/foo
><fs> echo ~root
/root
Richard W.M. Jones [Tue, 14 Jul 2009 14:50:29 +0000 (15:50 +0100)]
Version 1.0.60.
Richard W.M. Jones [Tue, 14 Jul 2009 14:59:45 +0000 (15:59 +0100)]
java/Makefile.inc: Include this generated file.
We have to include this generated file because it is part of
the build system, thus required to exist before the generator
runs.
Richard W.M. Jones [Tue, 14 Jul 2009 14:41:51 +0000 (15:41 +0100)]
File missing from tarball: rc_protocol.x
Richard W.M. Jones [Tue, 14 Jul 2009 14:19:34 +0000 (15:19 +0100)]
Version 1.0.59.
Richard W.M. Jones [Tue, 14 Jul 2009 13:34:57 +0000 (14:34 +0100)]
RHEL 5: header was called <sys/xattr.h>
Richard W.M. Jones [Tue, 14 Jul 2009 13:31:18 +0000 (14:31 +0100)]
Fix: daemon/xattr.c can now compile even when no xattr support.
Richard Jones [Mon, 13 Jul 2009 12:06:26 +0000 (13:06 +0100)]
Guestfish feature: remote control of guestfish over a pipe.
The use case is to have a long-running guestfish process in
a shell script, and thus to avoid the overhead of starting
guestfish each time. Do:
eval `guestfish --listen`
guestfish --remote somecmd
guestfish --remote someothercmd
guestfish --remote exit
This patch also supports having multiple guestfish processes
at the same time.
The protocol is simple XDR messages over a Unix domain socket.
Richard W.M. Jones [Tue, 14 Jul 2009 12:47:18 +0000 (13:47 +0100)]
Removed getfattr/setfattr from TODO list, since now implemented.
Richard W.M. Jones [Tue, 14 Jul 2009 10:50:55 +0000 (11:50 +0100)]
Support for Linux extended attributes.
This commit adds six calls to support Linux extended attributes.
They are:
getxattrs list all extended attributes for a file or directory
setxattr add/replace an extended attribute
removexattr remove an extended attribute
lgetxattrs \
lsetxattr (same as above, but operate on symbolic links)
lremovexattr /
See attr(5) for more information.
This also adds support for the FBuffer field type, which maps to
an XDR opaque<> or a C (int, char *) pair.
Richard Jones [Tue, 14 Jul 2009 11:47:53 +0000 (12:47 +0100)]
virt-inspector: Ignore swap partitions marked as "none".
Richard Jones [Tue, 14 Jul 2009 10:48:55 +0000 (11:48 +0100)]
Improve launch error message.
The previous error message was confusing for new users:
libguestfs: error: guestfs_mount: call launch() before using this function
The new error message explains the action that the user must take,
especially if they are using guestfish:
><fs> mount /dev/sda1 /
libguestfs: error: guestfs_mount: call launch before using this function
(in guestfish, don't forget to use the 'run' command)
Richard Jones [Tue, 14 Jul 2009 10:37:05 +0000 (11:37 +0100)]
Add reiserfs module to kernel whitelist.
Richard Jones [Mon, 13 Jul 2009 17:28:45 +0000 (18:28 +0100)]
Only allow virt-v2v to be run on single root guests (ie. no multi-boot).
Richard Jones [Mon, 13 Jul 2009 17:06:10 +0000 (18:06 +0100)]
Ignore old-style initrd which is a compressed ext2 filesystem.
'cpio' chokes on these, taking ages to decide that they are
not cpio files, and producing masses of messages. This was
causing virt-inspector to be very slow (many minutes) on
RHEL 3 guests. With this fix, speed is back to normal.
Richard Jones [Mon, 13 Jul 2009 17:00:07 +0000 (18:00 +0100)]
Implement new 'zfile' command, to show file type inside compressed files.
Richard Jones [Mon, 13 Jul 2009 15:49:12 +0000 (16:49 +0100)]
Ignore java/Makefile.inc (generated file).
Matthew Booth [Mon, 13 Jul 2009 12:51:42 +0000 (13:51 +0100)]
Automatically generate list of built java sources
Matthew Booth [Mon, 13 Jul 2009 11:55:02 +0000 (12:55 +0100)]
Revert "Fix checking of generator being run from the right directory."
This reverts commit
35c646965a21d452cf74ef3683612210a653c36d.
As well as reverting this change, add a comment explaining that
configure must run first.
Richard Jones [Mon, 13 Jul 2009 11:27:35 +0000 (12:27 +0100)]
Move BUILT_SOURCES so the comment is back in the right place.
Richard Jones [Mon, 13 Jul 2009 11:12:34 +0000 (12:12 +0100)]
Order alphabetically the options in guestfish.1 manpage.
Richard W.M. Jones [Sat, 11 Jul 2009 20:35:03 +0000 (21:35 +0100)]
Guestfish: implement -x option, echo commands before executing them.
Richard W.M. Jones [Sat, 11 Jul 2009 20:33:41 +0000 (21:33 +0100)]
Fix: '-D' was not recognized as a parameter to guestfish.
Richard W.M. Jones [Sat, 11 Jul 2009 20:27:23 +0000 (21:27 +0100)]
Regression test: Test reopening the handle in the same process.
Richard W.M. Jones [Sat, 11 Jul 2009 20:20:17 +0000 (21:20 +0100)]
Guestfish: Add 'reopen' command to reopen the libguestfs handle.
Richard W.M. Jones [Sat, 11 Jul 2009 20:07:57 +0000 (21:07 +0100)]
Add missing documentation for "more" command in guestfish help output.
Richard W.M. Jones [Sat, 11 Jul 2009 13:00:53 +0000 (14:00 +0100)]
Add tests to many non-daemon functions.
Tests are added to the following functions:
get_qemu get_path get_append get_autosync
is_ready is_config is_launching is_busy
set_memsize get_memsize get_pid
Richard W.M. Jones [Sat, 11 Jul 2009 12:44:53 +0000 (13:44 +0100)]
Add TestOutputIntOp, CompareWithIntOp.
These constructors allow enhanced tests where we compare
the result of a test against some operator, eg. >= 1 or < 5
Richard W.M. Jones [Sat, 11 Jul 2009 12:38:01 +0000 (13:38 +0100)]
Test for "version" command should be InitNone.
Richard W.M. Jones [Sat, 11 Jul 2009 12:37:24 +0000 (13:37 +0100)]
Add comment to the code about InitNone and InitEmpty.
These two constructors are treated as identical, but they
should be distinct concepts.
Richard W.M. Jones [Sat, 11 Jul 2009 12:36:31 +0000 (13:36 +0100)]
Fix UPDATES and host_cpu in configure.ac.
UPDATES does not need to be propagated into config.h.
host_cpu was AC_DEFINE'd twice.
Richard Jones [Sat, 11 Jul 2009 11:12:33 +0000 (12:12 +0100)]
Documentation for virt-v2v.
Richard Jones [Sat, 11 Jul 2009 10:20:46 +0000 (11:20 +0100)]
V2V outline program.
Richard W.M. Jones [Fri, 10 Jul 2009 22:14:16 +0000 (23:14 +0100)]
Don't list Java files explicitly, since these files are auto-generated.
Richard W.M. Jones [Fri, 10 Jul 2009 21:46:06 +0000 (22:46 +0100)]
Version 1.0.58.
Richard W.M. Jones [Fri, 10 Jul 2009 21:15:53 +0000 (22:15 +0100)]
Proposal to add BufferIn and RBufferOut types (not implemented).
Richard W.M. Jones [Fri, 10 Jul 2009 21:01:50 +0000 (22:01 +0100)]
Sys::Guestfs::Lib: Exit with error if a libvirt domain appears to have no disks.
Richard W.M. Jones [Fri, 10 Jul 2009 20:59:46 +0000 (21:59 +0100)]
virt-df: Recognise libvirt domains with file-backed disks.
File-backed disks (<source file="...">) didn't get recognised
before. This patch fixes the problem.
Richard Jones [Fri, 10 Jul 2009 16:57:41 +0000 (17:57 +0100)]
Add --version options to virt-df, virt-inspector and virt-v2v.
Richard Jones [Fri, 10 Jul 2009 16:52:09 +0000 (17:52 +0100)]
Add 'version' call to get true library version number.
This patch also changes the way that the version is specified
in configure.ac. It is now made out of four parts (major, minor,
release and extra) and constructed for AC_INIT.
Richard Jones [Fri, 10 Jul 2009 15:28:15 +0000 (16:28 +0100)]
Move 'use File::Temp' from virt-inspector program to Sys::Guestfs::Lib.
Richard Jones [Fri, 10 Jul 2009 13:10:31 +0000 (14:10 +0100)]
Version 1.0.57.
Richard Jones [Fri, 10 Jul 2009 13:09:47 +0000 (14:09 +0100)]
Update PO files.
Richard Jones [Fri, 10 Jul 2009 13:09:33 +0000 (14:09 +0100)]
Additional C files for POTFILES.in.
Richard Jones [Fri, 10 Jul 2009 13:02:45 +0000 (14:02 +0100)]
Rename internal subroutines with leading underscore character.
Otherwise Pod::Coverage in the tests will complain that the
internal subroutines are undocumented.
Richard Jones [Fri, 10 Jul 2009 12:04:17 +0000 (13:04 +0100)]
Working version of virt-df.
Richard Jones [Fri, 10 Jul 2009 11:06:11 +0000 (12:06 +0100)]
Fix for returning structures (hashes) from Perl calls.
Calls such as stat and statvfs which returned a single structure
were returning an array of values instead of a full hash of keys +
values.
Fix this by pushing the key names on the stack too.
Richard Jones [Fri, 10 Jul 2009 10:43:17 +0000 (11:43 +0100)]
'$_' should be marked as a local variable in Sys::Guestfs::Lib::open_guest.
Richard Jones [Fri, 10 Jul 2009 10:41:43 +0000 (11:41 +0100)]
Properly close fds and unregister handlers in guestfs_close.
This caused a segfault if you tried to repeatedly open and close
a guestfs handle in the same program. The reason is that the
old handler remained registered (not always - it was racey).
This adds proper cleanup to the guestfs_close path, also for file
descriptors.
Richard Jones [Fri, 10 Jul 2009 09:44:20 +0000 (10:44 +0100)]
Added framework for 'virt-df' command.
Richard Jones [Fri, 10 Jul 2009 09:23:11 +0000 (10:23 +0100)]
Ignore any file called 'localconfigure'.
Developers should put their custom parameters for configure/autogen.sh
into a script called ./localconfigure, and this script will be ignored
by git and the build system.
Richard Jones [Fri, 10 Jul 2009 09:22:47 +0000 (10:22 +0100)]
Added outline of the virt-v2v script.
Richard Jones [Thu, 9 Jul 2009 18:37:09 +0000 (19:37 +0100)]
Remove virt-inspector --force option - it didn't do anything.
Richard Jones [Thu, 9 Jul 2009 18:25:01 +0000 (19:25 +0100)]
Sys::Guestfs::Lib minor documentation clean-up.
Richard Jones [Thu, 9 Jul 2009 17:29:08 +0000 (18:29 +0100)]
Move the inspection analysis code into Sys::Guestfs::Lib library.
Creates new functions:
inspect_all_partitions
inspect_partition
inspect_operating_systems
mount_operating_system
inspect_in_detail
Includes far more documentation for the process.
Richard Jones [Thu, 9 Jul 2009 14:29:28 +0000 (15:29 +0100)]
Move 'resolve_windows_path' to Sys::Guestfs::Lib.
Richard Jones [Thu, 9 Jul 2009 13:35:34 +0000 (14:35 +0100)]
Move 'get_partitions' call into Sys::Guestfs::Lib.
Richard Jones [Thu, 9 Jul 2009 13:01:58 +0000 (14:01 +0100)]
Add Sys::Guestfs::Lib - useful functions for using libguestfs from Perl.
This adds an extra Perl module called Sys::Guestfs::Lib which
adds useful functions for using libguestfs from Perl.
The intention is that common code shared between virt-inspector,
virt-df and virt-v2v will move into this library.
This patch also changes virt-inspector to use this library.
Richard Jones [Thu, 9 Jul 2009 13:01:10 +0000 (14:01 +0100)]
Just whitespace changes in the generator code.
Richard Jones [Wed, 8 Jul 2009 16:20:52 +0000 (17:20 +0100)]
Update with links to the new mailing list.
Richard W.M. Jones [Tue, 7 Jul 2009 19:28:29 +0000 (20:28 +0100)]
Fix checking of generator being run from the right directory.
Originally it was looking for 'config.status', but this file
might not exist until configure has been run. Make it look for
HACKING instead.
Richard W.M. Jones [Tue, 7 Jul 2009 19:06:27 +0000 (20:06 +0100)]
Version 1.0.56.
Richard Jones [Tue, 7 Jul 2009 18:39:58 +0000 (19:39 +0100)]
RHEL 5: Mount squashfs with explicit type.
Richard Jones [Tue, 7 Jul 2009 18:02:59 +0000 (19:02 +0100)]
RHEL 5: Skip 'scrub' test if command is not in the initramfs.
Richard Jones [Tue, 7 Jul 2009 18:01:45 +0000 (19:01 +0100)]
RHEL 5: 'mkswap -U' not supported, check before testing it.
Richard Jones [Tue, 7 Jul 2009 16:34:31 +0000 (17:34 +0100)]
Update ocaml/.depend.
Richard Jones [Tue, 7 Jul 2009 16:33:47 +0000 (17:33 +0100)]
RHEL 5: RHEL kernels don't have $arch at the end, so look for non-arch kernels too.
Richard Jones [Tue, 7 Jul 2009 16:33:09 +0000 (17:33 +0100)]
RHEL 5: $(builddir) did not exist with this old autoconf/automake, so workaround.
Richard Jones [Tue, 7 Jul 2009 16:32:34 +0000 (17:32 +0100)]
RHEL 5: for (int i = ...) is not permitted with this old version of GCC.
Richard Jones [Tue, 7 Jul 2009 15:55:51 +0000 (16:55 +0100)]
Merge branch 'master' of git://git.et.redhat.com/libguestfs
Richard Jones [Tue, 7 Jul 2009 12:42:34 +0000 (13:42 +0100)]
Generate structs and struct lists generically.
This modifies the way that struct and struct lists are generated
(for return values) so that there is no need to add an explicit
new type when adding a new structure.
All tests pass, and the C API should be compatible.
I have also inspected the changes that are made to the generated
code by hand.