diff --git a/.gitignore b/.gitignore index 8203505..b00c2b0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,3 @@ -*~ - # 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 new file mode 100644 index 0000000..69fcfc1 --- /dev/null +++ b/0001-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch @@ -0,0 +1,33 @@ +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 new file mode 100644 index 0000000..837d7de --- /dev/null +++ b/0002-RHEL-v2v-Disable-the-qemu-boot-option-RHBZ-1147313.patch @@ -0,0 +1,105 @@ +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 new file mode 100644 index 0000000..61b73d2 --- /dev/null +++ b/0003-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch @@ -0,0 +1,34 @@ +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 new file mode 100644 index 0000000..41ecc50 --- /dev/null +++ b/0004-RHEL-Fix-tests-for-libguestfs-winsupport.patch @@ -0,0 +1,79 @@ +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 new file mode 100644 index 0000000..01b5efa --- /dev/null +++ b/0005-RHEL-v2v-Disable-the-virt-v2v-in-place-option.patch @@ -0,0 +1,288 @@ +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 new file mode 100644 index 0000000..8ffe091 --- /dev/null +++ b/0006-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch @@ -0,0 +1,26 @@ +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 new file mode 100644 index 0000000..1e0fd47 --- /dev/null +++ b/0007-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch @@ -0,0 +1,26 @@ +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 new file mode 100644 index 0000000..a1ad4a0 --- /dev/null +++ b/0008-RHEL-v2v-rhv-upload-Remove-restriction-on-oa-sparse.patch @@ -0,0 +1,89 @@ +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 new file mode 100644 index 0000000..a7b5eb3 --- /dev/null +++ b/0009-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch @@ -0,0 +1,127 @@ +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 deleted file mode 100755 index 336c565..0000000 --- a/gating.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- !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 8fc8fc9..0114a80 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (virt-v2v-2.10.0.tar.gz) = 035f2181c1cc5f482e96d3e21b513b95939ca224d71ac6ad938842d5af5d60ef07db1600d2ccb609dc2042b1c74088f6f39ffbe595cb51e80278ecb50c314515 -SHA512 (virt-v2v-2.10.0.tar.gz.sig) = cb6301224ef00577a9cd0fc8fa504e583eb447341bd3849e6854f2d78ae72ca39bca68b70f30efd3d1d64480acf161c5e4bc9ba943595ef4dd2a654c3268aa66 +SHA512 (virt-v2v-1.44.2.tar.gz) = 60c8f6cb137de4bf9133342498278e95678cbab2881d514ef37b77a220daaf861cf1d68c8f33e36b0c815b6ac0876357a3ea776aa87399093bd2fc478b4c8b73 +SHA512 (virt-v2v-1.44.2.tar.gz.sig) = 12766b2484d6d2b2ff5ddb5379b3681befc14ecd6a6eb1bb7d24466be72c9fd3a24e996493c88797ed676c396855a94d254e5f4f5c77319d3cd97b874e009b5b diff --git a/tests/basic-test.sh b/tests/basic-test.sh deleted file mode 100755 index 71929e0..0000000 --- a/tests/basic-test.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/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 deleted file mode 100644 index 9dae6bd..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1,13 +0,0 @@ -- 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 9309b31..a148a69 100644 --- a/virt-v2v.spec +++ b/virt-v2v.spec @@ -1,54 +1,24 @@ # If we should verify tarball signature with GPGv2. %global verify_tarball_signature 1 -# The source directory. -%global source_directory 2.10-stable - +# If there are patches which touch autotools files, set this to 1. %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} - +%global patches_touch_autotools %{nil} %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} - +# On RHEL the downstream patches always touch autotools files. +%global patches_touch_autotools 1 %endif +# The source directory. +%global source_directory 1.44-stable + Name: virt-v2v Epoch: 1 -Version: 2.10.0 +Version: 1.44.2 Release: 1%{?dist} Summary: Convert a virtual machine to run on KVM -License: GPL-2.0-or-later AND LGPL-2.0-or-later +License: GPLv2+ URL: https://github.com/libguestfs/virt-v2v Source0: http://download.libguestfs.org/virt-v2v/%{source_directory}/%{name}-%{version}.tar.gz @@ -61,31 +31,56 @@ 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.08 +BuildRequires: ocaml >= 4.01 +BuildRequires: libguestfs-devel >= 1:1.42 -BuildRequires: libguestfs-devel >= 1:1.58.0-1 BuildRequires: augeas-devel BuildRequires: bash-completion -%if 0%{?fedora} || 0%{?rhel} >= 11 -BuildRequires: bash-completion-devel -%endif -BuildRequires: file +BuildRequires: file-devel BuildRequires: gettext-devel -BuildRequires: json-c-devel -BuildRequires: libnbd-devel >= 1.24 +BuildRequires: jansson-devel BuildRequires: libosinfo-devel -BuildRequires: libvirt-daemon-kvm BuildRequires: libvirt-devel -BuildRequires: libxcrypt-devel +BuildRequires: libvirt-daemon-kvm BuildRequires: libxml2-devel -BuildRequires: pcre2-devel +BuildRequires: pcre-devel BuildRequires: perl(Sys::Guestfs) BuildRequires: po4a BuildRequires: /usr/bin/virsh @@ -93,36 +88,25 @@ 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 - -# 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 +%if !0%{?rhel} +BuildRequires: ocaml-ounit-devel %endif +BuildRequires: nbdkit-python-plugin + %if 0%{verify_tarball_signature} BuildRequires: gnupg2 %endif -Requires: libguestfs%{?_isa} >= 1:1.58.0-1 -Requires: guestfs-tools >= 1.54 +Requires: libguestfs%{?_isa} >= 1:1.42 +Requires: guestfs-tools >= 1.42 # XFS is the default filesystem in Fedora and RHEL. Requires: libguestfs-xfs -%if 0%{?rhel} && ! 0%{?eln} +%if 0%{?rhel} # For Windows conversions on RHEL. Requires: libguestfs-winsupport >= 7.2 %endif @@ -131,8 +115,7 @@ Requires: gawk Requires: gzip Requires: unzip Requires: curl -Requires: openssh-clients >= 8.8p1 -Requires: %{_bindir}/virsh +Requires: /usr/bin/virsh # Ensure the UEFI firmware is available, to properly convert # EFI guests (RHBZ#1429643). @@ -143,40 +126,17 @@ Requires: edk2-ovmf Requires: edk2-aarch64 %endif -%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 +# Needed for -it vddk, and -o rhv-upload. +Requires: nbdkit 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: 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 +Requires: mingw32-srvany >= 1.0-13 %description @@ -226,35 +186,18 @@ for %{name}. %endif %autosetup -p1 -# 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 +%if 0%{patches_touch_autotools} +autoreconf -i +%endif %build %configure \ -%if %{with_block_driver} - --enable-block-driver \ +%if !0%{?rhel} + --with-extra="fedora=%{fedora},release=%{release}" \ %else - --disable-block-driver \ + --with-extra="rhel=%{rhel},release=%{release}" \ %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} @@ -265,95 +208,74 @@ make V=1 %{?_smp_mflags} # Delete libtool crap. find $RPM_BUILD_ROOT -name '*.la' -delete -%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 +# 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 # Find locale files. %find_lang %{name} %check -# 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 +# 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 -%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 +# # 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 -# Make sure we can see the debug messages (RHBZ#1230160). -export LIBGUESTFS_DEBUG=1 -export LIBGUESTFS_TRACE=1 +# # This test fails in mock. +# truncate -s 0 tests/test-v2v-oa-option.sh -# 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 +# # 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 %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* -%if %{with_ovirt} -%{_mandir}/man1/virt-v2v-output-ovirt.1* -%endif +%{_mandir}/man1/virt-v2v-output-rhv.1* %{_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 -%{bash_completions_dir}/virt-v2v +%{_datadir}/bash-completion/completions/virt-v2v %files man-pages-ja @@ -367,385 +289,11 @@ done %changelog -* 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. +* Thu Nov 25 2021 Richard W.M. Jones - 1:1.44.2-1 +- New upstream stable branch version 1.44.2 -* 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. +* Tue Nov 23 2021 Richard W.M. Jones - 1:1.44.1-1 +- New upstream stable branch version 1.44.1. * Thu Jun 10 2021 Richard W.M. Jones - 1:1.44.0-2 - nbdkit-vddk-plugin dep only exists on x86-64. @@ -756,25 +304,19 @@ done * 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.4-5 +* Thu Apr 01 2021 Richard W.M. Jones - 1:1.43.3-4.fc34.3 - Add upstream patch to depend on xorriso. - Change libguestfs-tools-c -> guestfs-tools. -* Tue Mar 30 2021 Richard W.M. Jones - 1:1.43.4-3 +* Tue Mar 30 2021 Richard W.M. Jones - 1:1.43.3-4.fc34.1 - Add downstream (RHEL-only) patches (RHBZ#1931724). -* Mon Mar 8 2021 Richard W.M. Jones - 1:1.43.4-2 +* 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 - 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