diff --git a/.gitignore b/.gitignore index b00c2b0..8203505 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +*~ + # RPM target directories /x86_64 diff --git a/0001-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch b/0001-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch deleted file mode 100644 index 69fcfc1..0000000 --- a/0001-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 21781d79e323f7eaee7deb6981ecb783e35a39af Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Sun, 28 Sep 2014 19:14:43 +0100 -Subject: [PATCH 1/9] RHEL: v2v: Select correct qemu binary for -o qemu mode - (RHBZ#1147313). - -RHEL does not have qemu-system-x86_64 (etc), and in addition the -qemu binary is located in /usr/libexec. Encode the path to this -binary directly in the script. - -Note that we don't support people running qemu directly like this. -It's just for quick testing of converted VMs, and to help us with -support cases. ---- - v2v/output_qemu.ml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/v2v/output_qemu.ml b/v2v/output_qemu.ml -index d6d70c23..490576e9 100644 ---- a/v2v/output_qemu.ml -+++ b/v2v/output_qemu.ml -@@ -81,7 +81,7 @@ object - * module deals with shell and qemu comma quoting. - *) - let cmd = Qemuopts.create () in -- Qemuopts.set_binary_by_arch cmd (Some guestcaps.gcaps_arch); -+ Qemuopts.set_binary cmd "/usr/libexec/qemu-kvm"; - - let flag = Qemuopts.flag cmd - and arg = Qemuopts.arg cmd --- -2.30.1 - diff --git a/0002-RHEL-v2v-Disable-the-qemu-boot-option-RHBZ-1147313.patch b/0002-RHEL-v2v-Disable-the-qemu-boot-option-RHBZ-1147313.patch deleted file mode 100644 index 837d7de..0000000 --- a/0002-RHEL-v2v-Disable-the-qemu-boot-option-RHBZ-1147313.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 05de88f9fe2415664adff793351f916cc6a01485 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 30 Sep 2014 10:50:27 +0100 -Subject: [PATCH 2/9] RHEL: v2v: Disable the --qemu-boot option (RHBZ#1147313). - -This cannot work because there is no Gtk or SDL output mode -in RHEL's qemu-kvm. - -In addition you will have to edit the -display option in the -qemu script. ---- - docs/virt-v2v-output-local.pod | 6 ++---- - docs/virt-v2v.pod | 13 ------------- - v2v/cmdline.ml | 3 ++- - 3 files changed, 4 insertions(+), 18 deletions(-) - -diff --git a/docs/virt-v2v-output-local.pod b/docs/virt-v2v-output-local.pod -index a5f155cb..3a2e6238 100644 ---- a/docs/virt-v2v-output-local.pod -+++ b/docs/virt-v2v-output-local.pod -@@ -9,7 +9,7 @@ or libvirt - - virt-v2v [-i* options] -o local -os DIRECTORY - -- virt-v2v [-i* options] -o qemu -os DIRECTORY [--qemu-boot] -+ virt-v2v [-i* options] -o qemu -os DIRECTORY - - virt-v2v [-i* options] -o json -os DIRECTORY - [-oo json-disks-pattern=PATTERN] -@@ -50,12 +50,10 @@ where C is the guest name. - - =item B<-o qemu -os> C - --=item B<-o qemu -os> C B<--qemu-boot> -- - This converts the guest to files in C. Unlike I<-o local> - above, a shell script is created which contains the raw qemu command - you would need to boot the guest. However the shell script is not --run, I you also add the I<--qemu-boot> option. -+run. - - =item B<-o json -os> C - -diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod -index fb8b6a5d..924e1d2d 100644 ---- a/docs/virt-v2v.pod -+++ b/docs/virt-v2v.pod -@@ -144,11 +144,6 @@ Since F contains the path(s) to the guest disk - image(s) you do not need to specify the name of the disk image on the - command line. - --To convert a local disk image and immediately boot it in local --qemu, do: -- -- virt-v2v -i disk disk.img -o qemu -os /var/tmp --qemu-boot -- - =head1 OPTIONS - - =over 4 -@@ -537,9 +532,6 @@ This is similar to I<-o local>, except that a shell script is written - which you can use to boot the guest in qemu. The converted disks and - shell script are written to the directory specified by I<-os>. - --When using this output mode, you can also specify the I<--qemu-boot> --option which boots the guest under qemu immediately. -- - =item B<-o> B - - This is the same as I<-o rhv>. -@@ -815,11 +807,6 @@ Print information about the source guest and stop. This option is - useful when you are setting up network and bridge maps. - See L. - --=item B<--qemu-boot> -- --When using I<-o qemu> only, this boots the guest immediately after --virt-v2v finishes. -- - =item B<-q> - - =item B<--quiet> -diff --git a/v2v/cmdline.ml b/v2v/cmdline.ml -index 3b74f307..df69e2e0 100644 ---- a/v2v/cmdline.ml -+++ b/v2v/cmdline.ml -@@ -284,7 +284,6 @@ let parse_cmdline () = - s_"Estimate size of source and stop"; - [ L"print-source" ], Getopt.Set print_source, - s_"Print source and stop"; -- [ L"qemu-boot" ], Getopt.Set qemu_boot, s_"Boot in qemu (-o qemu only)"; - [ L"root" ], Getopt.String ("ask|... ", set_root_choice), - s_"How to choose root filesystem"; - [ L"vddk-config" ], Getopt.String ("filename", set_input_option_compat "vddk-config"), -@@ -668,6 +667,8 @@ read the man page virt-v2v(1). - | Some d when not (is_directory d) -> - error (f_"-os %s: output directory does not exist or is not a directory") d - | Some d -> d in -+ if qemu_boot then -+ error (f_"-o qemu: the --qemu-boot option cannot be used in RHEL"); - Output_qemu.output_qemu os qemu_boot, - output_format, output_alloc - --- -2.30.1 - diff --git a/0003-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch b/0003-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch deleted file mode 100644 index 61b73d2..0000000 --- a/0003-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch +++ /dev/null @@ -1,34 +0,0 @@ -From f3c0c18b122b55e3f94b3bb757addaf18c2c5b6f Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Fri, 24 Apr 2015 09:45:41 -0400 -Subject: [PATCH 3/9] RHEL: Fix list of supported sound cards to match RHEL - qemu (RHBZ#1176493). - ---- - v2v/utils.ml | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/v2v/utils.ml b/v2v/utils.ml -index 7136e4be..a6c359f0 100644 ---- a/v2v/utils.ml -+++ b/v2v/utils.ml -@@ -59,13 +59,14 @@ let kvm_arch = function - (* Does qemu support the given sound card? *) - let qemu_supports_sound_card = function - | Types.AC97 -- | Types.ES1370 - | Types.ICH6 - | Types.ICH9 - | Types.PCSpeaker -+ -> true -+ | Types.ES1370 - | Types.SB16 - | Types.USBAudio -- -> true -+ -> false - - (* Find the UEFI firmware. *) - let find_uefi_firmware guest_arch = --- -2.30.1 - diff --git a/0004-RHEL-Fix-tests-for-libguestfs-winsupport.patch b/0004-RHEL-Fix-tests-for-libguestfs-winsupport.patch deleted file mode 100644 index 41ecc50..0000000 --- a/0004-RHEL-Fix-tests-for-libguestfs-winsupport.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 2a4386e45aa52ebfdd501a8189458e2a6bad4708 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Sun, 30 Aug 2015 03:21:57 -0400 -Subject: [PATCH 4/9] RHEL: Fix tests for libguestfs-winsupport. - -It doesn't let us use guestfish for arbitrary Windows edits. ---- - test-data/phony-guests/make-windows-img.sh | 1 + - tests/test-v2v-virtio-win-iso.sh | 8 +++++++- - tests/test-v2v-windows-conversion.sh | 8 +++++++- - 3 files changed, 15 insertions(+), 2 deletions(-) - -diff --git a/test-data/phony-guests/make-windows-img.sh b/test-data/phony-guests/make-windows-img.sh -index 30908a91..73cf5144 100755 ---- a/test-data/phony-guests/make-windows-img.sh -+++ b/test-data/phony-guests/make-windows-img.sh -@@ -37,6 +37,7 @@ fi - - # Create a disk image. - guestfish < "$script" - :> "$expected" - -+cat >> "$script" < "$response" -+guestfish --ro -a "$d/windows-sda" < "$script" > "$response" - diff -u "$expected" "$response" - - rm -r $d -diff --git a/tests/test-v2v-windows-conversion.sh b/tests/test-v2v-windows-conversion.sh -index f1da222a..ff94fe39 100755 ---- a/tests/test-v2v-windows-conversion.sh -+++ b/tests/test-v2v-windows-conversion.sh -@@ -73,6 +73,12 @@ mktest () - :> "$script" - :> "$expected" - -+cat >> "$script" < "$response" -+guestfish --ro -a "$d/windows-sda" < "$script" > "$response" - diff -u "$expected" "$response" - - # We also update the Registry several times, for firstboot, and (ONLY --- -2.30.1 - diff --git a/0005-RHEL-v2v-Disable-the-virt-v2v-in-place-option.patch b/0005-RHEL-v2v-Disable-the-virt-v2v-in-place-option.patch deleted file mode 100644 index 01b5efa..0000000 --- a/0005-RHEL-v2v-Disable-the-virt-v2v-in-place-option.patch +++ /dev/null @@ -1,288 +0,0 @@ -From 1d74df726204bb9c6220ccd0505c8b63db10f833 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Thu, 14 Jan 2016 11:53:42 -0500 -Subject: [PATCH 5/9] RHEL: v2v: Disable the virt-v2v --in-place option. - -This disables the virt-v2v --in-place option which we do not -wish to support in RHEL. -(See commit d0069559a939e47e5f29973ed9a69a13f0b58301). ---- - docs/test-v2v-docs.sh | 1 + - docs/virt-v2v.pod | 50 +---------------- - tests/Makefile.am | 2 - - tests/test-v2v-in-place.sh | 108 ------------------------------------- - v2v/cmdline.ml | 8 +-- - 5 files changed, 8 insertions(+), 161 deletions(-) - delete mode 100755 tests/test-v2v-in-place.sh - -diff --git a/docs/test-v2v-docs.sh b/docs/test-v2v-docs.sh -index dd2b1233..8fef46cc 100755 ---- a/docs/test-v2v-docs.sh -+++ b/docs/test-v2v-docs.sh -@@ -27,6 +27,7 @@ $top_srcdir/podcheck.pl virt-v2v.pod virt-v2v \ - --debug-overlay,\ - --ic,\ - --if,\ -+--in-place,\ - --io,\ - --ip,\ - --it,\ -diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod -index 924e1d2d..4016c724 100644 ---- a/docs/virt-v2v.pod -+++ b/docs/virt-v2v.pod -@@ -8,10 +8,6 @@ virt-v2v - Convert a guest to use KVM - [-o mode] [other -o* options] - [guest|filename] - -- virt-v2v --in-place -- [-i mode] [other -i* options] -- [guest|filename] -- - =head1 DESCRIPTION - - Virt-v2v converts a single guest from a foreign hypervisor to run on -@@ -39,9 +35,6 @@ these sides of virt-v2v are documented separately in this manual. - - Virt-v2v normally copies from the input to the output, called "copying - mode". In this case the source guest is always left unchanged. --In-place conversion (I<--in-place>) only uses the I<-i*> options and --modifies the source guest in-place. (See L --below.) - - =head2 Other virt-v2v topics - -@@ -301,20 +294,6 @@ For I<-i disk> only, this specifies the format of the input disk - image. For other input methods you should specify the input - format in the metadata. - --=item B<--in-place> -- --Do not create an output virtual machine in the target hypervisor. --Instead, adjust the guest OS in the source VM to run in the input --hypervisor. -- --This mode is meant for integration with other toolsets, which take the --responsibility of converting the VM configuration, providing for --rollback in case of errors, transforming the storage, etc. -- --See L below. -- --Conflicts with all I<-o *> options. -- - =item B<-io> OPTION=VALUE - - Set input option(s) related to the current input mode or transport. -@@ -1338,8 +1317,8 @@ have at least 100 available inodes. - =head3 Minimum free space check in the host - - You must have sufficient free space in the host directory used to --store large temporary overlays (except in I<--in-place> mode). To --find out which directory this is, use: -+store large temporary overlays. To find out -+which directory this is, use: - - $ df -h "`guestfish get-cachedir`" - Filesystem Size Used Avail Use% Mounted on -@@ -1477,31 +1456,6 @@ that instead. - - - --=head2 In-place conversion -- --It is also possible to use virt-v2v in scenarios where a foreign VM --has already been imported into a KVM-based hypervisor, but still needs --adjustments in the guest to make it run in the new virtual hardware. -- --In that case it is assumed that a third-party tool has created the --target VM in the supported KVM-based hypervisor based on the source VM --configuration and contents, but using virtual devices more appropriate --for KVM (e.g. virtio storage and network, etc.). -- --Then, to make the guest OS boot and run in the changed environment, --one can use: -- -- virt-v2v -ic qemu:///system converted_vm --in-place -- --Virt-v2v will analyze the configuration of C in the --C libvirt instance, and apply various fixups to the --guest OS configuration to make it match the VM configuration. This --may include installing virtio drivers, configuring the bootloader, the --mountpoints, the network interfaces, and so on. -- --Should an error occur during the operation, virt-v2v exits with an --error code leaving the VM in an undefined state. -- - =head2 Machine readable output - - The I<--machine-readable> option can be used to make the output more -diff --git a/tests/Makefile.am b/tests/Makefile.am -index 871dc3c9..eee4e1af 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -76,7 +76,6 @@ TESTS = \ - test-v2v-floppy.sh \ - test-v2v-i-disk.sh \ - test-v2v-i-ova.sh \ -- test-v2v-in-place.sh \ - test-v2v-mac.sh \ - test-v2v-machine-readable.sh \ - test-v2v-networks-and-bridges.sh \ -@@ -225,7 +224,6 @@ EXTRA_DIST += \ - test-v2v-i-vmx-3.vmx \ - test-v2v-i-vmx-4.vmx \ - test-v2v-i-vmx-5.vmx \ -- test-v2v-in-place.sh \ - test-v2v-it-vddk-io-query.sh \ - test-v2v-machine-readable.sh \ - test-v2v-mac-expected.xml \ -diff --git a/tests/test-v2v-in-place.sh b/tests/test-v2v-in-place.sh -deleted file mode 100755 -index 6f7d78f3..00000000 ---- a/tests/test-v2v-in-place.sh -+++ /dev/null -@@ -1,108 +0,0 @@ --#!/bin/bash - --# libguestfs virt-v2v test script --# Copyright (C) 2014 Red Hat Inc. --# Copyright (C) 2015 Parallels IP Holdings GmbH. --# --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2 of the License, or --# (at your option) any later version. --# --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --# GNU General Public License for more details. --# --# You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- --# Test --in-place. -- --unset CDPATH --export LANG=C --set -e -- --$TEST_FUNCTIONS --skip_if_skipped --skip_if_backend uml --skip_unless_phony_guest windows.img -- --img_base="$abs_top_builddir/test-data/phony-guests/windows.img" -- --export VIRT_TOOLS_DATA_DIR="$top_srcdir/test-data/fake-virt-tools" --export VIRTIO_WIN="$top_srcdir/test-data/fake-virtio-win" -- --d=$PWD/test-v2v-in-place.d --rm -rf $d --mkdir $d -- --img="$d/test.qcow2" --rm -f $img --qemu-img create -f qcow2 -b $img_base -o compat=1.1,backing_fmt=raw $img --md5="$(do_md5 $img_base)" -- --libvirt_xml="$d/test.xml" --rm -f $libvirt_xml --n=windows-overlay --cat > $libvirt_xml < -- -- $n -- 1048576 -- -- hvm -- -- -- -- -- -- -- -- -- -- -- --EOF -- --$VG virt-v2v --debug-gc -i libvirt -ic "test://$libvirt_xml" $n --in-place -- --# Test that the drivers have been copied over into the guest --script="$d/test.fish" --expected="$d/expected" --response="$d/response" -- --mktest () --{ -- local cmd="$1" exp="$2" -- -- echo "echo '$cmd'" >> "$script" -- echo "$cmd" >> "$expected" -- -- echo "$cmd" >> "$script" -- echo "$exp" >> "$expected" --} -- --:> "$script" --:> "$expected" -- --firstboot_dir="/Program Files/Guestfs/Firstboot" --mktest "is-dir \"$firstboot_dir\"" true --mktest "is-file \"$firstboot_dir/firstboot.bat\"" true --mktest "is-dir \"$firstboot_dir/scripts\"" true --virtio_dir="/Windows/Drivers/VirtIO" --mktest "is-dir \"$virtio_dir\"" true --for drv in netkvm qxl vioscsi viostor; do -- for sfx in cat inf sys; do -- mktest "is-file \"$virtio_dir/$drv.$sfx\"" true -- done --done -- --guestfish --ro -a "$img" -i < "$script" > "$response" --diff -u "$expected" "$response" -- --# Test the base image remained untouched --test "$md5" = "$(do_md5 $img_base)" -- --# Clean up. --rm -r $d -diff --git a/v2v/cmdline.ml b/v2v/cmdline.ml -index df69e2e0..7b79d462 100644 ---- a/v2v/cmdline.ml -+++ b/v2v/cmdline.ml -@@ -252,8 +252,7 @@ let parse_cmdline () = - s_"Use password from file to connect to input hypervisor"; - [ M"it" ], Getopt.String ("transport", set_string_option_once "-it" input_transport), - s_"Input transport"; -- [ L"in-place" ], Getopt.Set in_place, -- s_"Only tune the guest in the input VM"; -+ [ L"in-place" ], Getopt.Set in_place, Getopt.hidden_option_description; - [ L"mac" ], Getopt.String ("mac:network|bridge|ip:out", add_mac), - s_"Map NIC to network or bridge or assign static IP"; - [ S 'n'; L"network" ], Getopt.String ("in:out", add_network), -@@ -396,7 +395,6 @@ read the man page virt-v2v(1). - pr "vddk\n"; - pr "colours-option\n"; - pr "vdsm-compat-option\n"; -- pr "in-place\n"; - pr "io/oo\n"; - pr "mac-option\n"; - pr "bandwidth-option\n"; -@@ -572,6 +570,10 @@ read the man page virt-v2v(1). - error (f_"only ‘-it ssh’ can be used here") in - Input_vmx.input_vmx input_password input_transport arg in - -+ (* Prevent use of --in-place option in RHEL. *) -+ if in_place then -+ error (f_"--in-place cannot be used in RHEL"); -+ - (* Common error message. *) - let error_option_cannot_be_used_in_output_mode mode opt = - error (f_"-o %s: %s option cannot be used in this output mode") mode opt --- -2.30.1 - diff --git a/0006-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch b/0006-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch deleted file mode 100644 index 8ffe091..0000000 --- a/0006-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch +++ /dev/null @@ -1,26 +0,0 @@ -From bf5b711b261a6a577a441235db68ad58b20711bd Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Thu, 2 Mar 2017 14:21:37 +0100 -Subject: [PATCH 6/9] RHEL: v2v: -i disk: force VNC as display (RHBZ#1372671) - -The SDL output mode is not supported in RHEL's qemu-kvm. ---- - v2v/input_disk.ml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/v2v/input_disk.ml b/v2v/input_disk.ml -index d146e84c..4e403003 100644 ---- a/v2v/input_disk.ml -+++ b/v2v/input_disk.ml -@@ -89,7 +89,7 @@ class input_disk input_format disk = object - s_features = [ "acpi"; "apic"; "pae" ]; - s_firmware = UnknownFirmware; (* causes virt-v2v to autodetect *) - s_display = -- Some { s_display_type = Window; s_keymap = None; s_password = None; -+ Some { s_display_type = VNC; s_keymap = None; s_password = None; - s_listen = LNoListen; s_port = None }; - s_video = None; - s_sound = None; --- -2.30.1 - diff --git a/0007-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch b/0007-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch deleted file mode 100644 index 1e0fd47..0000000 --- a/0007-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch +++ /dev/null @@ -1,26 +0,0 @@ -From d3eece67059c836c88f6001a5a928a3063a1aaa2 Mon Sep 17 00:00:00 2001 -From: Pino Toscano -Date: Wed, 8 Mar 2017 11:03:40 +0100 -Subject: [PATCH 7/9] RHEL: v2v: do not mention SUSE Xen hosts (RHBZ#1430203) - -They are not supported in RHEL. ---- - docs/virt-v2v-input-xen.pod | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/docs/virt-v2v-input-xen.pod b/docs/virt-v2v-input-xen.pod -index 3b3cf0f0..32da2848 100644 ---- a/docs/virt-v2v-input-xen.pod -+++ b/docs/virt-v2v-input-xen.pod -@@ -12,7 +12,7 @@ virt-v2v-input-xen - Using virt-v2v to convert guests from Xen - =head1 DESCRIPTION - - This page documents how to use L to convert guests from --RHEL 5 Xen, or SLES and OpenSUSE Xen hosts. -+RHEL 5 Xen hosts. - - =head1 INPUT FROM XEN - --- -2.30.1 - diff --git a/0008-RHEL-v2v-rhv-upload-Remove-restriction-on-oa-sparse.patch b/0008-RHEL-v2v-rhv-upload-Remove-restriction-on-oa-sparse.patch deleted file mode 100644 index a1ad4a0..0000000 --- a/0008-RHEL-v2v-rhv-upload-Remove-restriction-on-oa-sparse.patch +++ /dev/null @@ -1,89 +0,0 @@ -From fba7d8bf5dad6fce2a0122570f6b69e0db9ce697 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Mon, 14 May 2018 10:16:58 +0100 -Subject: [PATCH 8/9] RHEL: v2v: rhv-upload: Remove restriction on -oa sparse. - -See: https://bugzilla.redhat.com/show_bug.cgi?id=1565681 -and the v2v-devel private thread "Do we already support migration using FC?" ---- - docs/virt-v2v-output-rhv.pod | 8 +------- - v2v/output_rhv_upload.ml | 10 +--------- - v2v/rhv-upload-plugin.py | 4 +--- - 3 files changed, 3 insertions(+), 19 deletions(-) - -diff --git a/docs/virt-v2v-output-rhv.pod b/docs/virt-v2v-output-rhv.pod -index 7c9b478a..36c3676f 100644 ---- a/docs/virt-v2v-output-rhv.pod -+++ b/docs/virt-v2v-output-rhv.pod -@@ -5,7 +5,7 @@ virt-v2v-output-rhv - Using virt-v2v to convert guests to oVirt or RHV - =head1 SYNOPSIS - - virt-v2v [-i* options] -o rhv-upload [-oc ENGINE_URL] -os STORAGE -- [-op PASSWORD] [-of raw] -+ [-op PASSWORD] - [-oo rhv-cafile=FILE] - [-oo rhv-cluster=CLUSTER] - [-oo rhv-direct] -@@ -79,12 +79,6 @@ username is not specified then virt-v2v defaults to using - C which is the typical superuser account for oVirt - instances. - --=item I<-of raw> -- --Currently you must use I<-of raw> and you cannot use I<-oa preallocated>. -- --These restrictions will be loosened in a future version. -- - =item I<-op> F - - A file containing a password to be used when connecting to the oVirt -diff --git a/v2v/output_rhv_upload.ml b/v2v/output_rhv_upload.ml -index dbef7011..27925d7d 100644 ---- a/v2v/output_rhv_upload.ml -+++ b/v2v/output_rhv_upload.ml -@@ -135,17 +135,10 @@ let error_unless_nbdkit_compiled_with_selinux config = - error (f_"nbdkit was compiled without SELinux support. You will have to recompile nbdkit with libselinux-devel installed, or else set SELinux to Permissive mode while doing the conversion.") - ) - --(* Output sparse must be sparse. We may be able to -- * lift this limitation in future, but it requires changes on the -- * RHV side. See TODO file for details. XXX -- *) -+(* Output format must be raw. *) - let error_current_limitation required_param = - error (f_"rhv-upload: currently you must use ‘%s’. This restriction will be loosened in a future version.") required_param - --let error_unless_output_alloc_sparse output_alloc = -- if output_alloc <> Sparse then -- error_current_limitation "-oa sparse" -- - let json_optstring = function - | Some s -> JSON.String s - | None -> JSON.Null -@@ -253,7 +246,6 @@ object - error_unless_nbdkit_min_version config; - error_unless_nbdkit_python_plugin_working plugin_script; - error_unless_nbdkit_compiled_with_selinux config; -- error_unless_output_alloc_sparse output_alloc; - - (* Python code prechecks. *) - let precheck_fn = tmpdir // "v2vprecheck.json" in -diff --git a/v2v/rhv-upload-plugin.py b/v2v/rhv-upload-plugin.py -index 2b0178a9..d817d915 100644 ---- a/v2v/rhv-upload-plugin.py -+++ b/v2v/rhv-upload-plugin.py -@@ -491,10 +491,8 @@ def create_disk(connection): - # size, based on qemu-img measure of the overlay. - initial_size=params['disk_size'], - provisioned_size=params['disk_size'], -- # XXX Ignores params['output_sparse']. -- # Handling this properly will be complex, see: - # https://www.redhat.com/archives/libguestfs/2018-March/msg00177.html -- sparse=True, -+ sparse=params['output_sparse'], - storage_domains=[ - types.StorageDomain( - name=params['output_storage'], --- -2.30.1 - diff --git a/0009-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch b/0009-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch deleted file mode 100644 index a7b5eb3..0000000 --- a/0009-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch +++ /dev/null @@ -1,127 +0,0 @@ -From b003d781dacf76572e11fad17ea699a99a324f54 Mon Sep 17 00:00:00 2001 -From: Pino Toscano -Date: Tue, 26 Mar 2019 09:42:25 +0100 -Subject: [PATCH 9/9] RHEL: point to KB for supported v2v hypervisors/guests - ---- - docs/virt-v2v-support.pod | 104 ++------------------------------------ - 1 file changed, 4 insertions(+), 100 deletions(-) - -diff --git a/docs/virt-v2v-support.pod b/docs/virt-v2v-support.pod -index 9815f51f..1ffc0f9d 100644 ---- a/docs/virt-v2v-support.pod -+++ b/docs/virt-v2v-support.pod -@@ -8,106 +8,10 @@ systems and guests in virt-v2v - This page documents which foreign hypervisors, virtualization - management systems and guest types that L can support. - --Note this page applies to upstream virt-v2v from --L and in downstream distributions of virt-v2v --sometimes features are intentionally removed, or are present but not --supported. -- --=head2 Hypervisors (Input) -- --=over 4 -- --=item VMware ESXi -- --Must be managed by VMware vCenter E 5.0 unless VDDK is available. -- --=item OVA exported from VMware -- --OVAs from other hypervisors will not work. -- --=item VMX from VMware -- --VMX files generated by other hypervisors will not work. -- --=item RHEL 5 Xen -- --=item SUSE Xen -- --=item Citrix Xen -- --Citrix Xen has not been recently tested. -- --=item Hyper-V -- --Not recently tested. Requires that you export the disk or use --L on Hyper-V. -- --=item Direct from disk images -- --Only disk images exported from supported hypervisors, and using --container formats supported by qemu. -- --=item Physical machines -- --Using the L tool. -- --=back -- --=head2 Hypervisors (Output) -- --QEMU and KVM only. -- --=head2 Virtualization management systems (Output) -- --=over 4 -- --=item OpenStack -- --=item Red Hat Virtualization (RHV) 4.1 and up -- --=item Local libvirt -- --And hence L, L, and similar tools. -- --=item Local disk -- --=back -- --=head2 Guests -- --=over 4 -- --=item Red Hat Enterprise Linux 3, 4, 5, 6, 7 -- --=item CentOS 3, 4, 5, 6, 7 -- --=item Scientific Linux 3, 4, 5, 6, 7 -- --=item Oracle Linux -- --=item Fedora -- --=item SLES 10 and up -- --=item OpenSUSE 10 and up -- --=item ALT Linux 9 and up -- --=item Debian 6 and up -- --=item Ubuntu 10.04, 12.04, 14.04, 16.04, and up -- --=item Windows XP to Windows 10 / Windows Server 2016 -- --We use Windows internal version numbers, see --L -- --Currently NT 5.2 to NT 6.3 are supported. -- --See L below for additional notes on converting Windows --guests. -- --=back -+For more information on supported hypervisors, and guest types in -+RHEL, please consult the following Knowledgebase article on these -+Red Hat Customer Portal: -+L. - - =head2 Guest firmware - --- -2.30.1 - diff --git a/gating.yaml b/gating.yaml new file mode 100755 index 0000000..336c565 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,7 @@ +--- !Policy +product_versions: + - rhel-* +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} + - !PassingTestCaseRule {test_case_name: libvirt-ci.v2v.brew-build.gating.x86_64.tier1.functional} diff --git a/sources b/sources index 0114a80..8fc8fc9 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (virt-v2v-1.44.2.tar.gz) = 60c8f6cb137de4bf9133342498278e95678cbab2881d514ef37b77a220daaf861cf1d68c8f33e36b0c815b6ac0876357a3ea776aa87399093bd2fc478b4c8b73 -SHA512 (virt-v2v-1.44.2.tar.gz.sig) = 12766b2484d6d2b2ff5ddb5379b3681befc14ecd6a6eb1bb7d24466be72c9fd3a24e996493c88797ed676c396855a94d254e5f4f5c77319d3cd97b874e009b5b +SHA512 (virt-v2v-2.10.0.tar.gz) = 035f2181c1cc5f482e96d3e21b513b95939ca224d71ac6ad938842d5af5d60ef07db1600d2ccb609dc2042b1c74088f6f39ffbe595cb51e80278ecb50c314515 +SHA512 (virt-v2v-2.10.0.tar.gz.sig) = cb6301224ef00577a9cd0fc8fa504e583eb447341bd3849e6854f2d78ae72ca39bca68b70f30efd3d1d64480acf161c5e4bc9ba943595ef4dd2a654c3268aa66 diff --git a/tests/basic-test.sh b/tests/basic-test.sh new file mode 100755 index 0000000..71929e0 --- /dev/null +++ b/tests/basic-test.sh @@ -0,0 +1,13 @@ +#!/bin/bash - +set -e +set -x + +# This only makes sure that virt-v2v isn't totally broken. +# virt-v2v is extensively tested on real guests by the QE +# team using a mix of automated and manual testing. + +# Fix libvirt. +systemctl restart virtqemud virtsecretd virtstoraged virtnetworkd + +virt-builder fedora-30 +virt-v2v -i disk fedora-30.img -o null diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..9dae6bd --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,13 @@ +- hosts: localhost + roles: + - role: standard-test-basic + tags: + - classic + required_packages: + - virt-v2v + - guestfs-tools + - libvirt-daemon-kvm + tests: + - simple: + dir: . + run: ./basic-test.sh diff --git a/virt-v2v.spec b/virt-v2v.spec index a148a69..9309b31 100644 --- a/virt-v2v.spec +++ b/virt-v2v.spec @@ -1,24 +1,54 @@ # If we should verify tarball signature with GPGv2. %global verify_tarball_signature 1 -# If there are patches which touch autotools files, set this to 1. -%if !0%{?rhel} -%global patches_touch_autotools %{nil} -%else -# On RHEL the downstream patches always touch autotools files. -%global patches_touch_autotools 1 -%endif - # The source directory. -%global source_directory 1.44-stable +%global source_directory 2.10-stable + +%if !0%{?rhel} +# Optional features enabled in this build for Fedora. +%global with_block_driver 1 +%global with_glance 1 +%global with_ovirt 1 +%global with_xen 1 + +# libguestfs hasn't been built on i686 for a while since there is no +# kernel built for this architecture any longer and libguestfs rather +# fundamentally depends on the kernel. Therefore we must exclude this +# arch. Note there is no bug filed for this because we do not ever +# expect that libguestfs or virt-v2v will be available on i686 so +# there is nothing that needs fixing. +ExcludeArch: %{ix86} + +# Version extra string for Fedora. +%global version_extra fedora=%{fedora},release=%{release} + +%else + +# Optional features enabled in this build for RHEL. +%global with_block_driver 0 +%global with_glance 0 +%global with_ovirt 0 +%global with_xen 0 + +# Architectures where virt-v2v is shipped on RHEL: +# +# not on aarch64 because it is not useful there +# not on %%{power64} because of RHBZ#1287826 +# not on s390x because it is not useful there +ExclusiveArch: x86_64 + +# Version extra string for RHEL. +%global version_extra rhel=%{rhel},release=%{release} + +%endif Name: virt-v2v Epoch: 1 -Version: 1.44.2 +Version: 2.10.0 Release: 1%{?dist} Summary: Convert a virtual machine to run on KVM -License: GPLv2+ +License: GPL-2.0-or-later AND LGPL-2.0-or-later URL: https://github.com/libguestfs/virt-v2v Source0: http://download.libguestfs.org/virt-v2v/%{source_directory}/%{name}-%{version}.tar.gz @@ -31,56 +61,31 @@ Source2: libguestfs.keyring # Maintainer script which helps with handling patches. Source3: copy-patches.sh -%if !0%{?rhel} -# libguestfs hasn't been built on i686 for a while since there is no -# kernel built for this architecture any longer and libguestfs rather -# fundamentally depends on the kernel. Therefore we must exclude this -# arch. Note there is no bug filed for this because we do not ever -# expect that libguestfs or virt-v2v will be available on i686 so -# there is nothing that needs fixing. -ExcludeArch: %{ix86} -%else -# Architectures where virt-v2v is shipped on RHEL: -# -# not on aarch64 because it is not useful there -# not on %%{power64} because of RHBZ#1287826 -# not on s390x because it is not useful there -ExclusiveArch: x86_64 -%endif - -# Downstream (RHEL-only) patches. -%if 0%{?rhel} -Patch9001: 0001-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch -Patch9002: 0002-RHEL-v2v-Disable-the-qemu-boot-option-RHBZ-1147313.patch -Patch9003: 0003-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch -Patch9004: 0004-RHEL-Fix-tests-for-libguestfs-winsupport.patch -Patch9005: 0005-RHEL-v2v-Disable-the-virt-v2v-in-place-option.patch -Patch9006: 0006-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch -Patch9007: 0007-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch -Patch9008: 0008-RHEL-v2v-rhv-upload-Remove-restriction-on-oa-sparse.patch -Patch9009: 0009-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch -%endif - -%if 0%{patches_touch_autotools} BuildRequires: autoconf, automake, libtool -%endif - BuildRequires: make BuildRequires: /usr/bin/pod2man +BuildRequires: perl(Pod::Usage) +BuildRequires: perl(Getopt::Long) +BuildRequires: perl(IPC::Run3) BuildRequires: gcc -BuildRequires: ocaml >= 4.01 -BuildRequires: libguestfs-devel >= 1:1.42 +BuildRequires: ocaml >= 4.08 +BuildRequires: libguestfs-devel >= 1:1.58.0-1 BuildRequires: augeas-devel BuildRequires: bash-completion -BuildRequires: file-devel +%if 0%{?fedora} || 0%{?rhel} >= 11 +BuildRequires: bash-completion-devel +%endif +BuildRequires: file BuildRequires: gettext-devel -BuildRequires: jansson-devel +BuildRequires: json-c-devel +BuildRequires: libnbd-devel >= 1.24 BuildRequires: libosinfo-devel -BuildRequires: libvirt-devel BuildRequires: libvirt-daemon-kvm +BuildRequires: libvirt-devel +BuildRequires: libxcrypt-devel BuildRequires: libxml2-devel -BuildRequires: pcre-devel +BuildRequires: pcre2-devel BuildRequires: perl(Sys::Guestfs) BuildRequires: po4a BuildRequires: /usr/bin/virsh @@ -88,25 +93,36 @@ BuildRequires: xorriso BuildRequires: ocaml-findlib-devel BuildRequires: ocaml-libguestfs-devel +BuildRequires: ocaml-libvirt-devel +BuildRequires: ocaml-libnbd-devel BuildRequires: ocaml-fileutils-devel BuildRequires: ocaml-gettext-devel -%if !0%{?rhel} -BuildRequires: ocaml-ounit-devel -%endif -BuildRequires: nbdkit-python-plugin +# These are for running our limited test. +BuildRequires: glibc-utils +BuildRequires: %{_bindir}/qemu-nbd +BuildRequires: %{_bindir}/nbdcopy +BuildRequires: %{_bindir}/nbdinfo +BuildRequires: nbdkit-server >= 1.46.1 +BuildRequires: nbdkit-file-plugin +BuildRequires: nbdkit-null-plugin +BuildRequires: nbdkit-cow-filter +BuildRequires: mingw-srvany-redistributable >= 1.1-6 +%ifarch x86_64 +BuildRequires: glibc-static +%endif %if 0%{verify_tarball_signature} BuildRequires: gnupg2 %endif -Requires: libguestfs%{?_isa} >= 1:1.42 -Requires: guestfs-tools >= 1.42 +Requires: libguestfs%{?_isa} >= 1:1.58.0-1 +Requires: guestfs-tools >= 1.54 # XFS is the default filesystem in Fedora and RHEL. Requires: libguestfs-xfs -%if 0%{?rhel} +%if 0%{?rhel} && ! 0%{?eln} # For Windows conversions on RHEL. Requires: libguestfs-winsupport >= 7.2 %endif @@ -115,7 +131,8 @@ Requires: gawk Requires: gzip Requires: unzip Requires: curl -Requires: /usr/bin/virsh +Requires: openssh-clients >= 8.8p1 +Requires: %{_bindir}/virsh # Ensure the UEFI firmware is available, to properly convert # EFI guests (RHBZ#1429643). @@ -126,17 +143,40 @@ Requires: edk2-ovmf Requires: edk2-aarch64 %endif -# Needed for -it vddk, and -o rhv-upload. -Requires: nbdkit +%if !%{with_ovirt} +Requires: /usr/bin/python3 +%endif +Requires: libnbd >= 1.24 +Requires: %{_bindir}/qemu-nbd +Requires: %{_bindir}/nbdcopy +Requires: %{_bindir}/nbdinfo +Requires: nbdkit-server >= 1.46.1 Requires: nbdkit-curl-plugin +Requires: nbdkit-file-plugin +Requires: nbdkit-nbd-plugin +Requires: nbdkit-null-plugin +%if !%{with_ovirt} Requires: nbdkit-python-plugin +%endif Requires: nbdkit-ssh-plugin %ifarch x86_64 Requires: nbdkit-vddk-plugin %endif +Requires: nbdkit-blocksize-filter +Requires: nbdkit-count-filter +Requires: nbdkit-cow-filter +Requires: nbdkit-multi-conn-filter +Requires: nbdkit-rate-filter +Requires: nbdkit-retry-filter # For rhsrvany.exe, used to install firstboot scripts in Windows guests. -Requires: mingw32-srvany >= 1.0-13 +Requires: mingw-srvany-redistributable >= 1.1-6 + +# On RHEL, virtio-win should be used to install virtio drivers +# and qemu-ga in converted guests. (RHBZ#1972644) +%if 0%{?rhel} +Recommends: virtio-win +%endif %description @@ -186,18 +226,35 @@ for %{name}. %endif %autosetup -p1 -%if 0%{patches_touch_autotools} -autoreconf -i -%endif +# ACLOCAL_PATH is temporarily required to work around +# https://bugzilla.redhat.com/show_bug.cgi?id=2366708 +export ACLOCAL_PATH=/usr/share/gettext/m4/ +autoreconf -fiv %build %configure \ -%if !0%{?rhel} - --with-extra="fedora=%{fedora},release=%{release}" \ +%if %{with_block_driver} + --enable-block-driver \ %else - --with-extra="rhel=%{rhel},release=%{release}" \ + --disable-block-driver \ %endif +%if %{with_glance} + --enable-glance \ +%else + --disable-glance \ +%endif +%if %{with_ovirt} + --enable-ovirt \ +%else + --disable-ovirt \ +%endif +%if %{with_xen} + --enable-xen \ +%else + --disable-xen \ +%endif + --with-extra="%{version_extra}" make V=1 %{?_smp_mflags} @@ -208,74 +265,95 @@ make V=1 %{?_smp_mflags} # Delete libtool crap. find $RPM_BUILD_ROOT -name '*.la' -delete -# Virt-tools data directory. This contains a symlink to rhsrvany.exe -# which is satisfied by the dependency on mingw32-srvany. -mkdir -p $RPM_BUILD_ROOT%{_datadir}/virt-tools -pushd $RPM_BUILD_ROOT%{_datadir}/virt-tools -ln -sf /usr/i686-w64-mingw32/sys-root/mingw/bin/rhsrvany.exe -popd - -# Delete the v2v test harness. -rm -r $RPM_BUILD_ROOT%{_libdir}/ocaml/v2v_test_harness -rm -r $RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs/dllv2v_test_harness* -rm $RPM_BUILD_ROOT%{_mandir}/man1/virt-v2v-test-harness.1* - -# Delete copy-to-local tool. -rm $RPM_BUILD_ROOT%{_bindir}/virt-v2v-copy-to-local -rm $RPM_BUILD_ROOT%{_mandir}/man1/virt-v2v-copy-to-local.1* -rm $RPM_BUILD_ROOT%{_datadir}/bash-completion/completions/virt-v2v-copy-to-local +%if 0%{?rhel} +# On RHEL move virt-v2v-in-place to libexec since it is not supported, +# and remove the documentation. +mkdir -p $RPM_BUILD_ROOT%{_libexecdir} +mv $RPM_BUILD_ROOT%{_bindir}/virt-v2v-in-place $RPM_BUILD_ROOT%{_libexecdir}/ +rm $RPM_BUILD_ROOT%{_mandir}/man1/virt-v2v-in-place.1* +%endif # Find locale files. %find_lang %{name} %check -# All tests fail at the moment because of bugs in libvirt blockdev. -# # Tests fail on both armv7 and ppc64le in Fedora 31 because the kernel -# # cannot boot on qemu. -# %ifnarch %{arm} ppc64le +# Check that the binary runs and the features match those configured. +./run virt-v2v --version +./run virt-v2v --machine-readable | tee machine-readable.out +grep "virt-v2v-2.0" machine-readable.out +grep "input:disk" machine-readable.out +%if %{with_block_driver} +grep "block-driver-option" machine-readable.out +%endif +%if %{with_glance} +grep "output:glance" machine-readable.out +%endif +%if %{with_ovirt} +grep "output:ovirt$" machine-readable.out +grep "output:ovirt-upload" machine-readable.out +grep "output:vdsm" machine-readable.out +%endif -# # On x86_64 this single test fails with: "virt-v2v: warning: the -# # target hypervisor does not support a x86_64 KVM guest". Missing -# # BuildRequires? -# %ifarch x86_64 -# truncate -s 0 tests/test-v2v-o-libvirt.sh -# %endif +%ifarch x86_64 +# Only run the tests with non-debug (ie. non-Rawhide) kernels. +# XXX This tests for any debug kernel installed. +if grep CONFIG_DEBUG_MUTEXES=y /lib/modules/*/config ; then + echo "Skipping tests because debug kernel is installed" + exit 0 +fi -# # This test fails in mock. -# truncate -s 0 tests/test-v2v-oa-option.sh +# Make sure we can see the debug messages (RHBZ#1230160). +export LIBGUESTFS_DEBUG=1 +export LIBGUESTFS_TRACE=1 -# # Make sure we can see the debug messages (RHBZ#1230160). -# export LIBGUESTFS_DEBUG=1 -# export LIBGUESTFS_TRACE=1 - -# make %{?_smp_mflags} check || { -# cat tests/test-suite.log -# exit 1 -# } - -# %endif +# The built in tests take a very long time to run under TCG (in Koji), +# so just perform a very simple conversion to check things are +# working. +for f in windows.img fedora.img; do + make -C test-data/phony-guests $f + if test -s test-data/phony-guests/$f; then + ./run virt-v2v -v -x -i disk test-data/phony-guests/$f -o null + fi +done +%endif %files -f %{name}.lang %license COPYING %doc README %{_bindir}/virt-v2v +%if !0%{?rhel} +%{_bindir}/virt-v2v-in-place +%else +%{_libexecdir}/virt-v2v-in-place +%endif +%{_bindir}/virt-v2v-inspector +%{_bindir}/virt-v2v-open %{_mandir}/man1/virt-v2v.1* %{_mandir}/man1/virt-v2v-hacking.1* %{_mandir}/man1/virt-v2v-input-vmware.1* +%if %{with_xen} %{_mandir}/man1/virt-v2v-input-xen.1* +%endif +%if !0%{?rhel} +%{_mandir}/man1/virt-v2v-in-place.1* +%endif +%{_mandir}/man1/virt-v2v-inspector.1* +%{_mandir}/man1/virt-v2v-open.1* %{_mandir}/man1/virt-v2v-output-local.1* %{_mandir}/man1/virt-v2v-output-openstack.1* -%{_mandir}/man1/virt-v2v-output-rhv.1* +%if %{with_ovirt} +%{_mandir}/man1/virt-v2v-output-ovirt.1* +%endif %{_mandir}/man1/virt-v2v-release-notes-1.42.1* +%{_mandir}/man1/virt-v2v-release-notes-2.*.1* %{_mandir}/man1/virt-v2v-support.1* -%{_datadir}/virt-tools %files bash-completion %license COPYING -%{_datadir}/bash-completion/completions/virt-v2v +%{bash_completions_dir}/virt-v2v %files man-pages-ja @@ -289,11 +367,385 @@ rm $RPM_BUILD_ROOT%{_datadir}/bash-completion/completions/virt-v2v-copy-to-local %changelog -* Thu Nov 25 2021 Richard W.M. Jones - 1:1.44.2-1 -- New upstream stable branch version 1.44.2 +* Tue Jan 06 2026 Richard W.M. Jones - 1:2.10.0-1 +- New upstream stable branch version 2.10.0 +- Requires libguestfs >= 1.58.0 and nbdkit >= 1.46. -* Tue Nov 23 2021 Richard W.M. Jones - 1:1.44.1-1 -- New upstream stable branch version 1.44.1. +* Tue Nov 4 2025 Richard W.M. Jones - 1:2.9.10-1 +- New upstream development version 2.9.10 +- Requires libguestfs 1.57.6 for new inspection APIs. + +* Thu Oct 16 2025 Richard W.M. Jones - 1:2.9.9-1 +- New upstream development version 2.9.9 + +* Tue Oct 14 2025 Richard W.M. Jones - 1:2.9.8-2 +- OCaml 5.4.0 rebuild + +* Mon Sep 22 2025 Richard W.M. Jones - 1:2.9.8-1 +- New upstream development version 2.9.8 +- Remove Windows conversion patch which is now upstream. + +* Sat Sep 20 2025 Richard W.M. Jones - 1:2.9.7-1 +- New upstream development version 2.9.7 +- Backport non-upstream patch to improve Windows conversions + +* Tue Sep 9 2025 Richard W.M. Jones - 1:2.9.6-1 +- New upstream development version 2.9.6 + +* Fri Aug 29 2025 Richard W.M. Jones - 1:2.9.5-1 +- New upstream development version 2.9.5 +- Use new ./configure --disable/--enable flags for excluding RHEL features + +* Wed Aug 27 2025 Richard W.M. Jones - 1:2.9.4-1 +- New upstream development version 2.9.4 + +* Fri Aug 15 2025 Richard W.M. Jones - 1:2.9.3-1 +- New upstream development version 2.9.3 +- Ensure minimum libguestfs is 1.57.1 (for guestfs_setfiles) + +* Fri Jul 25 2025 Fedora Release Engineering - 1:2.9.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sat Jul 19 2025 Richard W.M. Jones - 1:2.9.2-2 +- Bump minimum version of nbdkit to 1.45.1, matching current Rawhide +- Bump minimum version of nbdcopy to 1.22, matching current Fedora 42 +- Bump minimum version of libguestfs to 1.56 +- Bump minimum version of guestfs-tools to 1.54 +- Remove nbdkit-noextents-filter, option removed from virt-v2v 2.9.1 +- Add nbdkit-count-filter, added in nbdkit 1.45 +- Drop BR nbdkit-python-plugin, as it is not needed by our test + +* Wed Jul 16 2025 Richard W.M. Jones - 1:2.9.2-1 +- New upstream development version 2.9.2 + +* Sun Jul 13 2025 Jerry James - 1:2.9.1-2 +- Rebuild to fix OCaml dependencies again + +* Sun Jul 13 2025 Richard W.M. Jones - 1:2.9.1-1 +- New upstream development version 2.9.1 + +* Sat Jul 12 2025 Jerry James - 1:2.8.1-2 +- Rebuild to fix OCaml dependencies + +* Thu Jun 26 2025 Richard W.M. Jones - 1:2.8.1-1 +- New upstream stable version 2.8.1 + +* Wed Jun 11 2025 Richard W.M. Jones - 1:2.8.0-1 +- New upstream stable version 2.8.0 +- Finetune BRs to match upstream. + +* Tue Jun 03 2025 Richard W.M. Jones - 1:2.7.17-1 +- New upstream development version 2.7.17 + +* Mon May 19 2025 Richard W.M. Jones - 1:2.7.16-1 +- New upstream development version 2.7.16 + +* Mon May 12 2025 Richard W.M. Jones - 1:2.7.15-1 +- New upstream development version 2.7.15 + +* Wed May 07 2025 Richard W.M. Jones - 1:2.7.14-1 +- New upstream development version 2.7.14 +- New tool: virt-v2v-open + +* Tue Apr 29 2025 Richard W.M. Jones - 1:2.7.13-1 +- New upstream development version 2.7.13 + +* Tue Apr 15 2025 Richard W.M. Jones - 1:2.7.12-1 +- New upstream development version 2.7.12 + +* Thu Apr 03 2025 Richard W.M. Jones - 1:2.7.11-1 +- New upstream development version 2.7.11 +- Enable ocaml-gettext again +- Remove oUnit + +* Sat Mar 22 2025 Richard W.M. Jones - 1:2.7.10-1 +- New upstream development version 2.7.10 + +* Tue Mar 11 2025 Richard W.M. Jones - 1:2.7.8-1 +- New upstream development version 2.7.8 + +* Thu Feb 27 2025 Richard W.M. Jones - 1:2.7.7-1 +- New upstream development version 2.7.7 +- Disable gettext support in Fedora Rawhide + +* Thu Feb 27 2025 Richard W.M. Jones - 1:2.7.6-2 +- Bump and rebuild for ocaml-gettext 0.5.0 + +* Thu Feb 13 2025 Richard W.M. Jones - 1:2.7.6-1 +- New upstream development version 2.7.6 + +* Wed Feb 05 2025 Richard W.M. Jones - 1:2.7.5-1 +- New upstream development version 2.7.5 + +* Tue Feb 04 2025 Richard W.M. Jones - 1:2.7.4-5 +- Bump and rebuild (RHBZ#2341511) + +* Sat Feb 01 2025 Björn Esser - 1:2.7.4-4 +- Add explicit BR: libxcrypt-devel + +* Sun Jan 19 2025 Fedora Release Engineering - 1:2.7.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Fri Jan 10 2025 Jerry James - 1:2.7.4-2 +- OCaml 5.3.0 rebuild for Fedora 42 + +* Mon Dec 09 2024 Richard W.M. Jones - 1:2.7.4-1 +- New upstream development version 2.7.4 + +* Mon Dec 02 2024 Richard W.M. Jones - 1:2.7.3-1 +- New upstream development version 2.7.3 + +* Mon Nov 18 2024 Richard W.M. Jones - 1:2.7.2-1 +- New upstream development version 2.7.2 + +* Tue Oct 22 2024 Richard W.M. Jones - 1:2.7.1-1 +- New upstream development version 2.7.1 +- Replace jansson with json-c + +* Tue Oct 22 2024 Richard W.M. Jones - 1:2.6.0-2 +- Rebuild for Jansson 2.14 + (https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/3PYINSQGKQ4BB25NQUI2A2UCGGLAG5ND/) + +* Tue Oct 08 2024 Richard W.M. Jones - 1:2.6.0-1 +- New upstream stable version 2.6.0 + +* Thu Oct 03 2024 Richard W.M. Jones - 1:2.5.11-1 +- New upstream development version 2.5.11 + +* Tue Sep 10 2024 Richard W.M. Jones - 1:2.5.10-1 +- New upstream development version 2.5.10 + +* Thu Aug 29 2024 Richard W.M. Jones - 1:2.5.9-1 +- New upstream development version 2.5.9 + +* Tue Aug 20 2024 Richard W.M. Jones - 1:2.5.8-1 +- New upstream development version 2.5.8 + +* Tue Aug 13 2024 Richard W.M. Jones - 1:2.5.7-1 +- New upstream development version 2.5.7 + +* Tue Jul 30 2024 Richard W.M. Jones - 1:2.5.6-1 +- New upstream development version 2.5.6 + +* Sat Jul 20 2024 Fedora Release Engineering - 1:2.5.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Thu Jul 11 2024 Richard W.M. Jones - 1:2.5.5-1 +- New upstream development version 2.5.5 + +* Wed Jun 19 2024 Richard W.M. Jones - 1:2.5.4-3 +- OCaml 5.2.0 ppc64le fix + +* Wed May 29 2024 Richard W.M. Jones - 1:2.5.4-2 +- OCaml 5.2.0 for Fedora 41 + +* Thu Apr 25 2024 Richard W.M. Jones - 1:2.5.4-1 +- New upstream development version 2.5.4 + +* Fri Apr 12 2024 Richard W.M. Jones - 1:2.5.3-2 +- Fix bytecode compilation (RHBZ#2274708) + +* Thu Apr 11 2024 Richard W.M. Jones - 1:2.5.3-1 +- New development branch version 2.5.3 +- Unconditionally run autoreconf. + +* Mon Mar 25 2024 Richard W.M. Jones - 1:2.5.2-2 +- Use %%{bash_completions_dir} macro + +* Tue Mar 12 2024 Richard W.M. Jones - 1:2.5.2-1 +- New development branch version 2.5.2 +- BR bash-completion-devel (new in Rawhide) + +* Sat Jan 27 2024 Fedora Release Engineering - 1:2.5.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jan 18 2024 Richard W.M. Jones - 1:2.5.1-1 +- New development branch version 2.5.1 + +* Thu Jan 4 2024 Richard W.M. Jones - 1:2.4.0-1 +- New stable branch version 2.4.0 + +* Tue Dec 19 2023 Richard W.M. Jones - 1:2.3.8-1 +- New development branch version 2.3.8 + +* Mon Dec 18 2023 Richard W.M. Jones - 1:2.3.7-4 +- OCaml 5.1.1 + s390x code gen fix for Fedora 40 + +* Tue Dec 12 2023 Richard W.M. Jones - 1:2.3.7-3 +- OCaml 5.1.1 rebuild for Fedora 40 + +* Sat Dec 09 2023 Richard W.M. Jones - 1:2.3.7-2 +- New development branch version 2.3.7 + +* Mon Nov 27 2023 Richard W.M. Jones - 1:2.3.6-2 +- Fix build for libxml2 2.12.1 + +* Thu Nov 02 2023 Richard W.M. Jones - 1:2.3.6-1 +- New development branch version 2.3.6 + +* Fri Oct 20 2023 Yaakov Selkowitz - 1:2.3.5-4 +- Use mingw-srvany-redistributable + +* Thu Oct 05 2023 Richard W.M. Jones - 1:2.3.5-3 +- OCaml 5.1 rebuild for Fedora 40 + +* Sat Jul 22 2023 Fedora Release Engineering - 1:2.3.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Jul 14 2023 Richard W.M. Jones - 1:2.3.5-1 +- New development branch version 2.3.5 + +* Wed Jul 12 2023 Richard W.M. Jones - 1:2.3.4-4 +- OCaml 5.0 rebuild for Fedora 39 + +* Mon Jul 10 2023 Jerry James - 1:2.3.4-3 +- OCaml 5.0.0 rebuild + +* Mon Jun 05 2023 Richard W.M. Jones - 1:2.3.4-2 +- Migrated to SPDX license +- Fix installation on newer RHEL + +* Wed Apr 19 2023 Richard W.M. Jones - 1:2.3.4-1 +- New development branch version 2.3.4 + +* Mon Feb 06 2023 Richard W.M. Jones - 1:2.3.3-1 +- New development branch version 2.3.3 + +* Tue Jan 24 2023 Richard W.M. Jones - 1:2.3.2-2 +- Rebuild OCaml packages for F38 + +* Thu Jan 19 2023 Richard W.M. Jones - 1:2.3.2-1 +- New development branch version 2.3.2 + +* Tue Jan 17 2023 Richard W.M. Jones - 1:2.3.1-1 +- New development branch version 2.3.1 + +* Tue Jan 10 2023 Richard W.M. Jones - 1:2.2.0-1 +- New stable branch version 2.2.0 + +* Fri Jan 06 2023 Richard W.M. Jones - 1:2.1.12-1 +- New upstream development version 2.1.12 +- Add release notes for future virt-v2v 2.2 + +* Sat Dec 10 2022 Richard W.M. Jones - 1:2.1.11-2 +- New upstream development version 2.1.11 + +* Sat Nov 26 2022 Richard W.M. Jones - 1:2.1.10-1 +- New upstream development version 2.1.10 +- New tool: virt-v2v-inspector + +* Tue Oct 11 2022 Richard W.M. Jones - 1:2.1.9-1 +- New upstream development version 2.1.9 + +* Tue Aug 23 2022 Richard W.M. Jones - 1:2.1.8-2 +- Add BR glibc-static for tests on x86_64. + +* Mon Aug 01 2022 Richard W.M. Jones - 1:2.1.8-1 +- New upstream development version 2.1.8 + +* Sat Jul 23 2022 Fedora Release Engineering - 1:2.1.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Tue Jul 05 2022 Richard W.M. Jones - 1:2.1.7-1 +- New upstream development version 2.1.7 + +* Sun Jun 19 2022 Richard W.M. Jones - 1:2.1.6-2 +- OCaml 4.14.0 rebuild + +* Fri Jun 17 2022 Richard W.M. Jones - 1:2.1.6-1 +- New upstream development version 2.1.6 + +* Sat Jun 11 2022 Richard W.M. Jones - 1:2.1.5-1 +- New upstream development version 2.1.5 +- Add Requires python3 / platform-python (RHBZ#2094779) +- Remove nbdkit-readahead-filter as it is no longer used +- Enable the tests + +* Thu May 26 2022 Richard W.M. Jones - 1:2.1.4-1 +- New upstream development version 2.1.4 + +* Thu May 12 2022 Richard W.M. Jones - 1:2.1.3-1 +- New upstream development version 2.1.3 + +* Tue Apr 26 2022 Richard W.M. Jones - 1:2.1.2-1 +- New upstream development version 2.1.2 + +* Tue Apr 12 2022 Richard W.M. Jones - 1:2.1.1-1 +- New upstream development version 2.1.1 + +* Mon Apr 04 2022 Richard W.M. Jones - 1:2.0.2-1 +- New upstream stable branch version 2.0.2 + +* Wed Mar 23 2022 Richard W.M. Jones - 1:2.0.1-1 +- New upstream stable branch version 2.0.1 +- Fixes security issue when running virt-v2v as root (RHBZ#2066773). + +* Mon Mar 14 2022 Richard W.M. Jones - 1:2.0.0-1 +- New upstream stable branch version 2.0.0 +- New virt-v2v-in-place and release notes man pages. +- Remove the RHEL (downstream) patches which are out of date. +- Don't use absolute symlinks. + +* Tue Feb 15 2022 Richard W.M. Jones - 1:1.45.99-1 +- New upstream development version 1.45.99 (preview of 2.0) +- Requires nbdkit-blocksize-filter. + +* Thu Feb 10 2022 Richard W.M. Jones - 1:1.45.98-1 +- New upstream development version 1.45.98 (preview of 2.0) + +* Fri Feb 04 2022 Richard W.M. Jones - 1:1.45.97-3 +- OCaml 4.13.1 rebuild to remove package notes + +* Sat Jan 22 2022 Fedora Release Engineering - 1:1.45.97-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Jan 17 2022 Richard W.M. Jones - 1:1.45.97-1 +- New upstream development version 1.45.97 (preview of 2.0) + +* Thu Jan 06 2022 Richard W.M. Jones - 1:1.45.96-1 +- New upstream development version 1.45.96 (preview of 2.0) + +* Sat Dec 18 2021 Richard W.M. Jones - 1:1.45.95-1 +- New upstream development version 1.45.95 (preview of 2.0) + +* Tue Dec 07 2021 Richard W.M. Jones - 1:1.45.94-1 +- New upstream development version 1.45.94 (preview of 2.0) + +* Fri Dec 03 2021 Richard W.M. Jones - 1:1.45.93-1 +- New upstream development version 1.45.93 (preview of 2.0) + +* Thu Dec 02 2021 Richard W.M. Jones - 1:1.45.92-1 +- New upstream development version 1.45.92 (preview of 2.0) + +* Thu Nov 25 2021 Richard W.M. Jones - 1:1.45.91-2 +- Bump release and rebuild + +* Tue Nov 23 2021 Richard W.M. Jones - 1:1.45.91-1 +- New upstream development version 1.45.91 (preview of 2.0) + +* Tue Oct 05 2021 Richard W.M. Jones - 1:1.45.90-2 +- OCaml 4.13.1 build + +* Tue Sep 21 2021 Richard W.M. Jones - 1:1.45.90-1 +- New upstream development version 1.45.90 (preview of 2.0) + +* Fri Aug 06 2021 Richard W.M. Jones - 1:1.45.3-1 +- New upstream development version 1.45.3. +- Rebase RHEL patches. + +* Fri Jul 23 2021 Fedora Release Engineering - 1:1.45.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jun 30 2021 Richard W.M. Jones - 1:1.45.2-1 +- New upstream development version 1.45.2. +- Remove --debug-overlays and --print-estimate options. +- Remove -o glance option on RHEL 9 (RHBZ#1977539). +- Remove support for RHEV-APT (RHBZ#1945549). + +* Wed Jun 16 2021 Richard W.M. Jones - 1:1.45.1-1 +- New upstream development version 1.45.1. +- Require virtio-win on RHEL (RHBZ#1972644). +- v2v-test-harness, virt-v2v-copy-to-local have been removed upstream. * Thu Jun 10 2021 Richard W.M. Jones - 1:1.44.0-2 - nbdkit-vddk-plugin dep only exists on x86-64. @@ -304,19 +756,25 @@ rm $RPM_BUILD_ROOT%{_datadir}/bash-completion/completions/virt-v2v-copy-to-local * Wed Apr 14 2021 Richard W.M. Jones - 1:1.43.5-1 - New upstream version 1.43.5. -* Thu Apr 01 2021 Richard W.M. Jones - 1:1.43.3-4.fc34.3 +* Thu Apr 01 2021 Richard W.M. Jones - 1:1.43.4-5 - Add upstream patch to depend on xorriso. - Change libguestfs-tools-c -> guestfs-tools. -* Tue Mar 30 2021 Richard W.M. Jones - 1:1.43.3-4.fc34.1 +* Tue Mar 30 2021 Richard W.M. Jones - 1:1.43.4-3 - Add downstream (RHEL-only) patches (RHBZ#1931724). -* Thu Mar 18 2021 Richard W.M. Jones - 1:1.43.3-4 -- Make ocaml-ounit dependency conditional on !RHEL. - -* Mon Mar 8 2021 Richard W.M. Jones - 1:1.43.3-3 +* Mon Mar 8 2021 Richard W.M. Jones - 1:1.43.4-2 - Bump and rebuild for ocaml-gettext update. +* Wed Mar 3 2021 Richard W.M. Jones - 1:1.43.4-1 +- New upstream version 1.43.4. + +* Tue Mar 2 2021 Richard W.M. Jones - 1:1.43.3-4 +- OCaml 4.12.0 build + +* Tue Mar 2 2021 Richard W.M. Jones - 1:1.43.3-3 +- Add fix for OCaml 4.12. + * Wed Jan 27 2021 Fedora Release Engineering - 1:1.43.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild