Richard W.M. Jones [Tue, 21 Sep 2010 18:49:08 +0000 (19:49 +0100)]
leak: Clear history before exiting guestfish.
Clear the in-memory history before exiting. This removes
some but not all memory leaks associated with using the GNU
History library. As far as I can tell it is not possible to
free up everything used by GNU History.
(Found by valgrind).
Richard W.M. Jones [Tue, 21 Sep 2010 18:40:23 +0000 (19:40 +0100)]
leak: Free list of drives and mountpoints in guestfish.
Previously the list of -a, -d, -m, -N parameters were leaked. This
change frees them explicitly.
This is not such an important fix since guestfish is a one-shot
program, but it aids in finding other leaks in future.
(Found by valgrind).
Richard W.M. Jones [Tue, 21 Sep 2010 18:38:50 +0000 (19:38 +0100)]
leak: Free PCRE regexps when library is unloaded.
The compiled PCRE regexps used for inspection were being leaked when
the library was unloaded.
(Found by valgrind).
Richard W.M. Jones [Tue, 21 Sep 2010 18:37:24 +0000 (19:37 +0100)]
leak: Appliance name was leaked during guestfs_launch.
This frees the string containing the name of the appliance
which was previously being leaked during launch.
(Found by valgrind).
Matthew Booth [Tue, 21 Sep 2010 12:22:58 +0000 (13:22 +0100)]
Add more exclusions to .gitignore.
Matthew Booth [Tue, 21 Sep 2010 09:50:41 +0000 (10:50 +0100)]
Fix appliance build dependency problem
The appliance was being completely rebuilt every time guestfsd was updated. This
was because make.sh depended on guestfsd, which it had to do because it
called update.sh to install guestfsd.
This fix removes the call to update.sh in make.sh, and therefore the dependency
on guestfsd. The Makefile already includes a rule to run update.sh when guestfsd
is updated, so this was unnecessary.
Richard W.M. Jones [Tue, 21 Sep 2010 07:53:44 +0000 (08:53 +0100)]
fish: Add --echo-keys option to allow passphrases/keys to be echoed.
See also:
http://catless.ncl.ac.uk/Risks/26.17.html#subj13.3
Richard W.M. Jones [Sun, 19 Sep 2010 14:55:46 +0000 (15:55 +0100)]
df: Add --one-per-guest option for using one appliance per guest.
Richard W.M. Jones [Mon, 20 Sep 2010 13:02:06 +0000 (14:02 +0100)]
Fix error launching libguestfs when euid != uid.
When writing to a RHEV target, virt-v2v launches the libguestfs
appliance with euid:egid = 36:36, which is required to write to
an NFS target using root_squash.
Since we changed to using a cached appliance, this causes an error on
start up, as the cached files are owned by root, but the cache directory
is owned by 36:36. The reason is that bash resets euid to uid and
egid to gid so when febootstrap-supermin-helper is executed, it runs as
root:root. The cache directory was created by libguestfs directly so
it has the correct ownership.
This patch fixes the issue by using explicit fork/exec instead of
system (ie. not going via a shell) and by setting the real UID and
GID to the effective UID and GID before execing.
Richard W.M. Jones [Mon, 20 Sep 2010 12:06:13 +0000 (13:06 +0100)]
todo: Suggest removing repo name from appliance name.
Richard W.M. Jones [Sat, 18 Sep 2010 08:38:05 +0000 (09:38 +0100)]
generator: Generate guestfish-only commands.
The guestfish-only commands such as 'alloc' and 'edit' are
now generated from one place in the generator instead of being
spread around ad-hoc in the C code.
Richard W.M. Jones [Sat, 18 Sep 2010 07:57:30 +0000 (08:57 +0100)]
fish: In guestfish(1) turn command references into links.
Richard W.M. Jones [Fri, 17 Sep 2010 13:35:43 +0000 (14:35 +0100)]
fish: Correction for online help for 'edit' and 'more' commands.
This corrects commit
b5c287bcd456bdb02d8ec0443483df34f4fd6b5d
and commit
639ca1828b167bf59353f0cd3c8c79c6289bbd5d.
Richard Jones [Wed, 15 Sep 2010 21:12:35 +0000 (22:12 +0100)]
Version 1.5.16.
Richard Jones [Wed, 15 Sep 2010 21:08:35 +0000 (22:08 +0100)]
configure: Make "fedora-13" the default repository.
Richard Jones [Wed, 15 Sep 2010 20:47:37 +0000 (21:47 +0100)]
fish: If -m option fails, suggest a mountpoint.
Richard Jones [Wed, 15 Sep 2010 19:49:32 +0000 (20:49 +0100)]
todo: Remove section since we now have list-filesystems API.
Richard Jones [Wed, 15 Sep 2010 19:35:06 +0000 (20:35 +0100)]
Version 1.5.15.
Richard Jones [Wed, 15 Sep 2010 16:22:29 +0000 (17:22 +0100)]
New API: list-filesystems: list filesystems
This API is a simpler replacement for the guestfish commands
list-devices / list-partitions / lvs, in the case where you are
just examining a guest by hand to see what it contains.
Typical usage and output in guestfish is like this:
$ guestfish --ro -a /dev/vg_trick/F13x64
><fs> run
><fs> list-filesystems
/dev/vda1: ext4
/dev/vg_f13x64/lv_root: ext4
/dev/vg_f13x64/lv_swap: swap
It can also be used to replace programs that try to mount
devices to determine if they are mountable filesystems.
Richard Jones [Wed, 15 Sep 2010 15:39:36 +0000 (16:39 +0100)]
New API: part-to-dev: Convert partition name to device name.
This adds a formal API for going from a partition to the containing
device, eg. /dev/sda1 -> /dev/sda
Richard Jones [Wed, 15 Sep 2010 16:15:44 +0000 (17:15 +0100)]
generator: Add TestOutputDevice.
This is for testing functions that return a device or partition
name, so that we can compare the return value with the canonical
device name (eg. "/dev/vda1" == "/dev/sda1").
Richard Jones [Wed, 15 Sep 2010 15:37:24 +0000 (16:37 +0100)]
todo: More use of libblkid.
Richard Jones [Tue, 14 Sep 2010 21:29:08 +0000 (22:29 +0100)]
fish: In usage message use new-style -i option syntax.
Richard Jones [Tue, 14 Sep 2010 21:28:10 +0000 (22:28 +0100)]
fish: Update copyright dates in usage message.
Richard Jones [Tue, 14 Sep 2010 21:27:06 +0000 (22:27 +0100)]
fish: Remove extraneous space from usage message.
Richard Jones [Tue, 14 Sep 2010 21:17:24 +0000 (22:17 +0100)]
todo: More ideas.
Richard Jones [Tue, 14 Sep 2010 12:29:59 +0000 (13:29 +0100)]
Version 1.5.14.
Richard Jones [Tue, 14 Sep 2010 11:24:54 +0000 (12:24 +0100)]
configure: Check for virtio-serial support in qemu.
All other vmchannel methods are obsolete, but we were still trying
to check for them. This replaces all of them with a simple check
for virtio-serial.
Richard Jones [Tue, 14 Sep 2010 11:24:12 +0000 (12:24 +0100)]
pardus: Check for cpio in configure.
Richard Jones [Mon, 13 Sep 2010 18:06:39 +0000 (19:06 +0100)]
Update Spanish translation (RHBZ#633357).
Richard Jones [Mon, 13 Sep 2010 15:01:53 +0000 (16:01 +0100)]
build: Add run-test-tool-locally to EXTRA_DIST.
Richard Jones [Mon, 13 Sep 2010 13:47:43 +0000 (14:47 +0100)]
Version 1.5.13.
Richard Jones [Mon, 13 Sep 2010 13:49:16 +0000 (14:49 +0100)]
appliance: Disable setting scheduler to noop.
This is a workaround until
https://bugzilla.redhat.com/show_bug.cgi?id=630583
is fixed (bug in Linux 2.6.36).
Richard Jones [Mon, 13 Sep 2010 13:45:18 +0000 (14:45 +0100)]
ubuntu: Remove bogus debirf file.
Richard Jones [Mon, 13 Sep 2010 13:44:46 +0000 (14:44 +0100)]
ubuntu: Add linux-image to the packagelist.
It seems that linux-image (ie. the kernel) is omitted in some
versions of the base packages.
Richard Jones [Mon, 13 Sep 2010 13:44:05 +0000 (14:44 +0100)]
ubuntu: /proc can be a symlink
If it's a symlink then the succeeding mount commnd will fail.
Remove it and make a /proc directory.
Richard Jones [Mon, 13 Sep 2010 13:42:47 +0000 (14:42 +0100)]
build: 'make quickcheck' rule now uses new run-test-tool-locally script.
Richard Jones [Sat, 11 Sep 2010 16:16:22 +0000 (17:16 +0100)]
build: hivex is required.
hivex library has been required since we moved the inspection
code to C. Check for this in configure.ac.
Richard Jones [Sat, 11 Sep 2010 12:14:45 +0000 (13:14 +0100)]
Version 1.5.12.
Richard Jones [Sat, 11 Sep 2010 12:41:26 +0000 (13:41 +0100)]
build: require Augeas for library.
Augeas has been required since we moved the inspection code to C,
however we were not correctly enforcing this in configure.ac, nor
correctly linking to the library until now.
Richard Jones [Sat, 11 Sep 2010 12:20:59 +0000 (13:20 +0100)]
generator: Provide no-op generator if no OCaml compiler.
Richard Jones [Sat, 11 Sep 2010 12:14:04 +0000 (13:14 +0100)]
build: Don't distribute src/generator.ml, no longer exists.
Richard Jones [Sat, 11 Sep 2010 11:19:25 +0000 (12:19 +0100)]
generator: Calculate MD5 of test.iso at runtime.
Because this used to be compiled into the C test, it changed
every time the ISO was rebuilt (which because of Makefile deps
was every run).
Now it is calculated at runtime so the C test file doesn't keep
changing.
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.