Richard Jones [Wed, 29 Jul 2009 14:33:22 +0000 (15:33 +0100)]
Lib.pm: Use Perl backtick instead of slurp (Aron Griffis).
Richard Jones [Wed, 29 Jul 2009 14:02:16 +0000 (15:02 +0100)]
Don't show empty CD devices (RHBZ#514505).
Richard Jones [Wed, 29 Jul 2009 11:45:11 +0000 (12:45 +0100)]
ocaml: Rebuild the tests from source if the main library changes.
Richard Jones [Wed, 29 Jul 2009 08:48:08 +0000 (09:48 +0100)]
inspector: Determine guest architecture.
This commit adds kernel and userspace architecture detection
(fully for Linux, partially for Windows). It adds an architecture
for each kernel detected, and an architecture for each root (ie.
userspace) found.
Richard Jones [Tue, 28 Jul 2009 16:55:35 +0000 (17:55 +0100)]
Lib.pm: Add file_architecture command.
This command detects the architecture of some types of binaries,
libraries, kernel modules and initrd images.
Richard Jones [Wed, 29 Jul 2009 09:15:06 +0000 (10:15 +0100)]
Lib: Document the $ro parameter for mount_operating_system properly.
Richard Jones [Wed, 29 Jul 2009 08:39:02 +0000 (09:39 +0100)]
Mention related tools in the manual page.
Richard Jones [Tue, 28 Jul 2009 16:14:14 +0000 (17:14 +0100)]
Whitespace: indent some names in images/Makefile.am correctly.
Richard Jones [Tue, 28 Jul 2009 14:43:14 +0000 (15:43 +0100)]
Lib.pm: Use 'file' as replacement for 'zfile'.
Richard Jones [Tue, 28 Jul 2009 14:29:23 +0000 (15:29 +0100)]
Pass '-z' parameter to 'file' command so it looks inside compressed files.
Also we deprecate the old 'zfile' command.
Richard Jones [Tue, 28 Jul 2009 14:24:44 +0000 (15:24 +0100)]
Add DeprecatedBy flag to mark functions which are deprecated.
Richard Jones [Tue, 28 Jul 2009 14:23:28 +0000 (15:23 +0100)]
Need to declare asprintf_nowarn as inline to avoid gcc complaining.
Richard Jones [Mon, 27 Jul 2009 21:27:45 +0000 (22:27 +0100)]
Replace shell_quote function with %Q and %R printf specifiers.
%Q => simple shell quoted string
%R => path will be prefixed by /sysroot
eg. snprintf (cmd, sizeof cmd, "cat %R", path); system (cmd);
Richard Jones [Mon, 27 Jul 2009 15:39:02 +0000 (16:39 +0100)]
Add InitSquashFS test type, for tests that just use the squashfs (/dev/sdd).
This also speeds up those tests because we don't have to wait
to create a filesystem which is never used.
Matthew Booth [Fri, 24 Jul 2009 13:56:38 +0000 (14:56 +0100)]
Make read-only optional in mount_operating_system()
Richard W.M. Jones [Fri, 24 Jul 2009 17:29:42 +0000 (18:29 +0100)]
More ideas on a quick Perl one-liner syntax for TODO file.
Richard W.M. Jones [Fri, 24 Jul 2009 14:46:15 +0000 (15:46 +0100)]
guestfish -iv should print virt-inspector command (for debugging).
Richard W.M. Jones [Fri, 24 Jul 2009 13:36:50 +0000 (14:36 +0100)]
Reformat the TODO file.
Richard Jones [Fri, 24 Jul 2009 08:31:49 +0000 (09:31 +0100)]
Pass cgroup_disable=memory, saves ~ 5MB of RAM.
Richard Jones [Thu, 23 Jul 2009 17:57:05 +0000 (18:57 +0100)]
get_append call can return NULL, but bindings didn't handle it.
It's not a good idea because there is no way to return an error
indication. However at least this means it won't segfault.
Richard Jones [Thu, 23 Jul 2009 11:45:12 +0000 (12:45 +0100)]
RHEL 5 thinks squashfs is HFS+ filesystem, unless we specify the type explicitly.
Richard Jones [Thu, 23 Jul 2009 10:16:15 +0000 (11:16 +0100)]
Remove hard-coded qemu-kvm, replace with $QEMU.
Richard Jones [Thu, 23 Jul 2009 09:45:36 +0000 (10:45 +0100)]
Version 1.0.63
Richard Jones [Wed, 22 Jul 2009 19:58:39 +0000 (20:58 +0100)]
Add libguestfs-test-tool.
This is an end-user testing tool, designed to test basic functionality
of libguestfs/qemu/kernel combination on the end-user's final host
machine.
It does not perform a thorough test, but should be enough to find
most booting issues.
Also this is intended to be used when reporting bugs.
Richard Jones [Wed, 22 Jul 2009 20:18:01 +0000 (21:18 +0100)]
Fix typo in error message.
Richard Jones [Wed, 22 Jul 2009 20:11:10 +0000 (21:11 +0100)]
Revert "Add 'set-kernel'/'get-kernel'/LIBGUESTFS_KERNEL to override appliance kernel."
This reverts commit
34d2df41626f1ee4172a6d40b06d72d6ed9d6348.
Richard Jones [Wed, 22 Jul 2009 12:42:51 +0000 (13:42 +0100)]
set-append and set-kernel parameters are both nullable.
(So are the return values, but leave that bug for another day).
Richard Jones [Wed, 22 Jul 2009 12:35:48 +0000 (13:35 +0100)]
Add 'set-kernel'/'get-kernel'/LIBGUESTFS_KERNEL to override appliance kernel.
This allows you to override the appliance kernel with an easy
command or environment variable.
Richard Jones [Wed, 22 Jul 2009 11:39:21 +0000 (12:39 +0100)]
Todo: Suggestion for 'replace' command.
Richard W.M. Jones [Tue, 21 Jul 2009 15:01:04 +0000 (16:01 +0100)]
Add commented-out support for alternate guestfwd syntax.
This commit just moves code around. The new support is not enabled
because it doesn't work. See qemu-devel, subject
"guestfwd option doesn't allow supplementary ,server,nowait"
Richard W.M. Jones [Tue, 21 Jul 2009 14:59:35 +0000 (15:59 +0100)]
configure: Detect new-style guestfwd support (RHBZ#512957)
However new qemu 0.10.5 still doesn't work.
Richard W.M. Jones [Tue, 21 Jul 2009 12:34:46 +0000 (13:34 +0100)]
Library: Pass more options on the Linux kernel command line.
Always pass:
noapic (APIC causes problems for lots of people)
udevtimeout=300 (for very slow qemu using softemu)
acpi=off (ACPI is troublesome and unnecessary, so turn it off)
Matthew Booth [Tue, 21 Jul 2009 10:46:24 +0000 (11:46 +0100)]
Split $os->{version} into $os->{major_version} and $os->{minor_version}
Richard W.M. Jones [Tue, 21 Jul 2009 10:47:57 +0000 (11:47 +0100)]
Allow TMPDIR to override directory used for temporary files (RHBZ#512905).
Richard W.M. Jones [Tue, 21 Jul 2009 10:00:47 +0000 (11:00 +0100)]
Generator: Implement RBufferOut and "read-file" call.
This commit implements the RBufferOut type for returning
arbitrary 8 bit data from calls.
We also implement the guestfs_read_file call to read a
whole file that can contain any 8 bit content, but up to
a limit of ~ 2 MB.
Richard W.M. Jones [Tue, 21 Jul 2009 10:10:19 +0000 (11:10 +0100)]
Docs: Fully document the guestfs_readdir ftyp return field.
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.