Commit Graph

51 Commits

Author SHA1 Message Date
Richard Jones
1a9aa565b3 fish: Add -c/--connect and -d/--domain options.
The -d option lets you specify libvirt domains.  The disks from
these domains are found and added, as if you'd named them with -a.

The -c option lets you specify a libvirt URI, which is needed
when we consult libvirt to implement the above.
2010-08-17 14:09:25 +01:00
Richard Jones
ad4cff2625 New API: file-architecture
This change simply converts the existing Perl-only function
file_architecture into a core API call.  The core API call is
written in C and available in all languages and from guestfish.
2010-08-17 14:09:25 +01:00
Richard Jones
8700a55d52 Unify supermin appliance building using febootstrap 2.7 2010-05-13 18:52:15 +01:00
Richard Jones
9a608a1516 Documentation updates.
Fix copyright years.
Fix URLs to point to new PRC site.
Make sure guestfish(1) and guestfs(3) manpages reference the
current list of tools.
2010-04-11 17:02:18 +01:00
Richard Jones
4b48f93ce6 Improved version of virt-win-reg, supporting exporting and merging. 2010-03-30 16:25:12 +01:00
Richard Jones
ebfcb7f23d inspector: Read information about Windows guests from the Registry.
This commit changes substantially the way that we get information
about Windows guests.  We now use the Windows Registry to get
information such as the version, product name and much else.

This uses Win::Hivex (ie. the hivex library).  'reged' is no longer
needed or used.

As an incidental change, this also tries harder to search for
%systemroot%, in the case when we cannot find boot.ini (ie.
Windows Vista and more recent).  This ensures we can get more
detail from those versions of Windows.
2010-03-08 19:35:23 +00:00
Richard Jones
a8c3723e38 Spin off hivex as a separate upstream project.
This commit makes the semi-independent hivex library into a
separate upstream project.  The git repo for hivex is now:

http://git.annexia.org/?p=hivex.git;a=summary

Downloads of hivex are available here:

http://libguestfs.org/download/

All questions, patches, bugs etc should be sent to the libguestfs
mailing list and bug tracker.
2010-02-22 13:19:21 +00:00
Richard Jones
dabe72cb8b Remove references to FTP, replace with FUSE.
We originally intended to implement an FTP server (and before
than, an NFS server).  But we didn't implement either.  We
did however implement a FUSE service (guestmount) which takes
the place of both.
2010-02-15 22:53:40 +00:00
Richard Jones
c0e4b5dc69 Experimental C# bindings.
Tested in only limited situations, with Mono on Linux.
2010-01-02 21:55:17 +00:00
Richard Jones
2e2eb15df0 Remove separate inspector_generator.ml, combine this with generator.ml.
This commit combines the previously separate "inspector_generator.ml"
program which generated bindings for virt-inspector.

Having two separate programs caused no end of troubles for developers,
so we now combine them into a single program.

NOTE: OCaml xml-light is now *required* in order to rebuild the
generated code.
2009-12-31 11:20:56 +00:00
Richard Jones
429de22541 FUSE filesystem support.
This implements FUSE filesystem support so that any libguestfs-
accessible disk image can be mounted as a local filesystem.

Note: file writes (ie. write(2) system call) is not yet implemented.

The API needs more test coverage, particularly lesser-used system
calls.

The big unresolved issue is UID/GID mapping between guest filesystem
IDs and the host.  It's not easy to automate this because you need
extra details about the guest itself in order to get to its
UID->username map (eg. /etc/passwd from the guest).
2009-11-03 15:57:26 +00:00
Richard Jones
792c528300 Support for Windows Registry.
In hivex/:  This mini-library allows us to extract Windows
Registry binary files ("hives").

There are also two tools: hivexml converts a hive to a
self-describing XML format.  hivexget can be used to extract
single subkeys from a hive.

New tool: virt-win-reg.  This is a wrapper around the library
functionality allowing you to pull out data from the registries
of Windows guests.
2009-10-29 15:58:23 +00:00
Richard Jones
d37f697953 inspector: Generate language bindings for OCaml.
This commit adds a generic mechanism for deriving language bindings
for virt-inspector, and implements one concrete binding, for OCaml.

The bindings are generated from the RELAX NG schema (virt-inspector.rng)
which is supposed to be a correct and always up to date description
of the XML that the virt-inspector program can generate.

From the RNG we generate a set of types to describe the output of
virt-inspector for the language, plus an XML parser, plus some
glue code to actually run an external instance of virt-inspector
and parse the resulting XML.

At runtime, an external 'virt-inspector --xml <name>' command runs
and the XML is parsed into language-specific structures.

This has been tested on the four example files (inspector/example?.xml)

The only particular difficulty about the OCaml binding is the use of
Obj.magic, which is naughty but works because of the isomorphism
between the representation of tuples and records in OCaml.  This
seems to cause no problems in my test program.  Apart from this, the
OCaml binding is straightforward and could be adapted easily for any
other languages that want type-safe virt-inspector bindings.

It's important to keep virt-inspector.rng up to date with changes
to virt-inspector's XML output format.
2009-10-13 17:53:20 +01:00
Richard Jones
9d25e82491 inspector: Add tests for RELAX NG schema. 2009-10-02 15:00:27 +02:00
Richard Jones
419cf4bb01 Update documentation of qemu / vmchannel. 2009-09-22 11:03:22 +01:00
Richard Jones
2f3a0e3975 tests: Use ISO instead of squashfs.
The squashfs format changes too much.  Use an ISO file for
the tests instead.
2009-08-19 15:13:51 +01:00
Richard Jones
b3595c5553 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.
2009-07-15 15:30:23 +01:00
Richard Jones
92d47d7f85 Update with links to the new mailing list. 2009-07-08 17:20:52 +01:00
Richard W.M. Jones
1f6bc26fc0 Fix libvirt integration in virt-inspector. 2009-06-24 15:36:58 +01:00
Richard Jones
71322ebf4e Don't compress the supermin base initramfs. 2009-06-16 10:55:36 +01:00
Richard Jones
14ec52d3dc Documentation for the supermin appliance. 2009-06-15 16:09:12 +01:00
Richard Jones
67232e4a70 Update status of libguestfs in Debian. 2009-06-13 11:18:54 +01:00
Richard Jones
27161658c8 New website, change et.redhat.com references to libguestfs.org 2009-06-09 11:20:05 +01:00
Richard Jones
7baf58278b Add support for decoding the Windows registry. 2009-06-09 10:50:03 +01:00
Richard W.M. Jones
e02066bcb3 Use a squashfs attached as /dev/sdd during the C API tests. 2009-05-29 12:59:32 +01:00
Richard Jones
b8b89f509c Improve documentation in README file. 2009-05-27 11:31:39 +01:00
Richard Jones
8cddd6c7e7 Depend on new febootstrap 2.0, and use febootstrap-install. 2009-05-11 15:43:00 +01:00
Richard Jones
d43dac6948 Partial Haskell bindings. 2009-05-10 13:52:49 +01:00
Richard Jones
01b20efdf4 Augeas is now completely optional. 2009-05-07 15:51:02 +01:00
Richard Jones
2b21eec8d4 Added configure test for qemu vmchannel support. 2009-04-25 08:36:52 +01:00
Richard W.M. Jones
54ca2f1f8c Instructions on running KVM as non-root (Robert P. J. Day). 2009-04-23 10:19:33 +01:00
Richard Jones
54dd7be585 Allow selection of qemu using --with-qemu 2009-04-22 08:46:35 +01:00
Richard Jones
f52bc724a3 Updated documentation, prepare for 1.0.5 release. 2009-04-21 22:27:22 +01:00
Richard Jones
b9014d6a0d Basic Java build environment. 2009-04-21 14:25:16 +01:00
Richard Jones
9b281a66c0 Ruby also supported 2009-04-20 18:20:34 +01:00
Richard Jones
a5f68bd57d Ruby bindings. 2009-04-16 22:13:20 +01:00
Richard Jones
d268e64fe7 Added bindings for GNU readline. 2009-04-14 15:52:04 +01:00
Richard Jones
ec89b93988 Describe all available bindings. 2009-04-13 19:39:39 +01:00
Richard Jones
b3f11c5f62 Lots, mainly Python bindings. 2009-04-13 18:32:03 +01:00
Richard Jones
e7eca50046 Added Augeas support. 2009-04-09 13:19:38 +01:00
Richard Jones
8dcc88f867 Added a note that I'm not going to do Python bindings for now. 2009-04-08 13:42:26 +01:00
Richard Jones
acf9000252 Added framework for the language bindings. 2009-04-07 13:08:50 +01:00
Richard Jones
64a5ae0e96 Generate actions section in guestfs.3 man page. 2009-04-04 10:29:25 +01:00
Richard Jones
1fbc83c9c2 Remove NFS support - we will probably use FTP instead. 2009-04-03 17:23:03 +01:00
Richard Jones
8d0068a752 Start the generated code and code generator. 2009-04-03 01:15:17 +01:00
Richard Jones
5de49dc0d8 Documentation of low-level API. 2009-04-01 20:29:03 +01:00
Richard Jones
6ed48042e4 Various fixes to the build system, add 'make test-boot-image' target. 2009-04-01 12:57:45 +01:00
rjones
863d13ea1a Build the initramfs. 2009-03-24 14:15:13 +00:00
rjones
91df7a164b Now using febootstrap. 2009-03-24 09:38:31 +00:00
rjones
407caabfd0 Final fixes to build environment, and added autogen.sh. 2009-03-03 09:08:12 +00:00