diff --git a/SOURCES/0019-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch b/SOURCES/0019-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch deleted file mode 100644 index 39e2a7b..0000000 --- a/SOURCES/0019-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 6633c5ca0fe4d37ff4b8ffc62902074fa3b060fb Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Sun, 28 Sep 2014 19:14:43 +0100 -Subject: [PATCH] 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. ---- - output/output_qemu.ml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/output/output_qemu.ml b/output/output_qemu.ml -index b667e782..3a57a009 100644 ---- a/output/output_qemu.ml -+++ b/output/output_qemu.ml -@@ -142,7 +142,7 @@ module QEMU = struct - * 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 diff --git a/SOURCES/0019-detect_kernels-tighten-try-scope.patch b/SOURCES/0019-detect_kernels-tighten-try-scope.patch new file mode 100644 index 0000000..005f3bb --- /dev/null +++ b/SOURCES/0019-detect_kernels-tighten-try-scope.patch @@ -0,0 +1,34 @@ +From e7aa456e26e59bfa5cca1299ef2cb5299592d9da Mon Sep 17 00:00:00 2001 +From: Laszlo Ersek +Date: Wed, 5 Apr 2023 17:08:28 +0200 +Subject: [PATCH] detect_kernels: tighten "try" scope + +We want to catch Not_found from (our own implementation of) +"List.find_map". There's no need (and it makes no sense) to push the +"prefix_len" calculation down into the "try" scope. Keep the "try" scope +as narrow as possible. + +Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2175703 +Signed-off-by: Laszlo Ersek +Tested-by: Vera Wu +(ported from libguestfs-common commit 4003815a994944cab38d48cfc96f16382de62987) +Message-Id: <20230405150829.171720-2-lersek@redhat.com> +Reviewed-by: Richard W.M. Jones +--- + convert/linux_kernels.ml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/convert/linux_kernels.ml b/convert/linux_kernels.ml +index 6e9d2bdd..75ab94c4 100644 +--- a/convert/linux_kernels.ml ++++ b/convert/linux_kernels.ml +@@ -122,8 +122,8 @@ let detect_kernels (g : G.guestfs) inspect family bootloader = + *) + let modpath, version = + let prefix = "/lib/modules/" in ++ let prefix_len = String.length prefix in + try +- let prefix_len = String.length prefix in + List.find_map ( + fun filename -> + let filename_len = String.length filename in diff --git a/SOURCES/0020-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch b/SOURCES/0020-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch deleted file mode 100644 index d743b52..0000000 --- a/SOURCES/0020-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch +++ /dev/null @@ -1,121 +0,0 @@ -From cf636bf489fd5a58f451c9da045cbcb856330bd7 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 30 Sep 2014 10:50:27 +0100 -Subject: [PATCH] RHEL: v2v: Disable the --qemu-boot / -oo 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 | 17 ----------------- - output/output_qemu.ml | 3 +++ - v2v/v2v.ml | 2 -- - 4 files changed, 5 insertions(+), 23 deletions(-) - -diff --git a/docs/virt-v2v-output-local.pod b/docs/virt-v2v-output-local.pod -index d2a1c270..0be37f5e 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 null - -@@ -47,12 +47,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 null> - -diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod -index b458607d..6cfe9e44 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 -oo qemu-boot -- - =head1 OPTIONS - - =over 4 -@@ -507,9 +502,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<-oo qemu-boot> --option which boots the guest under qemu immediately. -- - =item B<-o> B - - This is the same as I<-o rhv>. -@@ -588,11 +580,6 @@ For I<-o openstack> (L) only, set a guest ID - which is saved on each Cinder volume in the C - volume property. - --=item B<-oo qemu-boot> -- --When using I<-o qemu> only, this boots the guest immediately after --virt-v2v finishes. -- - =item B<-oo verify-server-certificate> - - =item B<-oo verify-server-certificate=>C -@@ -763,10 +750,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> -- --This is the same as I<-oo qemu-boot>. -- - =item B<-q> - - =item B<--quiet> -diff --git a/output/output_qemu.ml b/output/output_qemu.ml -index 3a57a009..4be9b650 100644 ---- a/output/output_qemu.ml -+++ b/output/output_qemu.ml -@@ -65,6 +65,9 @@ module QEMU = struct - let compressed = !compressed - and qemu_boot = !qemu_boot in - -+ if qemu_boot then -+ error (f_"-o qemu: the -oo qemu-boot option cannot be used in RHEL"); -+ - (* -os must be set to a directory. *) - let output_storage = - match options.output_storage with -diff --git a/v2v/v2v.ml b/v2v/v2v.ml -index 7a01eab5..dc747804 100644 ---- a/v2v/v2v.ml -+++ b/v2v/v2v.ml -@@ -272,8 +272,6 @@ let rec main () = - s_"Same as ‘-ip filename’"; - [ L"print-source" ], Getopt.Set print_source, - s_"Print source and stop"; -- [ L"qemu-boot" ], Getopt.Unit (fun () -> set_output_option_compat "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"), diff --git a/SOURCES/0020-detect_kernels-deal-with-RHEL-s-kernel-core-kernel-m.patch b/SOURCES/0020-detect_kernels-deal-with-RHEL-s-kernel-core-kernel-m.patch new file mode 100644 index 0000000..6d6c08f --- /dev/null +++ b/SOURCES/0020-detect_kernels-deal-with-RHEL-s-kernel-core-kernel-m.patch @@ -0,0 +1,97 @@ +From 9449d21eeae81d4283e74d7cdccf776e695783f0 Mon Sep 17 00:00:00 2001 +From: Laszlo Ersek +Date: Wed, 5 Apr 2023 17:08:29 +0200 +Subject: [PATCH] detect_kernels: deal with RHEL's kernel-core / + kernel-modules-core split + +In "kernel-5.14.0-269.el9", the "kernel-modules-core" subpackage got split +from the "kernel-core" subpackage. Therefore, a single binary RPM +containing *both* the "/boot/vmlinuz-5.14.0-269.el9.x86_64" file *and* the +"/lib/modules/5.14.0-269.el9.x86_64" directory no longer exists. The file +now belongs to "kernel-core", and the directory to "kernel-modules-core". + +As a result, when we investigate the file list of "kernel-core" (based on +"kernel-core" providing "/boot/vmlinuz-5.14.0-269.el9.x86_64"), the first +match against "/lib/modules/" is not the actual module root directory +"/lib/modules/5.14.0-269.el9.x86_64", but the nonsensical +"/lib/modules/5.14.0-269.el9.x86_64/.vmlinuz.hmac" regular file. This +latter file is never a directory, therefore we rule out "kernel-core" as a +kernel package. + +We also rule out "kernel-modules-core" (even earlier) because it does not +contain "/boot/vmlinuz-5.14.0-269.el9.x86_64". + +Now, the code already deals with the case if the prospective kernel +package *does not provide a match* for the "/lib/modules/" prefix: in that +case, we construct the modpath manually, from said prefix, and the version +number found in "/boot/vmlinuz-". This fallback is good, but it's +unreachable if *there is* a candidate, it's just wrong (i.e., not a +directory). + +Perform the "is_dir" check on the candidate modpath earlier, so that we +can fall back to the manual modpath construction if the modpath candidate +exists, but is wrong. + +With this, the original "is_dir" check becomes superfluous (duplicated) +*except* when the "Not_found" branch is taken. Therefore, hoist the +original "is_dir" check into that branch. + +Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2175703 +Reported-by: Vera Wu +Signed-off-by: Laszlo Ersek +Tested-by: Vera Wu +(ported from libguestfs-common commit 70c10a079a30ff3a84f38596d725a6c5d46e2470) +Message-Id: <20230405150829.171720-3-lersek@redhat.com> +Reviewed-by: Richard W.M. Jones +--- + convert/linux_kernels.ml | 24 ++++++++++++++++++------ + 1 file changed, 18 insertions(+), 6 deletions(-) + +diff --git a/convert/linux_kernels.ml b/convert/linux_kernels.ml +index 75ab94c4..d0b31643 100644 +--- a/convert/linux_kernels.ml ++++ b/convert/linux_kernels.ml +@@ -124,7 +124,7 @@ let detect_kernels (g : G.guestfs) inspect family bootloader = + let prefix = "/lib/modules/" in + let prefix_len = String.length prefix in + try +- List.find_map ( ++ let modpath, version = List.find_map ( + fun filename -> + let filename_len = String.length filename in + if filename_len > prefix_len && +@@ -134,17 +134,29 @@ let detect_kernels (g : G.guestfs) inspect family bootloader = + Some (filename, version) + ) else + None +- ) files ++ ) files in ++ (* Fall back to the version in the vmlinuz file name not only if ++ * a candidate pathname couldn't be found under /lib/modules/, ++ * but also in case the candidate pathname doesn't reference a ++ * directory. See RHBZ#2175703. ++ * ++ * Note that this "is_dir" check is deliberately kept outside of ++ * the "find_map"'s mapper function above: we want the first ++ * candidate *to be* a directory, and not the first candidate ++ * *that is* a directory. ++ *) ++ if not (g#is_dir ~followsymlinks:true modpath) then ++ raise Not_found; ++ modpath, version + with Not_found -> + let version = + String.sub vmlinuz 14 (String.length vmlinuz - 14) in + let modpath = prefix ^ version in ++ (* Check that the modpath exists. *) ++ if not (g#is_dir ~followsymlinks:true modpath) then ++ raise Not_found; + modpath, version in + +- (* Check that the modpath exists. *) +- if not (g#is_dir ~followsymlinks:true modpath) then +- raise Not_found; +- + (* Find the initramfs which corresponds to the kernel. + * Since the initramfs is built at runtime, and doesn't have + * to be covered by the RPM file list, this is basically diff --git a/SOURCES/0021-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch b/SOURCES/0021-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch deleted file mode 100644 index e0ab162..0000000 --- a/SOURCES/0021-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch +++ /dev/null @@ -1,31 +0,0 @@ -From a4ed97d92b38d2359475187c7ea3a42596cc4616 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Fri, 24 Apr 2015 09:45:41 -0400 -Subject: [PATCH] RHEL: Fix list of supported sound cards to match RHEL qemu - (RHBZ#1176493). - ---- - lib/utils.ml | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/lib/utils.ml b/lib/utils.ml -index 281868b5..e63ec7ce 100644 ---- a/lib/utils.ml -+++ b/lib/utils.ml -@@ -60,13 +60,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 = diff --git a/SOURCES/0021-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch b/SOURCES/0021-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch new file mode 100644 index 0000000..e770021 --- /dev/null +++ b/SOURCES/0021-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch @@ -0,0 +1,30 @@ +From da3ae25bdd18db8e4330f8b9c4d1c7bbb1f0df39 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Sun, 28 Sep 2014 19:14:43 +0100 +Subject: [PATCH] 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. +--- + output/output_qemu.ml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/output/output_qemu.ml b/output/output_qemu.ml +index b667e782..3a57a009 100644 +--- a/output/output_qemu.ml ++++ b/output/output_qemu.ml +@@ -142,7 +142,7 @@ module QEMU = struct + * 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 diff --git a/SOURCES/0022-RHEL-Fixes-for-libguestfs-winsupport.patch b/SOURCES/0022-RHEL-Fixes-for-libguestfs-winsupport.patch deleted file mode 100644 index 3671f6b..0000000 --- a/SOURCES/0022-RHEL-Fixes-for-libguestfs-winsupport.patch +++ /dev/null @@ -1,101 +0,0 @@ -From ef9a020874b82945e07c61198149e3b566612a85 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Sun, 30 Aug 2015 03:21:57 -0400 -Subject: [PATCH] RHEL: Fixes for libguestfs-winsupport. - -In tests we cannot use guestfish for arbitrary Windows edits. -In virt-v2v helpers we must set the program name to virt-v2v. ---- - convert/convert.ml | 1 + - convert/windows_virtio.ml | 1 + - test-data/phony-guests/make-windows-img.sh | 1 + - tests/test-v2v-virtio-win-iso.sh | 8 +++++++- - tests/test-v2v-windows-conversion.sh | 8 +++++++- - 5 files changed, 17 insertions(+), 2 deletions(-) - -diff --git a/convert/convert.ml b/convert/convert.ml -index d0d5b773..c3dd4151 100644 ---- a/convert/convert.ml -+++ b/convert/convert.ml -@@ -51,6 +51,7 @@ let rec convert dir options source = - - message (f_"Opening the source"); - let g = open_guestfs ~identifier:"v2v" () in -+ g#set_program "virt-v2v"; - g#set_memsize (g#get_memsize () * 2); - (* Setting the number of vCPUs allows parallel mkinitrd, but make - * sure this is not too large because each vCPU consumes guest RAM. -diff --git a/convert/windows_virtio.ml b/convert/windows_virtio.ml -index 6b642d21..2cef4234 100644 ---- a/convert/windows_virtio.ml -+++ b/convert/windows_virtio.ml -@@ -256,6 +256,7 @@ and copy_from_virtio_win g inspect srcdir destdir filter missing = - let g2 = - try - let g2 = open_guestfs ~identifier:"virtio_win" () in -+ g#set_program "virt-v2v"; - g2#add_drive_opts virtio_win ~readonly:true; - g2#launch (); - g2 -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" -diff --git a/tests/test-v2v-windows-conversion.sh b/tests/test-v2v-windows-conversion.sh -index a4cf191d..1ff41f6a 100755 ---- a/tests/test-v2v-windows-conversion.sh -+++ b/tests/test-v2v-windows-conversion.sh -@@ -76,6 +76,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 diff --git a/SOURCES/0022-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch b/SOURCES/0022-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch new file mode 100644 index 0000000..8573de6 --- /dev/null +++ b/SOURCES/0022-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch @@ -0,0 +1,121 @@ +From b638c2083ee9af57d036859e8a807ad56e9e9361 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 30 Sep 2014 10:50:27 +0100 +Subject: [PATCH] RHEL: v2v: Disable the --qemu-boot / -oo 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 | 17 ----------------- + output/output_qemu.ml | 3 +++ + v2v/v2v.ml | 2 -- + 4 files changed, 5 insertions(+), 23 deletions(-) + +diff --git a/docs/virt-v2v-output-local.pod b/docs/virt-v2v-output-local.pod +index d2a1c270..0be37f5e 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 null + +@@ -47,12 +47,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 null> + +diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod +index b458607d..6cfe9e44 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 -oo qemu-boot +- + =head1 OPTIONS + + =over 4 +@@ -507,9 +502,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<-oo qemu-boot> +-option which boots the guest under qemu immediately. +- + =item B<-o> B + + This is the same as I<-o rhv>. +@@ -588,11 +580,6 @@ For I<-o openstack> (L) only, set a guest ID + which is saved on each Cinder volume in the C + volume property. + +-=item B<-oo qemu-boot> +- +-When using I<-o qemu> only, this boots the guest immediately after +-virt-v2v finishes. +- + =item B<-oo verify-server-certificate> + + =item B<-oo verify-server-certificate=>C +@@ -763,10 +750,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> +- +-This is the same as I<-oo qemu-boot>. +- + =item B<-q> + + =item B<--quiet> +diff --git a/output/output_qemu.ml b/output/output_qemu.ml +index 3a57a009..4be9b650 100644 +--- a/output/output_qemu.ml ++++ b/output/output_qemu.ml +@@ -65,6 +65,9 @@ module QEMU = struct + let compressed = !compressed + and qemu_boot = !qemu_boot in + ++ if qemu_boot then ++ error (f_"-o qemu: the -oo qemu-boot option cannot be used in RHEL"); ++ + (* -os must be set to a directory. *) + let output_storage = + match options.output_storage with +diff --git a/v2v/v2v.ml b/v2v/v2v.ml +index 7a01eab5..dc747804 100644 +--- a/v2v/v2v.ml ++++ b/v2v/v2v.ml +@@ -272,8 +272,6 @@ let rec main () = + s_"Same as ‘-ip filename’"; + [ L"print-source" ], Getopt.Set print_source, + s_"Print source and stop"; +- [ L"qemu-boot" ], Getopt.Unit (fun () -> set_output_option_compat "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"), diff --git a/SOURCES/0023-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch b/SOURCES/0023-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch new file mode 100644 index 0000000..f4be098 --- /dev/null +++ b/SOURCES/0023-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch @@ -0,0 +1,31 @@ +From d8a6a0577f0a85387a6acf394f3523674c1b704f Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Fri, 24 Apr 2015 09:45:41 -0400 +Subject: [PATCH] RHEL: Fix list of supported sound cards to match RHEL qemu + (RHBZ#1176493). + +--- + lib/utils.ml | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/lib/utils.ml b/lib/utils.ml +index 281868b5..e63ec7ce 100644 +--- a/lib/utils.ml ++++ b/lib/utils.ml +@@ -60,13 +60,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 = diff --git a/SOURCES/0023-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch b/SOURCES/0023-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch deleted file mode 100644 index bb6c77e..0000000 --- a/SOURCES/0023-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 5703bf73a706dfc6a65075ff2ed5f544efa2a180 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Thu, 2 Mar 2017 14:21:37 +0100 -Subject: [PATCH] RHEL: v2v: -i disk: force VNC as display (RHBZ#1372671) - -The SDL output mode is not supported in RHEL's qemu-kvm. ---- - input/input_disk.ml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/input/input_disk.ml b/input/input_disk.ml -index 279250fe..c6b819c0 100644 ---- a/input/input_disk.ml -+++ b/input/input_disk.ml -@@ -77,7 +77,7 @@ module Disk = struct - 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_sound = None; - s_disks = s_disks; diff --git a/SOURCES/0024-RHEL-Fixes-for-libguestfs-winsupport.patch b/SOURCES/0024-RHEL-Fixes-for-libguestfs-winsupport.patch new file mode 100644 index 0000000..b252b1a --- /dev/null +++ b/SOURCES/0024-RHEL-Fixes-for-libguestfs-winsupport.patch @@ -0,0 +1,101 @@ +From 94f4aaeea12ac37a5b7515251040ce3e6fd86171 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Sun, 30 Aug 2015 03:21:57 -0400 +Subject: [PATCH] RHEL: Fixes for libguestfs-winsupport. + +In tests we cannot use guestfish for arbitrary Windows edits. +In virt-v2v helpers we must set the program name to virt-v2v. +--- + convert/convert.ml | 1 + + convert/windows_virtio.ml | 1 + + test-data/phony-guests/make-windows-img.sh | 1 + + tests/test-v2v-virtio-win-iso.sh | 8 +++++++- + tests/test-v2v-windows-conversion.sh | 8 +++++++- + 5 files changed, 17 insertions(+), 2 deletions(-) + +diff --git a/convert/convert.ml b/convert/convert.ml +index d0d5b773..c3dd4151 100644 +--- a/convert/convert.ml ++++ b/convert/convert.ml +@@ -51,6 +51,7 @@ let rec convert dir options source = + + message (f_"Opening the source"); + let g = open_guestfs ~identifier:"v2v" () in ++ g#set_program "virt-v2v"; + g#set_memsize (g#get_memsize () * 2); + (* Setting the number of vCPUs allows parallel mkinitrd, but make + * sure this is not too large because each vCPU consumes guest RAM. +diff --git a/convert/windows_virtio.ml b/convert/windows_virtio.ml +index 6b642d21..2cef4234 100644 +--- a/convert/windows_virtio.ml ++++ b/convert/windows_virtio.ml +@@ -256,6 +256,7 @@ and copy_from_virtio_win g inspect srcdir destdir filter missing = + let g2 = + try + let g2 = open_guestfs ~identifier:"virtio_win" () in ++ g#set_program "virt-v2v"; + g2#add_drive_opts virtio_win ~readonly:true; + g2#launch (); + g2 +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" +diff --git a/tests/test-v2v-windows-conversion.sh b/tests/test-v2v-windows-conversion.sh +index a4cf191d..1ff41f6a 100755 +--- a/tests/test-v2v-windows-conversion.sh ++++ b/tests/test-v2v-windows-conversion.sh +@@ -76,6 +76,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 diff --git a/SOURCES/0024-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch b/SOURCES/0024-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch deleted file mode 100644 index 9552dbc..0000000 --- a/SOURCES/0024-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 4cc16f9bdf58f1036bd6ad67d6af2c0925e32a13 Mon Sep 17 00:00:00 2001 -From: Pino Toscano -Date: Wed, 8 Mar 2017 11:03:40 +0100 -Subject: [PATCH] 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 4a0544f8..9c3981e1 100644 ---- a/docs/virt-v2v-input-xen.pod -+++ b/docs/virt-v2v-input-xen.pod -@@ -11,7 +11,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 - diff --git a/SOURCES/0025-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch b/SOURCES/0025-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch deleted file mode 100644 index bc5f510..0000000 --- a/SOURCES/0025-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch +++ /dev/null @@ -1,124 +0,0 @@ -From f00e06aecd8e2040de6447e05fb721cb1f14720e Mon Sep 17 00:00:00 2001 -From: Pino Toscano -Date: Tue, 26 Mar 2019 09:42:25 +0100 -Subject: [PATCH] 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 - diff --git a/SOURCES/0025-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch b/SOURCES/0025-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch new file mode 100644 index 0000000..67a1fd9 --- /dev/null +++ b/SOURCES/0025-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch @@ -0,0 +1,23 @@ +From ffcd5358b8f6e39962edc91aa036089adc4fcdb0 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Thu, 2 Mar 2017 14:21:37 +0100 +Subject: [PATCH] RHEL: v2v: -i disk: force VNC as display (RHBZ#1372671) + +The SDL output mode is not supported in RHEL's qemu-kvm. +--- + input/input_disk.ml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/input/input_disk.ml b/input/input_disk.ml +index 279250fe..c6b819c0 100644 +--- a/input/input_disk.ml ++++ b/input/input_disk.ml +@@ -77,7 +77,7 @@ module Disk = struct + 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_sound = None; + s_disks = s_disks; diff --git a/SOURCES/0026-RHEL-Disable-o-glance.patch b/SOURCES/0026-RHEL-Disable-o-glance.patch deleted file mode 100644 index 67cf1b7..0000000 --- a/SOURCES/0026-RHEL-Disable-o-glance.patch +++ /dev/null @@ -1,216 +0,0 @@ -From 5ef909eb4d65adb02f6f9170755813e3bd0ebb34 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 30 Jun 2021 11:15:52 +0100 -Subject: [PATCH] RHEL: Disable -o glance - -Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1977539 ---- - docs/virt-v2v-output-openstack.pod | 56 ++---------------------------- - docs/virt-v2v.pod | 20 ----------- - output/output_glance.mli | 2 +- - tests/test-v2v-o-glance.sh | 3 ++ - v2v/v2v.ml | 7 +--- - 5 files changed, 7 insertions(+), 81 deletions(-) - -diff --git a/docs/virt-v2v-output-openstack.pod b/docs/virt-v2v-output-openstack.pod -index f5a3abad..1ab356e8 100644 ---- a/docs/virt-v2v-output-openstack.pod -+++ b/docs/virt-v2v-output-openstack.pod -@@ -10,13 +10,10 @@ virt-v2v-output-openstack - Using virt-v2v to convert guests to OpenStack - [-oo verify-server-certificate=false] - [-oo os-username=admin] [-oo os-*=*] - -- virt-v2v [-i* options] -o glance -- - =head1 DESCRIPTION - - This page documents how to use L to convert guests to run --on OpenStack. There are two output modes you can select, but only --I<-o openstack> should be used normally. -+on OpenStack. - - =over 4 - -@@ -27,15 +24,6 @@ Full description: L - This is the modern method for uploading to OpenStack via the REST API. - Guests can be directly converted into Cinder volumes. - --=item B<-o glance> -- --Full description: L -- --This is the old method for uploading to Glance. Unfortunately Glance --is not well suited to storing converted guests (since virt-v2v deals --with "pets" not templated "cattle"), so this method is not recommended --unless you really know what you are doing. -- - =back - - =head1 OUTPUT TO OPENSTACK -@@ -170,50 +158,10 @@ no Cinder volume type is used. - The following options are B supported with OpenStack: I<-oa>, - I<-of>. - --=head1 OUTPUT TO GLANCE -- --Note this is a legacy option. In most cases you should use --L instead. -- --To output to OpenStack Glance, use the I<-o glance> option. -- --This runs the L CLI program which must be installed on the --virt-v2v conversion host. For authentication to work, you will need --to set C environment variables. -- --Normally there is a file called C or C --which you can simply C to set everything up. -- --Virt-v2v adds metadata for the guest to Glance, describing such things --as the guest operating system and what drivers it requires. The --command C will display the metadata as "Property" --fields such as C and C. -- --=head2 Glance and sparseness -- --Glance image upload doesn't appear to correctly handle sparseness. --For this reason, using qcow2 will be faster and use less space on the --Glance server. Use the virt-v2v S> option. -- --=head2 Glance and multiple disks -- --If the guest has a single disk, then the name of the disk in Glance --will be the name of the guest. You can control this using the I<-on> --option. -- --Glance doesn't have a concept of associating multiple disks with a --single guest, and Nova doesn't allow you to boot a guest from multiple --Glance disks either. If the guest has multiple disks, then the first --(assumed to be the system disk) will have the name of the guest, and --the second and subsequent data disks will be called --C-disk2>, C-disk3> etc. It may be best to --leave the system disk in Glance, and import the data disks to Cinder. -- - =head1 SEE ALSO - - L, --L, --L. -+L. - - =head1 AUTHOR - -diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod -index 6cfe9e44..d161b63f 100644 ---- a/docs/virt-v2v.pod -+++ b/docs/virt-v2v.pod -@@ -421,14 +421,6 @@ See L below. - - This is the same as I<-o local>. - --=item B<-o> B -- --This is a legacy option. You should probably use I<-o openstack> --instead. -- --Set the output method to OpenStack Glance. In this mode the converted --guest is uploaded to Glance. See L. -- - =item B<-o> B - - Set the output method to I. B (or F). - --=item I<-o glance> -- --This temporarily places a full copy of the output disks in --C<$VIRT_V2V_TMPDIR> (or F). -- - =item I<-o local> - - =item I<-o qemu> -@@ -1360,13 +1347,6 @@ instance. - Because of how Cinder volumes are presented as F block devices, - using I<-o openstack> normally requires that virt-v2v is run as root. - --=item Writing to Glance -- --This does I need root (in fact it probably won’t work), but may --require either a special user and/or for you to source a script that --sets authentication environment variables. Consult the Glance --documentation. -- - =item Writing to block devices - - This normally requires root. See the next section. -diff --git a/output/output_glance.mli b/output/output_glance.mli -index 972320a2..9befc461 100644 ---- a/output/output_glance.mli -+++ b/output/output_glance.mli -@@ -18,4 +18,4 @@ - - (** [-o glance] output mode. *) - --module Glance : Output.OUTPUT -+(*module Glance : Output.OUTPUT*) -diff --git a/tests/test-v2v-o-glance.sh b/tests/test-v2v-o-glance.sh -index c0db9115..074b5e16 100755 ---- a/tests/test-v2v-o-glance.sh -+++ b/tests/test-v2v-o-glance.sh -@@ -20,6 +20,9 @@ - - set -e - -+# Feature is disabled in RHEL 9. -+exit 77 -+ - source ./functions.sh - set -e - set -x -diff --git a/v2v/v2v.ml b/v2v/v2v.ml -index dc747804..392c3dad 100644 ---- a/v2v/v2v.ml -+++ b/v2v/v2v.ml -@@ -194,7 +194,6 @@ let rec main () = - if !output_mode <> `Not_set then - error (f_"%s option used more than once on the command line") "-o"; - match mode with -- | "glance" -> output_mode := `Glance - | "kubevirt" -> output_mode := `Kubevirt - | "libvirt" -> output_mode := `Libvirt - | "disk" | "local" -> output_mode := `Disk -@@ -252,7 +251,7 @@ let rec main () = - s_"Map network ‘in’ to ‘out’"; - [ L"no-trim" ], Getopt.String ("-", no_trim_warning), - s_"Ignored for backwards compatibility"; -- [ S 'o' ], Getopt.String ("glance|kubevirt|libvirt|local|null|openstack|qemu|rhv|rhv-upload|vdsm", set_output_mode), -+ [ S 'o' ], Getopt.String ("kubevirt|libvirt|local|null|openstack|qemu|rhv|rhv-upload|vdsm", set_output_mode), - s_"Set output mode (default: libvirt)"; - [ M"oa" ], Getopt.String ("sparse|preallocated", set_output_alloc), - s_"Set output allocation mode"; -@@ -320,8 +319,6 @@ virt-v2v -i libvirtxml guest-domain.xml -o local -os /var/tmp - - virt-v2v -i disk disk.img -o local -os /var/tmp - --virt-v2v -i disk disk.img -o glance -- - There is a companion front-end called \"virt-p2v\" which comes as an - ISO or CD image that can be booted on physical machines. - -@@ -390,7 +387,6 @@ read the man page virt-v2v(1). - pr "input:libvirtxml\n"; - pr "input:ova\n"; - pr "input:vmx\n"; -- pr "output:glance\n"; - pr "output:kubevirt\n"; - pr "output:libvirt\n"; - pr "output:local\n"; -@@ -487,7 +483,6 @@ read the man page virt-v2v(1). - | `Disk -> (module Output_disk.Disk) - | `Null -> (module Output_null.Null) - | `QEmu -> (module Output_qemu.QEMU) -- | `Glance -> (module Output_glance.Glance) - | `Kubevirt -> (module Output_kubevirt.Kubevirt) - | `Openstack -> (module Output_openstack.Openstack) - | `RHV_Upload -> (module Output_rhv_upload.RHVUpload) diff --git a/SOURCES/0026-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch b/SOURCES/0026-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch new file mode 100644 index 0000000..180064f --- /dev/null +++ b/SOURCES/0026-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch @@ -0,0 +1,23 @@ +From 907b8c0f9f0aaf3cf5ec71c8371ea252c4acf357 Mon Sep 17 00:00:00 2001 +From: Pino Toscano +Date: Wed, 8 Mar 2017 11:03:40 +0100 +Subject: [PATCH] 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 4a0544f8..9c3981e1 100644 +--- a/docs/virt-v2v-input-xen.pod ++++ b/docs/virt-v2v-input-xen.pod +@@ -11,7 +11,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 + diff --git a/SOURCES/0027-RHEL-Remove-the-in-place-option.patch b/SOURCES/0027-RHEL-Remove-the-in-place-option.patch deleted file mode 100644 index f298cdd..0000000 --- a/SOURCES/0027-RHEL-Remove-the-in-place-option.patch +++ /dev/null @@ -1,84 +0,0 @@ -From ade0fd71c59b362ae7fd6cc07dd91eda9341eafe Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Thu, 2 Dec 2021 11:56:05 +0000 -Subject: [PATCH] RHEL: Remove the --in-place option - -This disables the virt-v2v --in-place option which we do not -wish to support in RHEL. ---- - docs/virt-v2v.pod | 8 -------- - tests/Makefile.am | 1 - - v2v/v2v.ml | 8 -------- - 3 files changed, 17 deletions(-) - -diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod -index d161b63f..0394b421 100644 ---- a/docs/virt-v2v.pod -+++ b/docs/virt-v2v.pod -@@ -24,9 +24,6 @@ virtualize those machines (physical to virtual, or p2v). - To estimate the disk space needed before conversion, see - L. - --For in-place conversion, there is a separate tool called --L. -- - =head2 Input and Output - - You normally run virt-v2v with several I<-i*> options controlling the -@@ -39,10 +36,6 @@ The input and output sides of virt-v2v are separate and unrelated. - Virt-v2v can read from any input and write to any output. Therefore - 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 conversions may be done using L. -- - =head2 Other virt-v2v topics - - L — Supported hypervisors, virtualization -@@ -1612,7 +1605,6 @@ L, - L, --L, - L, - L, - L, -diff --git a/tests/Makefile.am b/tests/Makefile.am -index a4c87398..998b871d 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -77,7 +77,6 @@ TESTS = \ - test-v2v-floppy.sh \ - test-v2v-i-disk.sh \ - test-v2v-i-ova.sh \ -- test-v2v-in-place.sh \ - test-v2v-inspector.sh \ - test-v2v-mac.sh \ - test-v2v-machine-readable.sh \ -diff --git a/v2v/v2v.ml b/v2v/v2v.ml -index 392c3dad..18a694ee 100644 ---- a/v2v/v2v.ml -+++ b/v2v/v2v.ml -@@ -216,12 +216,6 @@ let rec main () = - warning (f_"the --vmtype option has been removed and now does nothing") - in - -- (* Options that are errors. *) -- let in_place_error _ = -- error (f_"The --in-place option has been replaced by the \ -- ‘virt-v2v-in-place’ program") -- in -- - let argspec = [ - [ L"bandwidth" ], Getopt.String ("bps", set_string_option_once "--bandwidth" bandwidth), - s_"Set bandwidth to bits per sec"; -@@ -243,8 +237,6 @@ let rec main () = - 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.Unit in_place_error, -- s_"Use virt-v2v-in-place instead"; - [ 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), diff --git a/SOURCES/0027-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch b/SOURCES/0027-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch new file mode 100644 index 0000000..55b7d28 --- /dev/null +++ b/SOURCES/0027-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch @@ -0,0 +1,124 @@ +From ee2bf7286e96419df09d86ddf0eeb31ad869ff92 Mon Sep 17 00:00:00 2001 +From: Pino Toscano +Date: Tue, 26 Mar 2019 09:42:25 +0100 +Subject: [PATCH] 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 + diff --git a/SOURCES/0028-RHEL-9-oo-compressed-Remove-nbdcopy-version-check-an.patch b/SOURCES/0028-RHEL-9-oo-compressed-Remove-nbdcopy-version-check-an.patch deleted file mode 100644 index 57666f8..0000000 --- a/SOURCES/0028-RHEL-9-oo-compressed-Remove-nbdcopy-version-check-an.patch +++ /dev/null @@ -1,47 +0,0 @@ -From d6fc11c3f99f2f25b06d36d582d63702be802132 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 5 Jul 2022 11:56:54 +0100 -Subject: [PATCH] RHEL 9: -oo compressed: Remove nbdcopy version check and test - -In RHEL 9 nbdcopy 1.12.4-2 will be sufficient (vs nbdcopy 1.13.5 -upstream). We will enforce this through RPM dependencies and test it -separately. Thus remove the version check and test. ---- - output/output.ml | 11 ----------- - tests/Makefile.am | 1 - - 2 files changed, 12 deletions(-) - -diff --git a/output/output.ml b/output/output.ml -index e419c13d..c8f743c2 100644 ---- a/output/output.ml -+++ b/output/output.ml -@@ -87,17 +87,6 @@ let output_to_local_file ?(changeuid = fun f -> f ()) ?(compressed = false) - if output_format <> "qcow2" then - error (f_"‘-oo compressed’ is only allowed when the output format \ - is a local qcow2-format file, i.e. ‘-of qcow2’"); -- -- (* Check nbdcopy is new enough. This assumes that the version of -- * libnbd is the same as the version of nbdcopy, but parsing this -- * is easier. We can remove this check when we build-depend on -- * libnbd >= 1.14. -- *) -- let version = -- NBD.create () |> NBD.get_version |> -- String.nsplit "." |> List.map int_of_string in -- if version < [1; 13; 5] then -- error (f_"-oo compressed option requires nbdcopy >= 1.13.5") - ); - - let g = open_guestfs () in -diff --git a/tests/Makefile.am b/tests/Makefile.am -index 998b871d..8cf17f94 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -83,7 +83,6 @@ TESTS = \ - test-v2v-networks-and-bridges.sh \ - test-v2v-o-glance.sh \ - test-v2v-o-libvirt.sh \ -- test-v2v-o-local-qcow2-compressed.sh \ - test-v2v-o-null.sh \ - test-v2v-o-openstack.sh \ - test-v2v-o-qemu.sh \ diff --git a/SOURCES/0028-RHEL-Disable-o-glance.patch b/SOURCES/0028-RHEL-Disable-o-glance.patch new file mode 100644 index 0000000..2d84f62 --- /dev/null +++ b/SOURCES/0028-RHEL-Disable-o-glance.patch @@ -0,0 +1,216 @@ +From 2d85522fe7b03207573952a7d95b0f621e3ff52e Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Wed, 30 Jun 2021 11:15:52 +0100 +Subject: [PATCH] RHEL: Disable -o glance + +Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1977539 +--- + docs/virt-v2v-output-openstack.pod | 56 ++---------------------------- + docs/virt-v2v.pod | 20 ----------- + output/output_glance.mli | 2 +- + tests/test-v2v-o-glance.sh | 3 ++ + v2v/v2v.ml | 7 +--- + 5 files changed, 7 insertions(+), 81 deletions(-) + +diff --git a/docs/virt-v2v-output-openstack.pod b/docs/virt-v2v-output-openstack.pod +index f5a3abad..1ab356e8 100644 +--- a/docs/virt-v2v-output-openstack.pod ++++ b/docs/virt-v2v-output-openstack.pod +@@ -10,13 +10,10 @@ virt-v2v-output-openstack - Using virt-v2v to convert guests to OpenStack + [-oo verify-server-certificate=false] + [-oo os-username=admin] [-oo os-*=*] + +- virt-v2v [-i* options] -o glance +- + =head1 DESCRIPTION + + This page documents how to use L to convert guests to run +-on OpenStack. There are two output modes you can select, but only +-I<-o openstack> should be used normally. ++on OpenStack. + + =over 4 + +@@ -27,15 +24,6 @@ Full description: L + This is the modern method for uploading to OpenStack via the REST API. + Guests can be directly converted into Cinder volumes. + +-=item B<-o glance> +- +-Full description: L +- +-This is the old method for uploading to Glance. Unfortunately Glance +-is not well suited to storing converted guests (since virt-v2v deals +-with "pets" not templated "cattle"), so this method is not recommended +-unless you really know what you are doing. +- + =back + + =head1 OUTPUT TO OPENSTACK +@@ -170,50 +158,10 @@ no Cinder volume type is used. + The following options are B supported with OpenStack: I<-oa>, + I<-of>. + +-=head1 OUTPUT TO GLANCE +- +-Note this is a legacy option. In most cases you should use +-L instead. +- +-To output to OpenStack Glance, use the I<-o glance> option. +- +-This runs the L CLI program which must be installed on the +-virt-v2v conversion host. For authentication to work, you will need +-to set C environment variables. +- +-Normally there is a file called C or C +-which you can simply C to set everything up. +- +-Virt-v2v adds metadata for the guest to Glance, describing such things +-as the guest operating system and what drivers it requires. The +-command C will display the metadata as "Property" +-fields such as C and C. +- +-=head2 Glance and sparseness +- +-Glance image upload doesn't appear to correctly handle sparseness. +-For this reason, using qcow2 will be faster and use less space on the +-Glance server. Use the virt-v2v S> option. +- +-=head2 Glance and multiple disks +- +-If the guest has a single disk, then the name of the disk in Glance +-will be the name of the guest. You can control this using the I<-on> +-option. +- +-Glance doesn't have a concept of associating multiple disks with a +-single guest, and Nova doesn't allow you to boot a guest from multiple +-Glance disks either. If the guest has multiple disks, then the first +-(assumed to be the system disk) will have the name of the guest, and +-the second and subsequent data disks will be called +-C-disk2>, C-disk3> etc. It may be best to +-leave the system disk in Glance, and import the data disks to Cinder. +- + =head1 SEE ALSO + + L, +-L, +-L. ++L. + + =head1 AUTHOR + +diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod +index 6cfe9e44..d161b63f 100644 +--- a/docs/virt-v2v.pod ++++ b/docs/virt-v2v.pod +@@ -421,14 +421,6 @@ See L below. + + This is the same as I<-o local>. + +-=item B<-o> B +- +-This is a legacy option. You should probably use I<-o openstack> +-instead. +- +-Set the output method to OpenStack Glance. In this mode the converted +-guest is uploaded to Glance. See L. +- + =item B<-o> B + + Set the output method to I. B (or F). + +-=item I<-o glance> +- +-This temporarily places a full copy of the output disks in +-C<$VIRT_V2V_TMPDIR> (or F). +- + =item I<-o local> + + =item I<-o qemu> +@@ -1360,13 +1347,6 @@ instance. + Because of how Cinder volumes are presented as F block devices, + using I<-o openstack> normally requires that virt-v2v is run as root. + +-=item Writing to Glance +- +-This does I need root (in fact it probably won’t work), but may +-require either a special user and/or for you to source a script that +-sets authentication environment variables. Consult the Glance +-documentation. +- + =item Writing to block devices + + This normally requires root. See the next section. +diff --git a/output/output_glance.mli b/output/output_glance.mli +index 972320a2..9befc461 100644 +--- a/output/output_glance.mli ++++ b/output/output_glance.mli +@@ -18,4 +18,4 @@ + + (** [-o glance] output mode. *) + +-module Glance : Output.OUTPUT ++(*module Glance : Output.OUTPUT*) +diff --git a/tests/test-v2v-o-glance.sh b/tests/test-v2v-o-glance.sh +index c0db9115..074b5e16 100755 +--- a/tests/test-v2v-o-glance.sh ++++ b/tests/test-v2v-o-glance.sh +@@ -20,6 +20,9 @@ + + set -e + ++# Feature is disabled in RHEL 9. ++exit 77 ++ + source ./functions.sh + set -e + set -x +diff --git a/v2v/v2v.ml b/v2v/v2v.ml +index dc747804..392c3dad 100644 +--- a/v2v/v2v.ml ++++ b/v2v/v2v.ml +@@ -194,7 +194,6 @@ let rec main () = + if !output_mode <> `Not_set then + error (f_"%s option used more than once on the command line") "-o"; + match mode with +- | "glance" -> output_mode := `Glance + | "kubevirt" -> output_mode := `Kubevirt + | "libvirt" -> output_mode := `Libvirt + | "disk" | "local" -> output_mode := `Disk +@@ -252,7 +251,7 @@ let rec main () = + s_"Map network ‘in’ to ‘out’"; + [ L"no-trim" ], Getopt.String ("-", no_trim_warning), + s_"Ignored for backwards compatibility"; +- [ S 'o' ], Getopt.String ("glance|kubevirt|libvirt|local|null|openstack|qemu|rhv|rhv-upload|vdsm", set_output_mode), ++ [ S 'o' ], Getopt.String ("kubevirt|libvirt|local|null|openstack|qemu|rhv|rhv-upload|vdsm", set_output_mode), + s_"Set output mode (default: libvirt)"; + [ M"oa" ], Getopt.String ("sparse|preallocated", set_output_alloc), + s_"Set output allocation mode"; +@@ -320,8 +319,6 @@ virt-v2v -i libvirtxml guest-domain.xml -o local -os /var/tmp + + virt-v2v -i disk disk.img -o local -os /var/tmp + +-virt-v2v -i disk disk.img -o glance +- + There is a companion front-end called \"virt-p2v\" which comes as an + ISO or CD image that can be booted on physical machines. + +@@ -390,7 +387,6 @@ read the man page virt-v2v(1). + pr "input:libvirtxml\n"; + pr "input:ova\n"; + pr "input:vmx\n"; +- pr "output:glance\n"; + pr "output:kubevirt\n"; + pr "output:libvirt\n"; + pr "output:local\n"; +@@ -487,7 +483,6 @@ read the man page virt-v2v(1). + | `Disk -> (module Output_disk.Disk) + | `Null -> (module Output_null.Null) + | `QEmu -> (module Output_qemu.QEMU) +- | `Glance -> (module Output_glance.Glance) + | `Kubevirt -> (module Output_kubevirt.Kubevirt) + | `Openstack -> (module Output_openstack.Openstack) + | `RHV_Upload -> (module Output_rhv_upload.RHVUpload) diff --git a/SOURCES/0029-RHEL-9-tests-Remove-btrfs-test.patch b/SOURCES/0029-RHEL-9-tests-Remove-btrfs-test.patch deleted file mode 100644 index a8aea52..0000000 --- a/SOURCES/0029-RHEL-9-tests-Remove-btrfs-test.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 86517b17be985cb234846c75680c144bf9ea2dd8 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 5 Jul 2022 11:58:09 +0100 -Subject: [PATCH] RHEL 9: tests: Remove btrfs test - -RHEL does not have btrfs so this test always fails. ---- - tests/Makefile.am | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/tests/Makefile.am b/tests/Makefile.am -index 8cf17f94..8b2a8685 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -97,7 +97,6 @@ TESTS = \ - test-v2v-sound.sh \ - test-v2v-virtio-win-iso.sh \ - test-v2v-fedora-conversion.sh \ -- test-v2v-fedora-btrfs-conversion.sh \ - test-v2v-fedora-luks-on-lvm-conversion.sh \ - test-v2v-fedora-lvm-on-luks-conversion.sh \ - test-v2v-fedora-md-conversion.sh \ diff --git a/SOURCES/0029-RHEL-Remove-the-in-place-option.patch b/SOURCES/0029-RHEL-Remove-the-in-place-option.patch new file mode 100644 index 0000000..cb86651 --- /dev/null +++ b/SOURCES/0029-RHEL-Remove-the-in-place-option.patch @@ -0,0 +1,84 @@ +From 8fbfb57de81e9962eacc493338aee6162fefb510 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Thu, 2 Dec 2021 11:56:05 +0000 +Subject: [PATCH] RHEL: Remove the --in-place option + +This disables the virt-v2v --in-place option which we do not +wish to support in RHEL. +--- + docs/virt-v2v.pod | 8 -------- + tests/Makefile.am | 1 - + v2v/v2v.ml | 8 -------- + 3 files changed, 17 deletions(-) + +diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod +index d161b63f..0394b421 100644 +--- a/docs/virt-v2v.pod ++++ b/docs/virt-v2v.pod +@@ -24,9 +24,6 @@ virtualize those machines (physical to virtual, or p2v). + To estimate the disk space needed before conversion, see + L. + +-For in-place conversion, there is a separate tool called +-L. +- + =head2 Input and Output + + You normally run virt-v2v with several I<-i*> options controlling the +@@ -39,10 +36,6 @@ The input and output sides of virt-v2v are separate and unrelated. + Virt-v2v can read from any input and write to any output. Therefore + 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 conversions may be done using L. +- + =head2 Other virt-v2v topics + + L — Supported hypervisors, virtualization +@@ -1612,7 +1605,6 @@ L, + L, +-L, + L, + L, + L, +diff --git a/tests/Makefile.am b/tests/Makefile.am +index a4c87398..998b871d 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -77,7 +77,6 @@ TESTS = \ + test-v2v-floppy.sh \ + test-v2v-i-disk.sh \ + test-v2v-i-ova.sh \ +- test-v2v-in-place.sh \ + test-v2v-inspector.sh \ + test-v2v-mac.sh \ + test-v2v-machine-readable.sh \ +diff --git a/v2v/v2v.ml b/v2v/v2v.ml +index 392c3dad..18a694ee 100644 +--- a/v2v/v2v.ml ++++ b/v2v/v2v.ml +@@ -216,12 +216,6 @@ let rec main () = + warning (f_"the --vmtype option has been removed and now does nothing") + in + +- (* Options that are errors. *) +- let in_place_error _ = +- error (f_"The --in-place option has been replaced by the \ +- ‘virt-v2v-in-place’ program") +- in +- + let argspec = [ + [ L"bandwidth" ], Getopt.String ("bps", set_string_option_once "--bandwidth" bandwidth), + s_"Set bandwidth to bits per sec"; +@@ -243,8 +237,6 @@ let rec main () = + 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.Unit in_place_error, +- s_"Use virt-v2v-in-place instead"; + [ 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), diff --git a/SOURCES/0030-RHEL-9-oo-compressed-Remove-nbdcopy-version-check-an.patch b/SOURCES/0030-RHEL-9-oo-compressed-Remove-nbdcopy-version-check-an.patch new file mode 100644 index 0000000..1130f89 --- /dev/null +++ b/SOURCES/0030-RHEL-9-oo-compressed-Remove-nbdcopy-version-check-an.patch @@ -0,0 +1,47 @@ +From b04577d80b8933a04b1863727cabefc48d6ae0da Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 5 Jul 2022 11:56:54 +0100 +Subject: [PATCH] RHEL 9: -oo compressed: Remove nbdcopy version check and test + +In RHEL 9 nbdcopy 1.12.4-2 will be sufficient (vs nbdcopy 1.13.5 +upstream). We will enforce this through RPM dependencies and test it +separately. Thus remove the version check and test. +--- + output/output.ml | 11 ----------- + tests/Makefile.am | 1 - + 2 files changed, 12 deletions(-) + +diff --git a/output/output.ml b/output/output.ml +index e419c13d..c8f743c2 100644 +--- a/output/output.ml ++++ b/output/output.ml +@@ -87,17 +87,6 @@ let output_to_local_file ?(changeuid = fun f -> f ()) ?(compressed = false) + if output_format <> "qcow2" then + error (f_"‘-oo compressed’ is only allowed when the output format \ + is a local qcow2-format file, i.e. ‘-of qcow2’"); +- +- (* Check nbdcopy is new enough. This assumes that the version of +- * libnbd is the same as the version of nbdcopy, but parsing this +- * is easier. We can remove this check when we build-depend on +- * libnbd >= 1.14. +- *) +- let version = +- NBD.create () |> NBD.get_version |> +- String.nsplit "." |> List.map int_of_string in +- if version < [1; 13; 5] then +- error (f_"-oo compressed option requires nbdcopy >= 1.13.5") + ); + + let g = open_guestfs () in +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 998b871d..8cf17f94 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -83,7 +83,6 @@ TESTS = \ + test-v2v-networks-and-bridges.sh \ + test-v2v-o-glance.sh \ + test-v2v-o-libvirt.sh \ +- test-v2v-o-local-qcow2-compressed.sh \ + test-v2v-o-null.sh \ + test-v2v-o-openstack.sh \ + test-v2v-o-qemu.sh \ diff --git a/SOURCES/0031-RHEL-9-tests-Remove-btrfs-test.patch b/SOURCES/0031-RHEL-9-tests-Remove-btrfs-test.patch new file mode 100644 index 0000000..ddb29fa --- /dev/null +++ b/SOURCES/0031-RHEL-9-tests-Remove-btrfs-test.patch @@ -0,0 +1,22 @@ +From 462f9b9eb810a5ac26f610d03b601906c9bc674e Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 5 Jul 2022 11:58:09 +0100 +Subject: [PATCH] RHEL 9: tests: Remove btrfs test + +RHEL does not have btrfs so this test always fails. +--- + tests/Makefile.am | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 8cf17f94..8b2a8685 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -97,7 +97,6 @@ TESTS = \ + test-v2v-sound.sh \ + test-v2v-virtio-win-iso.sh \ + test-v2v-fedora-conversion.sh \ +- test-v2v-fedora-btrfs-conversion.sh \ + test-v2v-fedora-luks-on-lvm-conversion.sh \ + test-v2v-fedora-lvm-on-luks-conversion.sh \ + test-v2v-fedora-md-conversion.sh \ diff --git a/SPECS/virt-v2v.spec b/SPECS/virt-v2v.spec index 6fcbc04..f0b2f02 100644 --- a/SPECS/virt-v2v.spec +++ b/SPECS/virt-v2v.spec @@ -16,7 +16,7 @@ Name: virt-v2v Epoch: 1 Version: 2.2.0 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Convert a virtual machine to run on KVM License: GPLv2+ @@ -54,17 +54,19 @@ Patch0015: 0015-v2v-Remove-use-of-anchored.patch Patch0016: 0016-o-kubevirt-Replace-PCRE-anchored-with.patch Patch0017: 0017-o-libvirt-Add-correct-xmlns-libosinfo-for-Rocky-Linu.patch Patch0018: 0018-convert-linux-Require-host-cpu-for-all-RHEL-alike-9.patch -Patch0019: 0019-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch -Patch0020: 0020-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch -Patch0021: 0021-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch -Patch0022: 0022-RHEL-Fixes-for-libguestfs-winsupport.patch -Patch0023: 0023-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch -Patch0024: 0024-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch -Patch0025: 0025-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch -Patch0026: 0026-RHEL-Disable-o-glance.patch -Patch0027: 0027-RHEL-Remove-the-in-place-option.patch -Patch0028: 0028-RHEL-9-oo-compressed-Remove-nbdcopy-version-check-an.patch -Patch0029: 0029-RHEL-9-tests-Remove-btrfs-test.patch +Patch0019: 0019-detect_kernels-tighten-try-scope.patch +Patch0020: 0020-detect_kernels-deal-with-RHEL-s-kernel-core-kernel-m.patch +Patch0021: 0021-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch +Patch0022: 0022-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch +Patch0023: 0023-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch +Patch0024: 0024-RHEL-Fixes-for-libguestfs-winsupport.patch +Patch0025: 0025-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch +Patch0026: 0026-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch +Patch0027: 0027-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch +Patch0028: 0028-RHEL-Disable-o-glance.patch +Patch0029: 0029-RHEL-Remove-the-in-place-option.patch +Patch0030: 0030-RHEL-9-oo-compressed-Remove-nbdcopy-version-check-an.patch +Patch0031: 0031-RHEL-9-tests-Remove-btrfs-test.patch %if !0%{?rhel} # libguestfs hasn't been built on i686 for a while since there is no @@ -353,6 +355,9 @@ done %changelog +* Sun Apr 09 2023 Laszlo Ersek - 1:2.2.0-6 +- cope with kernel-core / kernel-modules-core subpackage split in RHEL-9.2 guests + resolves: rhbz#2184970 * Mon Feb 06 2023 Richard W.M. Jones - 1:2.2.0-5 - Rebase to virt-v2v 2.2.0 resolves: rhbz#2135762