Richard W.M. Jones [Tue, 1 Nov 2011 09:47:01 +0000 (09:47 +0000)]
fish: Use size_t instead of int when counting strings.
(cherry picked from commit
b4da051d54a1597c7d8db8880d21a52265a6172e)
Matthew Booth [Mon, 31 Oct 2011 16:47:50 +0000 (16:47 +0000)]
Fix debug help error message.
When given an invalid debug command, libguestfs responds with the
error message:
libguestfs: error: debug: use 'debug help' to list the supported commands
However this command does not work, as debug requires two
arguments. This change updates the message to prompt the user to use
'debug help 0'.
(cherry picked from commit
4e3a1205ebfec1a5cbc3062d6f73a684090e80b5)
Richard W.M. Jones [Mon, 31 Oct 2011 16:44:55 +0000 (16:44 +0000)]
appliance: Add 'mdadm' package.
(cherry picked from commit
6f84ef6768e9c625d67f7eb015277b0ec1b2c2af)
Richard W.M. Jones [Mon, 31 Oct 2011 11:22:18 +0000 (11:22 +0000)]
Version 1.14.1.
Richard W.M. Jones [Thu, 27 Oct 2011 16:40:31 +0000 (17:40 +0100)]
perl: Add %guestfs_introspection hash with introspection information.
Because this is a useful introspection API, it is a candidate for
being backported into older stable branches.
(cherry picked from commit
365885dab2ae6dcdf0b2c45d0adeb803ade03f63)
Richard W.M. Jones [Thu, 27 Oct 2011 15:05:49 +0000 (16:05 +0100)]
Version 1.14.0.
Richard W.M. Jones [Thu, 27 Oct 2011 13:26:46 +0000 (14:26 +0100)]
Pull latest translations from Transifex.
Richard W.M. Jones [Thu, 27 Oct 2011 12:45:22 +0000 (13:45 +0100)]
generator: Remove DangerWillRobinson.
This warning was applied unevenly. Potentially any command can be
dangerous or safe, so it was a needless warning.
Richard W.M. Jones [Thu, 27 Oct 2011 12:44:02 +0000 (13:44 +0100)]
fuse: Skip guestmount test if setfacl is not installed.
This dependency is optional, don't fail the test if it's not
installed.
Richard W.M. Jones [Thu, 27 Oct 2011 12:36:15 +0000 (13:36 +0100)]
virt-sysprep: Skip test if xmlstarlet is not installed.
This dependency is optional, so don't fail the test if it
is not installed.
Richard W.M. Jones [Thu, 27 Oct 2011 12:30:22 +0000 (13:30 +0100)]
virt-alignment-scan: Add additional data for 4K sector drives
(thanks Matt Booth).
Richard W.M. Jones [Thu, 27 Oct 2011 11:28:47 +0000 (12:28 +0100)]
test-virt-sparsify: Relax size_after constraint (for Debian).
size_after on Debian was 10136K. The host filesystem was ext3 (vs
ext4 for Fedora where we did the original testing). Probably indirect
blocks (vs more efficient extents on ext4) causes the difference,
although I did not look at it in detail.
Richard W.M. Jones [Thu, 27 Oct 2011 09:55:06 +0000 (10:55 +0100)]
Update RELEASE-NOTES for 1.14 release.
Richard W.M. Jones [Thu, 27 Oct 2011 09:54:55 +0000 (10:54 +0100)]
Update ROADMAP for 1.14 release.
Richard W.M. Jones [Wed, 26 Oct 2011 21:22:32 +0000 (22:22 +0100)]
Update API support.
Richard W.M. Jones [Wed, 26 Oct 2011 20:12:18 +0000 (21:12 +0100)]
Version 1.13.26.
Richard W.M. Jones [Wed, 26 Oct 2011 19:53:30 +0000 (20:53 +0100)]
guestmount: Fix --live option (RHBZ#744795).
Richard W.M. Jones [Wed, 26 Oct 2011 18:30:23 +0000 (19:30 +0100)]
fish and other tools: -d option uses readonlydisk="read" (RHBZ#747290).
Tools like virt-edit would not be able to edit disks marked as
<readonly/> in the libvirt XML. It's not clear if this is a bug or a
feature.
Richard W.M. Jones [Wed, 26 Oct 2011 18:27:01 +0000 (19:27 +0100)]
add-domain: Add readonlydisk optional argument (RHBZ#747290).
This optional argument controls how <readonly/> disks in
the libvirt XML are handled. It can be set to one of:
"write" (default) - add them R/W
"read" - add them R/O
"error" - throw an error if asked to add them R/W
"ignore" - ignore these disks
I have added limited regression tests for this feature. However
libvirt's test:/// XML does not allow you to specify that a domain
starts off shut down, so we cannot fully test this. Instead I tested
it by hand.
Richard W.M. Jones [Wed, 26 Oct 2011 16:47:34 +0000 (17:47 +0100)]
libvirt: Detect if a disk has the <readonly/> flag.
This changes the private function guestfs___for_each_disk so that the
<readonly/> flag on libvirt disks is detected and passed through to
the callback function.
Richard W.M. Jones [Wed, 26 Oct 2011 14:55:29 +0000 (15:55 +0100)]
test-user-cancel: Make this test choose smaller cancellation numbers.
Use a Gaussian distribution for random numbers so that smaller numbers
are chosen more frequently.
This also exposes a bug in this test which only happens when small
numbers are chosen:
If the test thread starts up quickly, it can get to
guestfs_user_cancel before the guestfs_upload command has happened in
the main thread. This causes the cancel to be ignored (correctly) and
we end up in the second loop writing data until the disk runs out of
space. Fix this by repeatedly asserting the cancel flag in the second
loop.
Richard W.M. Jones [Wed, 26 Oct 2011 13:09:39 +0000 (14:09 +0100)]
Version 1.13.25.
Richard W.M. Jones [Wed, 26 Oct 2011 12:56:18 +0000 (13:56 +0100)]
virt-resize: Be much more conservative about moving first partition.
Commit
2910413850c7d9e8df753afad179e415f0638d6d caused Windows 7
resizes to break with the 0xc0000225 boot error.
Change the --align-first auto (default) option so that it is more
conservative about when it moves the first partition. In particular
it doesn't move it if it's already aligned (as it is for Win7), nor if
there is more than one partition (also Win7).
Tested with: Windows XP, 2003, 7, Ubuntu 10.10 and RHEL 5.
Richard W.M. Jones [Wed, 26 Oct 2011 12:55:38 +0000 (13:55 +0100)]
Flush stdout for progress bars used by guestfish, virt-resize.
Richard W.M. Jones [Tue, 25 Oct 2011 18:03:38 +0000 (19:03 +0100)]
virt-resize: Handle extended and logical partitions (RHBZ#642821).
Richard W.M. Jones [Tue, 25 Oct 2011 13:18:29 +0000 (14:18 +0100)]
resize: Get the partition table type of the source disk earlier.
Also we only permit MBR (DOS) and GPT partition tables. In theory
previously we allowed other partition table types, but it is unlikely
that it would have worked in reality.
Richard W.M. Jones [Tue, 25 Oct 2011 21:49:55 +0000 (22:49 +0100)]
New APIs: copy-{file,device}-to-{file,device}.
The four new APIs:
guestfs_copy_device_to_device,
guestfs_copy_device_to_file,
guestfs_copy_file_to_device, and
guestfs_copy_file_to_file
let you copy from a source to a destination, between files and
devices, optionally allowing source and destination offsets and size
to be specified.
Richard W.M. Jones [Tue, 25 Oct 2011 13:14:35 +0000 (14:14 +0100)]
ocaml: Make sure virt-resize, virt-sparsify are rebuilt if Guestfs API changes.
Add a dependency so these tools are rebuilt from scratch if the
Guestfs API changes. This prevents the error:
"[...] make inconsistent assumptions over interface Guestfs".
This commit includes the generated changes to .depend files.
Richard W.M. Jones [Tue, 25 Oct 2011 11:47:16 +0000 (12:47 +0100)]
virt-filesystems: Add MBR partition type byte to the output.
This adds an extra column containing this information, looking
like this:
Name Type VFS Label MBR Size Parent
/dev/sda1 filesystem ntfs - - 6.0G -
/dev/sda1 partition - - 07 6.0G /dev/sda
/dev/sda device - - - 6.0G -
In particular you can use this to tell if a partition is an extended
partition, because the field will contain '05' or '0f'.
Richard W.M. Jones [Tue, 25 Oct 2011 11:46:05 +0000 (12:46 +0100)]
New API: part-to-partnum
This converts a partition device name (eg. /dev/sda1) to a partition
number (eg. 1). This is useful in conjunction with the parted APIs
that mostly take a disk device + partnum.
Richard W.M. Jones [Tue, 25 Oct 2011 09:55:20 +0000 (10:55 +0100)]
virt-cat: Handle Windows paths and drive letters (RHBZ#693359).
Richard W.M. Jones [Mon, 24 Oct 2011 16:36:07 +0000 (17:36 +0100)]
Version 1.13.24.
Richard W.M. Jones [Mon, 24 Oct 2011 12:24:16 +0000 (13:24 +0100)]
Add test for qemu broken -machine option (RHBZ#748266).
Also add this option, if necessary, when testing for virtio-serial
support.
When the workaround is enabled, we specify machine type 'pc'.
Richard W.M. Jones [Mon, 24 Oct 2011 14:35:47 +0000 (15:35 +0100)]
Revert "out-of-tree build: daemon"
This reverts commit
025dba7f803419f510fd8f085ce693838af82878.
If build and source directories are the same, you get this error:
make[3]: Leaving directory `/home/rjones/d/libguestfs/generator'
make[2]: Circular guestfs_protocol.c <- guestfs_protocol.c dependency dropped.
make[2]: Circular guestfs_protocol.h <- guestfs_protocol.h dependency dropped.
rm -f guestfs_protocol.h
ln guestfs_protocol.h
ln: accessing `guestfs_protocol.h': No such file or directory
Richard W.M. Jones [Sat, 22 Oct 2011 14:55:48 +0000 (15:55 +0100)]
virt-win-reg: Document syntax for deleting keys and values (RHBZ#737944).
NB: This requires hivex >= 1.3.2 before this syntax becomes true.
Richard W.M. Jones [Fri, 21 Oct 2011 21:48:10 +0000 (22:48 +0100)]
virt-make-fs: Refresh man page.
Richard W.M. Jones [Fri, 21 Oct 2011 16:31:03 +0000 (17:31 +0100)]
Fix ./configure --disable-erlang.
Hilko Bengen [Thu, 20 Oct 2011 12:20:56 +0000 (14:20 +0200)]
out-of-tree build: fixed bindtests and inspector
Hilko Bengen [Thu, 20 Oct 2011 12:20:55 +0000 (14:20 +0200)]
out-of-tree build: fix HAVE_OCAML=false case
Hilko Bengen [Thu, 20 Oct 2011 12:20:54 +0000 (14:20 +0200)]
out-of-tree build: daemon
Richard W.M. Jones [Fri, 21 Oct 2011 15:29:20 +0000 (16:29 +0100)]
add-drive-opts: Correctly handle unreadable and unwritable files (RHBZ#747287).
Richard W.M. Jones [Fri, 21 Oct 2011 15:02:34 +0000 (16:02 +0100)]
virt-make-fs: Set MBR partition type byte correctly (RHBZ#746295).
Richard W.M. Jones [Fri, 21 Oct 2011 11:49:18 +0000 (12:49 +0100)]
lib: Common code for formatting the qemu -drive parameter.
This is just code refactoring.
Richard W.M. Jones [Fri, 21 Oct 2011 11:28:45 +0000 (12:28 +0100)]
Allow compilation without hivex (RHBZ#723474).
Richard W.M. Jones [Fri, 21 Oct 2011 11:15:36 +0000 (12:15 +0100)]
po-docs: Force make update-po on first build from git.
Richard W.M. Jones [Thu, 20 Oct 2011 21:18:03 +0000 (22:18 +0100)]
Version 1.13.23.
Richard W.M. Jones [Thu, 20 Oct 2011 22:04:41 +0000 (23:04 +0100)]
appliance: udev-174 moves udevd to /lib/udev/udevd (instead of /sbin/udevd)
Richard W.M. Jones [Thu, 20 Oct 2011 21:06:33 +0000 (22:06 +0100)]
resize: Add --align-first auto|never|always option.
The first partition can now be aligned. We fix the bootloader
correctly for Windows by adjusting the "Hidden Sectors" field.
Richard W.M. Jones [Thu, 20 Oct 2011 15:49:15 +0000 (16:49 +0100)]
resize: Add --alignment flag to allow partition alignment to be picked.
Richard W.M. Jones [Thu, 20 Oct 2011 13:46:11 +0000 (14:46 +0100)]
resize: Refactor the code for creating target partitions.
The old code mixed the business of planning the layout of the target
partitions with the creation of the target partitions. The
replacement code separates these into two tasks: firstly we create a
new 'partitions' list with the target layout, secondly this directly
drives the creation of the partitions.
As part of this change I have *removed* the old code that was supposed
to handle extended/logical MBR partitions. It simply didn't work, and
didn't have any hope of working, and there is a separate bug open to
fix it.
Richard W.M. Jones [Thu, 20 Oct 2011 13:53:13 +0000 (14:53 +0100)]
resize: Remove p_size field from partitions structure.
This field simply contained a duplicate copy of p_part.part_size.
There is no functional change in this commit.
Richard W.M. Jones [Thu, 20 Oct 2011 09:58:21 +0000 (10:58 +0100)]
Update RELEASE-NOTES.
Richard W.M. Jones [Wed, 19 Oct 2011 16:37:25 +0000 (17:37 +0100)]
Version 1.13.22.
Richard W.M. Jones [Wed, 19 Oct 2011 16:12:07 +0000 (17:12 +0100)]
Pushed and pulled latest translations from Transifex.
Fixed one bug in the nl PO file:
msgid "security: cached appliance %s is not owned by UID %d"
msgstr "beveiliging: UID %d is geen eigenaar van toepassing %s in cache"
should be:
msgid "security: cached appliance %s is not owned by UID %d"
msgstr "beveiliging: UID %2$d is geen eigenaar van toepassing %1$s in cache"
Richard W.M. Jones [Wed, 19 Oct 2011 14:43:37 +0000 (15:43 +0100)]
inspection: Return root devices sorted.
Matthew Booth [Tue, 18 Oct 2011 12:42:16 +0000 (13:42 +0100)]
inspect: Handle cciss devices in /etc/fstab
Matthew Booth [Tue, 18 Oct 2011 12:30:40 +0000 (13:30 +0100)]
inspect: Don't assume number of captures in match functions
It is possible for the pcre library to return a variable number of captures for
a single regular expression. e.g.:
^/dev/(cciss/c\d+d\d+)(?:p(\d+))?$
This will return either 1 or 2 captures depending on whether the device has a
partition suffix. The current match wrappers don't allow for this, and require
that a predictable number of matches are returned.
This change updates match, match1, match2, and match3 to ignore the specific
number of matches returned. Instead, any returned captures are assigned to the
given arguments, and any remaining arguments are set to NULL.
Matthew Booth [Tue, 18 Oct 2011 10:01:01 +0000 (11:01 +0100)]
inspect: Add drive naming hints
We currently use a heuristic to guess how drive names we find
referenced in the guest map to drive names in the appliance. If this
heuristic fails it can cause inspection to fail.
This change adds a new 'name' option to add_drive_opts, which allows
the user to explicitly pass the name of a drive to libguestfs if it is
known. This change also updates the fstab-parsing inspection code to
use this information if it is available.
Matthew Booth [Mon, 17 Oct 2011 15:07:31 +0000 (16:07 +0100)]
NFC: Remove unnecessary goto
Matthew Booth [Mon, 17 Oct 2011 14:28:47 +0000 (15:28 +0100)]
launch: Store drive information in guestfs_h
This is a NFC on its own, but provides a place-holder for drive metadata which
can be used after launch.
Fixes by RWMJ:
- Fix the tests: this requires a new internal function 'debug-drives'
that dumps out the g->drives information so it can be checked in
two of the tests. Previously these tests used 'debug-cmdline'.
- Test file existence / use_cache_off in the add_drive_opts function,
not when launching qemu in the child process.
- Call free along error paths.
- Add comments.
Matthew Booth [Fri, 14 Oct 2011 14:00:32 +0000 (15:00 +0100)]
inspect: Fix fstab device mapping for >26 disks
The regular expression matching disk name assumed that there was only a single
letter suffix. This change handles a naming scheme for any number of disks.
Richard W.M. Jones [Wed, 19 Oct 2011 14:20:19 +0000 (15:20 +0100)]
launch: Ensure g->cmdline is allocated before assigning g->cmdline[0].
Richard W.M. Jones [Wed, 19 Oct 2011 12:42:59 +0000 (13:42 +0100)]
valgrind: guestfish -i: free strings before exit.
This isn't really necessary, but it keeps valgrind happy.
Richard W.M. Jones [Tue, 18 Oct 2011 14:22:01 +0000 (15:22 +0100)]
Ubuntu 11.10: Create /run and /run/lock if not already.
In real machines these directories are a ramdisk.
Richard W.M. Jones [Mon, 17 Oct 2011 14:26:43 +0000 (15:26 +0100)]
virt-sysprep: Fix link in documentation.
Richard W.M. Jones [Mon, 17 Oct 2011 08:59:43 +0000 (09:59 +0100)]
Skip guestmount and virt-sysprep tests if no /dev/fuse.
Richard W.M. Jones [Sat, 15 Oct 2011 16:51:16 +0000 (17:51 +0100)]
virt-sysprep: Fix test to use guestmount and virt-inspector binaries that have been built.
Richard W.M. Jones [Fri, 14 Oct 2011 21:08:20 +0000 (22:08 +0100)]
appliance: Fedora cryptsetup-luks renamed to cryptsetup.
Therefore we need both names to be listed in the file.
Richard W.M. Jones [Fri, 14 Oct 2011 21:08:14 +0000 (22:08 +0100)]
roadmap: Fix Bugzilla URL.
Richard W.M. Jones [Fri, 14 Oct 2011 17:22:46 +0000 (18:22 +0100)]
More TODO items.
Richard W.M. Jones [Fri, 14 Oct 2011 17:14:59 +0000 (18:14 +0100)]
Update RELEASE-NOTES file.
Richard W.M. Jones [Fri, 14 Oct 2011 14:14:57 +0000 (15:14 +0100)]
Version 1.13.21.
Erik Nolte [Thu, 6 Oct 2011 21:56:40 +0000 (15:56 -0600)]
Use ArchLinux's new kernel package "linux".
Michael Scherer [Thu, 13 Oct 2011 23:05:05 +0000 (01:05 +0200)]
Add basic support for netbsd detection.
Michael Scherer [Thu, 13 Oct 2011 23:05:07 +0000 (01:05 +0200)]
Add support for pkgsrc, default NetBSD package manager.
For now, only detect the tool, but support from reading
installed package could be added later ( may require either
a package of pkgsrc, or a smaller tool to read the db ).
Michael Scherer [Thu, 13 Oct 2011 23:05:06 +0000 (01:05 +0200)]
Add support for mounting ufs from NetBSD, and fix FreeBSD detection on Fedora 16
While testing on Fedora 16, I noticed that Linux will mount the disk
without trouble by using automatically ufstype=old, and yet do not
let us read the directories. So we should start directly with usftype=ufs2,
and if it fail, try 44bsd, as used for netbsd and openbsd ( as seen on
http://wiki-static.aydogan.net/How_to_mount_FFS_partition_under_Linux ).
Michael Scherer [Thu, 13 Oct 2011 23:05:04 +0000 (01:05 +0200)]
Add the Opensuse logo ( thanks to Vincent Untz )
Like Ubuntu one, it may not be always present.
Michael Scherer [Thu, 13 Oct 2011 23:05:03 +0000 (01:05 +0200)]
Add Opensuse and zypper detection support
This would also erronously detect SLES as Opensuse.
Michael Scherer [Thu, 13 Oct 2011 23:05:02 +0000 (01:05 +0200)]
Add support for Ubuntu logo
Ths logo is present on Lucid Lynx, but may not always be installed, like
in case of a minimal installation ( or server ). While Edubuntu and Kubuntu
have different logo, I didn't check where it would be placed.
Michael Scherer [Thu, 13 Oct 2011 23:05:01 +0000 (01:05 +0200)]
Detect Mageia distribution
Michael Scherer [Thu, 13 Oct 2011 23:05:00 +0000 (01:05 +0200)]
Partially fix --disable-erlang
Without this, configure will always enable erlang, no matter what
argument are passed. Now, we can disable it, even if configure still
need the erlang compiler for some obscure reason.
Richard W.M. Jones [Fri, 14 Oct 2011 07:36:00 +0000 (08:36 +0100)]
virt-sysprep: Add cron-spool, mail-spool, utmp.
Richard W.M. Jones [Thu, 13 Oct 2011 22:30:13 +0000 (23:30 +0100)]
virt-sysprep: Use /dev/urandom instead of /dev/random.
Richard W.M. Jones [Thu, 13 Oct 2011 22:29:58 +0000 (23:29 +0100)]
virt-sysprep: More clarifications to the man page.
Richard W.M. Jones [Thu, 13 Oct 2011 22:24:28 +0000 (23:24 +0100)]
virt-sysprep: Clarify docs on enabling operations.
Richard W.M. Jones [Thu, 13 Oct 2011 22:20:27 +0000 (23:20 +0100)]
virt-sysprep: Add rhn-systemid.
Richard W.M. Jones [Thu, 13 Oct 2011 14:37:56 +0000 (15:37 +0100)]
virt-sysprep: Switch to using guestmount, add more features.
This switches virt-sysprep to use guestmount instead of guestfish.
This makes the script a little bit easier to modify for sysadmins.
This commit also adds:
- dhcp-client-state
- dhcp-server-state
- logfiles
- random-seed
- smolt-uuid
- yum-uuid
SELinux relabelling, and a section on security in the manual page.
Richard W.M. Jones [Thu, 13 Oct 2011 14:07:41 +0000 (15:07 +0100)]
virt-sysprep: Use Augeas for config file manipulation.
Richard W.M. Jones [Thu, 13 Oct 2011 13:30:35 +0000 (14:30 +0100)]
virt-sysprep: Add prepend_line utility function.
Richard W.M. Jones [Thu, 13 Oct 2011 10:56:52 +0000 (11:56 +0100)]
fish: docs: note how to clean up the remote process properly.
Killing it is always a bad idea, because the qemu subprocess will be
left hanging around. The best thing is to send the exit command.
This also makes the change to virt-sysprep.
Richard W.M. Jones [Thu, 13 Oct 2011 10:54:18 +0000 (11:54 +0100)]
fish: Close guestfs handle explicitly before exiting.
NOTE this is just a cleanup. It is NOT necessary for correctness,
since libguestfs itself is correctly closing the handle in the exit
handler.
Richard W.M. Jones [Thu, 13 Oct 2011 10:34:04 +0000 (11:34 +0100)]
virt-sysprep: Trap ERR as well as EXIT.
Richard W.M. Jones [Thu, 13 Oct 2011 10:13:05 +0000 (11:13 +0100)]
guestmount: Add note to man page about 'fuse' group for Debian.
Richard W.M. Jones [Thu, 13 Oct 2011 10:09:31 +0000 (11:09 +0100)]
virt-sysprep: Simplify calls to guestfish --remote.
Richard W.M. Jones [Thu, 13 Oct 2011 09:36:24 +0000 (10:36 +0100)]
virt-sysprep: Further TODO items (thanks Nikita Menkovich).
Richard W.M. Jones [Thu, 13 Oct 2011 09:36:24 +0000 (10:36 +0100)]
virt-sysprep: Further TODO items (thanks Marko Myllynen, James Antill).
Richard W.M. Jones [Tue, 11 Oct 2011 19:59:29 +0000 (20:59 +0100)]
Version 1.13.20.
Richard W.M. Jones [Tue, 11 Oct 2011 18:20:53 +0000 (19:20 +0100)]
virt-sysprep: Update TODO list again.
Richard W.M. Jones [Tue, 11 Oct 2011 17:04:46 +0000 (18:04 +0100)]
virt-sysprep: Update TODO list (thanks Steve Grubb, Dan Berrange).
Richard W.M. Jones [Mon, 10 Oct 2011 14:13:40 +0000 (15:13 +0100)]
TODO: More virt-sysprep suggestions (thanks librarian).