summaryrefslogtreecommitdiffstats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* tools: Fix podwrapper errors in tools directory.Richard W.M. Jones2012-08-285-92/+0
| | | | | | | This also makes the test for license "code" less strict, so it should only match POD, not Perl comments. This fixes commit 2f97bf873b64384835f257f8916bf1ebb2af62b4.
* podwrapper: Add --license parameter, which is required.Richard W.M. Jones2012-08-211-0/+2
| | | | | | | | | | This adds standard LICENSE and BUGS sections to all of the man pages that are processed by podwrapper. Modify all the calls to $(PODWRAPPER) to add the right --license parameter according to the content. Note that this relaxes the license on some code example pages, making them effectively BSD-style licensed.
* Add optional compress flag to tar-in, tar-out APIs.Richard W.M. Jones2012-08-141-2/+2
| | | | | | | | | | The compress flag can be used to control compression, one of: (none), "compress", "gzip", "bzip2", "xz", "lzop". Thus these calls can now be used instead of tgz-in/tgz-out/txz-in/txz-out, and also support more compression types. Mark these APIs as once_had_no_optargs so that compatibility code is generated.
* virt-make-fs: Don't display output of 'qemu-img' except on error path.Richard W.M. Jones2012-08-111-4/+27
|
* virt-make-fs: Remove note about vfat and ownership of tarball files.Richard W.M. Jones2012-08-111-5/+0
| | | | | This problem has been fixed in commit 50780a84f65ec5d76605691cea889392c2730f54.
* virt-make-fs: Suggest guestfish for complex layouts in man page.Richard W.M. Jones2012-07-181-1/+2
|
* build: Change calls to podwrapper.sh to use $(PODWRAPPER).Richard W.M. Jones2012-07-161-2/+2
| | | | | This will allow us to easily change the location of this script in future.
* virt-make-fs: Add --floppy option to make preconfigured vfd's.Richard W.M. Jones2012-07-161-0/+14
|
* virt-make-fs: Recognize "msdos" as a partition or filesystem type.Richard W.M. Jones2012-07-161-2/+6
| | | | Set MBR partition type byte accordingly.
* generator: Rename 'add_drive_opts' API to 'add_drive'.Richard W.M. Jones2012-07-141-1/+1
| | | | | | By using the once_had_no_optargs flag, this change is backwards compatible for callers (except Haskell, PHP and GObject as discussed in earlier commit).
* New API: guestfs_shutdown: Cleanly shutdown the backend.Richard W.M. Jones2012-07-033-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | The new API splits orderly close into a two-step process: if (guestfs_shutdown (g) == -1) { /* handle the error, eg. qemu error */ } guestfs_close (g); Note that the explicit shutdown step is only necessary in the case where you have made changes to the disk image and want to handle write errors. Read the documentation for further information. This change also: - deprecates guestfs_kill_subprocess - turns guestfs_kill_subprocess into the same as guestfs_shutdown - changes guestfish and other tools to call shutdown + close where necessary (not for read-only tools) - updates documentation - updates examples
* run: Set MALLOC_PERTURB_ to a random value.Richard W.M. Jones2012-06-281-5/+1
| | | | | | | | | | | | | | | | | MALLOC_PERTURB_ is a glibc feature which causes malloc to wipe memory before and after it is used, allowing both use-after-free and uninitialized reads to be detected with relatively little performance penalty: http://udrepper.livejournal.com/11429.html?nojs=1 Modify the ./run script so that it always sets this. We were already using MALLOC_PERTURB_ in most tests. Since ./run is now setting this, we can remove it from individual Makefiles. Most TESTS_ENVIRONMENT will now simply look like this: TESTS_ENVIRONMENT = $(top_builddir)/run --test
* tests: Add ./run --test option.Richard W.M. Jones2012-06-261-1/+1
| | | | | | | This option, when added via TESTS_ENVIRONMENT = [...] $(top_builddir)/run --test allows us to run the tests and only print the full output (including debugging etc) when the test fails.
* virt-make-fs: When writing vfat, add utf8 option to mount (RHBZ#823885).Richard W.M. Jones2012-05-241-1/+10
|
* virt-make-fs: Provide a clearer error message when mkfs fails (RHBZ#823883).Richard W.M. Jones2012-05-241-1/+13
|
* virt-make-fs: Add a test of btrfs (regression test for RHBZ#816098).Richard W.M. Jones2012-05-031-0/+4
|
* virt-make-fs: Simplify test code.Richard W.M. Jones2012-05-031-38/+32
| | | | This is just code motion.
* virt-make-fs: Fix estimation when making btrfs (RHBZ#816098).Richard W.M. Jones2012-05-031-1/+12
| | | | | This also disables data and metadata duplication, which is not very useful on a constructed filesystem on a virtual disk.
* virt-make-fs: Use mount instead of mount_options.Richard W.M. Jones2012-05-031-1/+1
|
* virt-make-fs: Fix filesystem type check when estimating ntfs.Richard W.M. Jones2012-05-031-1/+1
|
* Do not run appliance-related checks if not building applianceHilko Bengen2012-01-231-0/+2
|
* Replace setting of environment variables with usage of local run scriptHilko Bengen2012-01-231-4/+1
| | | | (Includes fix by RWMJ)
* Tempus fugit.Richard W.M. Jones2012-01-186-7/+7
| | | | Update all copyright dates to 2012.
* tools: Mark obsolete tools clearly in the man pages.Richard W.M. Jones2012-01-183-3/+7
|
* New tool: virt-format: erase and make blank disks.Richard W.M. Jones2012-01-181-0/+3
| | | | | This tool allows you to easily reformat a disk, creating a blank disk with optional partition, LVM and empty filesystem.
* tests: Split images -> tests/data + tests/guestsRichard W.M. Jones2011-12-222-2/+2
|
* Update FSF address.Matthew Booth2011-11-087-12/+12
|
* virt-win-reg: Document syntax for deleting keys and values (RHBZ#737944).Richard W.M. Jones2011-10-221-0/+11
| | | | NB: This requires hivex >= 1.3.2 before this syntax becomes true.
* virt-make-fs: Refresh man page.Richard W.M. Jones2011-10-221-36/+38
|
* virt-make-fs: Set MBR partition type byte correctly (RHBZ#746295).Richard W.M. Jones2011-10-211-0/+16
|
* out-of-tree build: fix documentation generationHilko Bengen2011-08-151-2/+2
|
* build: Set TMPDIR for local testing.Richard W.M. Jones2011-08-081-0/+1
| | | | | | This avoids conflicts with the globally installed libguestfs appliance, or lets us build in multiple local directories at the same time without conflicts.
* virt-tar test: Stable ordering of test output.Richard W.M. Jones2011-08-011-1/+1
| | | | | The files could be listed in any order, resulting in the test failing for no reason. Sort the output of tar.
* docs: Separate out combined =item 's in man pages.Richard W.M. Jones2011-07-164-12/+38
| | | | | | | | | | | | | | | Turn: =item B<-a> | B<--all> into: =item B<-a> =item B<--all> This gives a more natural-looking manual page, as well as making it easier to directly link to these sections.
* virt-win-reg: Win XP paths can contain %systemdrive%.Richard W.M. Jones2011-05-171-3/+4
|
* virt-win-reg: systemroot macro should be replaced case insensitive.Richard W.M. Jones2011-05-171-1/+1
|
* virt-win-reg: Support HKEY_USERS keys.Richard W.M. Jones2011-05-171-5/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for various Registry keys under HKEY_USERS (user preferences). (1) HKEY_USERS\<SID> where <SID> is a User SID. For example: # virt-win-reg Windows 'HKEY_USERS\S-1-5-19' lists out the LocalService user's registry. (2) HKEY_USERS\<username> where <username> is a Windows local username (this is a libguestfs extension). For example: # virt-win-reg Windows 'HKEY_USERS\rjones' lists out the user preferences of user 'rjones'. HKU can be used as an abbreviation for HKEY_USERS. Merging is also supported.
* virt-win-reg: Don't use implicit $_ in map_path_to_hive function.Richard W.M. Jones2011-05-171-7/+7
|
* virt-win-reg: Don't hard-code the relationship between hive name and path.Richard W.M. Jones2011-05-171-41/+49
| | | | | | | | | | | | | | | | | | | | | | The crucial change is the tuple that is returned by map_path_to_hive: - my ($hivename, [...]) = map_path_to_hive ($_); + my ($hiveshortname, $hivefile, [...]) = map_path_to_hive ($_); Previously the $hivename was both the name of the hive (eg. "sam"), the name of the local copy in /tmp, and the name of the hive in %systemroot%\system32\config. In the new code, the $hiveshortname (eg. "sam") is still used for the local copy in /tmp, but we return $hivefile which is the full Windows path (eg. "/windows/system32/config/sam"). The purpose of this change is to allow us in future to return hives from other Windows directories, specifically HKEY_USERS hives from Windows home directories. Although this is just code motion, it requires some quite extensive changes to virt-win-reg.
* virt-win-reg: Add --unsafe-printable-strings option.Richard W.M. Jones2011-05-171-1/+45
| | | | This also requires hivex >= 1.2.7.
* Rewrite virt-edit in C.Richard W.M. Jones2011-05-092-533/+2
|
* doc: Use I<-...> for cross-references to command line options.Richard W.M. Jones2011-05-014-24/+24
| | | | This is now used consistently across all the documentation.
* Remove ad-hoc run*locally scripts, replace with './run'Richard W.M. Jones2011-04-162-57/+0
| | | | | Remove all the run*locally scripts and replace with a single top level ./run shell script.
* Rewrite virt-resize in OCaml.Richard W.M. Jones2011-04-093-1571/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a fairly straightforward translation of Perl virt-resize into OCaml. It is bug-for-bug and feature-for-feature identical to the Perl version, except as noted below. The motivation is to have a more solid, high-level, statically safe compiled language to go forwards with fixing some of the harder bugs in virt-resize. In particular contracts between different parts of the program are now handled by statically typed structures checked at compile time, instead of the very ad-hoc unchecked hash tables used by the Perl version. OCaml and the ocaml-pcre library (Perl-Compatible Regular Expressions bindings for OCaml) are required. Extra features in this version: - 32 bit hosts are now supported. - We try hard to handle the case where the target disk is not "clean" (ie. all zeroes). It usually works for this case, whereas the previous version would usually fail. However it is still recommended that the system administrator creates a fresh blank disk for the target before running the program. - User messages are a bit more verbose and helpful. You can turn these off with the -q (--quiet) option. There is one lost feature: - Ability to specify >= T (terabytes) sizes in command line size expressions has been removed. This probably didn't work in the Perl version. Other differences: - The first partition on the target is no longer aligned; instead we place it at the same sector as on the source. I suspect that aligning it was causing the bootloader failures. - Because it's easier, we do more sanity checking on the source disk. This might lead to more failures, but they'd be failures you'd want to know about. - The order in which operations are performed has been changed to make it more logical. The user should not notice any functional difference, but debug messages will be quite a bit different. - virt-resize is a compiled binary, not a script.
* edit: Allow Windows-style drive letters and paths to be used.Richard W.M. Jones2011-04-051-0/+101
|
* edit: Move 'exit 0' to end of file.Richard W.M. Jones2011-04-051-2/+4
| | | | This is just code motion.
* edit: Let $root == $roots[0].Richard W.M. Jones2011-04-051-1/+2
| | | | This is just code motion.
* cat, edit: Reference guestfish equivalent commands in the manual pages.Richard W.M. Jones2011-04-051-4/+46
|
* tests: Don't fail when compiled without support for NTFS.Richard W.M. Jones2011-03-291-11/+43
|
* New event API - Perl bindings (RHBZ#664558).Richard W.M. Jones2011-03-151-6/+12
| | | | | | | | The methods $h->set_progress_callback and $h->clear_progress_callback have been removed, and replaced with a complete mechanism for setting and deleting general-purpose events. This also updates virt-resize to use the new API.