2011-01-26  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V.pm: Bump version to 0.7.1

2011-01-26  Matthew Booth <mbooth@redhat.com>

        * .gitignore, MANIFEST.SKIP: Exclude MYMETA.yml from the
        distribution

2011-01-26  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/RHEVTarget.pm: Replace File::Path's
        remove_tree We were using remove_tree in the RHEV cleanup code. remove_tree
        seems to use chdir. Unfortunately, as this code will be running
        seteuid(36), it is not unlikely that the current working directory
        will not be readable. This causes remove_tree to fail.  This patch replaces remove_tree with a simple rm -rf. We also only
        warn on failure, as it's not strictly fatal.  Fixes RHBZ#670778

2011-01-26  Matthew Booth <mbooth@redhat.com>

        * po/es.po, po/it.po, po/nl.po, po/or.po, po/pl.po, po/ru.po,
        po/te.po, po/uk.po, po/virt-v2v.pot, po/zh_CN.po: Update
        translations

2011-01-26  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/LibVirtSource.pm: Display verbose error
        message when guest storage isn't found Unfortunately libvirt will not always return volume information for
        a guest's volume. Specifically, it will not return volume
        information if the volume is not in a storage pool. Rather than
        displaying a generic libvirt error in this case, advise the user how
        they can create an appropriate storage pool.  Fixes RHBZ#672498

2011-01-26  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/LibVirtXMLSource.pm: Don't use libvirt
        for volume information when converting with libvirtxml Unless you're lucky, the target volumes won't be in a storage pool,
        so libvirt will return an error. For libvirtxml we know that the
        storage is local, so we can inspect it directly. We use qemu-img to
        determine format and file size.

2011-01-25  Matthew Booth <mbooth@redhat.com>

        * po/POTFILES.in: po: Update POTFILES.in with current source files

2011-01-25  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Config.pm: Always use user_message for die()
        messages in Config I removed a bunch of user_message calls in Config when calling die()
        whilst refactoring it. The idea was to catch the die() higher up the
        stack and wrap the message there, which would be cleaner.
        Unfortunately this doesn't work, as without a newline in the
        argument to die(), perl adds source context information to the
        message immediately, rather than when the message is ultimately
        displayed. This means that user_message just wraps a message that
        already has source context information in it, which is not the
        desired effect. This change puts the calls back.  It also makes an NFC stylistic change to all other die() calls in
        Config by removing the parentheses. I've decided that die and warn
        are cleaner without.

2011-01-25  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/Windows.pm: Fix a Windows conversion
        error when C:\Temp exists in the guest We were unconditionally creating /temp/v2v in the guest, and later
        using case_sensitive_path to look the path up again. If C:\Temp
        already existed, this would lead to unpredictable results.  Fixes RHBZ#672521

2011-01-25  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestfsHandle.pm: GuestfsHandle should croak
        instead of die in AUTOLOAD Usage errors reported in the context of GuestfsHandle are not
        useful.

2011-01-24  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Config.pm: Fix setting storage allocation policy
        from a profile

2011-01-21  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.conf: Re-add configuration for Windows XP The Windows XP driver has showed up in the virtio-win package again.  Fixed RHBZ#671353

2011-01-21  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/RedHat.pm: Ensure DEFAULTKERNEL is
        always updated DEFAULTKERNEL was only updated when installing a new kernel. This
        meant that if we were converting a Xen guest which already had an HV
        kernel installed, DEFAULTKERNEL would not be updated. This change
        ensures it is always updated.

2011-01-20  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/RedHat.pm: Don't remove foreign kernels
        during conversion Removing xen kernels during conversion is tidier, but occasionally
        problematic.  For example, if the kernel has dependent kmods which
        prevent its uninstallation, the code to remove it reliably across
        multiple versions of RHEL becomes tricky.  The existing code doesn't
        handle this at all, and the conversion will fail in this case.  As it isn't strictly necessary to remove xen kernels, this change
        simply stops attempting to remove them.  Fixes RHBZ#643867

2011-01-20  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/RedHat.pm: Fix detection of an existing
        grub entry There were 2 issues in the code which checked for an existing grub
        entry before adding a new one.  Firstly, it didn't take account of the fact that the passed-in
        kernel path is relative to root, whereas the grub entry is relative
        to the grub filesystem, which is normally /boot.  Secondly, it expected return from inside eval{} to exit the
        function, when in fact it only exits the eval.

2011-01-20  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/Source.pm: Don't display a progress bar
        if stderr isn't on a tty Apart from being a good idea, this works round an apparent bug in
        either Term::ProgressBar or Term::ReadKey which seems to result in
        an attempt to write an exceptionally long progress bar.  Fixes RHBZ#671083

2011-01-20  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/RedHat.pm: NFC: Fix typo in comment

2011-01-19  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/RedHat.pm: Fix architecture detection of
        Linux guests with invalid grub.conf If a Linux guest's grub.conf contained a default kernel which
        referred to non-existent kernel, architecture detection would
        default to i686. For an x86_64 guest, the result would not boot.  This change uses the first grub.conf entry if the default is invalid
        or not present, and falls back to the architecture detected by
        inspection otherwise. If neither of these yield an architecture, it
        defaults to x86_64 instead of i686 as a more conservative default.  Fixes RHBZ#623579

2011-01-18  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/LibVirtTarget.pm: Ensure created LVM
        device is large enough after rounding RHBZ#670529 means that an LVM device may be silently smaller than
        than we requested. Round up if necessary to ensure the created
        volume is large enough for the copied content.

2011-01-18  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/LibVirt.pm,
        lib/Sys/VirtV2V/Connection/LibVirtSource.pm,
        lib/Sys/VirtV2V/Connection/LibVirtTarget.pm,
        lib/Sys/VirtV2V/Connection/RHEVTarget.pm,
        lib/Sys/VirtV2V/Transfer/Local.pm: Don't use SparseWriter when
        writing to block devices SparseWriter doesn't work on block devices for a few reasons: * It can try to seek to the byte after the end of the file * It can try to truncate the file * Block devices aren't guaranteed to have zero content in unwritten
        blocks

2011-01-18  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Transfer/Local.pm: Typo in Transfer::Local

2011-01-17  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Config.pm: Unconditionally always rebuild the
        transfer iso Conditionally rebuilding the transfer iso saved relatively little
        execution time, and was a trickling source of bugs. This change
        simply removes the shortcut code, which means that the transfer iso
        will always be rebuild.  Resolves RHBZ#618965

2011-01-17  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/RHEVTarget.pm: RHEV: Ensure DESTROY
        won't be called for uninitialized object Fixes RHBZ#615182

2011-01-17  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/LibVirtXMLSource.pm: Fix subclassing of
        LibVirtXMLSource LibVirtXMLSource was subclassing an invalid class, and consequently
        didn't have copy_storage defined.  Fixes RHBZ#670175

2011-01-17  Matthew Booth <mbooth@redhat.com>

        * : commit 72a5c4ca35a669d8743390f5db58ff7be5ee22a6 Merge: 96a145b
        213e0a2 Author: Matthew Booth <mbooth@redhat.com> Date:   Fri Jan 14
        15:21:30 2011 +0000

2011-01-14  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/RHEVTarget.pm: RHEV: Change
        disk-interface from numeric to VirtIO/IDE in OVF

2011-01-13  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/RHEVTarget.pm: RHEV: SIZE in .meta
        should be in bytes, not kilobytes This also means that we can round to 512 bytes, not 1024 bytes.

2011-01-13  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Config.pm, v2v/virt-v2v.pl: Fix display of error
        message when initialising Config When die() is given a message without a new line, it seems to add
        line information immediately, rather than when they are eventually
        displayed from some context contained in the error object. This
        means we must wrap messages in user_message at the point they are
        generated rather than allow them to propagate and wrap them later.

2010-12-08  sagitter <sagitter@fedoraproject.org>

        * po/it.po: l10n: Updates to Italian translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-12-08  sagitter <sagitter@fedoraproject.org>

        * po/it.po: l10n: Updates to Italian translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-12-08  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Config.pm, v2v/virt-v2v.conf.pod, v2v/virt-v2v.pl:
        Add profile support This commit adds profiles to virt-v2v.conf. It also makes the
        following related changes to command line options: * -op and -osd are deprecated in favour of the new -os option.  * --profile can now be used to specify a profile.  * --list-profiles will list all defined profiles.  In addition, a new network mapping type of 'default' is added to the
        configuration file, which does the same as the --network and
        --bridge command line options.

2010-12-06  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: Deprecate -op and -osd for -ol Combine two very similar command line options into 1.

2010-12-06  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Config.pm: Remove checks for missing dom in Config A config file has been required for a while.

2010-12-06  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: Remove unused -it command line option

2010-12-03  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, lib/Sys/VirtV2V/Converter.pm,
        lib/Sys/VirtV2V/Converter/Linux.pm, lib/Sys/VirtV2V/{GuestOS =>
        Converter}/RedHat.pm, lib/Sys/VirtV2V/Converter/Windows.pm,
        lib/Sys/VirtV2V/GuestOS.pm, v2v/virt-v2v.pl: Remove GuestOS Converter::Linux becomes Converter::RedHat, and everything from
        GuestOS::RedHat is folded into it.  GuestOS was intended to be an OS-specific interface for a generic
        converter.  This turned out to be impractical, and it was relegated
        to an interface for the Linux converter. In the absence of support
        for any non-Red Hat-based distribution, it is doubtful the existing
        interface would have been useful. It also made the code
        significantly harder to follow. The intention is to refactor
        Converter::RedHat again to enable re-use of any generally useful
        code when we eventually add support for other distributions.

2010-11-23  warrink <warrink@fedoraproject.org>

        * po/nl.po: l10n: Updates to Dutch (Flemish) (nl) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-11-05  raven <raven@fedoraproject.org>

        * po/pl.po: l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-11-04  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V.pm: Bump version to 0.7.0

2010-11-04  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/LibVirt.pm: Remove subclassing of
        non-existent Sys::VirtV2V::Connection Connection::LibVirt was subclassing a module whih was previously
        removed. This would only run if you happened to have the old module
        installed in a system directory.

2010-11-03  Matthew Booth <mbooth@redhat.com>

        * po/es.po, po/it.po, po/nl.po, po/or.po, po/pl.po, po/ru.po,
        po/te.po, po/uk.po, po/virt-v2v.pot, po/zh_CN.po: Update
        translations

2010-11-03  Matthew Booth <mbooth@redhat.com>

        * po/POTFILES.in: Update POTFILES.in

2010-11-03  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: Fix conversion of PV Xen guest
        with HV kernel installed When replacing a PV kernel, we were simply changing the kernel
        package name without re-checking to see if this new package was
        already installed. This caused failures in both yum and local rpm
        installation.

2010-11-03  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestfsHandle.pm: Explicitly enable networking in
        guestfs appliance The guestfs appliance no longer includes network support since
        libguestfs 1.6 unless explicitly enabled.

2010-11-02  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: Fix yum error reporting

2010-11-02  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/LibVirt.pm,
        lib/Sys/VirtV2V/Transfer/SSH.pm: Fix error doing format conversion
        when source is SSH We weren't passing the format to Transfer::SSH, but were trying to
        use it anyway.

2010-11-02  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Util.pm: Fix error when reading from LVM LVM volumes don't include a format element. Default them to raw.

2010-11-02  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Transfer/Local.pm: Fix writing of a file with a
        final sparse section SparseWriter wasn't calling _write_zeroes to the end of the file
        when the end was sparse. This would result in a short file for raw
        sparse output.

2010-11-02  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Transfer/Local.pm: Fix usage reporting by
        GuestfsWriteStream GuestfsWriteStream was reporting the final file pointer, rather than
        the the actual usage in get_usage().

2010-11-02  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Transfer/Local.pm: NFC: Improve readability in
        Transfer::Local Improve readability of GuestfsWriteStream chunking and SparseWriter.

2010-11-02  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/RHEVTarget.pm: Don't pass invalid
        Volume usage to RHEVTarget::Vol RHEVTarget updates a volume's usage after it has been written.
        Initially pass undef to ensure we're getting an accurate value.

2010-11-01  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/RHEVTarget.pm: Suppress output of
        qemu-img except on error

2010-11-01  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, lib/Sys/VirtV2V/SparseWriter.pm,
        lib/Sys/VirtV2V/Transfer/Local.pm: Implement sparse writing when
        doing format conversions

2010-10-29  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/RHEVTarget.pm,
        lib/Sys/VirtV2V/GuestfsHandle.pm, lib/Sys/VirtV2V/Util.pm: Don't use
        helper processes for NFS in RHEVTarget For every operation which needed to read or write to NFS in
        RHEVTarget, we were previously spawning a new process which ran
        set(u|g)id 36:36. We used a different technique, however, to spawn
        the conversion appliance when its storage was hosted on RHEV:
        sete(u|g)id before and after, and push all error handling outside
        the unprivileged code.  This change updates RHEVTarget to use the latter technique instead
        of helper processes. The primary driver for doing this is that it
        gives almost a 100% throughput improvement when writing to a guestfs
        appliance during format conversion.

2010-10-29  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestfsHandle.pm,
        lib/Sys/VirtV2V/Transfer/Local.pm: Don't display redundant errors if
        the appliance is no longer running If virt-v2v is interrupted with a Ctrl-C, this will also kill an
        appliance being used for format conversion. Check during cleanup
        that the appliance is still running. Don't display redundant error
        message if it isn't.

2010-10-25  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/LibVirt.pm,
        lib/Sys/VirtV2V/Connection/LibVirtSource.pm,
        lib/Sys/VirtV2V/Connection/LibVirtTarget.pm,
        lib/Sys/VirtV2V/Connection/LibVirtXMLSource.pm,
        lib/Sys/VirtV2V/Connection/RHEVTarget.pm,
        lib/Sys/VirtV2V/Connection/Source.pm,
        lib/Sys/VirtV2V/Connection/Volume.pm,
        lib/Sys/VirtV2V/Transfer/ESX.pm, lib/Sys/VirtV2V/Transfer/Local.pm,
        lib/Sys/VirtV2V/Transfer/SSH.pm: Allow format conversion when
        writing to RHEV or a local file

2010-10-20  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/SparseWriter.pm: Fix error messages in
        SparseWriter

2010-10-14  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Transfer/SSH.pm, v2v/virt-v2v.pl: Improve error
        reporting when SSH transfer is interrupted due to a signal

2010-10-14  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/Source.pm: Report read errors properly
        when copying storage We weren't closing the source volume before checking for a short
        volume, meaning that we missed read errors.

2010-10-07  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/Source.pm, v2v/virt-v2v.pl: Add command
        line arguments for output format and sparseness * -of specifies the output disk format * -oa (sparse|preallocated) specifies sparseness of output This patch doesn't make these do anything useful for format
        conversions, although converting to sparse output now works.

2010-10-07  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Transfer/Local.pm: Don't clobber local volume when
        writing to it We let libvirt create local volumes, including preallocating it if
        required.  This patch opens the volume with '+<' instead of '>',
        which doesn't clobber the pre-created volume before writing to it.

2010-10-05  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Transfer/Local.pm: Preserve sparseness when
        writing to a local file

2010-10-05  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, lib/Sys/VirtV2V/Connection/RHEVTarget.pm,
        lib/Sys/VirtV2V/SparseWriter.pm, lib/Sys/VirtV2V/Util.pm: Refactor
        sparsecopy into SparseWriter Need a more general interface to sparse writing to support both RHEV
        writer and Local writer.

2010-10-05  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/RHEVTarget.pm: Display child errors on
        write failure to RHEVTarget

2010-09-30  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/RHEVTarget.pm: Fix unmount and
        directory cleanup failures on unclean exit in RHEVTarget If interrupted while data was still copying, RHEVTarget would try to
        cleanup and unmount the temp directory while a writer process still
        had files in it open.  This lead to cleanup failures.  We track all WriteStreams in RHEVTarget, and forcibly close them all
        before removing the temp directory.

2010-09-30  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/RHEVTarget.pm: Improve error reporting
        during temp directory cleanup in RHEVTarget

2010-09-30  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/RHEVTarget.pm,
        lib/Sys/VirtV2V/Transfer/Local.pm, lib/Sys/VirtV2V/Transfer/SSH.pm:
        Fixup automatic cleanup on unclean shutdown Ensure all DESTROY methods preserve $? where it might be
        overwritten.  Replace erroneous ||= with |= for bitwise or.  Ensure
          that DESTROY which calls close() will not give an error if close()
          has previously been called.

2010-09-29  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/Source.pm: Implement a progress bar for
        volume copying

2010-09-29  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/RHEVTarget.pm: Improve size metadata
        for RHEV volumes Don't sparse copy qcow2 images.  Use ceiling values when rounding to
        KB and GB.  Use data written to estimate the allocated size of a
        qcow2 image.

2010-09-29  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/Source.pm: Only check total data
        received when transferring raw volumes When transferring a qcow2 image, the total data received doesn't
        correspond exactly to either the allocated or total size of image.
        In my test, it was actually allocated + 4k, which I assume accounts
        for header information. Until I find documentation on exactly what
        is expected, just skip this test for non-raw images.

2010-09-29  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/Source.pm: Only copy volume data for a
        newly created volume Data was being unconditionally copied to target volumes, even if the
        target already existed.

2010-09-29  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/Source.pm: Improve error message about
        unsupported format conversion

2010-09-29  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/LibVirtTarget.pm: Fix format when
        create a new libvirt volume XML for format was incorrect when creating a new libvirt volume,
        which resulted in all volumed defaulting to raw.

2010-09-29  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Transfer/Local.pm: Fix automatic cleanup of
        Transfer::Local object Object could be closed twice, causing an error.  The error message
        didn't include the path name because it wasn't stored.

2010-09-29  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/LibVirtSource.pm,
        lib/Sys/VirtV2V/Connection/LibVirtTarget.pm,
        lib/Sys/VirtV2V/Connection/LibVirtXMLSource.pm,
        lib/Sys/VirtV2V/Connection/RHEVTarget.pm,
        lib/Sys/VirtV2V/Connection/Volume.pm, lib/Sys/VirtV2V/Util.pm:
        Preserve sparseness when writing to RHEV

2010-09-29  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/LibVirt.pm,
        lib/Sys/VirtV2V/Connection/LibVirtSource.pm: Cleanup imports

2010-09-29  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/RHEVTarget.pm: Cleanups in
        RHEVTarget::NFSHelper Handle helper functions which return undef.  Cleanup stderr in the
        child.  Exit the child with _exec(0|1) instead of
        exec('/bin/(true|false)').

2010-09-01  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, lib/Sys/VirtV2V/Connection/LibVirt.pm,
        lib/Sys/VirtV2V/Connection/LibVirtSource.pm,
        lib/Sys/VirtV2V/{Target/LibVirt.pm => Connection/LibVirtTarget.pm},
        lib/Sys/VirtV2V/Connection/{LibVirtXML.pm => LibVirtXMLSource.pm},
        lib/Sys/VirtV2V/{Target/RHEV.pm => Connection/RHEVTarget.pm},
        lib/Sys/VirtV2V/{Connection.pm => Connection/Source.pm},
        lib/Sys/VirtV2V/Connection/Volume.pm,
        lib/Sys/VirtV2V/Transfer/ESX.pm, lib/Sys/VirtV2V/Transfer/Local.pm,
        lib/Sys/VirtV2V/Transfer/LocalCopy.pm,
        lib/Sys/VirtV2V/Transfer/SSH.pm, lib/Sys/VirtV2V/Util.pm,
        v2v/virt-v2v.pl: Refactor data transfer code This patch refactors the data transfer code with several goals: * Have a common read(source)/write(target) loop so that common
          processing can happen in the middle of it, e.g. format
        change/progress bar * Provide volume metadata to transfers to allow smarter
          reading/writing, e.g. of sparse files * Simplify the data transfer code The patch *isn't* NFC because there are some minor behaviour
        changes, but it isn't intended to provide any new features either.
        For example, although sparse info is passed around, nothing actually
        uses it yet.  This patch *may* allow qcow2->qcow2 conversions, although I haven't
        tested this.  A later patch will enable qcow2->raw and raw->qcow2
        conversions.  Metadata sources where previously 'Connection's. Targets now become
        'Connection's too. They both supply Volume objects. New objects are: Volume   Holds metadata on a specific object, and a handle to a Transfer
          object which can read/write it.  Transfer   Provides a read or write stream to an underlying volume.    This will also be extended to provide a file interface.  ReadStream/WriteStream   Provides read/write streaming access to a volume's data.

2010-10-19  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/Windows.pm: Fix Windows conversion when
        ControlSet001 isn't the CurrentControlSet If a Windows boot fails and the user boots the last known good
        configuration, ControlSet001 will be marked as failed and no longer
        used. However, virt-v2v would only install viostor to ControlSet001,
        meaning it will fail to boot this guest after conversion.  This patch looks up the current controlset and always installs
        registry keys to the correct one.  Fixes RHBZ#644254

2010-10-18  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/LibVirt.pm: Make libvirt volume cleanup
        more robust If a user pressed Ctrl-C while a volume was being created or very
        shortly afterwards, it would not be cleaned up. This patch tracks
        volumes before they are created by create_volume(). As with the RHEV
        target, it will cleanup all created volumes if the conversion is not
        successful.

2010-10-12  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/Linux.pm: Use augeas to update securetty augeas now supports securetty. This resolves a failure when
        securetty isn't present in the guest.  Resolves RHBZ#639413

2010-10-12  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: Fix device name mapping for
        libata guests remap_block_devices was modifying the global device list while
        remapping device names for libata guests (which includes RHEL 6).
        This caused a failure later when the renamed devices were not
        present in the original XML.  Fixes RHBZ#642550

2010-09-30  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: exit instead of die() on signal Net::SSL catches die() and will print an untidy confess() if the
        signal is received in Net::SSL::read(). exit(1) achieves the same
        goal without triggering the confess().

2010-10-11  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/LibVirt.pm: Remove incompletely transferred
        libvirt volumes If a user interrupted transfer of data to a libvirt volume, the
        incomplete data was left in place. This patch causes the volume to
        be removed.  Fixes RHBZ#616728

2010-09-27  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/LibVirt.pm: Remove sound cards when
        outputting to libvirt As we can't currently detect what sound card models are supported by
        the target hypervisor, simply remove them.  Works round RHBZ#589567

2010-09-27  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/LibVirt.pm: Remove converted SCSI
        controllers We never use SCSI after conversion as we always use either VirtIO or
        IDE. As an unsupported SCSI controller can prevent a converted guest
        from starting, it's safer to just remove SCSI controllers.  Fixes RHBZ#637775

2010-09-23  logan <logan@fedoraproject.org>

        * po/es.po: l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-09-23  raven <raven@fedoraproject.org>

        * po/pl.po: l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-09-23  warrink <warrink@fedoraproject.org>

        * po/nl.po: l10n: Updates to Dutch (Flemish) (nl) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-09-21  Matthew Booth <mbooth@redhat.com>

        * t/003-syntax.t: Don't run syntax checks if Module::Find isn't
        present

2010-09-21  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V.pm: Bump version to 0.6.3

2010-09-21  Matthew Booth <mbooth@redhat.com>

        * po/es.po, po/it.po, po/nl.po, po/or.po, po/pl.po, po/ru.po,
        po/te.po, po/uk.po, po/virt-v2v.pot, po/zh_CN.po: Update
        translations

2010-09-13  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/RHEV.pm: Check that a RHEV export storage
        domain has been attached to a Data Center The master/vms directory in an export storage domain is only created
        when the domain is attached to a Data Center, not when it is
        initialised. Because we write to this directory last, virt-v2v will
        only currently fail at the very end of the conversion process. This
        patch checks for the existence of this directory early and reports a
        useful error to the user.  Fixes RHBZ#601535

2010-09-13  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: Update /etc/sysconfig/kernel
        when updating the kernel /etc/sysconfig/kernel contains the default kernel package. Ensure we
        set DEFAULTKERNEL to whichever kernel we install.  Fixes RHBZ#609526

2010-09-13  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: Remove BoardName and VendorName
        when updating xorg.conf BoardName and VendorName are for information only, and will likely
        contain incorrect information after conversion. Simply remove them.  Fixes RHBZ#595264

2010-09-13  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/LibVirt.pm,
        lib/Sys/VirtV2V/Target/LibVirt.pm, lib/Sys/VirtV2V/Target/RHEV.pm:
        Check that we're not overwriting an existing Libvirt domain Exit with an error if we would overwrite an existing libvirt domain.  Fixes RHBZ#617110

2010-08-25  raven <raven@fedoraproject.org>

        * po/pl.po: l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-08-25  warrink <warrink@fedoraproject.org>

        * po/nl.po: l10n: Updates to Dutch (Flemish) (nl) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-08-25  elsupergomez <elsupergomez@fedoraproject.org>

        * po/es.po: l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-08-22  dvd <dvd@fedoraproject.org>

        * po/ru.po: l10n: Updates to Russian (ru) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-08-19  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/Windows.pm: Copy driver files correctly
        during Windows guest conversion This fixes a bug in patch c96306de which caused files to be
        incorrectly copied to /windows/Drivers/VirtIO on the guest.

2010-08-18  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/RHEV.pm: Identify RHEL 6 as 'OtherLinux' to
        RHEV RHEV 2.2 doesn't have a guest type of 'RHEL6', which causes
        conversion to fail.  This change identifies a RHEL 6 guest as
        OtherLinux when converting to RHEV.  Fixes RHBZ#625041

2010-08-18  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: Explicitly set umask to 0022 before running virt-v2v won't work with a umask more restrictive than 0022. Set the
        umask explicitly before running.  Fixes RHBZ#610875

2010-08-18  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, windows/README.txt, windows/firstboot.bat: Include
        firstboot.bat in the virt-v2v distribution

2010-08-18  Matthew Booth <mbooth@redhat.com>

        * MANIFEST.SKIP: Ignore tarballs with version containing leading 'v'

2010-08-18  Matthew Booth <mbooth@redhat.com>

        * .gitignore, MANIFEST.SKIP: Ignore Eclipse's .project file

2010-08-16  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/Windows.pm: Install VirtIO storage and
        network drivers in Windows Currently when converting a Windows guest we do a minimum
        installation of the viostor driver, configure the RHEV guest agent
        and leave RHEV to properly install viostor and all remaining
        drivers. This works well if RHEV is properly configured and the
        installation is not interrupted on first boot.  However, if the target of the conversion is not RHEV, RHEV is not
        properly configured, or the first boot installation process is
        interrupted, for example by the user logging in and interacting with
        it, this will fail. In this case, in the absence of a correct driver
        Windows can mis-detect the VirtIO 'SCSI Controller' and configure
        the wrong driver for it. This will lead to the guest subsequently
        failing to boot.  This patch complements the RHEV-managed process by additionally
        copying installable versions of the VirtIO storage and network
        drivers to the guest during conversion, and adding the location of
        the drivers to the default search path for drivers. This means that
        Windows will install correct drivers for network and storage if the
        RHEV process fails, or if the conversion target is not RHEV.

2010-08-16  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/Windows.pm, v2v/virt-v2v.conf: Change
        the default location of Windows VirtIO drivers on the host This patch updates the default virt-v2v.conf to use files installed
        by the virtio-win package. virt-v2v.conf also now specifies the
        directory containing viostor.sys rather than the file itself.

2010-08-16  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Config.pm: Allow absolute paths in virt-v2v.conf This patch allows paths in virt-v2v.conf to be either relative or
        absolute. If relative, they are relative to software-root.  This allows virt-v2v.conf to use files provided by packages
        independent of virt-v2v.

2010-08-16  Matthew Booth <mbooth@redhat.com>

        * po/nl.po: Whitespace fix from translation

2010-08-16  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/Windows.pm: NFC code cleanups in
        Converter::Windows

2010-08-16  warrink <warrink@fedoraproject.org>

        * po/nl.po: l10n: Updates to Dutch (Flemish) (nl) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-08-12  Matthew Booth <mbooth@redhat.com>

        * po/es.po, po/nl.po, po/pl.po, po/virt-v2v.pot: Update translations

2010-08-10  logan <logan@fedoraproject.org>

        * po/es.po: l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-08-10  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V.pm: Bump version to 0.6.2

2010-08-10  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, augeas/README.txt, augeas/device_map.aug: Update augeas
        directory following the release of augeas 0.7.3 We now require augeas 0.7.3.

2010-08-10  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, po/PACKAGE: po: Integrate nl translation

2010-08-09  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter.pm: Fix conversion of guest with
        multiple cdrom devices in boot order One of my Xen guests has multiple cdrom devices in its domain XML. I
        don't know how this happened, but it works. However, QEMU will not
        allow this, and fails to start.  This patch checks for multiple devices of the same type, and removes
        all but the first instance of a device of a particular type.

2010-08-06  Matthew Booth <mbooth@redhat.com>

        * v2v/run-v2v-locally: Preserve PERL5LIB and LD_LIBRARY_PATH in
        run-v2v-locally

2010-08-04  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Transfer/SSH.pm: Correctly detect the size of a
        block device over SSH When fetching a storage volume over SSH, we were detecting its size
        with a simple 'stat -c %s'. While this works fine for files, it
        won't return the correct size of a block device.  This patch uses the output of 'blockdev --getsize64' for block
        devices, and stat as before for regular files.  Fixes RHBZ#620698

2010-08-03  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: Fix mkinitrd detection of LVM
        root on RHEL 4 RHEL 4's mkinitrd will fail to recognise that root is on LVM when
        running on a recent kernel/udev due to changes in naming. This patch
        detects LVM root for RHEL 4, and uses a dirty hack to frig mkinitrd
        if required.  Fixes RHBZ#580461

2010-08-07  warrink <warrink@fedoraproject.org>

        * po/nl.po: l10n: First Dutch translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-07-29  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Util.pm: Add accidentally missed Util.pm

2010-07-28  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/Linux.pm: Properly convert RHEL 6 guest
        console RHEL 6 Xen uses hvc0. Although KVM provides virtio-console on hvc0,
        libvirt doesn't yet support this, so we must use ttyS0 instead.

2010-07-27  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: Use dracut rather than mkinitrd
        if it's available

2010-07-22  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: Check kudzu exists before
        attempting to disable it chkconfig will return an error if kudzu isn't installed, which will
        cause the conversion to fail.

2010-07-22  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.conf: Update virt-v2v.conf for RHEL 6 virtio support RHEL 6 has always supported virtio, so no dependencies are required.

2010-07-28  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, lib/Sys/VirtV2V/Config.pm,
        lib/Sys/VirtV2V/Connection.pm,
        lib/Sys/VirtV2V/Connection/LibVirt.pm,
        lib/Sys/VirtV2V/Connection/LibVirtXML.pm,
        lib/Sys/VirtV2V/Converter.pm, lib/Sys/VirtV2V/Converter/Linux.pm,
        lib/Sys/VirtV2V/Converter/Windows.pm, lib/Sys/VirtV2V/GuestOS.pm,
        lib/Sys/VirtV2V/GuestOS/RedHat.pm,
        lib/Sys/VirtV2V/GuestfsHandle.pm,
        lib/Sys/VirtV2V/Target/LibVirt.pm, lib/Sys/VirtV2V/Target/RHEV.pm,
        lib/Sys/VirtV2V/Transfer/ESX.pm,
        lib/Sys/VirtV2V/Transfer/LocalCopy.pm,
        lib/Sys/VirtV2V/Transfer/SSH.pm, lib/Sys/VirtV2V/UserMessage.pm,
        po/POTFILES.in, po/es.po, po/it.po, po/or.po, po/pl.po, po/ru.po,
        po/te.po, po/uk.po, po/virt-v2v.pot, po/zh_CN.po, v2v/virt-v2v.pl:
        Move user_message into Sys::VirtV2V::Util This change moves user_message from Sys::VirtV2V::UserMessage into
        Sys::VirtV2V::Util and removes the former. This involves touching
        everywhere that imports UserMessage, which is quite a lot of places.  The change also removes UserMessage's set_identifier method, and
        instead hard-codes the message identifier. This involves a
        significant amount of churn as all the translations must be updated.

2010-07-28  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, lib/Sys/VirtV2V/Converter/Linux.pm,
        lib/Sys/VirtV2V/GuestOS/RedHat.pm: Move augeas error reporting into
        new Sys::VirtV2V::Util _augeas_error from GuestOS::RedHat is useful in other modules which
        use augeas.  Pull it into a new module, Sys::VirtV2V::Util, and
        update all uses.  Additionally, use the new function in Converter::Linux.

2010-07-29  raven <raven@fedoraproject.org>

        * po/pl.po: l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-07-28  elsupergomez <elsupergomez@fedoraproject.org>

        * po/es.po: l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-07-28  Matthew Booth <mbooth@redhat.com>

        * po/es.po, po/it.po, po/or.po, po/pl.po, po/ru.po, po/te.po,
        po/uk.po, po/virt-v2v.pot, po/zh_CN.po: po: Update translations

2010-07-27  raven <raven@fedoraproject.org>

        * po/pl.po: l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-07-27  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Config.pm, lib/Sys/VirtV2V/Connection/LibVirt.pm,
        lib/Sys/VirtV2V/Converter.pm, lib/Sys/VirtV2V/Converter/Linux.pm,
        lib/Sys/VirtV2V/ExecHelper.pm, lib/Sys/VirtV2V/GuestOS/RedHat.pm,
        lib/Sys/VirtV2V/Target/LibVirt.pm, lib/Sys/VirtV2V/Target/RHEV.pm,
        lib/Sys/VirtV2V/Transfer/ESX.pm,
        lib/Sys/VirtV2V/Transfer/LocalCopy.pm,
        lib/Sys/VirtV2V/Transfer/SSH.pm, lib/Sys/VirtV2V/UserMessage.pm,
        po/es.po, po/it.po, po/or.po, po/pl.po, po/ru.po, po/te.po,
        po/uk.po, po/zh_CN.po: Cleanup: replace 'print STDERR' with warn Also: * replace "warn(); exit();" with die() * Add fullstops to the ends of some error messages

2010-07-14  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: Documentation: Windows conversion procedure.

2010-07-14  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: Documentation: Cleanup virt-v2v.conf references
        and mention --network virt-v2v.conf is no longer required on the command line in most
        circumstances.  This change removes it from the command line in all
        examples.  This change also references an optional --network parameter in all
        examples, as this typically will be required.

2010-06-30  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: Update grub's device.map This patch updates device paths in grub's device.map.  Fixes RHBZ#609448

2010-06-30  Matthew Booth <mbooth@redhat.com>

        * augeas/README.txt, augeas/device_map.aug: Add new augeas directory
        with grub device.map lens Add a directory to contain required augeas lenses which aren't yet
        upstream.  Include a new lens for grub's device.map.

2010-06-23  elsupergomez <elsupergomez@fedoraproject.org>

        * po/es.po: l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-06-22  raven <raven@fedoraproject.org>

        * po/pl.po: l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-06-21  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V.pm: Bump version to 0.6.1

2010-06-21  Matthew Booth <mbooth@redhat.com>

        * po/es.po, po/it.po, po/or.po, po/pl.po, po/ru.po, po/te.po,
        po/uk.po, po/virt-v2v.pot, po/zh_CN.po: po: Update translations

2010-06-18  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/Linux.pm,
        lib/Sys/VirtV2V/Converter/Windows.pm: Always use an i686 guest for
        i[345]86 detected guest architecture We detect a Windows guest with 32 bit userspace as i386. Ensure we
        look for a i686 kvm target in this case.  At the same time, ensure that i[45]86 Linux userspace will also use
        i686.  Fixes RHBZ#605593

2010-06-18  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection.pm,
        lib/Sys/VirtV2V/Connection/LibVirtXML.pm: Improve error message when
        LibvirtXML is given invalid domain XML If a user accidentally passed a valid XML document to the LibvirtXML
        which wasn't actually a libvirt domain XML document, they would end
        up getting obtuse errors from a libguestfs library. This change does
        2 sanity checks: 1. After parsing a the XML document, check /domain/name exists.  2. Check that the domain defines some storage The second check is generally useful, as we can't usefully do
        anything with a domain which has no storage.  Fixes RHBZ#601092

2010-06-18  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/RHEV.pm: RHEV: Fix typo in Windows version
        detection Typo meant major version was being reused as minor version,
        resulting in almost certain conversion failure.  Fixes RHBZ#596070

2010-06-17  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, lib/Sys/VirtV2V/Config.pm,
        lib/Sys/VirtV2V/GuestfsHandle.pm, v2v/virt-v2v.pl: Improve cleanup
        of libguestfs handle with Sys::VirtV2V::GuestfsHandle This change replaces all direct usage of a Sys::Guestfs object in
        virt-v2v with a Sys::VirtV2V::GuestfsHandle proxy object. The proxy
        does 3 things: * Holds handle initialisation code * Adds the ability to explicitly close the handle * Adds the ability to register a callback to be executed before
        close The cleanup code in Sys::VirtV2V::Config is updated to use the new
        callback mechanism.  Additionally, the initialisation code improves handling of failure
        while virt-v2v is running with uid:gid == 36:36. If cleanup handlers
        are called in this context they can fail due to insufficient
        permissions. If this code dies, permissions will be restored before
        the die is propagated. If this code receives a user signal it will
        be postponed until after the code has completed.  Fixes RHBZ#596071 and RHBZ#596015

2010-06-10  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/RHEV.pm: RHEV: Warn instead of die if
        rmtree dies during cleanup rmtree can die instead of returning failure under some
        circumstances. We don't want this to stop cleanup.

2010-06-10  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/RHEV.pm: RHEV: Fix broken error messages

2010-06-09  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: Fix cleanup of guest handle when installing with
        local files Change 13412f7629133b25fda32c35fdb0276e22de3445 caused Config to
        keep a reference to the guestfs handle in certain circumstances.
        This caused a regression in the cleanup code because the handle was
        no longer closed in close_guest_handle.  This change explicitly drops the reference to $config before closing
        the guest handle. It also localises $guestos, which also keeps a
        reference to the guestfs handle in an eval block.  Additional fix for RHBZ#596015

2010-06-09  Qixiang Wan <qwan@redhat.com>

        * lib/Sys/VirtV2V/Target/RHEV.pm: RHEV: Fix generation of OVF file Commit 0973765674abd773ad04a99ddfdff8e81693e1ff introduced a
        regression which caused the OVF file not to be generated when
        outputting to RHEV.  Fixes RHBZ#602067

2010-06-09  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: Fix cleanup if Ctrl-C kills guestfs qemu process If a user kills v2v with Ctrl-C during the conversion stage, there
        is a high likelihood that the qemu process will die before v2v
        cleanup completes. When this happens, the unmount_all and sync calls
        will fail. This causes all further cleanup to be aborted, which is
        undesirable.  Additional fix to RHBZ#596015

2010-05-26  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/RHEV.pm: RHEV: Populate guest OS type
        correctly Fixes RHBZ#596070

2010-05-25  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/LibVirt.pm,
        lib/Sys/VirtV2V/Target/RHEV.pm, v2v/virt-v2v.pl: Target: Pass os
        description to create_guest This will allow use of raw data from os description in addition to
        libvirt XML when writing guest output.

2010-06-08  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/RHEV.pm: RHEV: Cleanup volumes on unclean
        shutdown Currently image files will be left on the export domain if a
        conversion fails.  It isn't possible to delete these through the
        RHEV UI, requiring an administrator to clean them up manually.  This change causes images to be written to a temporary directory on
        the export domain, and moved to the correct location immediately
        before writing the OVF file. It also removes this temporary
        directory automatically on unclean shutdown. This means that a
        failed conversion shouldn't leave anything on the export domain.
        Even if it does, for example because of a power failure, the
        temporary files are clearly separated in their own directory.  Fixes RHBZ#596071

2010-06-08  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/RHEV.pm: RHEV: Minor cleanups on RHEV
        shutdown * Convert an error message to use warn * Ensure failure to cleanup the mount directory causes non-zero exit
        status

2010-06-08  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: Fix RHEV cleanup on unclean shutdown Cleanup was not happening properly if a migration to RHEV was killed
        prematurely with a Ctrl-C. Firstly, the SIGINT and SIGQUIT handlers
        were not being registered early enough in virt-v2v.pl. Secondly, if
        Ctrl-C killed the guestfs qemu process first it would deliver a
        SIGPIPE to v2v, which caused an unclean shutdown without cleanup.  Fixes RHBZ#596015

2010-06-07  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Transfer/ESX.pm: ESX: Fix storage URL if storage
        has a snapshot If an ESX guest has a snapshot, the path the libvirt driver gives us
        will look like:   [yellow:storage1] RHEL4-X/RHEL4-X-000003.vmdk instead of:   [yellow:storage1] RHEL4-X/RHEL4-X.vmdk The current path mangling
        code does take this into account.  This change makes it try the original name first, but try again
        after removing a '-\d+' suffix if it gets a 404. Trying twice should
        make it continue to work in the event that a local naming scheme
        matches the suffix used for snapshots.  Ideally we would be able to
        get this information from the libvirt driver, but it's not
        implemented yet.  Fixes RHBZ#600220

2010-06-07  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Transfer/ESX.pm: ESX: Always validate SSL
        certificate Since fetching storage from ESX was split into separate HEAD and GET
        requests, the SSL certificate has only been validated on the HEAD
        request. It should be validated on both.  Fixes RHBZ#601180

2010-06-01  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/RHEV.pm: RHEV: Fix error message

2010-06-01  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/RHEV.pm: RHEV: Pad disk sizes up to a
        multiple of 1024 bytes Fixes RHBZ#585144

2010-06-01  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/RHEV.pm: RHEV: OVF must have the same name
        as the OS UUID
        ovf:Envelope/Content/Section[xsi:type='ovf:OperatingSystemSection_Type']/@ovf:idis actually the canonical UUID of the guest, and must correspond to
        the filename. If it doesn't, the VM cannot be deleted from the
        export domain.  Fixes RHBZ#583536

2010-06-01  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: GuestOS: Fix error when install
        or upgrade list is empty

2010-05-28  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/Linux.pm: Fix copyright date

2010-05-28  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: GuestOS: Remove extra / in
        augeas path

2010-05-26  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/RHEV.pm: RHEV: Only mark the first disk as
        bootable RHEV will fail to start a guest with more than one VirtIO disk
        marked as bootable. The previous behaviour of V2V simply marked all
        disks as bootable, intending to follow the behaviour of libvirt's
        qemu driver. However, libvirt's qemu driver actually only marks the
        first disk specified in the domain XML (which may or may not be Xda)
        as bootable. This change updates the RHEV output to follow this.  Fixes RHBZ#595619

2010-05-26  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.conf: Remove Windows 7 viostor from config Windows 7 (version 6.1) doesn't require a different driver to
        Windows 2008 (version 6.0), Windows Vista (version 6.0) or Windows
        2008 R2 (version 6.1).  They're all version 6, so we can just match
        on that.

2010-05-26  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/Windows.pm: Windows: Display an error
        containing all missing when any are missing Fixes RHBZ#596238

2010-05-26  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Config.pm, lib/Sys/VirtV2V/Converter/Windows.pm,
        lib/Sys/VirtV2V/GuestOS/RedHat.pm: Fix error in Converter::Windows
        when there is no transfer iso The code for mounting the transfer iso in Converter::Windows didn't
        do the same level of error checking as the same code in
        GuestOS::RedHat. This change moves the GuestOS code into Config, and
        updates both GuestOS::RedHat and Converter::Windows to use Config.  Fixes RHBZ#596091

2010-05-21  logan <logan@fedoraproject.org>

        * po/es.po: l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-05-20  raven <raven@fedoraproject.org>

        * po/pl.po: l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-05-20  raven <raven@fedoraproject.org>

        * po/pl.po: l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-05-19  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V.pm: Bump version to 0.6.0

2010-05-19  Matthew Booth <mbooth@redhat.com>

        * po/es.po, po/it.po, po/or.po, po/pl.po, po/ru.po, po/te.po,
        po/uk.po, po/virt-v2v.pot, po/zh_CN.po: Update translations

2010-05-19  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: GuestOS: Improve error message
        for missing local files virt-v2v no longer dies if required files are missing. It continues
        until it discovers there is no bootable kernel. Change the error
        message to reflect this.

2010-05-19  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Config.pm, lib/Sys/VirtV2V/GuestOS/RedHat.pm:
        Don't attempt to mount the transfer iso if it wasn't created

2010-05-19  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/Windows.pm: Fix whitespace in
        Converter::Windows

2010-05-19  Matthew Booth <mbooth@redhat.com>

        * po/es.po, po/it.po, po/or.po, po/pl.po, po/ru.po, po/te.po,
        po/uk.po, po/virt-v2v.pot, po/zh_CN.po: Update translations

2010-05-19  Matthew Booth <mbooth@redhat.com>

        * po/POTFILES.in: po: Add Converter::Windows to POTFILES.in

2010-05-19  Matthew Booth <mbooth@redhat.com>

        * MANIFEST: Add missing files to MANIFEST

2010-05-19  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: Make config file default to /etc/virt-v2v.conf

2010-05-19  Matthew Booth <mbooth@redhat.com>

        * MANIFEST: Remove TODO from MANIFEST

2010-05-19  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.conf: Update selinux-policy-targeted on RHEL 5 guests
        if required

2010-05-19  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Config.pm, lib/Sys/VirtV2V/Converter/Linux.pm,
        lib/Sys/VirtV2V/GuestOS.pm, lib/Sys/VirtV2V/GuestOS/RedHat.pm,
        v2v/virt-v2v.conf, v2v/virt-v2v.conf.pod, v2v/virt-v2v.pl: Add
        capabilities Before RHN support was added, the only way to install software was
        by specifying it in the config file. To configure VirtIO support,
        Converter::Linux called add_kernel(). We setup the config file such
        that the kernel version in there supported VirtIO, and everything
        else which needed to be installed was a dependency of the kernel.
        This meant that the RHN support had no good way to determine from
        configuration what needed to be installed, and at what versions.  Capabilities describe a set of requirements for a feature, which
        means they can be used cleanly for both RHN support, and
        installation from local sources. They will also allow VirtIO to be
        configured in RHEL 3 guests by installing the kmod-virtio package
        rather than a new kernel, and are intended to be usable for
        installing spice.  This change principally adds install_capability to GuestOS::RedHat,
        replacing add_kernel. It also adds a new function,
        install_good_kernel, which will specifically attempt to install a
        bootable kernel from any source. It also refactors the RHN support
        to make it usable by both these functions, and adds additional error
        checking.

2010-05-19  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/Linux.pm: Converter::Linux: Don't pass
        $virtio to _configure_display_driver

2010-05-19  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Config.pm: Config: Move matching code into
        _match_element and update match_app to use it

2010-05-19  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: GuestOS: Don't error if initrd
        doesn't exist before running mkinitrd

2010-05-19  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: GuestOS: Add _evr_cmp, and
        update _newer_installed to use it

2010-05-19  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS.pm, lib/Sys/VirtV2V/GuestOS/RedHat.pm:
        GuestOS: Remove unused add_application function

2010-05-17  Milan Zazrivec <mzazrivec@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: Use up2date / yum to retrieve
        replacement packages During the conversion process, use up2date or yum to download
        appropriate kernel package and its dependencies from Red Hat Network
        or previously setup repositories.  Install matching kernel version whenever possible, latest kernel
        version otherwise.  _discover_kernel routine has been extended to return version-release
        of the default kernel found.

2010-05-18  logan <logan@fedoraproject.org>

        * po/es.po: l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-05-18  Amos Benari <abenari@redhat.com>

        * lib/Sys/VirtV2V/Converter/Windows.pm, v2v/virt-v2v.conf: Fix
        initial version of Windows pre-convert module.

2010-05-07  Richard Jones <rjones@redhat.com>

        * lib/Sys/VirtV2V/Converter/Windows.pm, v2v/virt-v2v.conf:
        Pre-convert Windows guests.

2010-05-18  Richard Jones <rjones@redhat.com>

        * TODO: Remove obsolete old TODO file, replaced by TODO.txt.

2010-05-18  Matthew Booth <mbooth@redhat.com>

        * TODO.txt: Add a TODO file

2010-05-14  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V.pm: Bump version to 0.5.4

2010-05-14  Matthew Booth <mbooth@redhat.com>

        * po/es.po, po/it.po, po/or.po, po/pl.po, po/ru.po, po/te.po,
        po/uk.po, po/virt-v2v.pot, po/zh_CN.po: Update translations

2010-05-13  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: Rely on new augeas lens for
        modules.conf and conf.modules We were previously forcing the augeas Modprobe lens to match
        modules.conf and conf.modules. It turns out that the contents of
        these files are quite different to modprobe.conf, requiring a new
        lens.  This change keeps the logic which looks for where modules should go,
        but doesn't update the augeas configuration. If there is no augeas
        lens for /etc/modules.conf, any attempt to parse or modify it will
        fail.

2010-05-13  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.conf: virt-v2v.conf: Update example config with new
        os attribute

2010-05-13  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/Linux.pm,
        lib/Sys/VirtV2V/GuestOS/RedHat.pm: Fix import of RHEL 3 kvm guests
        using kmod-virtio RHEL 3 doesn't have a dynamic /dev. kmod-virtio creates devices
        nodes for vdX block devices based on what the major number of
        virtblk was at the time it was installed. This is, in turn, based on
        the order the modules were loaded in initrd.  To try to preserve this precarious state of affairs, when adding
        virtio drivers to a new initrd we always load the same drivers as
        kmod-virtio in the same order.

2010-05-13  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: Improve augeas error reporting Add a function to display more complete augeas errors if they occur.
        Update all uses of augeas in GuestOS::RedHat to use it for error
        reporting.

2010-05-11  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: GuestOS: Delete blkid.tab if
        it's present

2010-05-11  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: GuestOS: Update XF86Config or
        xorg.conf as appropriate RHEL 3 has XF86Config instead of xorg.conf. The configs are
        sufficiently similar to be matched by the same augeas lens, so
        switch based on whichever is present.

2010-05-11  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: Unconditionally reload augeas
        config after updating lens includes Fix a potential issue where conf.modules may not be loaded if grub
        wasn't updated.

2010-05-11  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Config.pm: Config: Fix network mapping lookup Fix a nested 'my' declaration in Config.pm which caused network
        mapping lookup to fail in perl 5.8, but (inexplicably) work in perl
        5.10.

2010-05-07  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: Check a grub kernel exists
        before selecting it Handle the case where grub refers to a kernel which doesn't exist by
        ignoring that kernel.

2010-05-07  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Config.pm: Config: Check timestamps on directories
        when rebuilding transfer iso We don't currently detect if a file with an old timestamp has been
        moved into a directory. This fixes that.

2010-05-06  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Config.pm, lib/Sys/VirtV2V/GuestOS/RedHat.pm: List
        all missing dependencies at once When a conversion requires a file from the config file which isn't
        present, we currently die and report which file was missing. If
        there are many missing dependencies, using this method to find them
        all would take multiple runs.  This change attempts to find all missing dependencies in the first
        run.

2010-05-07  Matthew Booth <mbooth@redhat.com>

        * : Merge remote branch 'fedora/master'

2010-05-06  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V.pm: Bump version to 0.5.3

2010-05-04  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter.pm: Converter: Don't die if we can't do
        guest-specific conversion We currently die with an error message if we can't find a Converter
        for a specific guest operating system. However, virt-v2v can still
        usefully transfer storage and metadata.  This change turns the error into a (lengthy) warning, and continues
        with metadata conversion if guest conversion isn't possible.

2010-05-04  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Config.pm, v2v/virt-v2v.pl: Config: Add --bridge
        and --network command line options This change allows a default network mapping to be specified on the
        command line which will be used if no mapping was found in the
        configuration file, or if no configuration file was specified.  This change makes it possible to convert all guests except Xen PV
        guests without a config file. Xen PV guests will require a config
        file to specify replacement kernels. Guests with an old kernel that
        don't support VirtIO still need the config file to enable VirtIO
        support.

2010-05-04  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Config.pm, lib/Sys/VirtV2V/Converter.pm,
        lib/Sys/VirtV2V/GuestOS.pm, lib/Sys/VirtV2V/GuestOS/RedHat.pm,
        v2v/virt-v2v.pl: Config: NFC: always create and pass round a Config
        object We previously wouldn't create a Config object if no config file was
        specified.  This change ensures that a Config object is always
        created, but will do nothing interesting if there is no config file.  Apart from being slightly cleaner, this allows information provided
        by Config to be later supplied from the command line instead.

2010-05-06  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/LibVirt.pm: Fix error message formatting.

2010-05-06  Richard Jones <rjones@redhat.com>

        * lib/Sys/VirtV2V/Converter.pm: Pass config handle through to
        converter modules.

2010-05-05  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: Fix default kernel package name Don't set the default kernel package name in a loop which could
        feasibly not execute.

2010-05-04  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Config.pm: Config: Don't require all referenced
        software to be available Currently virt-v2v attempts to create an iso containing all software
        referenced in the config file before starting. If any software isn't
        available it displays an error and exits immediately.  With this change it will ignore software which isn't available at
        iso creation time. Instead, it will only display an error if the
        unavailable software is actually required. This is much kinder to
        the casual user using the default configuration file.

2010-05-04  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/LibVirt.pm: LibVirt: Add missing 'use
        Locale::TextDomain'

2010-04-29  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V.pm: Bump release to 0.5.2

2010-04-29  Matthew Booth <mbooth@redhat.com>

        * po/es.po, po/it.po, po/or.po, po/pl.po, po/ru.po, po/te.po,
        po/uk.po, po/virt-v2v.pot, po/zh_CN.po: po: Update translations

2010-04-29  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: GuestOS: Fix augeas grub
        configuration Augeas now configures the Grub lens for /boot/grub/menu.lst by
        default. The code which was checking this was broken in the case
        where there was more than 1 included path.  We now check if /boot/grub/menu.lst is included. If it is, we don't
        reload. If it isn't, we add it, but don't remove any other config
        first.  This fixes RHBZ#586822

2010-04-29  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Transfer/SSH.pm: SSH: Don't mix buffered reads
        with sysread SSH transfer contained a race due to use of buffered IO to read the
        initial size, followed by sysread() to read the data. If data was
        available for reading at the time the size was read, some of it
        would be consumed and buffered. It would subsequently not be
        available to sysread(), meaning it wasn't copied.  Fix by using buffered IO consistently.

2010-04-29  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Transfer/SSH.pm: SSH: Check for complete transfer
        of disk images

2010-04-29  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: GuestOS: Fix error when
        checking for rpm which isn't installed

2010-04-28  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Transfer/ESX.pm: ESX: Get volume size in a
        separate HEAD request We used to fetch the volume in a HEAD request. After receiving the
        header, which contains the content length, we created the target
        volume and opened it for writing before continuing to receive data.
        This created a problem if volume creation took long enough for the
        transfer to time out.  To fix this, we get the size first with a HEAD request. Create the
        volume, then do a second GET request to receive the data.  This fixes RHBZ#586816

2010-04-28  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Transfer/ESX.pm: ESX: Fix check that full volume
        was transfered The check of transferred size against expected size was done after
        returning the volume, so was never usefully happening.

2010-04-29  Matthew Booth <mbooth@redhat.com>

        * : Merge remote branch 'fedora/master'

2010-04-27  logan <logan@fedoraproject.org>

        * po/es.po: l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-04-26  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V.pm: Bump release to 0.5.1

2010-04-26  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: Fix syntax error in virt-v2v.pl! The mind boggles.

2010-04-26  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V.pm: Bump release to 0.5.0

2010-04-26  Matthew Booth <mbooth@redhat.com>

        * po/es.po, po/it.po, po/or.po, po/pl.po, po/ru.po, po/te.po,
        po/uk.po, po/virt-v2v.pot, po/zh_CN.po: po: Update translations

2010-04-26  Matthew Booth <mbooth@redhat.com>

        * po/POTFILES.in: po: Add missing files to POTFILES.in

2010-04-26  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/RHEV.pm, v2v/virt-v2v.pl: Fix virt-v2v exit
        codes If something die()s, the error status can get lost in cleanup when
        various child processes exit and overwrite $?. Specifically, the
        RHEV target uses a child process for NFS access, and libguestfs
        launches a qemu child process.  This change ensures that DESTROY and END blocks which perform
        operations on child processes explicitly preserve $?.  This fixes RHBZ#581421

2010-04-26  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.conf.pod: Whitespace fix

2010-04-23  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Config.pm, lib/Sys/VirtV2V/GuestOS/RedHat.pm,
        v2v/virt-v2v.conf, v2v/virt-v2v.conf.pod: Config: Change config to
        lookup dependencies by name Conversion would fail if it was necessary to install a package, and
        multiple architectures of that package were already installed. This
        was happening specifically with device-mapper on RHEL 5 conversions.  Unfortunately the flat dependency list in the config file didn't
        really allow this to be fixed. The best that could be done is to
        specify both i386 and x86_64 dependencies, but would mean attempted
        installation of the i386 version regardless of whether it was
        already installed. This would fail if the guest didn't have i386
        dependencies installed, for example glibc.  By making the dependency tree more explicit, we can not only more
        easily test for both i386 and x86_64 packages, but also more
        effectively prune what needs to be installed.  This fixes RHBZ#583008

2010-04-23  Matthew Booth <mbooth@redhat.com>

        * Build.PL: Add a po build target

2010-04-14  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: Workaround issue where grubby
        fails when run under libguestfs When installing kernel-2.6.18-128.el5 in a guest with
        kernel-xen-2.6.18-164.el5xen already installed, and 'root=LABEL=/'
        on the kernel command line, grubby fails to install a grub entry for
        the new kernel. It only fails when run under libguestfs. Installing
        in the original Xen guest works fine. The underlying cause appears
        to be related to blkid, although I haven't managed to pin it down
        exactly.  This change works around the issue. If virt-v2v encounters a problem
        with grub, it will install a new kernel entry itself using augeas.  Note that this change introduces a dependency on the new aug_clear
        libguestfs command.

2010-04-22  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Transfer/ESX.pm: ESX: Work with older
        LWP::UserAgent api Update ESX to work with newer and older LWP::UserAgent api.

2010-04-22  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: Try to load the loop module
        before running mkinitrd mkinitrd needs to mount files using loop. loop might be a module, so
        try to load it first.

2010-04-20  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/LibVirt.pm: Fix error message

2010-04-20  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Config.pm: Config: Improve warning message when no
        network mapping was given

2010-04-14  mvdz <mvdz@fedoraproject.org>

        * po/uk.po: l10n: Updates to Ukrainian (uk) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-04-14  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V.pm: Bump release to 0.4.10 Another interim release on the way to 0.5.0.

2010-04-14  Matthew Booth <mbooth@redhat.com>

        * Build.PL: build: Don't automatically update po prior to dist
        target This prevents the dist from ever being exactly what's in git

2010-04-14  Matthew Booth <mbooth@redhat.com>

        * po/es.po, po/it.po, po/or.po, po/pl.po, po/ru.po, po/te.po,
        po/uk.po, po/virt-v2v.pot, po/zh_CN.po: Update translations prior to
        release

2010-04-14  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/RHEV.pm: Change the date format used in
        RHEV OVF output Date formats were previously undefined in RHEV's OVF output. They
        are now defined as: 'yyyy/mm/dd hh:mm:ss'.  This change updates dates output by virt-v2v to use the new format.

2010-04-12  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter.pm, lib/Sys/VirtV2V/Converter/Linux.pm:
        Converter: Update xvc0 console to ttyS0 This change updates a guest which uses Xen's xvc0 to use ttyS0
        instead. In a related change, it also makes a console a 'standard
        device' will always be configured.  This fixes RHBZ#580501

2010-04-12  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter.pm, lib/Sys/VirtV2V/Converter/Linux.pm,
        lib/Sys/VirtV2V/GuestOS.pm, lib/Sys/VirtV2V/GuestOS/RedHat.pm,
        v2v/virt-v2v.pl: Pass the libguestfs handle directly to Converter Another step towards removing GuestOS. The converter needs the
        libguestfs handle directly to do everything which GuestOS currently
        does.

2010-04-07  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/RHEV.pm: RHEV: Mark all disks as bootable

2010-04-09  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, lib/Sys/VirtV2V/Connection.pm,
        lib/Sys/VirtV2V/Connection/LibVirt.pm,
        lib/Sys/VirtV2V/Transfer/SSH.pm, v2v/virt-v2v.pl: Add SSH transfer
        method Support obtaining guest storage over ssh. The following now works: virt-v2v -f v2v/virt-v2v.conf -ic 'xen+ssh://xen.example.com/system'
                 \ -op transfer rhel54pv64

2010-04-09  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter.pm: Converter: Fix error when no network
        mapping is specified

2010-04-09  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: documentation: Add note that libvirt 0.7.0 is
        required for ESX

2010-04-09  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Transfer/ESX.pm: NFC whitespace tidy up

2010-04-08  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, lib/Sys/VirtV2V/Config.pm,
        lib/Sys/VirtV2V/Converter.pm, lib/Sys/VirtV2V/GuestOS.pm,
        lib/Sys/VirtV2V/GuestOS/RedHat.pm, v2v/virt-v2v.pl: Move all
        interaction with the config file into Sys::VirtV2V::Config This removes another chunk of functionality from GuestOS.

2010-02-16  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: Documentation: Add BUGS section to virt-v2v man
        page

2010-04-06  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/RHEV.pm: RHEV: Use uuidgen instead of
        /proc/sys/kernel/random/uuid

2010-04-07  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: v2v: Fix error on exit unmounting transfer ISO If the transfer iso was mounted during conversion, virt-v2v would
        always give the following error on shutdown:     (in cleanup) umount: /tmp/transferb7icam: umount:     /sysroot/tmp/transferb7icam: not found at     /home/mbooth/src/virt-v2v/blib/lib/Sys/VirtV2V/GuestOS/RedHat.pm
            line 1171.  This was because the GuestOS::RedHat cleanup was being called
        implicitly on exit, which is after umount_all has been called
        explicitly on the libguestfs handle.  This change garbage collects
        the guestos explicitly before the libguestfs handle.

2010-04-07  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/LibVirt.pm: Target::LibVirt: Don't truncate
        a volume when opening it perl's '>' open mode truncates by default, and will create a new
        file if necessary. We don't want to truncate an existing volume when
        writing to it, and it's an error if the volume doesn't already
        exist. Use sysopen to be explicit about this.

2010-04-07  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection.pm: Connection: Handle case of cdrom
        with no <source> element CD-ROM devices don't necessarily have a <source> element in their
        libvirt domain XML, which caused an error.  This fixes RHBZ#579676

2010-04-06  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/RHEV.pm: RHEV: Use dd and direct io to
        write to NFS I've been experiencing severe stability issues writing large amounts
        of data to an NFS export (I have never successfully written 8GB of
        data without having to reboot my machine). This patch alleviates the
        problem. I have successfully exported an 8GB disk with this patch in
        place.

2010-04-06  raven <raven@fedoraproject.org>

        * po/pl.po: l10n: Updates to Polish (pl) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-04-06  Matthew Booth <mbooth@redhat.com>

        * po/es.po: po: Fix whitespace issues

2010-04-06  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Transfer/LocalCopy.pm: LocalCopy: Use blockdev to
        get the size of block devices LocalCopy was previously only using stat to determine the size of a
        source disk.  If that source disk was a block device it would return
        4k. Amongst other problems, this resulted in disks which would not
        import into RHEV.

2010-04-06  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: documentation: Add a specific note on the
        required permissions of .netrc Bad permissions on .netrc will cause virt-v2v to fail, but there is
        was manual note of what they should be.

2010-04-06  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/RHEV.pm: RHEV: Remove debugging print
        statements

2010-04-06  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: documentation: Add note about SELinux autorelabel

2010-04-06  elsupergomez <elsupergomez@fedoraproject.org>

        * po/es.po: l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-04-06  elsupergomez <elsupergomez@fedoraproject.org>

        * po/es.po: l10n: Updates to Spanish (Castilian) (es) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-04-01  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V.pm: Bump release to 0.4.9

2010-04-01  Matthew Booth <mbooth@redhat.com>

        * po/es.po, po/it.po, po/or.po, po/pl.po, po/ru.po, po/te.po,
        po/uk.po, po/virt-v2v.pot, po/zh_CN.po: po: Update translations

2010-04-01  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm, v2v/virt-v2v.pl: Don't try to
        load guest's SELinux policy On RHEL 5, attempting to load a RHEL 4 SELinux policy hangs for a
        long time, then dies. This change removes the attempt to load the
        policy and instead just touches /.autorelabel to cause the guest to
        relabel itself on next boot.

2010-04-01  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/LibVirt.pm: Target::LibVirt: Don't die on
        error checking for existing volume RHEL 5 generates an unexpected error when checking for existence of
        a volume in a pool. This is untidy, but innocuous, so change the
        error into a warning.

2010-04-01  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/LibVirt.pm: Add missing 'use
        Sys::VirtV2V::UserMessage' in Target::LibVirt

2010-04-01  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/LibVirt.pm,
        lib/Sys/VirtV2V/Connection/LibVirtXML.pm,
        lib/Sys/VirtV2V/GuestOS/RedHat.pm, lib/Sys/VirtV2V/Transfer/ESX.pm:
        Change module inheritance syntax For some reason, perl 5.8.8 as shipped with RHEL 5 doesn't like: our @ISA = ("Some::Module"); in certain circumstances. This change updates all uses of @ISA to
        something which does work.

2010-04-01  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.conf: Comment out all network mappings in example
        config This change means that anybody using the example configuration
        unmodified will always receive a warning about a missing network
        mapping. They can uncomment one of the 2 example sections, or
        implement a more complex scheme as required.

2010-04-01  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Target/RHEV.pm: RHEV: Add ovf:disk-interface to
        <Disk> in OVF output Add the new ovf:disk-interface element, which specifies what bus a
        disk uses.

2010-03-31  Matthew Booth <mbooth@redhat.com>

        * Build.PL, MANIFEST, lib/Sys/VirtV2V.pm,
        lib/Sys/VirtV2V/Connection.pm, po/POTFILES.in,
        snapshot/run-snapshot-locally, snapshot/v2v-snapshot.pl: Remove
        v2v-snapshot We now always copy a guest during conversion, meaning this tool is
        no longer required.

2010-03-31  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: Documentation: Update virt-v2v pod for RHEV
        export and IDE default

2010-03-31  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter.pm, lib/Sys/VirtV2V/Converter/Linux.pm,
        lib/Sys/VirtV2V/GuestOS/RedHat.pm: Default to IDE when VirtIO isn't
        available Previously we used SCSI when VirtIO wasn't available. KVM's SCSI
        support is not as mature as its IDE support, and SCSI isn't
        supported at all in RHEV.

2010-03-31  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, lib/Sys/VirtV2V/Connection.pm,
        lib/Sys/VirtV2V/Connection/LibVirt.pm,
        lib/Sys/VirtV2V/Connection/LibVirtXML.pm,
        lib/Sys/VirtV2V/Target/LibVirt.pm, lib/Sys/VirtV2V/Transfer/ESX.pm,
        lib/Sys/VirtV2V/Transfer/LocalCopy.pm, v2v/virt-v2v.pl: Add
        LocalCopy transfer method to transfer local files to a target Also changes command line parsing to require a pool to be specified
        when using libvirt output, meaning storage will always be copied.

2010-03-31  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.conf: Add network mapping for libvirt 'default'
        network to example config

2010-03-26  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, lib/Sys/VirtV2V/Target/RHEV.pm, v2v/virt-v2v.conf,
        v2v/virt-v2v.pl: Add export to RHEV Allow guests to be written to a RHEV NFS export storage domain.  Add 'rhev' output method and -osd command-line option.  Example
        command line:  virt-v2v -f virt-v2v.conf -ic 'esx://yellow.rhev.marston/' \           -o rhev -osd blue:/export/export RHEL3-32 This will connect to an ESX server and write the guest 'RHEL3-32' to
        blue:/export/export, which is a pre-initialised RHEV export storage
        domain.

2010-03-22  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, lib/Sys/VirtV2V/Connection.pm,
        lib/Sys/VirtV2V/Converter.pm, lib/Sys/VirtV2V/Target/LibVirt.pm,
        lib/Sys/VirtV2V/Transfer/ESX.pm, po/POTFILES.in, v2v/virt-v2v.pl:
        Refactor guest and volume creation into
        Sys::VirtV2V::Target::LibVirt Move all target-specific functionality into its own module in
        preparation for output to RHEV.

2010-04-01  Matthew Booth <mbooth@redhat.com>

        * MANIFEST: Add Ukranian translation to MANIFEST

2010-03-31  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter.pm: Converter: next used where return
        needed

2010-03-22  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Transfer/ESX.pm: ESX: Enable verification of SSL
        certificates Fix a bug which would have prevented an SSL certification from ever
        being verified.

2010-03-22  Matthew Booth <mbooth@redhat.com>

        * po/PACKAGE: po: Integrate Ukranian translation

2010-03-19  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter.pm, lib/Sys/VirtV2V/Converter/Linux.pm:
        Converter: Guest converter doesn't require vmm handle Handle was being passed in, but was unused.

2010-03-22  mvdz <mvdz@fedoraproject.org>

        * po/uk.po: l10n: Added Ukrainian translation.  Transmitted-via: Transifex (translate.fedoraproject.org)

2010-03-14  igorbounov <igorbounov@fedoraproject.org>

        * po/ru.po: l10n: Updates to Russian (ru) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-03-13  igorbounov <igorbounov@fedoraproject.org>

        * po/ru.po: l10n: Updates to Russian (ru) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-03-13  igorbounov <igorbounov@fedoraproject.org>

        * po/ru.po: l10n: Updates to Russian (ru) translation Transmitted-via: Transifex (translate.fedoraproject.org)

2010-03-08  Richard Jones <rjones@redhat.com>

        * v2v/virt-v2v.pl: Remove useless use of 'use_windows_registry'
        flag.  It was effectively doing this:   Sys::Guestfs::Lib::inspect_all_partitions (...,                       use_windows_registry => undef); That has no
        effect, and in any case I'm going to remove that flag from
        inspect_all_partitions in a future release of libguestfs.

2010-03-08  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/ExecHelper.pm: ExecHelper: Use tmpfile() instead
        of File::Temp->new() Building on EL-5 fails when the result of File::Temp->new() is
        passed to open3(). tmpfile() works consistently.

2010-03-08  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/ExecHelper.pm: ExecHelper: Code cleanup

2010-03-08  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, po/PACKAGE, po/fr.po: po: Remove French translation This was added without any customisation or translations. This
        causes build failures on EL-5.

2010-02-22  raven <raven@fedoraproject.org>

        * po/pl.po: Sending translation for Polish

2010-02-22  logan <logan@fedoraproject.org>

        * po/es.po: Sending translation for Spanish

2010-02-22  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V.pm: Bump version to 0.4.0

2010-02-04  Matthew Booth <mbooth@redhat.com>

        * po/es.po, po/fr.po, po/it.po, po/or.po, po/pl.po, po/ru.po,
        po/te.po, po/virt-v2v.pot, po/zh_CN.po: po: Update all translations In the po directory: * make pot * make update-po

2010-02-22  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter.pm, lib/Sys/VirtV2V/GuestOS.pm: Fix
        errors and warnings if no config file is specified

2010-02-19  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection.pm, lib/Sys/VirtV2V/Converter.pm,
        lib/Sys/VirtV2V/Converter/Linux.pm,
        lib/Sys/VirtV2V/GuestOS/RedHat.pm, v2v/virt-v2v.pl: Fix remapping of
        block devices We were assuming that guests wouldn't use multiple interfaces, or if
        they did, drive letters wouldn't clash between the interfaces. An
        ESX guest with a CDROM device breaks this because hard disks will be
        presented a SCSI, starting at sda, and CDROM devices are presented
        as IDE, starting at hda. This is in contrast to QEMU, which starts
        at hdc by default.  Firstly, this change causes disks and CDROM devices to be treated
        differently.  CDROM devices are changed to use IDE, regardless of
        what interface they were using before. This also limits the maximum
        number of CDROM devices in a guest to 4. CDROM devices after 4 will be dropped, and a warning emitted.  Secondly, it is smarter about renaming IDE and SCSI devices, which
        may be merged in the guest configuration.  Thirdly, it renames devices consistently based on the order they are
        listed in the domain XML.

2010-02-19  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: GuestOS: Always call aug_save()
        after aug_set() We call aug_load() in various places. This call explicitly throws
        away any unsaved changes in the tree. For safety, we should always
        call aug_save() after making changes to the tree. This change adds 2
        missing calls.

2010-02-16  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: GuestOS: Reload augeas after
        rpm installation and removal

2010-02-19  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: GuestOS: Remove spurious error
        check Factoring error meant an test for $@ was left where it shouldn't
        have been.

2010-02-18  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/Linux.pm: Converter: Remove argument
        checking from internal functions These checks found not to be useful.

2010-02-18  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: GuestOS: Handle the case where
        a module has been removed since inspection Removing VMwareTools will delete some modprobe entries entirely,
        which caused an error when calling update_kernel_module. This change
        handles that gracefully.

2010-02-18  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Transfer/ESX.pm: ESX: Look harder for potential
        transfer failures Although I can't reproduce, I seem to have had an incomplete
        transfer which wasn't picked up by the existing error handling. This
        change adds some more sanity checks: * Check for error on close() (should have been doing this anyway) * Check that the bytes received == reported content length

2010-02-16  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/Linux.pm: Converter: Fix virtio test for
        existing kernels The existing test on a pre-installed kernel wasn't dereferencing an
        array, meaning it never detected an existing kernel as virtio
        capable.

2010-02-16  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: GuestOS: Don't attempt to
        install an old kernel add_kernel was missing an _is_installed test for the kernel.

2010-02-16  Matthew Booth <mbooth@redhat.com>

        * Build.PL: Build: Make changelog action call git directly without
        Git module The changelog action needs to checkout git2cl as a submodule. For
        some reason, when called through the Git module,
        command('submodule', 'update') was doing something unfathomable, and
        different to just calling 'git submodule update'. As Git is just a
        command line wrapper anyway, I've sidestepped this by just calling
        the command directly.

2010-02-16  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection.pm: Connection: Fix incorrect method
        call syntax

2010-02-09  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter.pm: Converter: Remove disk driver
        elements other than 'qemu' QEMU only currently supports the qemu storage driver in libvirt.
        Remove any other driver element.

2010-02-12  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/Linux.pm: Converter: Explicitly preload
        sym53c8xx when running mkinitrd This is belt and braces, because we've already added it to
        scsi_hostadapter.

2010-02-12  Richard Jones <rjones@redhat.com>

        * v2v/virt-v2v.pl: Force appliance to use IDE interface.

2010-02-12  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm: GuestOS: Fix _is_installed to
        return 0 if the package isn't installed _is_installed was only checking if an existing package was newer
        than the target. If the package wasn't installed at all it was
        returning an error.

2010-02-11  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: Documentation: Update virt-v2v man page Correct example command lines Add references to ESX Add preparation
        steps for both ESX and Xen guests Remove reference to reged
        Additional minor cleanups

2010-02-12  Matthew Booth <mbooth@redhat.com>

        * MANIFEST: Build: Add or.po and te.po to MANIFEST

2010-02-11  Matthew Booth <mbooth@redhat.com>

        * Build.PL: Build: Update location of git repo in module info

2010-02-11  Matthew Booth <mbooth@redhat.com>

        * Build.PL: Build: Fix removal of .pl suffix from scripts during
        installation process_<foo>_files isn't defined to return anything. Checking its
        return returned a bogus value which meant processing halted before
        renaming.  Also removed all bogus return values from subclassed
        process_<foo>_files.

2010-02-11  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/LibVirt.pm,
        lib/Sys/VirtV2V/Connection/LibVirtXML.pm,
        lib/Sys/VirtV2V/Converter.pm, lib/Sys/VirtV2V/Converter/Linux.pm,
        lib/Sys/VirtV2V/ExecHelper.pm, lib/Sys/VirtV2V/GuestOS.pm,
        lib/Sys/VirtV2V/GuestOS/RedHat.pm, lib/Sys/VirtV2V/Transfer/ESX.pm:
        Documentation: Minor cleanups to module POD

2010-02-09  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS.pm, lib/Sys/VirtV2V/GuestOS/RedHat.pm,
        v2v/virt-v2v.pl: Fix application installation by GuestOS Rewrite the code to create the transfer ISO to use the new XML
        config file format, and move it out of GuestOS in to virt-v2v.pl

2010-02-09  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/LibVirtXML.pm: LibVirtXML: Fix errors
        introduced by 78f88208 dom and path weren't being stored in the newly constructed object.

2010-02-09  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: Try hard to clean up on unclean shutdown Set autosync on the libguestfs handle, install signal handlers for
        SIGINT and SIGQUIT which explicitly close the handle, and add an END
        { } block which closes the handle in virt-v2v.pl.  Note that these measures still don't work when the user kills
        virt-v2v with Ctrl-C. We suppose this is because qemu is also
        receiving the SIGINT and shutting down before it can be shut down
        cleanly by libguestfs. However, the above changes should improve
        matters if this can be fixed.

2010-02-03  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Connection/LibVirtXML.pm,
        lib/Sys/VirtV2V/Converter.pm, v2v/virt-v2v.conf,
        v2v/virt-v2v.conf.pod, v2v/virt-v2v.pl: Convert config file to XML,
        and translate networks/bridge for all connections Previously, only the LibVirtXML connection translated network and
        bridge names in imported metadata. This change moves this
        functionality in Converter, making it available to LibVirt
        connections as well.  At the same time, the format of the config file is switched to XML.
        The primary driver for this is that the allowable syntax of a
        foreign network/bridge name is not known. Rather than create a new
        format which deals with this, I have switched to an existing one.  Note that this change doesn't update GuestOS's use of the config
        file. Until this is restored it is not possible to install software
        in a guest, and therefore not possible to convert a PV xen guest.

2010-02-09  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: Use add_drive instead of add_cdrom for transfer
        iso image There's a current bug in libguestfs (RHBZ#563450) which means the
        order of devices returned by list-devices is unpredictable if there
        are a mix of drive types. Presenting the transfer iso as a hard disk
        rather than a cdrom drive works fine, and works around this issue.

2010-02-03  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter.pm: Converter: Prefer detected arch of
        OS if it's available A 32bit VMware guest will boot a 64bit OS. However, a 32bit KVM
        guest won't.  This means that if you accidentally selected a 32bit
        machine type at VM creation time on ESX, then installed a 64bit OS,
        chances are you won't notice until you convert it and it doesn't
        work any more. To get round this, we always use the detected
        architecture of the OS if it's available. This will mean that your
        32bit guest will become a 64bit guest if it has a 64bit OS on it.

2010-02-05  logan <logan@fedoraproject.org>

        * po/es.po: Sending translation for Spanish

2010-02-04  raven <raven@fedoraproject.org>

        * po/pl.po: Sending translation for Polish

2010-02-01  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter.pm: Converter: Configure default devices Add a set of default devices if they are not present. These are
        currently defined to be a ps2 mouse, tablet input and cirrus
        graphics.

2010-02-04  Matthew Booth <mbooth@redhat.com>

        * po/PACKAGE, po/POTFILES.in, po/es.po, po/fr.po, po/it.po,
        po/or.po, po/pl.po, po/ru.po, po/te.po, po/virt-v2v.pot,
        po/zh_CN.po: po: Update all translations In the po directory: * Added all translations to LINGUAS * Updated sources in POTFILES.in * make pot * make update-po * Manually changed {file} to {uri} for   ../lib/Sys/VirtV2V/Connection/LibVirt.pm:139 where it had been
          translated

2010-02-03  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter.pm: Converter: Fix formatting of error
        message

2010-02-01  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter.pm: Converter: Remove obsolete
        xen-specific configuration Don't update /domain/@type just for xen as it's always set
        explicitly to kvm.  Don't update /domain/devices/input/@bus as it's
        replaced by a default device.

2010-02-01  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter.pm: Converter: add default <features> if
        none are present Add ACPI if the guest and hypervisor support it.  Add APIC and PAE
        if the hypervisor supports it.

2010-02-01  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter.pm: Converter: NFC code cleanup Rename _configure_metadata to _convert_metadata

2010-02-01  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter/Linux.pm: Converter: Remove VMware tools
        if it is installed

2010-01-29  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, lib/Sys/VirtV2V/Connection.pm,
        lib/Sys/VirtV2V/Connection/LibVirt.pm,
        lib/Sys/VirtV2V/Connection/LibVirtXML.pm,
        lib/Sys/VirtV2V/Transfer/ESX.pm, v2v/virt-v2v.pl: ESX: Import guests
        from VMware's ESX server This change adds the ability to import a guest and its storage from
        VMware's ESX server using the LibVirt connection.  An example command line: virt-v2v -ic 'esx://yellow.marston/?no_verify=1' -op transfer
        RHEL5-64 This will import the guest RHEL5-64 from esx server yellow.marston,
        copying its storage to a local pool called transfer.  Sys::VirtV2V::Connection is refactored to be a superclass.
        Subclasses are now created explicitly by virt-v2v.pl rather than
        using a generic instantiate mechanism.  Sys::VirtV2V::Connection::LibVirt knows explicitly about ESX, and
        will use the new Sys::VirtV2V::Transfer::ESX to fetch its storage.  virt-v2v.pl is updated to reflect the other changes.

2010-01-20  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, lib/Sys/VirtV2V.pm, lib/Sys/VirtV2V/{MetadataReader.pm
        => Connection.pm}, lib/Sys/VirtV2V/{MetadataReader =>
        Connection}/LibVirt.pm, lib/Sys/VirtV2V/{MetadataReader =>
        Connection}/LibVirtXML.pm, po/POTFILES.in, po/es.po, po/fr.po,
        po/it.po, po/pl.po, po/ru.po, po/virt-v2v.pot, po/zh_CN.po,
        snapshot/v2v-snapshot.pl, v2v/virt-v2v.pl: Connection: Rename
        MetadataReader to Connection

2010-01-18  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/MetadataReader.pm,
        lib/Sys/VirtV2V/MetadataReader/LibVirt.pm,
        lib/Sys/VirtV2V/MetadataReader/LibVirtXML.pm, v2v/virt-v2v.pl:
        MetadataReader: Allow different libvirt connections for input and
        output Command line option changes: -s -> -f -c -> -ic -c, --connect now generates an error message.  New option -oc
        specifies output connection.

2010-02-01  mgiri <mgiri@fedoraproject.org>

        * po/or.po: Sending translation for po/or.po

2010-01-18  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/MetadataReader/LibVirt.pm: LibVirt: Fix typo in
        user message

2010-01-28  kkrothap <kkrothap@fedoraproject.org>

        * po/te.po: Sending translation for po/te.po

2010-01-26  Osier Yang <jyang@redhat.com>

        * v2v/virt-v2v.pl: Remove function wait_ready in virt-v2v.pl

2010-01-06  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter.pm: Converter: Fixes to Xen metadata
        conversion Specifically fixes the issue where <script path='vif-bridge'/> would
        be corrupted rather than removed properly. Makes metadata conversion
        less generic.

2009-12-21  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/Converter.pm, lib/Sys/VirtV2V/Converter/Linux.pm:
        Converter: Blacklist ACPI for RHEL 3 x86_64

2009-12-21  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, lib/Sys/VirtV2V/Converter.pm,
        lib/Sys/VirtV2V/Converter/Linux.pm, lib/Sys/VirtV2V/HVSource.pm,
        lib/Sys/VirtV2V/HVSource/Xen/Linux.pm: Converter: Move HVSource
        functionality into Converter Remove HVSource, moving it into Converter. This makes the Converter
        more like a 'big script'.  At the same time, separate metadata changes from guest changes.
        Metadata changes all move into Converter.pm. Guest changes move into
        Linux.pm.

2009-12-17  Matthew Booth <mbooth@redhat.com>

        * po/POTFILES.in, po/es.po, po/fr.po, po/it.po, po/pl.po, po/ru.po,
        po/virt-v2v.pot, po/zh_CN.po: po: Update translations for HVTarget
        -> Converter rename

2009-12-17  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, lib/Sys/VirtV2V.pm, lib/Sys/VirtV2V/{HVTarget.pm =>
        Converter.pm}, lib/Sys/VirtV2V/{HVTarget => Converter}/Linux.pm,
        lib/Sys/VirtV2V/HVSource.pm, v2v/virt-v2v.pl: Rename HVTarget ->
        Converter This is in preparation for a merge of HVSource and HVTarget.

2009-12-21  Matthew Booth <mbooth@redhat.com>

        * MANIFEST: po: Include fr.po in MANIFEST

2009-12-21  Matthew Booth <mbooth@redhat.com>

        * snapshot/v2v-snapshot.pl: snapshot: Explicitly remove unused disk
        source attribute This fixes a regression introduced by 9e3d1160. Snapshot was leaving
        both dev and file attributes specified. The result was that the v2v
        would actually operate on the underlying storage rather than the
        snapshot.

2009-12-17  Matthew Booth <mbooth@redhat.com>

        * snapshot/v2v-snapshot.pl: whitespace: Remove trailing whitespace
        in v2v-snapshot.pl

2009-12-16  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/HVTarget/Linux.pm: HVTarget: trivial NFC code
        cleanup

2009-12-16  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS.pm: GuestOS: Fix [aliases] not parsed
        unless [deps] is specified A cut/paste error in GuestOS.pm meant that aliases specified in the
        config file would be ignored unless the config file also had a
        [deps] section.

2009-12-15  Matthew Booth <mbooth@redhat.com>

        * snapshot/v2v-snapshot.pl: snapshot: Default to user directory if
        connection is qemu:///session For the special case that the connection is qemu:///session, default
        the datadir to ~/.virt-v2v.

2009-12-14  Matthew Booth <mbooth@redhat.com>

        * snapshot/v2v-snapshot.pl: snapshot: Don't modify DOM in
        _foreach_disk DOM was being modified in _foreach_disk, only because of what it was
        refactored from.

2009-12-11  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.conf.pod: documentation: Minor formatting improvement
        in virt-v2v.conf.pod

2009-12-11  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/HVTarget/Linux.pm: HVTarget: Fix warning message
        on unsupported hypervisor feature

2009-12-11  Matthew Booth <mbooth@redhat.com>

        * snapshot/v2v-snapshot.pl: snapshot: Cleanup created files on error
        during snapshot

2009-12-11  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: Remove unnecessary imports in virt-v2v.pl This removes the dependency on XML::Writer.

2009-12-11  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS.pm: GuestOS: replace genisofs with mkisofs mkisofs has been replaced by genisofs on newer distributions.
        However, the mkisofs alias is still there, meaning mkisofs works in
        more places.

2009-12-15  mrtom <mrtom@fedoraproject.org>

        * po/fr.po: Sending translation for po/fr.po

2009-12-10  leahliu <leahliu@fedoraproject.org>

        * po/zh_CN.po: Sending translation for Chinese (Simplified)

2009-12-01  Matthew Booth <mbooth@redhat.com>

        * snapshot/v2v-snapshot.pl: snapshot: only snapshot disks Not cd-rom devices, for example

2009-12-01  Matthew Booth <mbooth@redhat.com>

        * snapshot/v2v-snapshot.pl: snapshot: ensure snapshot and xml
        directories exist

2009-12-01  Matthew Booth <mbooth@redhat.com>

        * snapshot/v2v-snapshot.pl: snapshot: Replace -s and -x options with
        unified -d option Rather than making the user specify separate snapshot and xml
        storage directories, always have a data directory with 2
        subdirectories.

2009-12-01  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/MetadataReader/LibVirt.pm: snapshot: Check for
        SHUTOFF rather than SHUTDOWN state

2009-12-01  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/MetadataReader/LibVirt.pm: snapshot: Give guest's
        current state when refusing to snapshot it

2009-11-12  gguerrer <gguerrer@fedoraproject.org>

        * po/es.po: Sending translation for Spanish

2009-11-09  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V.pm: Bump version to 0.3.2

2009-11-09  Matthew Booth <mbooth@redhat.com>

        * : Merge commit 'fedora/master'

2009-11-09  Matthew Booth <mbooth@redhat.com>

        * Build.PL: build: Check return values everywhere Errors were being ignored if sub-commands failed. Specifically, make
        would fail if gettext isn't installed, but it would carry on
        regardless.

2009-11-09  raven <raven@fedoraproject.org>

        * po/pl.po: Sending translation for Polish

2009-11-09  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V.pm: Bump version to 0.3.0

2009-11-09  Matthew Booth <mbooth@redhat.com>

        * MANIFEST: po: Add it, ru and zh_CN to MANIFEST

2009-11-09  Matthew Booth <mbooth@redhat.com>

        * po/es.po, po/it.po, po/pl.po, po/ru.po, po/virt-v2v.pot,
        po/zh_CN.po: po: Remake master catalogue and merge po files

2009-11-09  Matthew Booth <mbooth@redhat.com>

        * po/PACKAGE: po: Integrate it and zh_CN

2009-10-30  guidograzioli <guidograzioli@fedoraproject.org>

        * po/it.po: Sending translation for po/it.po

2009-10-20  gguerrer <gguerrer@fedoraproject.org>

        * po/es.po: Sending translation for Spanish

2009-10-15  logan <logan@fedoraproject.org>

        * po/es.po: Sending translation for Spanish

2009-10-05  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/MetadataReader/LibVirt.pm: MetadataReader: Refuse
        to operate on a guest which isn't shutdown This addresses RHBZ#524268. virt-v2v and v2v-snapshot will at best
        do the wrong thing and at worst corrupt data if run against a
        running domain. This checks that if we read metadata direct from
        libvirt that the target guest isn't running.

2009-10-05  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/MetadataReader.pm,
        lib/Sys/VirtV2V/MetadataReader/LibVirt.pm,
        lib/Sys/VirtV2V/MetadataReader/LibVirtXML.pm,
        snapshot/v2v-snapshot.pl, v2v/virt-v2v.pl: MetadataReader: Combine
        initialisation into MetadataReader->instantiate()

2009-10-05  ypoyarko <ypoyarko@fedoraproject.org>

        * po/ru.po: Sending translation for Russian

2009-10-03  cyrushmh <cyrushmh@fedoraproject.org>

        * po/zh_CN.po: Sending translation for po/zh_CN.po

2009-10-01  raven <raven@fedoraproject.org>

        * po/pl.po: Sending translation for Polish

2009-10-01  Matthew Booth <mbooth@redhat.com>

        * snapshot/v2v-snapshot.pl: v2v-snapshot: Improve documentation Highlight that the tool is not a general purpose snapshotting tool.
        Add some examples.

2009-10-01  Matthew Booth <mbooth@redhat.com>

        * po/PACKAGE: po: Integrate Russian

2009-10-01  ypoyarko <ypoyarko@fedoraproject.org>

        * po/ru.po: Sending translation for Russian

2009-10-01  ypoyarko <ypoyarko@fedoraproject.org>

        * po/ru.po: Sending translation for po/ru.po

2009-09-30  Matthew Booth <mbooth@redhat.com>

        * po/es.po, po/pl.po, po/virt-v2v.pot: po: Update pot

2009-09-30  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, po/PACKAGE: po: Add pl and es translations

2009-09-30  Matthew Booth <mbooth@redhat.com>

        * snapshot/v2v-snapshot.pl: v2v-snapshot: Check volumes are snapshot
        volumes before deleting them This goes part-way to addressing RHBZ 524268. If v2v-snapshot is run
        against a live domain, the storage changes will not be effective
        until the domain is shut down. Running v2v-snapshot --rollback
        before the domain is shut down will find the original storage. It
        deletes it without checking it is a snapshot volume.  This change ensures that a volume is a snapshot volume before
        deleting it. It stops processessing if it is not.

2009-09-30  Matthew Booth <mbooth@redhat.com>

        * .gitignore, Build.PL, MANIFEST, lib/Sys/VirtV2V.pm,
        lib/Sys/VirtV2V/ExecHelper.pm, lib/Sys/VirtV2V/MetadataReader.pm,
        lib/Sys/VirtV2V/MetadataReader/LibVirt.pm,
        lib/Sys/VirtV2V/MetadataReader/LibVirtXML.pm, po/POTFILES.in,
        po/es.po, po/pl.po, po/virt-v2v.pot, snapshot/run-snapshot-locally,
        snapshot/{virt-snapshot.pl => v2v-snapshot.pl}, v2v/virt-v2v.pl:
        virt-snapshot: Rename virt-snapshot to v2v-snapshot virt-snapshot was deemed too confusing a name as it implies more
        general functionality than the tool provides. v2v-snapshot
        identifies the tool as being specifically for use with virt-v2v.  Along with renaming virt-snapshot, this change also moves
        virt-snapshot's default storage location from /var/lib/virt-snapshot
        to /var/lib/virt-v2v.

2009-09-30  Matthew Booth <mbooth@redhat.com>

        * snapshot/virt-snapshot.pl: virt-snapshot: Change the default
        snapshot directory to /var/lib/virt-v2v

2009-09-30  Matthew Booth <mbooth@redhat.com>

        * snapshot/virt-snapshot.pl: virt-snapshot: Make virt-snapshot
        honour --snapshotdir

2009-09-30  Matthew Booth <mbooth@redhat.com>

        * .gitignore, MANIFEST.SKIP: Build: Ignore .mo files

2009-09-30  Matthew Booth <mbooth@redhat.com>

        * .gitignore: Build: Add comments to .gitignore

2009-09-30  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, MANIFEST.SKIP: Build: Add MANIFEST.SKIP to the MANIFEST

2009-09-30  raven <raven@fedoraproject.org>

        * po/pl.po: Sending translation for po/pl.po

2009-09-30  beckerde <beckerde@fedoraproject.org>

        * po/es.po: Sending translation for po/es.po

2009-09-15  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V.pm: Bump version to 0.2.0

2009-09-15  Matthew Booth <mbooth@redhat.com>

        * TODO: TODO: Remove completed cleanup items

2009-09-15  Matthew Booth <mbooth@redhat.com>

        * Build.PL: build: Make test depend on distmeta Otherwise syntax test complains about missing files from the
        MANIFEST.

2009-09-15  Matthew Booth <mbooth@redhat.com>

        * Build.PL: build: Make changelog a dependency of distmeta ChangeLog is part of the distribution metadata, and should always be
        built with it.

2009-09-15  Matthew Booth <mbooth@redhat.com>

        * Build.PL: build: Make changelog target log that it ran

2009-09-15  Matthew Booth <mbooth@redhat.com>

        * po/virt-v2v.pot: po: Update virt-v2v.pot

2009-09-09  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/HVSource.pm,
        lib/Sys/VirtV2V/HVSource/Xen/Linux.pm: HVSource: Remove unused
        find_applications() method

2009-09-09  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/HVTarget/Linux.pm: HVTarget::Linux: Replace
        GuestOS->find_applications with GuestOS->unconfigure()

2009-09-09  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/HVSource.pm,
        lib/Sys/VirtV2V/HVSource/Xen/Linux.pm: HVSource: Add unconfigure()

2009-09-09  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS.pm, lib/Sys/VirtV2V/GuestOS/RedHat.pm:
        GuestOS: Add get_application_owner(file)

2009-09-09  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS.pm, lib/Sys/VirtV2V/GuestOS/RedHat.pm:
        GuestOS: Add get_handle() It turns out there are situations which defy high-level interfaces.
        For these, we just need the handle.

2009-09-08  Matthew Booth <mbooth@redhat.com>

        * .gitignore: .gitignore: Ignore files generated by pod2html

2009-09-08  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: pod: Improve html rendering of table in virt-v2v
        POD

2009-09-08  Matthew Booth <mbooth@redhat.com>

        * snapshot/virt-snapshot.pl, v2v/virt-v2v.pl: pod: Fix minor POD
        issues in virt-snapshot and virt-v2v

2009-09-07  Matthew Booth <mbooth@redhat.com>

        * po/virt-v2v.pot: po: Update virt-v2v.pot

2009-09-07  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: virt-v2v: Convert all user messages to use
        UserMessage

2009-09-07  Matthew Booth <mbooth@redhat.com>

        * snapshot/virt-snapshot.pl: virt-snapshot: Replace _user_msg with
        user_message

2009-09-07  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/MetadataReader/LibVirt.pm,
        lib/Sys/VirtV2V/MetadataReader/LibVirtXML.pm: MetadataReader: Cover
        all user messages to use UserMessage

2009-09-07  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/HVTarget/Linux.pm: HVTarget: Convert all user
        messages to use UserMessage

2009-09-07  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS.pm, lib/Sys/VirtV2V/GuestOS/RedHat.pm:
        GuestOS: Convert all user messages to use UserMessage

2009-09-07  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, lib/Sys/VirtV2V/UserMessage.pm: UserMessage: Add
        UserMessage for consistent error message output

2009-09-07  Matthew Booth <mbooth@redhat.com>

        * snapshot/virt-snapshot.pl: virt-snapshot: Use ExecHelper when
        executing qemu-img

2009-09-07  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS.pm: GuestOS: Use ExecHelper when executing
        genisofs

2009-09-07  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, lib/Sys/VirtV2V/ExecHelper.pm, t/004-ExecHelper.t:
        ExecHelper: Add ExecHelper for cleaner execution of external
        commands

2009-09-04  Matthew Booth <mbooth@redhat.com>

        * po/virt-v2v.pot: po: Update virt-v2v.pot

2009-09-04  Matthew Booth <mbooth@redhat.com>

        * snapshot/virt-snapshot.pl: virt-snapshot: Improve DESCRIPTION

2009-09-04  Matthew Booth <mbooth@redhat.com>

        * TODO: TODO: Add Documentation section to TODO

2009-09-04  Matthew Booth <mbooth@redhat.com>

        * snapshot/virt-snapshot.pl: virt-snapshot: Add missing return to
        _commit_guest Missing return meant modified guest metadata was never rewritten on
        commit.

2009-09-04  Matthew Booth <mbooth@redhat.com>

        * snapshot/virt-snapshot.pl: virt-snapshot: Fix error message when
        unable to find guest storage

2009-09-04  Matthew Booth <mbooth@redhat.com>

        * Build.PL: build: Make Build.PL compile when git isn't installed

2009-09-04  Matthew Booth <mbooth@redhat.com>

        * .gitignore, MANIFEST: build: Add ChangeLog to the manifest Kwalitee means having a ChangeLog. However, we don't track ChangeLog
        in VC cos that's a bit redundant.

2009-09-04  Matthew Booth <mbooth@redhat.com>

        * MANIFEST.SKIP: build: Fix exclusion of directories in
        MANIFEST.SKIP

2009-09-04  Matthew Booth <mbooth@redhat.com>

        * MANIFEST.SKIP: build: Exclude the expanded distribution directory
        from the distribution

2009-09-04  Matthew Booth <mbooth@redhat.com>

        * Build.PL: build: Add changelog target Use git2cl to automatically generate a ChangeLog. Do this
        automatically when building a distribution.

2009-09-04  Matthew Booth <mbooth@redhat.com>

        * .gitmodules, MANIFEST.SKIP, git2cl: build: Add git2cl as a git
        submodule

2009-09-04  Matthew Booth <mbooth@redhat.com>

        * TODO: TODO: Add cleanup items to TODO list

2009-09-04  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS.pm, lib/Sys/VirtV2V/GuestOS/RedHat.pm:
        pod: Fix POD coverage in Sys::VirtV2V::GuestOS

2009-09-04  Matthew Booth <mbooth@redhat.com>

        * MANIFEST, t/003-syntax.t: tests: Add syntax checking test Ensure all modules can be 'use'ed.  Ensure Build syntaxcheck passes.

2009-09-04  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/MetadataReader.pm,
        lib/Sys/VirtV2V/MetadataReader/LibVirt.pm,
        lib/Sys/VirtV2V/MetadataReader/LibVirtXML.pm: pod: Fix POD coverage
        in Sys::MetadataReader

2009-09-04  Matthew Booth <mbooth@redhat.com>

        * Build.PL: build: Make syntaxcheck return 1 on error

2009-09-03  Matthew Booth <mbooth@redhat.com>

        * MANIFEST: tests: Add tests to the manifest

2009-09-03  Matthew Booth <mbooth@redhat.com>

        * MANIFEST.SKIP: build: Exclude the distribution tarball from the
        manifest

2009-09-03  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/HVTarget.pm, lib/Sys/VirtV2V/HVTarget/Linux.pm:
        pod: Fix POD coverage in Sys::VirtV2V::HVTarget

2009-09-03  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/HVSource.pm,
        lib/Sys/VirtV2V/HVSource/Xen/Linux.pm: pod: Fix POD coverage in
        Sys::VirtV2V::HVSource

2009-09-03  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm, lib/Sys/VirtV2V/HVTarget.pm,
        lib/Sys/VirtV2V/MetadataReader.pm: pod: Fix POD errors reported by
        Test::Pod

2009-09-03  Matthew Booth <mbooth@redhat.com>

        * t/001-pod.t, t/002-pod-coverage.t: tests: Add Test::Pod and
        Test::Pod::Coverage

2009-09-03  Matthew Booth <mbooth@redhat.com>

        * Build.PL: build: Add additional metadata to META.yml

2009-09-03  Matthew Booth <mbooth@redhat.com>

        * Build.PL: build: Add syntaxcheck_exclude to allow files to be
        excluded from syntaxcheck Exclude COPYING, COPYING.LIB and README-NLS from syntax checking.

2009-09-03  Matthew Booth <mbooth@redhat.com>

        * Build.PL: build: Add check for indentation using tabs in
        syntaxcheck

2009-09-03  Matthew Booth <mbooth@redhat.com>

        * lib/Sys/VirtV2V/GuestOS/RedHat.pm, po/Makefile, po/PACKAGE,
        v2v/virt-v2v.conf.pod, v2v/virt-v2v.pl: whitespace: Fix all
        whitespace warnings reported by syntaxcheck

2009-09-03  Matthew Booth <mbooth@redhat.com>

        * Build.PL: build: Add syntaxcheck build target

2009-09-03  Matthew Booth <mbooth@redhat.com>

        * .gitignore: .gitignore: Fix exclusions which should be absolute

2009-09-03  Matthew Booth <mbooth@redhat.com>

        * .gitignore: .gitignore: Ignore MANIFEST.bak

2009-09-03  Matthew Booth <mbooth@redhat.com>

        * Build.PL: build: Add confdoc build element for man5

2009-09-03  Matthew Booth <mbooth@redhat.com>

        * Build.PL: build: Remove the .pl extension from installed scripts

2009-09-03  Matthew Booth <mbooth@redhat.com>

        * Build.PL: build: Integrate po build into Build.PL

2009-09-03  Matthew Booth <mbooth@redhat.com>

        * po/Makefile: po: Make locale installation directory configurable

2009-09-03  Matthew Booth <mbooth@redhat.com>

        * .gitignore, Build.PL, MANIFEST, MANIFEST.SKIP, Makefile.PL.in,
        Makefile.am, autogen.sh, configure.ac, lib/Sys/{VirtV2V.pm.in =>
        VirtV2V.pm}, snapshot/Makefile.am, v2v/Makefile.am: build: Replace
        autotools and ExtUtils::MakeMaker with Module::Build

2009-09-02  Matthew Booth <mbooth@redhat.com>

        * .gitignore, perl/Makefile.PL.in => Makefile.PL.in, Makefile.am,
        configure.ac, {perl/lib => lib}/Sys/VirtV2V.pm.in, {perl/lib =>
        lib}/Sys/VirtV2V/GuestOS.pm, {perl/lib =>
        lib}/Sys/VirtV2V/GuestOS/RedHat.pm, {perl/lib =>
        lib}/Sys/VirtV2V/HVSource.pm, {perl/lib =>
        lib}/Sys/VirtV2V/HVSource/Xen/Linux.pm, {perl/lib =>
        lib}/Sys/VirtV2V/HVTarget.pm, {perl/lib =>
        lib}/Sys/VirtV2V/HVTarget/Linux.pm, {perl/lib =>
        lib}/Sys/VirtV2V/MetadataReader.pm, {perl/lib =>
        lib}/Sys/VirtV2V/MetadataReader/LibVirt.pm, {perl/lib =>
        lib}/Sys/VirtV2V/MetadataReader/LibVirtXML.pm, perl/Makefile.am,
        po/POTFILES.in, po/virt-v2v.pot, snapshot/run-snapshot-locally,
        v2v/run-v2v-locally: build: Promote perl/ contents to top level Move perl/lib to lib/ Move associated infrastructure to top level
        Remove perl subdirectory

2009-09-02  Matthew Booth <mbooth@redhat.com>

        * .gitignore, configure.ac, perl/lib/Sys/VirtV2V.pm.in,
        snapshot/Makefile.am, snapshot/{virt-snapshot.pl.in =>
        virt-snapshot.pl}, v2v/Makefile.am, v2v/{virt-v2v.pl.in =>
        virt-v2v.pl}: build: Add Sys::VirtV2V to contain package metadata Update virt-v2v.pl and virt-snapshot.pl to use Sys::VirtV2V for
        version info

2009-09-02  Matthew Booth <mbooth@redhat.com>

        * COPYING, COPYING.LIB: Include COPYING and COPYING.LIB These were referenced, but not included.

2009-09-02  Matthew Booth <mbooth@redhat.com>

        * .gitignore, README-NLS, autogen.sh, configure.ac, po/LINGUAS,
        po/Makefile, po/PACKAGE, po/POTFILES.in, po/virt-v2v.pot,
        po/virtv2v.pot: po: Replace autopoint infrastructure with
        libintl-perl The autopoint generated make infrastructure doesn't handle perl.
        It's also unfathomably complicated. This patch replaces it with the
        much simpler infrastructure from the libintl-perl sample
        application. This also fixes the generation of virt-v2v.pot.

2009-09-02  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/VirtV2V/GuestOS/RedHat.pm: po: Fix
        internationalisation bug in GuestOS::RedHat

2009-09-02  Matthew Booth <mbooth@redhat.com>

        * augeas/README, augeas/xorg.aug: augeas: Remove augeas xorg lens This is no longer required as it is included upstream

2009-09-02  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/VirtV2V/GuestOS.pm, perl/lib/Sys/VirtV2V/HVTarget.pm:
        Remove usage of Module::Pluggable::Ordered This isn't available in EPEL (but Module::Pluggable is), and its
        additional functionality isn't required yet.

2009-09-01  Matthew Booth <mbooth@redhat.com>

        * snapshot/Makefile.am: build: Fix cut/paste error in installation
        of virt-snapshot

2009-09-01  Matthew Booth <mbooth@redhat.com>

        * snapshot/virt-snapshot.pl.in: virt-snapshot: Implement --rollback

2009-09-01  Matthew Booth <mbooth@redhat.com>

        * snapshot/virt-snapshot.pl.in: virt-snapshot: Keep a backup of
        domain XML when snapshotting Keep the original domain XML when creating a snapshot so it's
        available for a complete rollback. Delete it when committing the
        snapshot.

2009-09-01  Matthew Booth <mbooth@redhat.com>

        * snapshot/virt-snapshot.pl.in: virt-snapshot: cleanup return of
        _commit_guest and _snapshot_guest Ensure these functions return -1/0 on error/success respectively
        Move iteration over disks into mapping function

2009-09-01  Matthew Booth <mbooth@redhat.com>

        * snapshot/virt-snapshot.pl.in: virt-snapshot: Write domain to temp
        file on error Write the domain xml to a temporary file and return an error if we
        weren't able to create a domain and --outputxml wasn't specified.
        The error message includes the name of the temporary file. This
        avoids potential data loss in --rollback if we've already deleted
        the storage but can't restore the old domain.

2009-09-01  Matthew Booth <mbooth@redhat.com>

        * snapshot/virt-snapshot.pl.in, v2v/virt-v2v.pl.in: command line:
        Rename --format to --input and change default to 'libvirt' Change the command lines of virt-v2v and virt-snapshot to use
        --input for specifying the input domain format. Also change the
        default input format to 'libvirt' from 'libvirtxml'.

2009-08-28  Matthew Booth <mbooth@redhat.com>

        * snapshot/virt-snapshot.pl.in, v2v/virt-v2v.pl.in: error messages:
        cleanup pod2usage usage

2009-08-28  Matthew Booth <mbooth@redhat.com>

        * TODO, perl/lib/Sys/VirtV2V/MetadataReader/LibVirt.pm:
        MetadataReader: Add LibVirt backend

2009-08-28  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/VirtV2V/MetadataReader/LibVirtXML.pm: documentation:
        Update MetadataReader::LibVirtXML SEE ALSO

2009-08-28  Matthew Booth <mbooth@redhat.com>

        * snapshot/virt-snapshot.pl.in: virt-snapshot: delete snapshot after
        commit

2009-08-28  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/VirtV2V/MetadataReader.pm,
        perl/lib/Sys/VirtV2V/MetadataReader/LibVirtXML.pm,
        snapshot/virt-snapshot.pl.in, v2v/virt-v2v.pl.in: MetadataReader:
        add vmm argument to get_dom() This is in preparation for adding libvirt backend

2009-08-28  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/VirtV2V/Storage.pm,
        perl/lib/Sys/VirtV2V/Storage/QCOW2.pm, v2v/virt-v2v.pl.in: virt-v2v:
        Remove storage options virt-v2v's storage backends are replaced by external tools.

2009-08-28  Matthew Booth <mbooth@redhat.com>

        * .gitignore: housekeeping: Update .gitignore

2009-08-28  Matthew Booth <mbooth@redhat.com>

        * Makefile.am, configure.ac, snapshot/Makefile.am,
        snapshot/run-snapshot-locally, snapshot/virt-snapshot.pl.in:
        virt-snapshot: Initial commit

2009-08-25  Matthew Booth <mbooth@redhat.com>

        * configure.ac, v2v/{virt-v2v.pl => virt-v2v.pl.in}: libguestfs
        migration: Don't report libguestfs's version number

2009-08-25  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: libguestfs migration: Remove reference to reged
        in virt-v2v

2009-08-25  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: documentation: Remove POD for removed virt-v2v
        --output

2009-08-25  Matthew Booth <mbooth@redhat.com>

        * v2v/run-v2v-locally: documentation: Improve usage info in
        run-v2v-locally

2009-08-25  Matthew Booth <mbooth@redhat.com>

        * v2v/Makefile.am: documentation: Update titles of html man pages

2009-08-24  Matthew Booth <mbooth@redhat.com>

        * TODO, v2v/STATUS: Replace v2v/STATUS with an uptodate TODO file

2009-08-24  Matthew Booth <mbooth@redhat.com>

        * .gitignore, perl/lib/Sys/VirtV2V/GuestOS.pm, v2v/Makefile.am,
        v2v/virt-v2v.conf.pod, v2v/virt-v2v.pl: documentation: Fix
        virt-v2v.1 and add virt-v2v.conf.5

2009-08-24  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/VirtV2V/HVTarget/Linux.pm: whitespace: Add missing
        blank-line to HVTarget::Linux

2009-08-24  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.conf, v2v/virt-v2v.pl: virt-snapshot: hardcode the
        qcow2 storage backend in virt-v2v Hardcode qcow2 as the storage backend in preparation for
        virt-snapshot. It will be removed when virt-snapshot is in place,
        but for the moment it's just too useful.

2009-08-24  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: virt-v2v.pl: deconflict connect and config
        command line options As "connect|c=s" is used in many other virt tools, change the short
        form of --config to -s.

2009-08-21  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/VirtV2V/GuestOS.pm,
        perl/lib/Sys/VirtV2V/GuestOS/RedHat.pm,
        perl/lib/Sys/VirtV2V/HVSource/Xen/Linux.pm,
        perl/lib/Sys/VirtV2V/HVTarget.pm,
        perl/lib/Sys/VirtV2V/HVTarget/Linux.pm,
        perl/lib/Sys/VirtV2V/MetadataReader/LibVirtXML.pm,
        perl/lib/Sys/VirtV2V/Storage/QCOW2.pm, v2v/virt-v2v.pl: libguestfs
        migration: update Locale::TextDomain to 'virt-v2v'

2009-08-21  Matthew Booth <mbooth@redhat.com>

        * Makefile.am: make distcheck fixes: cleanup po/stamp-po

2009-08-21  Jim Meyering <meyering@redhat.com>

        * Makefile.am, perl/Makefile.am, v2v/Makefile.am: [no log message]

2009-08-21  Jim Meyering <meyering@redhat.com>

        * configure.ac: configure.ac: correct typo in package name * configure.ac (PACKAGE_NAME): It's virt-v2v, not virtv2v.

2009-08-21  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/VirtV2V/GuestOS/RedHat.pm: More libguestfs move
        cleanups Where a guest has a /etc/modprobe.d directory, create new entries in
        /etc/modprobe.d/virtv2v-added.conf

2009-08-21  Matthew Booth <mbooth@redhat.com>

        * configure.ac: Change release to 0.1.0 Release number was accidentally copied from libguestfs

2009-08-20  Matthew Booth <mbooth@redhat.com>

        * v2v/run-v2v-locally: Add additional quoting in run-v2v-locally for
        safety

2009-08-20  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/{Guestfs => VirtV2V}/GuestOS.pm,
        perl/lib/Sys/{Guestfs => VirtV2V}/GuestOS/RedHat.pm,
        perl/lib/Sys/{Guestfs => VirtV2V}/HVSource.pm,
        perl/lib/Sys/{Guestfs => VirtV2V}/HVSource/Xen/Linux.pm,
        perl/lib/Sys/{Guestfs => VirtV2V}/HVTarget.pm,
        perl/lib/Sys/{Guestfs => VirtV2V}/HVTarget/Linux.pm,
        perl/lib/Sys/{Guestfs => VirtV2V}/MetadataReader.pm,
        perl/lib/Sys/{Guestfs => VirtV2V}/MetadataReader/LibVirtXML.pm,
        perl/lib/Sys/{Guestfs => VirtV2V}/Storage.pm, perl/lib/Sys/{Guestfs
        => VirtV2V}/Storage/QCOW2.pm, v2v/virt-v2v.pl: Move perl modules
        into Sys::VirtV2V

2009-08-20  Jim Meyering <meyering@redhat.com>

        * configure.ac, perl/{Makefile.PL => Makefile.PL.in},
        v2v/Makefile.am: make most of "make distcheck" pass

2009-08-20  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/HVTarget.pm,
        perl/lib/Sys/Guestfs/HVTarget/Linux.pm, v2v/virt-v2v.pl: Don't
        change a guest's name during migration virt-v2v is becoming a tool which overwrites an existing guest. It
        will rely on other tools to copy/snapshot a guest if required.

2009-08-19  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS.pm: Update GuestOS POD to reflect
        change to config file Also add Aliases section

2009-08-19  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS.pm: Fix POD errors in
        Sys::Guestfs::GuestOS

2009-08-19  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/HVTarget/Linux.pm: Don't lookup the default
        kernel if it's already set

2009-08-19  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/HVTarget/Linux.pm: Give a better error
        message when there are no bootable kernels

2009-08-19  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: Don't die if no config is passed to virt-v2v

2009-08-19  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/HVTarget/Linux.pm: Un-hardcode machine
        architecture in metadata from virt-v2v

2009-08-19  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS.pm,
        perl/lib/Sys/Guestfs/GuestOS/RedHat.pm,
        perl/lib/Sys/Guestfs/HVTarget/Linux.pm: Try harder to use the
        default kernel if no new kernel is being installed.

2009-08-19  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS/RedHat.pm: Fix missing /dev/ from the
        beginning of remapped block devices

2009-08-19  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS/RedHat.pm: Fix block device remapping
        in GuestOS::RedHat

2009-08-18  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/HVTarget/Linux.pm: Add some argument checking
        in HVTarget::Linux

2009-08-18  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS.pm,
        perl/lib/Sys/Guestfs/GuestOS/RedHat.pm,
        perl/lib/Sys/Guestfs/HVTarget/Linux.pm: Fall back to not configuring
        virtio if it's not available If no virtio drivers can be found for the target guest, configure it
        with a scsi disk and an e1000 nic instead.

2009-08-18  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/HVTarget/Linux.pm: Fix removal of old kernels
        in HVTarget::Linux

2009-08-18  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/HVSource/Xen/Linux.pm: Implement
        HVSource::Xen::Linux->find_kernels

2009-08-18  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/HVTarget/Linux.pm: Always add an explicit
        scsi_hostadapter when doing v2v Older mkinitrd (RHEL 4) isn't clever enough to work out
        automatically that virtio is required for the root filesystem, and
        needs it to be listed explicitly in the modprobe config. This fixes
        RHEL 4 and doesn't hurt for anything else.

2009-08-18  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS/RedHat.pm: Explicitly modprobe ext2
        before mkinitrd mount on RHEL 3 isn't clever about ensuring the appropriate module
        is loaded for the filesystem it's trying to mount. mkinitrd on RHEL
        3 uses mount, and fails because ext2 isn't loaded. To work round
        this, we explicitly load ext2 before running mkinitrd. This makes
        RHEL 3 work, and doesn't hurt anything else.

2009-08-18  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS/RedHat.pm: Fix
        GuestOS::RedHat->enable_kernel_module It was using the wrong augeas path

2009-08-18  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS/RedHat.pm: Fix
        GuestOS::RedHat->remove_kernel

2009-08-18  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS/RedHat.pm: Fix loading of grub
        configuration in GuestOS::RedHat Augeas wasn't correctly reading /boot/grub/grub.conf because it was
        also reading it from /etc/grub.conf, and it doesn't like aliasing.  At the same time, change this to use /boot/grub/menu.lst, which
        works on both Red Hat and Debian systems.

2009-08-18  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.conf: Add configuration for x86_64 RHEL5.3 virt-v2v

2009-08-18  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: Exit immediately if we couldn't get the guest
        metadata

2009-08-14  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.conf: Add configuration to migrate RHEL 4 x86_64

2009-08-14  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS/RedHat.pm: Try harder to load an
        SELinux policy on RHEL 4

2009-08-14  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/HVSource/Xen/Linux.pm: Remove xen specific
        <emulator> from guest XML

2009-08-14  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS.pm,
        perl/lib/Sys/Guestfs/GuestOS/RedHat.pm, v2v/virt-v2v.conf: Add the
        [aliases] virt-v2v configuration section

2009-08-14  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS.pm: Don't pass duplicate filenames to
        genisofs

2009-08-14  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS.pm,
        perl/lib/Sys/Guestfs/MetadataReader.pm,
        perl/lib/Sys/Guestfs/MetadataReader/LibVirtXML.pm,
        perl/lib/Sys/Guestfs/Storage.pm,
        perl/lib/Sys/Guestfs/Storage/QCOW2.pm, v2v/virt-v2v.conf,
        v2v/virt-v2v.pl: Move module configuration into a configuration file
        from the command line

2009-08-14  Matthew Booth <mbooth@redhat.com>

        * v2v/STATUS: Remove dependency resolution from virt-v2v TODO list

2009-08-13  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS/RedHat.pm, v2v/virt-v2v.pl: Load the
        guest's SELinux policy before modifying it This change makes most filesystem labelling work automatically when
        modifying the guest. However as we don't change the context of the
        daemon, there may still be some corner cases where files are
        mislabelled.

2009-08-13  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS/RedHat.pm: Move GuestOS::RedHat
        augeas initialisation into its own function

2009-08-13  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS.pm,
        perl/lib/Sys/Guestfs/GuestOS/RedHat.pm: Add POD for
        Sys::Guestfs::GuestOS and Sys::Guestfs::GuestOS::RedHat

2009-08-11  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS.pm,
        perl/lib/Sys/Guestfs/GuestOS/RedHat.pm, v2v/virt-v2v.pl: Add the
        ability to specify package dependencies, and have them installed This change the command line argument --with-file to be --file, and
        adds the new command line argument --dep.  e.g. virt-v2v --file rhel.5.i686.kernel=<kernel.rpm> \               --file rhel.5.i386.ecryptfs-utils=<ecryptfs-utils.rpm>
                      \ --dep rhel.5.i686.kernel="ecryptfs-utils other-dep"

2009-08-07  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS/RedHat.pm, v2v/STATUS: Use
        automatically detected architectures for kernel and userspace

2009-08-06  Matthew Booth <mbooth@redhat.com>

        * v2v/virt-v2v.pl: Use an iso rather than a squashfs for data
        transfer to a guest

2009-08-03  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/HVSource.pm,
        perl/lib/Sys/Guestfs/HVTarget/Linux.pm: Whitespace fix in
        HVSource.pm and HVTarget/Linux.pm

2009-07-31  Matthew Booth <mbooth@redhat.com>

        * augeas/README, augeas/xorg.aug,
        perl/lib/Sys/Guestfs/GuestOS/RedHat.pm,
        perl/lib/Sys/Guestfs/HVTarget/Linux.pm: Automatically update the
        display driver during v2v

2009-07-31  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS/RedHat.pm: Prefix non-exported
        methods with _

2009-07-31  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS/RedHat.pm,
        perl/lib/Sys/Guestfs/HVSource.pm,
        perl/lib/Sys/Guestfs/HVSource/Xen/Linux.pm,
        perl/lib/Sys/Guestfs/HVTarget/Linux.pm: Rename drivers to kernel
        modules in GuestOS The reasoning behind referring to 'drivers' rather than 'kernel
        modules' in the GuestOS api was to keep it generic across other OSs.
        However, Linux also has display drivers, which aren't kernel
        modules. It turned out that this just gets confusing, so this patch
        calls them what they are.

2009-07-29  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/MetadataReader/LibVirtXML.pm, v2v/STATUS: Add
        bridge and network name mapping for LibVirtXML sources

2009-07-29  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/HVTarget/Linux.pm: Fix an error message in
        HVTarget::Linux

2009-07-29  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/HVTarget.pm,
        perl/lib/Sys/Guestfs/HVTarget/Linux.pm, v2v/virt-v2v.pl: Move
        renaming the target guest into HVTarget

2009-07-29  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/Storage/QCOW2.pm: Fix a typo in QCOW2.pm

2009-07-29  Matthew Booth <mbooth@redhat.com>

        * v2v/STATUS: Add dependency installation to TODO list

2009-07-28  Matthew Booth <mbooth@redhat.com>

        * v2v/STATUS, v2v/virt-v2v.pl: Define the migrated guest in the
        connected hypervisor on completion

2009-07-28  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/HVTarget/Linux.pm: Add /domain/os if it is
        not present already

2009-07-28  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/Storage/QCOW2.pm: Update disk/@type when
        changing the underlying storage type to qcow2

2009-07-28  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/HVTarget/Linux.pm: Uncomment guest
        manipulations left out for debugging

2009-07-28  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS/RedHat.pm,
        perl/lib/Sys/Guestfs/HVTarget/Linux.pm, v2v/STATUS: Remap drives in
        guest and metadata

2009-07-28  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/HVSource.pm,
        perl/lib/Sys/Guestfs/HVSource/Xen/Linux.pm,
        perl/lib/Sys/Guestfs/HVTarget.pm,
        perl/lib/Sys/Guestfs/HVTarget/Linux.pm, v2v/STATUS, v2v/virt-v2v.pl:
        Add most metadata rewriting Still todo at this stage is drive remapping

2009-07-27  Matthew Booth <mbooth@redhat.com>

        * v2v/STATUS: Add architecture detection to v2v todo list

2009-07-24  Matthew Booth <mbooth@redhat.com>

        * perl/lib/Sys/Guestfs/GuestOS.pm,
        perl/lib/Sys/Guestfs/GuestOS/RedHat.pm,
        perl/lib/Sys/Guestfs/HVSource.pm,
        perl/lib/Sys/Guestfs/HVSource/Xen/Linux.pm,
        perl/lib/Sys/Guestfs/HVTarget.pm,
        perl/lib/Sys/Guestfs/HVTarget/Linux.pm,
        perl/lib/Sys/Guestfs/MetadataReader.pm,
        perl/lib/Sys/Guestfs/MetadataReader/LibVirtXML.pm,
        perl/lib/Sys/Guestfs/Storage.pm,
        perl/lib/Sys/Guestfs/Storage/QCOW2.pm, v2v/STATUS, v2v/virt-v2v.pl:
        Initial drop of virt-v2v This implements the structure and most of the functionality of the
        initial virt-v2v tool.

2009-08-20  Matthew Booth <mbooth@redhat.com>

        * Initial minimal base from libguestfs Import v2v/virt-v2v.pl, and enough of the build infrastructure to
        "build" it.  Import perl/ and its build infrastructure, but not its
        contents.

