X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=HACKING;h=336fc7c667941e8a78e481f58810872f62e6c083;hp=8ad6e9a79d946a33b121d94a30bb8a02f3d44581;hb=6279c4bbf9cbbe66917ce9ffa4b98eca9040bcd9;hpb=d43dac69483e8ec62e8356d93f761684ce2f5cc8 diff --git a/HACKING b/HACKING index 8ad6e9a..336fc7c 100644 --- a/HACKING +++ b/HACKING @@ -14,10 +14,6 @@ etc. to the big list called 'functions' at the top of this file. 'do_action' function. Take a look at one of the numerous examples there. -You will need to run src/generator.ml (from the top directory) which -regenerates all the auto-generated files, and then continue with the -ordinary build process. - Formatting ---------------------------------------------------------------------- @@ -31,12 +27,24 @@ Please test any changes. Directories ---------------------------------------------------------------------- +appliance/ + The qemu appliance, build scripts and so on. + +cat/ + The virt-cat tool. + +capitests/ + Automated tests of the C API. + contrib/ Outside contributions, experimental parts. daemon/ The daemon that runs inside the guest and carries out actions. +df/ + The virt-df tool. + examples/ The examples. @@ -64,12 +72,18 @@ m4/ ocaml/ OCaml bindings. +po/ + Translations. + perl/ Perl bindings. python/ Python bindings. +regressions/ + Regression tests. + ruby/ Ruby bindings. @@ -77,6 +91,12 @@ src/ Source code to the C library. Also contains the crucial generator program. +test-tool/ + Interactive qemu/kernel test tool. + +v2v/ + Xen to KVM (V2V) conversion tool. + Debugging ---------------------------------------------------------------------- @@ -89,6 +109,42 @@ they will show up if you use 'guestfish -v'. Patches ---------------------------------------------------------------------- -Submit patches to the fedora-virt mailing list: -http://www.redhat.com/mailman/listinfo/fedora-virt +Submit patches to the mailing list: +http://www.redhat.com/mailman/listinfo/libguestfs and CC to rjones@redhat.com + +I18N +---------------------------------------------------------------------- + +We support i18n (gettext anyhow) in the library. + +However many messages come from the daemon, and we don't translate +those at the moment. One reason is that the appliance generally has +all locale files removed from it, because they take up a lot of space. +So we'd have to readd some of those, as well as copying our PO files +into the appliance. + +Debugging messages are never translated, since they are intended for +the programmers. + +Extended printf +---------------------------------------------------------------------- + +In the daemon code we have created custom printf formatters %Q and %R, +which are used to do shell quoting. + +%Q => Simple shell quoted string. Any spaces or other shell characters + are escaped for you. + +%R => Same as %Q except the string is treated as a path which is prefixed + by the sysroot. + +eg. + +asprintf (&cmd, "cat %R", path); +==> "cat /sysroot/some\ path\ with\ spaces" + +Note: Do NOT use these when you are passing parameters to the +command{,r,v,rv}() functions. These parameters do NOT need to be +quoted because they are not passed via the shell (instead, straight to +exec). You probably want to use the sysroot_path() function however.