diff --git a/docs/guestfs-hacking.pod b/docs/guestfs-hacking.pod index 63df93148..41b618a48 100644 --- a/docs/guestfs-hacking.pod +++ b/docs/guestfs-hacking.pod @@ -36,6 +36,220 @@ functions in files under F. To build from source, first read the L. +=head1 SOURCE CODE SUBDIRECTORIES + +=over 4 + +=item F + +L command and documentation. + +=item F + +The libguestfs appliance, build scripts and so on. + +=item F + +Bash tab-completion scripts. + +=item F + +Various build scripts used by autotools. + +=item F + +L command and documentation. + +=item F + +The L, L, L +and L commands and documentation. + +=item F + +Outside contributions, experimental parts. + +=item F + +L command and documentation. + +=item F + +The daemon that runs inside the libguestfs appliance and carries out +actions. + +=item F + +L command and documentation. + +=item F + +L command and documentation. + +=item F + +L command and documentation. + +=item F + +Miscellaneous manual pages. + +=item F + +L command and documentation. + +=item F + +C API example code. + +=item F + +L, the command-line shell, and various shell scripts +built on top such as L, L, +L, L. + +=item F + +L command and documentation. + +=item F + +L, FUSE (userspace filesystem) built on top of libguestfs. + +=item F + +The crucially important generator, used to automatically generate +large amounts of boilerplate C code for things like RPC and bindings. + +=item F + +L command and documentation. + +=item F + +Gnulib is used as a portability library. A copy of gnulib is included +under here. + +=item F + +L, the virtual machine image inspector. + +=item F + +Logo used on the website. The fish is called Arthur by the way. + +=item F + +M4 macros used by autoconf. + +=item F + +L command and documentation. + +=item F + +Various libraries and common code used by L and +the other tools which are written in OCaml. + +=item F + +L command, documentation and scripts for building the +virt-p2v ISO or disk image. + +=item F + +Translations of simple gettext strings. + +=item F + +The build infrastructure and PO files for translations of manpages and +POD files. Eventually this will be combined with the F directory, +but that is rather complicated. + +=item F + +L command and documentation. + +=item F + +L command and documentation. + +=item F + +L command and documentation. + +=item F + +Source code to the C library. + +=item F + +L command and documentation. + +=item F + +Tests. + +=item F + +Files and other test data used by the tests. + +=item F + +Test tool for end users to test if their qemu/kernel combination +will work with libguestfs. + +=item F + +Used for temporary files when running the tests (instead of F +etc). The reason is so that you can run multiple parallel tests of +libguestfs without having one set of tests overwriting the appliance +created by another. + +=item F + +Command line tools written in Perl (L and many others). + +=item F + +Miscellaneous utilities, such as C. + +=item F + +L command and documentation. + +=item F + +The L website files. + +=item F + +=item F + +=item F + +=item F + +=item F + +=item F + +=item F + +=item F + +=item F + +=item F + +=item F + +=item F + +Language bindings. + +=back + =head1 ADDING A NEW API Because large amounts of boilerplate code in libguestfs are generated, @@ -489,220 +703,6 @@ into the appliance. Debugging messages are never translated, since they are intended for the programmers. -=head1 SOURCE CODE SUBDIRECTORIES - -=over 4 - -=item F - -L command and documentation. - -=item F - -The libguestfs appliance, build scripts and so on. - -=item F - -Bash tab-completion scripts. - -=item F - -Various build scripts used by autotools. - -=item F - -L command and documentation. - -=item F - -The L, L, L -and L commands and documentation. - -=item F - -Outside contributions, experimental parts. - -=item F - -L command and documentation. - -=item F - -The daemon that runs inside the libguestfs appliance and carries out -actions. - -=item F - -L command and documentation. - -=item F - -L command and documentation. - -=item F - -L command and documentation. - -=item F - -Miscellaneous manual pages. - -=item F - -L command and documentation. - -=item F - -C API example code. - -=item F - -L, the command-line shell, and various shell scripts -built on top such as L, L, -L, L. - -=item F - -L command and documentation. - -=item F - -L, FUSE (userspace filesystem) built on top of libguestfs. - -=item F - -The crucially important generator, used to automatically generate -large amounts of boilerplate C code for things like RPC and bindings. - -=item F - -L command and documentation. - -=item F - -Gnulib is used as a portability library. A copy of gnulib is included -under here. - -=item F - -L, the virtual machine image inspector. - -=item F - -Logo used on the website. The fish is called Arthur by the way. - -=item F - -M4 macros used by autoconf. - -=item F - -L command and documentation. - -=item F - -Various libraries and common code used by L and -the other tools which are written in OCaml. - -=item F - -L command, documentation and scripts for building the -virt-p2v ISO or disk image. - -=item F - -Translations of simple gettext strings. - -=item F - -The build infrastructure and PO files for translations of manpages and -POD files. Eventually this will be combined with the F directory, -but that is rather complicated. - -=item F - -L command and documentation. - -=item F - -L command and documentation. - -=item F - -L command and documentation. - -=item F - -Source code to the C library. - -=item F - -L command and documentation. - -=item F - -Tests. - -=item F - -Files and other test data used by the tests. - -=item F - -Test tool for end users to test if their qemu/kernel combination -will work with libguestfs. - -=item F - -Used for temporary files when running the tests (instead of F -etc). The reason is so that you can run multiple parallel tests of -libguestfs without having one set of tests overwriting the appliance -created by another. - -=item F - -Command line tools written in Perl (L and many others). - -=item F - -Miscellaneous utilities, such as C. - -=item F - -L command and documentation. - -=item F - -The L website files. - -=item F - -=item F - -=item F - -=item F - -=item F - -=item F - -=item F - -=item F - -=item F - -=item F - -=item F - -=item F - -Language bindings. - -=back - =head1 VIRT-V2V First a little history. Virt-v2v has been through at least two