Provided by: virt-v2v_1.44.2-1_amd64 bug

NAME

       virt-v2v-hacking -

DESCRIPTION

       First a little history.  Virt-v2v has been through at least two complete rewrites, so this is probably
       about the third version (but we don't intend to rewrite it again).  The previous version was written in
       Perl and can be found here: https://git.fedorahosted.org/git/virt-v2v.git

       The current version started out as almost a line-for-line rewrite of the Perl code in OCaml + C, and it
       still has a fairly similar structure.  Therefore if there are details of this code that you don't
       understand (especially in the details of guest conversion), checking the Perl code may help.

       The files to start with when reading this code are:

       •   types.mliv2v.ml

       types.mli defines all the structures used and passed around when communicating between different bits of
       the program.  v2v.ml controls how the program runs in stages.

       After studying those files, you may want to branch out into the input modules (input_*), the output
       modules (output_*) or the conversion modules (convert_*).  The input and output modules define -i and -o
       options (see the manual).  The conversion modules define what guest types we can handle and the detailed
       steps involved in converting them.

       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.

SEE ALSO

       virt-p2v(1), virt-v2v(1).

AUTHORS

       Richard W.M. Jones

COPYRIGHT

       Copyright (C) 2009-2020 Red Hat Inc.

LICENSE

       This program is free software; you can redistribute it and/or modify it under the terms of the GNU
       General Public License as published by the Free Software Foundation; either version 2 of the License, or
       (at your option) any later version.

       This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
       the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
       License for more details.

       You should have received a copy of the GNU General Public License along with this program; if not, write
       to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

BUGS

       To get a list of bugs against libguestfs, use this link:
       https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools

       To report a new bug against libguestfs, use this link:
       https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools

       When reporting a bug, please supply:

       •   The version of libguestfs.

       •   Where you got libguestfs (eg. which Linux distro, compiled from source, etc)

       •   Describe the bug accurately and give a way to reproduce it.

       •   Run libguestfs-test-tool(1) and paste the complete, unedited output into the bug report.