+#. type: =item
+#: ../src/guestfs.pod:2249
+msgid "C</dev/sdb> 50MB"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2251
+msgid ""
+"C</dev/sdb1> is an ext2 filesystem used for testing filesystem write "
+"operations."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2254
+msgid "C</dev/sdc> 10MB"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2256
+msgid "Used in a few tests where two block devices are needed."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2258
+msgid "C</dev/sdd>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2260
+msgid "ISO with fixed content (see C<images/test.iso>)."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2264
+msgid ""
+"To be able to run the tests in a reasonable amount of time, the libguestfs "
+"appliance and block devices are reused between tests. So don't try testing "
+"L</guestfs_kill_subprocess> :-x"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2268
+msgid ""
+"Each test starts with an initial scenario, selected using one of the "
+"C<Init*> expressions, described in C<generator/generator_types.ml>. These "
+"initialize the disks mentioned above in a particular way as documented in "
+"C<generator_types.ml>. You should not assume anything about the previous "
+"contents of other disks that are not initialized."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2274
+msgid ""
+"You can add a prerequisite clause to any individual test. This is a run-"
+"time check, which, if it fails, causes the test to be skipped. Useful if "
+"testing a command which might not work on all variations of libguestfs "
+"builds. A test that has prerequisite of C<Always> means to run "
+"unconditionally."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2280
+msgid ""
+"In addition, packagers can skip individual tests by setting environment "
+"variables before running C<make check>."
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs.pod:2283
+#, no-wrap
+msgid ""
+" SKIP_TEST_<CMD>_<NUM>=1\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2285
+msgid "eg: C<SKIP_TEST_COMMAND_3=1> skips test #3 of L</guestfs_command>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2287
+msgid "or:"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs.pod:2289
+#, no-wrap
+msgid ""
+" SKIP_TEST_<CMD>=1\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2291
+msgid "eg: C<SKIP_TEST_ZEROFREE=1> skips all L</guestfs_zerofree> tests."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2293
+msgid "Packagers can run only certain tests by setting for example:"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs.pod:2295
+#, no-wrap
+msgid ""
+" TEST_ONLY=\"vfs_type zerofree\"\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2297
+msgid ""
+"See C<capitests/tests.c> for more details of how these environment variables "
+"work."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs.pod:2300
+msgid "DEBUGGING NEW API ACTIONS"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2302
+msgid "Test new actions work before submitting them."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2304
+msgid "You can use guestfish to try out new commands."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2306
+msgid ""
+"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>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs.pod:2310
+msgid "FORMATTING CODE AND OTHER CONVENTIONS"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2312
+msgid ""
+"Our C source code generally adheres to some basic code-formatting "
+"conventions. The existing code base is not totally consistent on this "
+"front, but we do prefer that contributed code be formatted similarly. In "
+"short, use spaces-not-TABs for indentation, use 2 spaces for each "
+"indentation level, and other than that, follow the K&R style."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2318
+msgid ""
+"If you use Emacs, add the following to one of one of your start-up files (e."
+"g., ~/.emacs), to help ensure that you get indentation right:"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs.pod:2321
+#, no-wrap
+msgid ""
+" ;;; In libguestfs, indent with spaces everywhere (not TABs).\n"
+" ;;; Exceptions: Makefile and ChangeLog modes.\n"
+" (add-hook 'find-file-hook\n"
+" '(lambda () (if (and buffer-file-name\n"
+" (string-match \"/libguestfs\\\\>\"\n"
+" (buffer-file-name))\n"
+" (not (string-equal mode-name \"Change Log\"))\n"
+" (not (string-equal mode-name \"Makefile\")))\n"
+" (setq indent-tabs-mode nil))))\n"
+" \n"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs.pod:2331
+#, no-wrap
+msgid ""
+" ;;; When editing C sources in libguestfs, use this style.\n"
+" (defun libguestfs-c-mode ()\n"
+" \"C mode with adjusted defaults for use with libguestfs.\"\n"
+" (interactive)\n"
+" (c-set-style \"K&R\")\n"
+" (setq c-indent-level 2)\n"
+" (setq c-basic-offset 2))\n"
+" (add-hook 'c-mode-hook\n"
+" '(lambda () (if (string-match \"/libguestfs\\\\>\"\n"
+" (buffer-file-name))\n"
+" (libguestfs-c-mode))))\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2343
+msgid "Enable warnings when compiling (and fix any problems this finds):"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs.pod:2346
+#, no-wrap
+msgid ""
+" ./configure --enable-gcc-warnings\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2348
+msgid "Useful targets are:"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs.pod:2350
+#, no-wrap
+msgid ""
+" make syntax-check # checks the syntax of the C code\n"
+" make check # runs the test suite\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs.pod:2353
+msgid "DAEMON CUSTOM PRINTF FORMATTERS"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2355
+msgid ""
+"In the daemon code we have created custom printf formatters C<%Q> and C<%R>, "
+"which are used to do shell quoting."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2360
+msgid "%Q"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2362
+msgid ""
+"Simple shell quoted string. Any spaces or other shell characters are "
+"escaped for you."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2365
+msgid "%R"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2367
+msgid ""
+"Same as C<%Q> except the string is treated as a path which is prefixed by "
+"the sysroot."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs.pod:2372 ../fish/guestfish.pod:240 ../fish/guestfish.pod:599
+msgid "For example:"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs.pod:2374
+#, no-wrap
+msgid ""
+" asprintf (&cmd, \"cat %R\", path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2376
+msgid "would produce C<cat /sysroot/some\\ path\\ with\\ spaces>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2378
+msgid ""
+"I<Note:> Do I<not> use these when you are passing parameters to the C<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 C<sysroot_path()> function however."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs.pod:2384
+msgid "SUBMITTING YOUR NEW API ACTIONS"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2386
+msgid ""
+"Submit patches to the mailing list: L<http://www.redhat.com/mailman/listinfo/"
+"libguestfs> and CC to L<rjones@redhat.com>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs.pod:2390
+msgid "INTERNATIONALIZATION (I18N) SUPPORT"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2392
+msgid "We support i18n (gettext anyhow) in the library."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2394
+msgid ""
+"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."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2400
+msgid ""
+"Debugging messages are never translated, since they are intended for the "
+"programmers."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs.pod:2403
+msgid "SOURCE CODE SUBDIRECTORIES"
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2407 ../src/guestfs-actions.pod:5686
+#: ../fish/guestfish-actions.pod:3808
+msgid "C<appliance>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2409
+msgid "The libguestfs appliance, build scripts and so on."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2411
+msgid "C<capitests>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2413
+msgid "Automated tests of the C API."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2415
+msgid "C<cat>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2417
+msgid ""
+"The L<virt-cat(1)>, L<virt-filesystems(1)> and L<virt-ls(1)> commands and "
+"documentation."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2420
+msgid "C<contrib>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2422
+msgid "Outside contributions, experimental parts."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2424
+msgid "C<daemon>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2426
+msgid ""
+"The daemon that runs inside the libguestfs appliance and carries out actions."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2429
+msgid "C<df>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2431
+msgid "L<virt-df(1)> command and documentation."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2433
+msgid "C<examples>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2435
+msgid "C API example code."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2437
+msgid "C<fish>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2439
+msgid ""
+"L<guestfish(1)>, the command-line shell, and various shell scripts built on "
+"top such as L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-tar-in(1)>, "
+"L<virt-tar-out(1)>."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2443
+msgid "C<fuse>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2445
+msgid ""
+"L<guestmount(1)>, FUSE (userspace filesystem) built on top of libguestfs."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2447
+msgid "C<generator>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2449
+msgid ""
+"The crucially important generator, used to automatically generate large "
+"amounts of boilerplate C code for things like RPC and bindings."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2452
+msgid "C<images>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2454
+msgid "Files used by the test suite."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2456
+msgid "Some \"phony\" guest images which we test against."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2458
+msgid "C<inspector>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2460
+msgid "L<virt-inspector(1)>, the virtual machine image inspector."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2462
+msgid "C<logo>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2464
+msgid "Logo used on the website. The fish is called Arthur by the way."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2466
+msgid "C<m4>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2468
+msgid "M4 macros used by autoconf."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2470
+msgid "C<po>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2472
+msgid "Translations of simple gettext strings."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2474
+msgid "C<po-docs>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2476
+msgid ""
+"The build infrastructure and PO files for translations of manpages and POD "
+"files. Eventually this will be combined with the C<po> directory, but that "
+"is rather complicated."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2480
+msgid "C<regressions>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2482
+msgid "Regression tests."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2484
+msgid "C<rescue>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2486
+msgid "L<virt-rescue(1)> command and documentation."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2488
+msgid "C<src>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2490
+msgid "Source code to the C library."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2492
+msgid "C<tools>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2494
+msgid "Command line tools written in Perl (L<virt-resize(1)> and many others)."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2496
+msgid "C<test-tool>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2498
+msgid ""
+"Test tool for end users to test if their qemu/kernel combination will work "
+"with libguestfs."
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2501
+msgid "C<csharp>"
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2503
+msgid "C<haskell>"
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2505
+msgid "C<java>"
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2507
+msgid "C<ocaml>"
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2509
+msgid "C<php>"
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2511
+msgid "C<perl>"
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2513
+msgid "C<python>"
+msgstr ""
+
+#. type: =item
+#: ../src/guestfs.pod:2515
+msgid "C<ruby>"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2517
+msgid "Language bindings."
+msgstr ""
+
+# type: =head1
+#. type: =head1
+#: ../src/guestfs.pod:2521 ../fish/guestfish.pod:996
+#: ../test-tool/libguestfs-test-tool.pod:104 ../tools/virt-edit.pl:330
+msgid "ENVIRONMENT VARIABLES"
+msgstr ""
+
+# type: =item
+#. type: =item
+#: ../src/guestfs.pod:2525 ../fish/guestfish.pod:1022
+msgid "LIBGUESTFS_APPEND"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs.pod:2527 ../fish/guestfish.pod:1024
+msgid "Pass additional options to the guest kernel."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: ../src/guestfs.pod:2529 ../fish/guestfish.pod:1026
+msgid "LIBGUESTFS_DEBUG"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs.pod:2531
+msgid ""
+"Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages. This has the same "
+"effect as calling C<guestfs_set_verbose (g, 1)>."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: ../src/guestfs.pod:2534 ../fish/guestfish.pod:1031
+msgid "LIBGUESTFS_MEMSIZE"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs.pod:2536 ../fish/guestfish.pod:1033
+msgid ""
+"Set the memory allocated to the qemu process, in megabytes. For example:"
+msgstr ""
+
+# type: verbatim
+#. type: verbatim
+#: ../src/guestfs.pod:2539 ../fish/guestfish.pod:1036
+#, no-wrap
+msgid ""
+" LIBGUESTFS_MEMSIZE=700\n"
+"\n"
+msgstr ""
+
+# type: =item
+#. type: =item
+#: ../src/guestfs.pod:2541 ../fish/guestfish.pod:1038
+msgid "LIBGUESTFS_PATH"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs.pod:2543
+msgid ""
+"Set the path that libguestfs uses to search for kernel and initrd.img. See "
+"the discussion of paths in section PATH above."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: ../src/guestfs.pod:2546 ../fish/guestfish.pod:1043
+msgid "LIBGUESTFS_QEMU"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs.pod:2548 ../fish/guestfish.pod:1045
+msgid ""
+"Set the default qemu binary that libguestfs uses. If not set, then the qemu "
+"which was found at compile time by the configure script is used."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs.pod:2552
+msgid "See also L</QEMU WRAPPERS> above."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: ../src/guestfs.pod:2554 ../fish/guestfish.pod:1049
+msgid "LIBGUESTFS_TRACE"
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs.pod:2556
+msgid ""
+"Set C<LIBGUESTFS_TRACE=1> to enable command traces. This has the same "
+"effect as calling C<guestfs_set_trace (g, 1)>."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: ../src/guestfs.pod:2559 ../fish/guestfish.pod:1058
+msgid "TMPDIR"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2561 ../fish/guestfish.pod:1060
+msgid ""
+"Location of temporary directory, defaults to C</tmp> except for the cached "
+"supermin appliance which defaults to C</var/tmp>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2564 ../fish/guestfish.pod:1063
+msgid ""
+"If libguestfs was compiled to use the supermin appliance then the real "
+"appliance is cached in this directory, shared between all handles belonging "
+"to the same EUID. You can use C<$TMPDIR> to configure another directory to "
+"use in case C</var/tmp> is not large enough."
+msgstr ""
+
+# type: =head1
+#. type: =head1
+#: ../src/guestfs.pod:2572 ../fish/guestfish.pod:1121
+#: ../test-tool/libguestfs-test-tool.pod:109 ../fuse/guestmount.pod:238
+#: ../tools/virt-edit.pl:350 ../tools/virt-win-reg.pl:572
+#: ../tools/virt-resize.pl:1483 ../tools/virt-list-filesystems.pl:189
+#: ../tools/virt-tar.pl:286 ../tools/virt-make-fs.pl:534
+#: ../tools/virt-list-partitions.pl:257
+msgid "SEE ALSO"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs.pod:2574
+msgid ""
+"L<guestfs-examples(3)>, L<guestfs-ocaml(3)>, L<guestfs-python(3)>, L<guestfs-"
+"ruby(3)>, L<guestfish(1)>, L<guestmount(1)>, L<virt-cat(1)>, L<virt-copy-in"
+"(1)>, L<virt-copy-out(1)>, L<virt-df(1)>, L<virt-edit(1)>, L<virt-filesystems"
+"(1)>, L<virt-inspector(1)>, L<virt-list-filesystems(1)>, L<virt-list-"
+"partitions(1)>, L<virt-ls(1)>, L<virt-make-fs(1)>, L<virt-rescue(1)>, L<virt-"
+"tar(1)>, L<virt-tar-in(1)>, L<virt-tar-out(1)>, L<virt-win-reg(1)>, L<qemu(1)"
+">, L<febootstrap(1)>, L<hivex(3)>, L<http://libguestfs.org/>."
+msgstr ""
+
+# type: textblock
+#. type: textblock
+#: ../src/guestfs.pod:2601
+msgid ""
+"Tools with a similar purpose: L<fdisk(8)>, L<parted(8)>, L<kpartx(8)>, L<lvm"
+"(8)>, L<disktype(1)>."
+msgstr ""
+
+# type: =head1
+#. type: =head1
+#: ../src/guestfs.pod:2608 ../tools/virt-win-reg.pl:587