mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-22 07:03:38 +00:00
docs: hacking: Fix the headings.
Just grouping things more logically.
This commit is contained in:
@@ -6,7 +6,7 @@ guestfs-hacking - extending and contributing to libguestfs
|
||||
|
||||
This manual page is for hackers who want to extend libguestfs itself.
|
||||
|
||||
=head1 OVERVIEW OF THE SOURCE CODE
|
||||
=head1 THE SOURCE CODE
|
||||
|
||||
Libguestfs source is located in the github repository
|
||||
L<https://github.com/libguestfs/libguestfs>
|
||||
@@ -37,7 +37,7 @@ functions in files under F<daemon>.
|
||||
|
||||
To build from source, first read the L<guestfs-building(1)>.
|
||||
|
||||
=head1 SOURCE CODE SUBDIRECTORIES
|
||||
=head2 SOURCE CODE SUBDIRECTORIES
|
||||
|
||||
There are a lot of subdirectories in the source tree! Which ones
|
||||
should you concentrate on first? F<lib> and F<daemon> which contain
|
||||
@@ -316,7 +316,7 @@ Language bindings.
|
||||
|
||||
=back
|
||||
|
||||
=head1 THE BUILD SYSTEM
|
||||
=head2 THE BUILD SYSTEM
|
||||
|
||||
Libguestfs uses the GNU autotools build system (autoconf, automake,
|
||||
libtool).
|
||||
@@ -337,7 +337,9 @@ There are many make targets. Use this command to list them all:
|
||||
|
||||
make help
|
||||
|
||||
=head1 ADDING A NEW API
|
||||
=head1 EXTENDING LIBGUESTFS
|
||||
|
||||
=head2 ADDING A NEW API
|
||||
|
||||
Because large amounts of boilerplate code in libguestfs are generated,
|
||||
this makes it easy to extend the libguestfs API.
|
||||
@@ -392,7 +394,7 @@ Note that you don't need to implement the RPC, language bindings,
|
||||
manual pages or anything else. It's all automatically generated from
|
||||
the OCaml description.
|
||||
|
||||
=head2 Adding tests for an API
|
||||
=head3 Adding tests for an API
|
||||
|
||||
You can supply zero or as many tests as you want per API call. The
|
||||
tests can either be added as part of the API description
|
||||
@@ -462,7 +464,7 @@ Packagers can run only certain tests by setting for example:
|
||||
See F<tests/c-api/tests.c> for more details of how these environment
|
||||
variables work.
|
||||
|
||||
=head2 Debugging new APIs
|
||||
=head3 Debugging new APIs
|
||||
|
||||
Test new actions work before submitting them.
|
||||
|
||||
@@ -472,7 +474,7 @@ Debugging the daemon is a problem because it runs inside a minimal
|
||||
environment. However you can fprintf messages in the daemon to
|
||||
stderr, and they will show up if you use C<guestfish -v>.
|
||||
|
||||
=head1 ADDING A NEW LANGUAGE BINDING
|
||||
=head2 ADDING A NEW LANGUAGE BINDING
|
||||
|
||||
All language bindings must be generated by the generator
|
||||
(see the F<generator> subdirectory).
|
||||
@@ -481,7 +483,7 @@ There is no documentation for this yet. We suggest you look
|
||||
at an existing binding, eg. F<generator/ocaml.ml> or
|
||||
F<generator/perl.ml>.
|
||||
|
||||
=head2 Adding tests for language bindings
|
||||
=head3 Adding tests for language bindings
|
||||
|
||||
Language bindings should come with tests. Previously testing of
|
||||
language bindings was rather ad-hoc, but we have been trying to
|
||||
@@ -521,7 +523,7 @@ This is the numbering scheme used by the tests:
|
||||
To save time when running the tests, only 100, 430, 800+, 900+ should
|
||||
launch the handle.
|
||||
|
||||
=head1 FORMATTING CODE
|
||||
=head2 FORMATTING CODE
|
||||
|
||||
Our C source code generally adheres to some basic code-formatting
|
||||
conventions. The existing code base is not totally consistent on this
|
||||
@@ -554,7 +556,7 @@ If you use Emacs, add the following to one of one of your start-up files
|
||||
(buffer-file-name))
|
||||
(libguestfs-c-mode))))
|
||||
|
||||
=head1 TESTING YOUR CHANGES
|
||||
=head2 TESTING YOUR CHANGES
|
||||
|
||||
Turn warnings into errors when developing to make warnings hard to
|
||||
ignore:
|
||||
@@ -775,7 +777,7 @@ have to modify the F<Makefile.am> like this:
|
||||
In either case, check that the right program is being tested by
|
||||
examining the F<tmp/valgrind*> log files carefully.
|
||||
|
||||
=head1 SUBMITTING PATCHES
|
||||
=head2 SUBMITTING PATCHES
|
||||
|
||||
Submit patches to the mailing list:
|
||||
L<http://www.redhat.com/mailman/listinfo/libguestfs>
|
||||
@@ -784,7 +786,7 @@ and CC to L<rjones@redhat.com>.
|
||||
You do not need to subscribe to the mailing list if you don't want to.
|
||||
There may be a short delay while your message is moderated.
|
||||
|
||||
=head1 DAEMON CUSTOM PRINTF FORMATTERS
|
||||
=head2 DAEMON CUSTOM PRINTF FORMATTERS
|
||||
|
||||
In the daemon code we have created custom printf formatters C<%Q> and
|
||||
C<%R>, which are used to do shell quoting.
|
||||
@@ -815,7 +817,7 @@ quoted because they are not passed via the shell (instead, straight to
|
||||
exec). You probably want to use the C<sysroot_path()> function
|
||||
however.
|
||||
|
||||
=head1 INTERNATIONALIZATION (I18N) SUPPORT
|
||||
=head2 INTERNATIONALIZATION (I18N) SUPPORT
|
||||
|
||||
We support i18n (gettext anyhow) in the library.
|
||||
|
||||
@@ -828,7 +830,9 @@ into the appliance.
|
||||
Debugging messages are never translated, since they are intended for
|
||||
the programmers.
|
||||
|
||||
=head1 HOW OCAML PROGRAMS ARE COMPILED AND LINKED
|
||||
=head1 MISCELLANEOUS TOPICS
|
||||
|
||||
=head2 HOW OCAML PROGRAMS ARE COMPILED AND LINKED
|
||||
|
||||
Mostly this section is "how we make automake & ocamlopt work together"
|
||||
since OCaml programs themselves are easy to compile.
|
||||
@@ -886,7 +890,7 @@ it will not add them all automatically.
|
||||
|
||||
=back
|
||||
|
||||
=head1 VIRT-V2V
|
||||
=head2 VIRT-V2V
|
||||
|
||||
First a little history. Virt-v2v has been through at least two
|
||||
complete rewrites, so this is probably about the third version (but we
|
||||
@@ -929,7 +933,7 @@ Every other file in this directory is a support module / library of
|
||||
some sort. Some code is written in C, especially where we want to use
|
||||
an external C library such as libxml2.
|
||||
|
||||
=head1 VIRT-P2V
|
||||
=head2 VIRT-P2V
|
||||
|
||||
Virt-p2v is a front end on virt-v2v. ie. All it does is act as a GUI
|
||||
front end, and it calls out to virt-v2v to perform the actual
|
||||
@@ -938,7 +942,7 @@ is Gtk (GUI) code, or supporting code for talking to the remote
|
||||
conversion server. There is no special support for physical machines
|
||||
in virt-v2v. They are converted in the same way as foreign VMs.
|
||||
|
||||
=head2 Running virt-p2v
|
||||
=head3 Running virt-p2v
|
||||
|
||||
You can run the F<p2v/virt-p2v> binary directly, but it will try to
|
||||
convert your machine's real F</dev/sda> which is unlikely to work
|
||||
@@ -969,7 +973,7 @@ below):
|
||||
|
||||
make -C p2v run-virt-p2v-non-gui-conversion
|
||||
|
||||
=head2 Understanding the virt-p2v code
|
||||
=head3 Understanding the virt-p2v code
|
||||
|
||||
I<See also:> L<virt-p2v(1)/HOW VIRT-P2V WORKS>
|
||||
|
||||
@@ -1001,7 +1005,9 @@ if you patch miniexpect.c, then please make sure the changes get
|
||||
reflected in miniexpect's upstream too:
|
||||
F<http://git.annexia.org/?p=miniexpect.git;a=summary>)
|
||||
|
||||
=head1 MAKING A STABLE RELEASE
|
||||
=head1 MAINTAINER TASKS
|
||||
|
||||
=head2 MAKING A STABLE RELEASE
|
||||
|
||||
When we make a stable release, there are several steps documented
|
||||
here. See L<guestfs(3)/LIBGUESTFS VERSION NUMBERS> for general information
|
||||
|
||||
Reference in New Issue
Block a user