summaryrefslogtreecommitdiffstats
path: root/tools/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* 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.
* 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.
* 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-181-1/+1
| | | | Update all copyright dates to 2012.
* Update FSF address.Matthew Booth2011-11-081-1/+1
|
* 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.
* Rewrite virt-edit in C.Richard W.M. Jones2011-05-091-3/+2
|
* Remove ad-hoc run*locally scripts, replace with './run'Richard W.M. Jones2011-04-161-1/+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-091-3/+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.
* rescue: Rewrite virt-rescue in C.Richard W.M. Jones2010-11-261-1/+0
|
* df: Rewrite virt-df in C.Richard W.M. Jones2010-11-251-5/+3
| | | | | | | | | | | | I have diffed the output from the original virt-df with this new version, and they agree very closely. Some differences: - Old virt-df have a divide-by-zero error in cases where the number of used inodes was 0. New virt-df fixes this. - New virt-df uses gnulib human_readable library which displays numbers to 3 significant figures for -h output (old version used an ad hoc function).
* build: Centralize all POD manipulation in 'podwrapper.sh' script.Richard W.M. Jones2010-11-241-11/+6
|
* ls: Rewrite virt-ls in C.Richard W.M. Jones2010-11-231-2/+0
|
* Rewrite virt-cat in C.Richard W.M. Jones2010-11-111-5/+3
| | | | | | | | | | | | | | | | | With changes in the core API since 1.5, virt-cat was little more than a Perl wrapper which did some command line argument processing. Thus it could easily be rewritten in C. This version also shares core command line argument processing with guestfish and guestmount, so the options have changed slightly (old-style command line *is* supported). virt-cat -a disk.img file [file ...] virt-cat -d domname file [file ...] Several other guestfish options are supported including encryption, and with the new style multiple files can be downloaded. See the man page for details.
* Generate a dummy 'Fedora' fedora.img in images directory for use by tests.Richard W.M. Jones2010-11-111-6/+0
| | | | | | | | We were generating this dummy 'Fedora' image already in the tools directory. It contains just enough Fedora-like files to fool our inspection code and thus to test the tools. This is general enough that we can use it everywhere.
* Add test for virt-resize.Richard W.M. Jones2010-09-271-0/+1
| | | | | | | | | | | | | | This tests a number of things which have caused problems for us: - resizing PVs and LV content - handling GPT format disks - using qcow2 as a target disk format - shrinking disk images Note that the disk content is empty (not a real VM), but this is adequate since all we want to test are the operations and calculations done by virt-resize. We are not interested here in whether e2fsprogs and LVM actually works.
* po: Include strings from Perl programs in the PO files (RHBZ#559963).Richard Jones2010-05-121-1/+10
| | | | | | | | | xgettext will only recognize '*.pl' as being a Perl file (otherwise it treats it as a C file and does not correctly find any strings in it). This commit also fixes two actual bugs that xgettext found in the strings in our Perl programs.
* New tool: virt-make-fs for creating filesystems on devices.Richard Jones2010-04-081-0/+2
|
* Fix EXTRA_DIST rule.Richard Jones2010-03-301-2/+3
|
* tools: Add basic tests for the virt-* tools.Richard Jones2010-03-301-0/+24
|
* tools: Sectional header for manpages in Makefile.amRichard Jones2010-03-301-0/+2
|
* tools: Rearrange list of tools in Makefile.am.Richard Jones2010-03-301-1/+11
|
* New tools: virt-resize and virt-list-partitions.Richard Jones2010-03-231-1/+1
| | | | | | | | Virt-resize is the main contribution here, a program which can be used to expand and shrink partitions in disk images. Virt-list-partitions is used as an ancillary tool for planning resize operations.
* New tool: virt-list-filesystemsRichard Jones2009-11-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Use this program as a convenient way to list the filesystems available in a disk image or libvirt guest. Example: $ virt-list-filesystems /dev/vg_trick/Debian5x64 /dev/debian5x64/home /dev/debian5x64/root /dev/debian5x64/tmp /dev/debian5x64/usr /dev/debian5x64/var /dev/sda1 This is designed to make it easier for novices to use guestfish and guestmount. In particular with guestmount this acts as a way to get a list of filesystems to use with the '-m' option. ie: $ virt-list-filesystems unknowndisk.img /dev/sda1 /dev/sda2 $ guestmount -a unknowndisk.img -m /dev/sda1 /mnt
* build: Fix inter-directory dependenciesMatthew Booth2009-11-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds an explicit dependency on generator.ml for every file it generates, except java files. Java is left for another time because it's considerably trickier. It also adds a build rule for src/libguestfs.la so it can be rebuilt as required from other directories. It does this by creating a top level make file, subdir-rules.mk, which can be included from sub-directories. sub-directories need to define 'generator_built' to include local files which are built by generator.ml, and they will be updated automatically. This fixes parallel make, and will automatically re-create generated files when make is run from any directory. It also fixes the problem which efad4f53 was targetting. Specifically, src/guestfs_protocol.(c|h) had an erroneous dependency on stamp-generator, and therefore generator.ml, despite not being directly created by it. This caused them to be recreated every time generator.ml ran rather than only when src/guestfs_protocol.x was updated, which cascaded into a daemon and therefore appliance update. This patch also changes the contents of the distribution tarball by including files created by rpcgen.
* Support for Windows Registry.Richard Jones2009-10-291-1/+1
| | | | | | | | | | | | | In hivex/: This mini-library allows us to extract Windows Registry binary files ("hives"). There are also two tools: hivexml converts a hive to a self-describing XML format. hivexget can be used to extract single subkeys from a hive. New tool: virt-win-reg. This is a wrapper around the library functionality allowing you to pull out data from the registries of Windows guests.
* New tool: virt-lsRichard Jones2009-10-201-1/+1
| | | | | | | | | This tool makes available the functionality of "ls", "ll", and "find" in a slightly simpler to use form. Examples: virt-ls -l myguest /tmp
* New tool: virt-tarRichard Jones2009-10-201-1/+1
| | | | | | | | | | | | This adds a new tool call virt-tar which is a general purpose archive and uploading tool. It doesn't add any functionality which wasn't previously possible using guestfish, but makes it simpler to access for some users. Examples: virt-tar -zx myguest /home home.tar.gz virt-tar -zu myguest uploadstuff.tar.gz /tmp
* Move virt tools (virt-cat, virt-edit etc) into tools/ subdirectory.Richard Jones2009-10-191-0/+50
This moves the tool programs into a single directory: cat/* -> tools/virt-cat df/* -> tools/virt-df edit/* -> tools/virt-edit rescue/* -> tools/virt-rescue This in itself simplifies the build process because we only need one Makefile and one copy of 'run-locally'. 'run-*-locally' has become just 'run-locally' and takes an extra parameter which is the name of the tool, eg: run-locally cat [virt-cat params...] virt-inspector stays in its own directory, because this contains more than just a single Perl script.