libguestfs.git
11 years agoWhitelist kernel modules for hardware emulated by QEMU
Guido Günther [Tue, 30 Jun 2009 10:17:40 +0000 (12:17 +0200)]
Whitelist kernel modules for hardware emulated by QEMU

(Modified from Guido's original patch to use a wildcard to
specify all virtio modules - RWMJ).

11 years agoGenerated code for mknod, mkfifo, mknod_b, mknod_c, umask.
Richard W.M. Jones [Tue, 30 Jun 2009 12:09:44 +0000 (13:09 +0100)]
Generated code for mknod, mkfifo, mknod_b, mknod_c, umask.

11 years agoNew commands: mknod, mkfifo, mknod_b, mknod_c and umask.
Richard W.M. Jones [Tue, 30 Jun 2009 12:08:34 +0000 (13:08 +0100)]
New commands: mknod, mkfifo, mknod_b, mknod_c and umask.

These commands are used to create block and char device
nodes or FIFOs (named pipes) in the filesystem.

The umask command is required also because the permissions
used by mknod are masked by the umask.

Also document and guarantee that the umask starts as 022.

11 years agoUse octal numbers for modes in the test suite.
Richard W.M. Jones [Tue, 30 Jun 2009 12:07:07 +0000 (13:07 +0100)]
Use octal numbers for modes in the test suite.

We have to use the OCaml convention (0o...).  Note that in
OCaml 0777 is a _decimal_ number.  It'll catch you out.

11 years agoGenerated code for 'set_memsize'/'get_memsize' calls.
Richard W.M. Jones [Tue, 30 Jun 2009 10:17:06 +0000 (11:17 +0100)]
Generated code for 'set_memsize'/'get_memsize' calls.

11 years agoAdd 'set_memsize'/'get_memsize' calls.
Richard W.M. Jones [Tue, 30 Jun 2009 10:16:22 +0000 (11:16 +0100)]
Add 'set_memsize'/'get_memsize' calls.

Allow the qemu memory size to be specified either by API
calls or by setting the LIBGUESTFS_MEMSIZE environment
variable.

11 years agoUse udev if available (Guido Gunter).
Guido Günther [Mon, 29 Jun 2009 20:56:54 +0000 (22:56 +0200)]
Use udev if available (Guido Gunter).

Added support for Fedora's udev (Richard Jones).

11 years agodefine REDHAT and DEBIAN
Guido Günther [Mon, 29 Jun 2009 16:40:00 +0000 (18:40 +0200)]
define REDHAT and DEBIAN

so we can preprocess packagelist.in

11 years agoTodo: Suggest an environment variable for memsize configuration.
Richard W.M. Jones [Mon, 29 Jun 2009 19:39:41 +0000 (20:39 +0100)]
Todo: Suggest an environment variable for memsize configuration.

11 years agoGenerated code for the 'mkswap*' commands.
Richard W.M. Jones [Mon, 29 Jun 2009 19:24:47 +0000 (20:24 +0100)]
Generated code for the 'mkswap*' commands.

11 years agoImplement 'mkswap', 'mkswap_L' and 'mkswap_U' commands.
Richard W.M. Jones [Mon, 29 Jun 2009 19:23:42 +0000 (20:23 +0100)]
Implement 'mkswap', 'mkswap_L' and 'mkswap_U' commands.

These commands are used to make Linux swap devices.  The mkswap_L
command makes one with a label.  The mkswap_U command makes one
with a known UUID.

11 years agoTodo: Allow memsize to be configured.
Richard W.M. Jones [Mon, 29 Jun 2009 19:24:38 +0000 (20:24 +0100)]
Todo: Allow memsize to be configured.

11 years agoTodo: Investigations into 'binarch' command.
Richard W.M. Jones [Mon, 29 Jun 2009 17:52:14 +0000 (18:52 +0100)]
Todo: Investigations into 'binarch' command.

11 years agoRearrange guestfish commands in the manpage.
Richard W.M. Jones [Mon, 29 Jun 2009 17:40:42 +0000 (18:40 +0100)]
Rearrange guestfish commands in the manpage.

11 years agoAdd missing documentation for new 'more' and 'less' commands in guestfish.
Richard W.M. Jones [Mon, 29 Jun 2009 16:48:03 +0000 (17:48 +0100)]
Add missing documentation for new 'more' and 'less' commands in guestfish.

11 years agoVersion 1.0.54 1.0.54
Richard W.M. Jones [Mon, 29 Jun 2009 16:33:52 +0000 (17:33 +0100)]
Version 1.0.54

11 years agoCheck for XML::Writer dependency for virt-inspector.
Richard W.M. Jones [Mon, 29 Jun 2009 16:33:32 +0000 (17:33 +0100)]
Check for XML::Writer dependency for virt-inspector.

11 years agoRemove generated files in make clean.
Richard W.M. Jones [Mon, 29 Jun 2009 16:33:08 +0000 (17:33 +0100)]
Remove generated files in make clean.

11 years agoMerge commit 'et/master'
Matthew Booth [Mon, 29 Jun 2009 15:27:05 +0000 (16:27 +0100)]
Merge commit 'et/master'

11 years agoFix for 'broken pipe' error when qemu dies (RHBZ#508713).
Richard W.M. Jones [Mon, 29 Jun 2009 15:22:10 +0000 (16:22 +0100)]
Fix for 'broken pipe' error when qemu dies (RHBZ#508713).

11 years agoGenerated code for mount-loop command.
Richard W.M. Jones [Mon, 29 Jun 2009 15:05:22 +0000 (16:05 +0100)]
Generated code for mount-loop command.

11 years agoAdd mount-loop command (RHBZ#508668).
Richard W.M. Jones [Mon, 29 Jun 2009 15:03:54 +0000 (16:03 +0100)]
Add mount-loop command (RHBZ#508668).

Loop device mounts don't work for the generic 'mount' commands
because the first parameter should be a file not a device.

We want to separate out files parameters from device parameters
in the long term, so this adds a new mount-loop command for this
purpose.

11 years agoFix memory leak in daemon/mount.c:do_mount_vfs.
Richard W.M. Jones [Mon, 29 Jun 2009 15:00:49 +0000 (16:00 +0100)]
Fix memory leak in daemon/mount.c:do_mount_vfs.

11 years agoOutput the config filename containing a modprobe alias in XML
Matthew Booth [Mon, 29 Jun 2009 14:34:29 +0000 (15:34 +0100)]
Output the config filename containing a modprobe alias in XML

This change affects the XML output:

/operatingsystems/operatingsystem/modprobealiases/alias/text() =>
/operatingsystems/operatingsystem/modprobealiases/alias/modulename/text()

Additionally there are two new elements:

/operatingsystems/operatingsystem/modprobealiases/alias/augeas
/operatingsystems/operatingsystem/modprobealiases/alias/file

These contain information about the location of the alias directive.
/augeas is an augeas path. /file is the path of the file containing the
directive.

11 years agoTodo list: More suggestions.
Richard W.M. Jones [Mon, 29 Jun 2009 14:18:04 +0000 (15:18 +0100)]
Todo list: More suggestions.

11 years agoGenerated code for 'initrd-list'.
Richard W.M. Jones [Mon, 29 Jun 2009 14:18:17 +0000 (15:18 +0100)]
Generated code for 'initrd-list'.

11 years agoAdd 'initrd-list' command to list contents of initrd images.
Richard W.M. Jones [Mon, 29 Jun 2009 14:16:40 +0000 (15:16 +0100)]
Add 'initrd-list' command to list contents of initrd images.

Add 'initrd-list' command to list the files inside (new-style)
initrd images.  Update virt-inspector to use this instead of
the less efficient download/unpack locally method.

11 years agoAdd a comment to device naming heuristic
Matthew Booth [Mon, 29 Jun 2009 13:39:27 +0000 (14:39 +0100)]
Add a comment to device naming heuristic

11 years agoGenerated code for 'du' command.
Richard W.M. Jones [Mon, 29 Jun 2009 11:47:20 +0000 (12:47 +0100)]
Generated code for 'du' command.

11 years agoAdded 'du' command.
Richard W.M. Jones [Mon, 29 Jun 2009 11:46:59 +0000 (12:46 +0100)]
Added 'du' command.

This command estimates file usage for files and directories.

11 years agoGenerated code for df / df-h.
Richard W.M. Jones [Mon, 29 Jun 2009 11:26:11 +0000 (12:26 +0100)]
Generated code for df / df-h.

11 years agoAdd 'df' and 'df-h' commands.
Richard W.M. Jones [Mon, 29 Jun 2009 11:25:31 +0000 (12:25 +0100)]
Add 'df' and 'df-h' commands.

df and df-h commands can be used interactively to show disk
space usage.

Use existing statvfs command from programs.

11 years agoTodo: Removed suggestion for short form for pipes.
Richard W.M. Jones [Mon, 29 Jun 2009 11:09:52 +0000 (12:09 +0100)]
Todo: Removed suggestion for short form for pipes.

11 years agoImplement "more" and "less" commands in guestfish.
Richard W.M. Jones [Mon, 29 Jun 2009 11:05:58 +0000 (12:05 +0100)]
Implement "more" and "less" commands in guestfish.

Use commands such as:
  more /etc/passwd
  less /etc/fstab

These commands are specific to guestfish.

11 years agoTodo list: Pipes now implemented, so remove from list.
Richard W.M. Jones [Mon, 29 Jun 2009 10:48:50 +0000 (11:48 +0100)]
Todo list: Pipes now implemented, so remove from list.

11 years agoGenerated code for head/tail commands.
Richard W.M. Jones [Mon, 29 Jun 2009 10:47:07 +0000 (11:47 +0100)]
Generated code for head/tail commands.

11 years agoImplement "head", "head-n", "tail", "tail-n" commands.
Richard W.M. Jones [Mon, 29 Jun 2009 10:46:19 +0000 (11:46 +0100)]
Implement "head", "head-n", "tail", "tail-n" commands.

These commands let you view parts of a large file without
passing the whole file over the network connection.

11 years agoPrevent 'n' being used as a parameter name.
Richard W.M. Jones [Mon, 29 Jun 2009 10:18:19 +0000 (11:18 +0100)]
Prevent 'n' being used as a parameter name.

Parameters named 'n' sometimes break the Perl bindings, so
check for this in the generator and prevent it.

11 years agoGenerated code for 'wc_*' commands.
Richard W.M. Jones [Mon, 29 Jun 2009 09:09:13 +0000 (10:09 +0100)]
Generated code for 'wc_*' commands.

11 years agoTodo: wc command done.
Richard W.M. Jones [Mon, 29 Jun 2009 09:08:59 +0000 (10:08 +0100)]
Todo: wc command done.

11 years agoImplementation of 'wc_c', 'wc_w' and 'wc_l' commands.
Richard W.M. Jones [Mon, 29 Jun 2009 09:08:25 +0000 (10:08 +0100)]
Implementation of 'wc_c', 'wc_w' and 'wc_l' commands.

These commands count characters, words and lines in a file respectively.

11 years agoImplement TEST_ONLY environment variable to run selected tests only.
Richard W.M. Jones [Mon, 29 Jun 2009 08:53:51 +0000 (09:53 +0100)]
Implement TEST_ONLY environment variable to run selected tests only.

To run just selected tests, do:
  TEST_ONLY="hexdump mkfs" make -C capitests check

11 years agoAdd large test files with standard content for the C API test.
Richard W.M. Jones [Mon, 29 Jun 2009 08:43:54 +0000 (09:43 +0100)]
Add large test files with standard content for the C API test.

Large test files with standard content for the C API test, and
add a regression test for previous hexdump failure on large files.

11 years agoTodo: RUN_ONLY_FOR
Richard W.M. Jones [Mon, 29 Jun 2009 08:43:38 +0000 (09:43 +0100)]
Todo: RUN_ONLY_FOR

11 years agoTodo: 'wc' command.
Richard W.M. Jones [Mon, 29 Jun 2009 08:39:08 +0000 (09:39 +0100)]
Todo: 'wc' command.

11 years agoGuestfish pipes.
Richard W.M. Jones [Sat, 27 Jun 2009 13:00:48 +0000 (15:00 +0200)]
Guestfish pipes.

11 years agoHaskell bindings: Implement bindtests.
Richard W.M. Jones [Sun, 28 Jun 2009 11:54:22 +0000 (13:54 +0200)]
Haskell bindings: Implement bindtests.

11 years agoHaskell bindings: Int and Int64 return types.
Richard W.M. Jones [Sun, 28 Jun 2009 11:34:11 +0000 (13:34 +0200)]
Haskell bindings: Int and Int64 return types.

11 years agoMerge branch 'master' of git+ssh://g-rjones@et.redhat.com/git/libguestfs
Richard W.M. Jones [Sun, 28 Jun 2009 11:28:30 +0000 (13:28 +0200)]
Merge branch 'master' of git+ssh://g-rjones@et.redhat.com/git/libguestfs

11 years agoHaskell bindings: fix boolean arguments.
Richard W.M. Jones [Sun, 28 Jun 2009 11:27:33 +0000 (13:27 +0200)]
Haskell bindings: fix boolean arguments.

11 years agoHaskell bindings: Fix integer arguments.
Richard W.M. Jones [Sun, 28 Jun 2009 11:17:23 +0000 (13:17 +0200)]
Haskell bindings: Fix integer arguments.

11 years agoClean up XML output
Matthew Booth [Fri, 26 Jun 2009 10:29:14 +0000 (11:29 +0100)]
Clean up XML output

This change makes XML use XML::Writer, and modifies the output in the
following 2 ways:

* /operatingsystems/operatingsystem/os is renamed to
  /operatingsystems/operatingsystem/name

* /operatingsystems/kernels/version becomes an attribute of
  /operatingsystems/kernel for consistency with initrds

11 years agoMake virt-inspector look in more places for module aliases
Matthew Booth [Thu, 25 Jun 2009 16:19:29 +0000 (17:19 +0100)]
Make virt-inspector look in more places for module aliases

Specifically:
/etc/conf.modules
/etc/modules.conf
/etc/modprobe.conf
/etc/modprobe.d/*

11 years agoAdd yaml output for virt-inspector
Matthew Booth [Thu, 25 Jun 2009 13:33:26 +0000 (14:33 +0100)]
Add yaml output for virt-inspector

11 years agoMake run-inspector-locally try to work out where it is installed
Matthew Booth [Thu, 25 Jun 2009 09:17:37 +0000 (10:17 +0100)]
Make run-inspector-locally try to work out where it is installed

This change means that you can run run-inspector-locally from any
directory. You can also symlink to it and it'll do the right thing. This
means you can put a symlink to run-inspectory-locally in your path
called 'virt-inspector', and 'guestfish -i' will work.

11 years agoMore TODO items for future work.
Richard W.M. Jones [Wed, 24 Jun 2009 20:18:43 +0000 (21:18 +0100)]
More TODO items for future work.

11 years agoAllow guestfish -i / virt-inspector on live domains, in limited circumstances.
Richard W.M. Jones [Wed, 24 Jun 2009 19:10:53 +0000 (20:10 +0100)]
Allow guestfish -i / virt-inspector on live domains, in limited circumstances.

11 years agoFix detection of optional libvirt support in virt-inspector.
Richard W.M. Jones [Wed, 24 Jun 2009 19:04:58 +0000 (20:04 +0100)]
Fix detection of optional libvirt support in virt-inspector.

11 years agoDocument the guestfish --version option in the manual page.
Richard W.M. Jones [Wed, 24 Jun 2009 19:01:41 +0000 (20:01 +0100)]
Document the guestfish --version option in the manual page.

11 years agoClarify documentation for mkdtemp.
Richard W.M. Jones [Wed, 24 Jun 2009 18:57:24 +0000 (19:57 +0100)]
Clarify documentation for mkdtemp.

11 years agoGenerated code for 'mkdtemp' command.
Richard W.M. Jones [Wed, 24 Jun 2009 17:25:09 +0000 (18:25 +0100)]
Generated code for 'mkdtemp' command.

11 years agoAdd mkdtemp command.
Richard W.M. Jones [Wed, 24 Jun 2009 17:22:37 +0000 (18:22 +0100)]
Add mkdtemp command.

11 years agoVersion 1.0.53. 1.0.53
Richard W.M. Jones [Wed, 24 Jun 2009 16:16:17 +0000 (17:16 +0100)]
Version 1.0.53.

11 years agoFix libvirt integration in virt-inspector.
Richard W.M. Jones [Wed, 24 Jun 2009 14:36:58 +0000 (15:36 +0100)]
Fix libvirt integration in virt-inspector.

11 years agoFix permissions on generated scripts in the appliance/ directory.
Richard W.M. Jones [Wed, 24 Jun 2009 14:35:59 +0000 (15:35 +0100)]
Fix permissions on generated scripts in the appliance/ directory.

11 years agoVersion 1.0.52. 1.0.52
Richard W.M. Jones [Wed, 24 Jun 2009 11:41:24 +0000 (12:41 +0100)]
Version 1.0.52.

11 years agoQuote command line arguments to virt-inspector.
Richard W.M. Jones [Wed, 24 Jun 2009 11:15:57 +0000 (12:15 +0100)]
Quote command line arguments to virt-inspector.

11 years agoMerge branch 'master' of git+ssh://g-rjones@et.redhat.com/git/libguestfs
Richard W.M. Jones [Wed, 24 Jun 2009 10:55:57 +0000 (11:55 +0100)]
Merge branch 'master' of git+ssh://g-rjones@et.redhat.com/git/libguestfs

11 years agoAdded guestfish -i option to run virt-inspector.
Richard W.M. Jones [Wed, 24 Jun 2009 10:54:48 +0000 (11:54 +0100)]
Added guestfish -i option to run virt-inspector.

You can invoke guestfish with:
 guestfish -i libvirt-domain
 guestfish -i disk-image(s)

11 years agoFix dependencies in perl so it doesn't always rebuild
Matthew Booth [Wed, 24 Jun 2009 10:50:08 +0000 (11:50 +0100)]
Fix dependencies in perl so it doesn't always rebuild

11 years agoImplement guestfish -f option to allow guestfish scripts.
Richard W.M. Jones [Wed, 24 Jun 2009 08:59:39 +0000 (09:59 +0100)]
Implement guestfish -f option to allow guestfish scripts.

New '-f' option allows scripts to be written using:
 #!/usr/bin/guestfish -f

11 years agoIncorrect assignment on glob error path.
Richard W.M. Jones [Wed, 24 Jun 2009 08:56:34 +0000 (09:56 +0100)]
Incorrect assignment on glob error path.

11 years agoTodo items: guestfish options -i and -f.
Richard W.M. Jones [Wed, 24 Jun 2009 08:45:14 +0000 (09:45 +0100)]
Todo items: guestfish options -i and -f.

11 years agoImplement libtool library versioning.
Richard W.M. Jones [Tue, 23 Jun 2009 21:02:10 +0000 (22:02 +0100)]
Implement libtool library versioning.

Use maximum proc_nr (MAX_PROC_NR) as a surrogate for the
library ABI version, resulting in version numbers such as
libguestfs.so.0.<MAX_PROC_NR>.0 for the final library.

Add ABI guarantee to the documentation.

11 years agoMake the supermin helper look for any x86 kernel
Matthew Booth [Tue, 23 Jun 2009 16:35:40 +0000 (17:35 +0100)]
Make the supermin helper look for any x86 kernel

If you've got a non-PAE kernel installed on an i686 machine, the kernel
architecture is i586. This change makes sure that supermin finds the
installed kernel.

11 years agoGenerated code for 'scrub-*' commands.
Richard W.M. Jones [Tue, 23 Jun 2009 14:53:44 +0000 (15:53 +0100)]
Generated code for 'scrub-*' commands.

11 years agoAdded 'scrub-*' commands for securely scrubbing filesystems.
Richard W.M. Jones [Tue, 23 Jun 2009 14:53:21 +0000 (15:53 +0100)]
Added 'scrub-*' commands for securely scrubbing filesystems.

11 years agoBump up default guest size to 500M.
Richard W.M. Jones [Tue, 23 Jun 2009 14:52:45 +0000 (15:52 +0100)]
Bump up default guest size to 500M.

11 years agoUpdated Polish translation (RHBZ#502533).
Richard W.M. Jones [Tue, 23 Jun 2009 09:17:59 +0000 (10:17 +0100)]
Updated Polish translation (RHBZ#502533).

11 years agoCommand line argument handling.
Richard W.M. Jones [Tue, 23 Jun 2009 09:07:46 +0000 (10:07 +0100)]
Command line argument handling.

11 years ago'-no-kqemu' option is no longer necessary to avoid a warning.
Richard W.M. Jones [Tue, 23 Jun 2009 07:27:52 +0000 (08:27 +0100)]
'-no-kqemu' option is no longer necessary to avoid a warning.

11 years agoVersion 1.0.51 1.0.51
Richard Jones [Mon, 22 Jun 2009 16:02:15 +0000 (17:02 +0100)]
Version 1.0.51

11 years agoAdd whitespace to the init script (no functional change).
Richard Jones [Mon, 22 Jun 2009 15:53:24 +0000 (16:53 +0100)]
Add whitespace to the init script (no functional change).

11 years agoIssue MAKEDEV commands in a loop (RHBZ#507374).
Richard Jones [Mon, 22 Jun 2009 15:43:42 +0000 (16:43 +0100)]
Issue MAKEDEV commands in a loop (RHBZ#507374).

11 years agoCheck parameter types in Ruby bindings (RHBZ#507346).
Richard Jones [Mon, 22 Jun 2009 14:07:42 +0000 (15:07 +0100)]
Check parameter types in Ruby bindings (RHBZ#507346).

11 years agoImprove error message when appliance doesn't match library.
Richard Jones [Mon, 22 Jun 2009 13:24:52 +0000 (14:24 +0100)]
Improve error message when appliance doesn't match library.

11 years agoMissing \n character in Ruby bindings.
Richard Jones [Mon, 22 Jun 2009 13:14:45 +0000 (14:14 +0100)]
Missing \n character in Ruby bindings.

11 years agoMake CHROOT_IN/OUT macros should loudly if the syscall fails.
Richard Jones [Mon, 22 Jun 2009 11:40:57 +0000 (12:40 +0100)]
Make CHROOT_IN/OUT macros should loudly if the syscall fails.

11 years agoInclude the lsof package.
Richard Jones [Mon, 22 Jun 2009 11:24:27 +0000 (12:24 +0100)]
Include the lsof package.

11 years agoCheck return value from close() call.
Richard Jones [Mon, 22 Jun 2009 11:24:14 +0000 (12:24 +0100)]
Check return value from close() call.

11 years agoThe 'debug sh' command now uses a real shell.
Richard Jones [Mon, 22 Jun 2009 11:23:56 +0000 (12:23 +0100)]
The 'debug sh' command now uses a real shell.

11 years agotest-boot-realistic rule should boot the rescue shell.
Richard Jones [Mon, 22 Jun 2009 11:23:31 +0000 (12:23 +0100)]
test-boot-realistic rule should boot the rescue shell.

11 years agoRebuild supermin appliance when the daemon is updated.
Richard Jones [Mon, 22 Jun 2009 11:23:12 +0000 (12:23 +0100)]
Rebuild supermin appliance when the daemon is updated.

11 years agoVersion 1.0.50. 1.0.50
Richard Jones [Mon, 22 Jun 2009 09:02:11 +0000 (10:02 +0100)]
Version 1.0.50.

11 years agoAdd 'glob' command for guestfish.
Richard Jones [Mon, 22 Jun 2009 08:35:43 +0000 (09:35 +0100)]
Add 'glob' command for guestfish.

11 years agoGenerated code for 'glob-expand'.
Richard Jones [Mon, 22 Jun 2009 07:20:42 +0000 (08:20 +0100)]
Generated code for 'glob-expand'.

11 years agoAdd 'glob-expand' command.
Richard Jones [Mon, 22 Jun 2009 07:20:32 +0000 (08:20 +0100)]
Add 'glob-expand' command.

11 years agoGenerated code for 'sh' and 'sh-lines' commands.
Richard Jones [Mon, 22 Jun 2009 06:49:50 +0000 (07:49 +0100)]
Generated code for 'sh' and 'sh-lines' commands.

11 years agoAdd 'sh' and 'sh-lines' commands.
Richard Jones [Mon, 22 Jun 2009 06:49:37 +0000 (07:49 +0100)]
Add 'sh' and 'sh-lines' commands.

11 years agoCheck return value from waitpid call in command*() functions.
Richard W.M. Jones [Sat, 20 Jun 2009 15:05:12 +0000 (16:05 +0100)]
Check return value from waitpid call in command*() functions.