From f79affa10c23074d39a473e5b27d201a9ed2f620 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 11 Sep 2025 16:52:57 +0100 Subject: [PATCH] Rebase to virt-v2v 2.9.6 resolves: RHEL-111241 Tighten permissions on windows C:\Program Files\Guestfs resolves: RHEL-104352 Don't output floppy XML with qemu lacks support resolves: RHEL-90175 --- ...-GRUB-signature-first-to-identify-bo.patch | 134 +++++++++++++ ...m4-IPC-Run3-is-now-required-by-podwr.patch | 25 --- 0002-vddk-Make-the-thumbprint-optional.patch | 178 ++++++++++++++++++ ...RHEL-Fixes-for-libguestfs-winsupport.patch | 4 +- ...correct-qemu-binary-for-o-qemu-mode-.patch | 2 +- ...-the-qemu-boot-oo-qemu-boot-option-R.patch | 8 +- ...-supported-sound-cards-to-match-RHEL.patch | 2 +- ...sk-force-VNC-as-display-RHBZ-1372671.patch | 2 +- ...-for-supported-v2v-hypervisors-guest.patch | 2 +- ...=> 0009-RHEL-tests-Remove-btrfs-test.patch | 2 +- ...d-on-libguestfs-1.56.1-2.el10-for-gu.patch | 25 --- ...-about-virt-v2v-in-place-not-being-s.patch | 2 +- sources | 4 +- virt-v2v.spec | 34 ++-- 14 files changed, 345 insertions(+), 79 deletions(-) create mode 100644 0001-convert-Look-for-GRUB-signature-first-to-identify-bo.patch delete mode 100644 0001-m4-guestfs-perl.m4-IPC-Run3-is-now-required-by-podwr.patch create mode 100644 0002-vddk-Make-the-thumbprint-optional.patch rename 0002-RHEL-Fixes-for-libguestfs-winsupport.patch => 0003-RHEL-Fixes-for-libguestfs-winsupport.patch (98%) rename 0003-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch => 0004-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch (94%) rename 0004-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch => 0005-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch (92%) rename 0005-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch => 0006-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch (92%) rename 0006-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch => 0007-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch (93%) rename 0007-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch => 0008-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch (97%) rename 0008-RHEL-tests-Remove-btrfs-test.patch => 0009-RHEL-tests-Remove-btrfs-test.patch (90%) delete mode 100644 0010-RHEL-10-m4-Depend-on-libguestfs-1.56.1-2.el10-for-gu.patch rename 0009-RHEL-Add-warning-about-virt-v2v-in-place-not-being-s.patch => 0010-RHEL-Add-warning-about-virt-v2v-in-place-not-being-s.patch (96%) diff --git a/0001-convert-Look-for-GRUB-signature-first-to-identify-bo.patch b/0001-convert-Look-for-GRUB-signature-first-to-identify-bo.patch new file mode 100644 index 0000000..4a01c0e --- /dev/null +++ b/0001-convert-Look-for-GRUB-signature-first-to-identify-bo.patch @@ -0,0 +1,134 @@ +From 06fa7bf0f9078d8035eab7ad4689a5018136e712 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Wed, 10 Sep 2025 14:39:18 +0100 +Subject: [PATCH] convert: Look for GRUB signature first to identify boot + device + +In commit ca6ec6317e ("convert: Detect target boot device for Linux +guests") we tried to identify the boot order by looking for the device +containing the /boot filesystem. However during our testing we found +a guest where GRUB was installed on /dev/sda but the /boot partition +was found on /dev/sdd. This guest would not boot with the boot order +indicating that disk 4 (sdd) was the boot disk. + +Change how we search for the boot device by first trying to find a +GRUB signature in the boot sector of any disk. The first matching +disk (if any) would then be picked as the boot device. If this fails +then we fall back to looking at the device containing /boot as before. + +This also updates the common module to get: + + Richard W.M. Jones (1): + mlstdutils: Export List.find_opt + +Reported-by: Ming Xie +Thanks: Gerd Hoffmann +Fixes: commit ca6ec6317e20a633315f783a8ba4ece3c2fc01f2 +Fixes: https://issues.redhat.com/browse/RHEL-108991 +See-also: https://thestarman.pcministry.com/asm/mbr/GRUB.htm +--- + common | 2 +- + convert/convert.ml | 77 +++++++++++++++++++++++++++++----------------- + 2 files changed, 49 insertions(+), 30 deletions(-) + +Submodule common 7ecf3992..5be8d552: +diff --git a/common/mlstdutils/std_utils.mli b/common/mlstdutils/std_utils.mli +index a20e720c..6c1911da 100644 +--- a/common/mlstdutils/std_utils.mli ++++ b/common/mlstdutils/std_utils.mli +@@ -46,6 +46,7 @@ module List : sig + val mem : 'a -> 'a list -> bool + val memq : 'a -> 'a list -> bool + val find : ('a -> bool) -> 'a list -> 'a ++ val find_opt : ('a -> bool) -> 'a list -> 'a option + val filter : ('a -> bool) -> 'a list -> 'a list + val find_all : ('a -> bool) -> 'a list -> 'a list + val partition : ('a -> bool) -> 'a list -> 'a list * 'a list +diff --git a/convert/convert.ml b/convert/convert.ml +index 304bbb52..1bdfdd69 100644 +--- a/convert/convert.ml ++++ b/convert/convert.ml +@@ -395,35 +395,54 @@ and get_target_firmware i_firmware guestcaps source output = + target_firmware + + and get_target_boot_device g inspect = +- (* We only do it for Linux, as most likely Windows never(?) boots +- * from any drive other than C:. We can revisit this decision +- * if someone reports a bug. +- *) +- match inspect.i_type with +- | "linux" -> +- (try +- (* In sane cases, the Grub stage1/boot.img (ie. the boot sector) is +- * always on the same drive as /boot. So we can just find out +- * where /boot is mounted and use that. +- *) +- let boot_mountpoint = List.assoc "/boot" inspect.i_mountpoints in +- let boot_device = g#part_to_dev boot_mountpoint in +- let boot_device = g#device_index boot_device in +- Some boot_device +- with +- | Not_found -> None +- | G.Error msg +- (* Returned by part_to_dev if the /boot mountpoint is not +- * a partition name. +- *) +- when String.find msg "device name is not a partition" >= 0 -> None +- | G.Error msg +- (* Returned by device_index if the /boot device is not +- * a normal drive name (eg. /dev/mdX). +- *) +- when String.find msg "device not found" >= 0 -> None +- ) +- | _ -> None ++ with_return (fun {return} -> ++ (* We only do it for Linux, as most likely Windows never(?) boots ++ * from any drive other than C:. We can revisit this decision ++ * if someone reports a bug. ++ *) ++ if inspect.i_type <> "linux" then return None; ++ ++ (* Look for "GRUB" signature in the boot sector of each disk. ++ * If we find it, choose that disk. ++ *) ++ let devices = g#list_devices () |> Array.to_list in ++ let boot_device = List.find_opt (has_grub_signature g) devices in ++ let boot_device = Option.map g#device_index boot_device in ++ if boot_device <> None then return boot_device; ++ ++ (* If that fails, in sane cases, the Grub stage1/boot.img (ie. the boot ++ * sector) is always on the same drive as /boot. So we can just find ++ * out where /boot is mounted and use that. ++ *) ++ get_device_of_boot_filesystem g inspect ++ ) ++ ++and has_grub_signature g dev = ++ let boot_sector = g#pread_device dev 512 0_L in ++ let r = String.find boot_sector "GRUB" >= 0 in ++ debug "has_grub_signature: \"GRUB\" signature on %s? %b" dev r; ++ r ++ ++and get_device_of_boot_filesystem g inspect = ++ try ++ let boot_mountpoint = List.assoc "/boot" inspect.i_mountpoints in ++ let boot_device = g#part_to_dev boot_mountpoint in ++ debug "get_device_of_boot_filesystem: found /boot filesystem on device %s" ++ boot_device; ++ let boot_device = g#device_index boot_device in ++ Some boot_device ++ with ++ | Not_found -> None ++ (* Returned by part_to_dev if the /boot mountpoint is not ++ * a partition name. ++ *) ++ | G.Error msg ++ when String.find msg "device name is not a partition" >= 0 -> None ++ (* Returned by device_index if the /boot device is not ++ * a normal drive name (eg. /dev/mdX). ++ *) ++ | G.Error msg ++ when String.find msg "device not found" >= 0 -> None + + (* After conversion we dump as much information about the guest + * as we can in one place. Note this is only called when verbose diff --git a/0001-m4-guestfs-perl.m4-IPC-Run3-is-now-required-by-podwr.patch b/0001-m4-guestfs-perl.m4-IPC-Run3-is-now-required-by-podwr.patch deleted file mode 100644 index 16e52cd..0000000 --- a/0001-m4-guestfs-perl.m4-IPC-Run3-is-now-required-by-podwr.patch +++ /dev/null @@ -1,25 +0,0 @@ -From a6978649ccf9e8c8412db98a6af47f4fbae1c8cf Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Fri, 29 Aug 2025 11:06:01 +0100 -Subject: [PATCH] m4/guestfs-perl.m4: IPC::Run3 is now required by podwrapper - -Add it to the list of perl module that we check. - -Fixes: commit bdcc947b4e968e8e7ac4e56b87563e0e3d456294 ---- - m4/guestfs-perl.m4 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/m4/guestfs-perl.m4 b/m4/guestfs-perl.m4 -index 27d91011..68100df2 100644 ---- a/m4/guestfs-perl.m4 -+++ b/m4/guestfs-perl.m4 -@@ -42,7 +42,7 @@ dnl Check for Perl modules needed by Perl documentation and tests. - dnl XXX These should probably be required. - AS_IF([test "x$PERL" != "xno"],[ - missing_perl_modules=no -- for pm in Pod::Usage Getopt::Long Sys::Guestfs ; do -+ for pm in Pod::Usage Getopt::Long IPC::Run3 Sys::Guestfs ; do - AC_MSG_CHECKING([for $pm]) - if ! $PERL -M$pm -e1 >&AS_MESSAGE_LOG_FD 2>&1; then - AC_MSG_RESULT([no]) diff --git a/0002-vddk-Make-the-thumbprint-optional.patch b/0002-vddk-Make-the-thumbprint-optional.patch new file mode 100644 index 0000000..3573fee --- /dev/null +++ b/0002-vddk-Make-the-thumbprint-optional.patch @@ -0,0 +1,178 @@ +From cd027b7c9a176dc9591c521ce6a935d4225aa866 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Wed, 10 Sep 2025 16:52:41 +0100 +Subject: [PATCH] vddk: Make the thumbprint optional + +If -io vddk-thumbprint=XX:XX:... is not specified, fetch it from the +server. Doing this mildly reduces security (but you're already using +?no_verify=1), but greatly increases convenience. +--- + docs/virt-v2v-input-vmware.pod | 29 +++++++++++----------- + docs/virt-v2v.pod | 3 +-- + input/input_vddk.ml | 44 +++++++++++++++++++++------------- + 3 files changed, 44 insertions(+), 32 deletions(-) + +diff --git a/docs/virt-v2v-input-vmware.pod b/docs/virt-v2v-input-vmware.pod +index 164eef49..9ce5bd1e 100644 +--- a/docs/virt-v2v-input-vmware.pod ++++ b/docs/virt-v2v-input-vmware.pod +@@ -16,7 +16,6 @@ virt-v2v-input-vmware - Using virt-v2v to convert guests from VMware + -ic 'vpx://root@vcenter.example.com/Datacenter/esxi?no_verify=1' + -it vddk + -io vddk-libdir=/path/to/vmware-vix-disklib-distrib +- -io vddk-thumbprint=xx:xx:xx:... + "GUEST NAME" + [-o* options] + +@@ -227,15 +226,9 @@ enabled unconditionally. + + =item 3. + +-You must find the SSL "thumbprint" of your VMware server. How to do +-this is explained in L, also available at the +-link above. +- +-=item 4. +- + VDDK imports require a feature added in libvirt E 3.7. + +-=item 5. ++=item 4. + + The VMware server must not be in maintenance mode. + +@@ -329,23 +322,31 @@ continuing. + The I<-it vddk> parameter selects VDDK as the input transport for disks. + + To import a particular guest from vCenter server or ESXi hypervisor, +-use a command like the following, substituting the URI, guest name and +-SSL thumbprint: ++use a command like the following, substituting the URI and guest name: + + $ virt-v2v \ + -ic 'vpx://root@vcenter.example.com/Datacenter/esxi?no_verify=1' \ + -it vddk \ + -io vddk-libdir=/path/to/vmware-vix-disklib-distrib \ +- -io vddk-thumbprint=xx:xx:xx:... \ + "Windows 2003" \ + -o local -os /var/tmp + + Other options that you might need to add in rare circumstances include + I<-io vddk-compression>, I<-io vddk-config>, I<-io vddk-cookie>, I<-io + vddk-file>, I<-io vddk-nfchostport>, I<-io vddk-port>, I<-io +-vddk-snapshot>, and I<-io vddk-transports>, which are all explained in +-the L documentation. Do not use these options +-unless you know what you are doing. ++vddk-snapshot>, I<-io vddk-thumbprint> and I<-io vddk-transports>, ++which are all explained in the L documentation. ++Do not use these options unless you know what you are doing. ++ ++=head2 VDDK: Thumbprint ++ ++You may specify the thumbprint of the VMware server using the I<-io ++vddk-thumbprint=XX:XX...> parameter. Doing so increases security ++against some man-in-the-middle attacks. ++ ++Since virt-v2v 2.10, this parameter is not required. Virt-v2v will ++get the thumbprint from the server if it is not specified (but the ++L command must be installed for this to work). + + =head2 VDDK: Debugging VDDK failures + +diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod +index fbb5bbd6..328a7c44 100644 +--- a/docs/virt-v2v.pod ++++ b/docs/virt-v2v.pod +@@ -354,8 +354,7 @@ In most cases this parameter is required when using the I<-it vddk> + + Set the thumbprint of the remote VMware server. + +-This parameter is required when using the I<-it vddk> (VDDK) transport. +-See L for details. ++See L for details. + + =item B<-io vddk-compression=>COMPRESSION + +diff --git a/input/input_vddk.ml b/input/input_vddk.ml +index 6029e6bf..9f9436dd 100644 +--- a/input/input_vddk.ml ++++ b/input/input_vddk.ml +@@ -46,12 +46,8 @@ module VDDK = struct + String.concat " " xs + + let query_input_options () = +- printf (f_"Input options (-io) which can be used with -it vddk: +- +- -io vddk-thumbprint=xx:xx:xx:... +- VDDK server thumbprint (required) +- +-All other settings are optional: ++ printf (f_"Input options (-io) which can be used with -it vddk ++(all settings are optional): + + -io vddk-compression=COMPR Set VDDK compression mode (see + nbdkit-vddk-plugin documentation) +@@ -63,6 +59,8 @@ All other settings are optional: + -io vddk-port=PORT VDDK port + -io vddk-snapshot=SNAPSHOT-MOREF + VDDK snapshot moref ++ -io vddk-thumbprint=xx:xx:xx:... ++ VDDK server thumbprint + -io vddk-transports=MODE:MODE:.. + VDDK transports + +@@ -98,13 +96,6 @@ information on these settings. + (key, value) + ) options.input_options in + +- (* thumbprint is mandatory. *) +- if not (List.mem_assoc "thumbprint" io_options) then +- error (f_"You must pass the ‘-io vddk-thumbprint’ option with the \ +- SSL thumbprint of the VMware server. To find the thumbprint, \ +- see the nbdkit-vddk-plugin(1) manual. See also the \ +- virt-v2v-input-vmware(1) manual."); +- + (* Get the guest name. *) + let guest = + match args with +@@ -201,6 +192,30 @@ information on these settings. + | Some password_file -> + password_file in + ++ (* Thumbprint has to be passed to nbdkit. If we don't have it ++ * then get it from the server. ++ *) ++ let thumbprint = ++ try List.assoc "thumbprint" io_options ++ with Not_found -> ++ let openssl = ++ try which "openssl" ++ with Executable_not_found _ -> ++ error (f_"‘openssl’ command not found: automatically detecting \ ++ thumbprint is not possible, so you must use \ ++ ‘-io vddk-thumbprint=XX:XX...’") in ++ let cmd = sprintf {| ++%s s_client -connect %s:443 /dev/null | ++%s x509 -in /dev/stdin -fingerprint -sha1 -noout 2>/dev/null | ++grep -i '^sha1 Fingerprint=' | ++sed 's/.*Fingerprint=\([A-F0-9:]\+\)/\1/' |} ++ openssl (quote server) openssl in ++ let lines = external_command cmd in ++ if List.length lines = 0 then ++ error (f_"could not fetch thumbprint from the server, you mus use \ ++ ‘-io vddk-thumbprint=XX:XX...’"); ++ List.hd lines in ++ + let compression = + try Some (List.assoc "compression" io_options) with Not_found -> None in + let config = +@@ -215,9 +230,6 @@ information on these settings. + try Some (List.assoc "port" io_options) with Not_found -> None in + let snapshot = + try Some (List.assoc "snapshot" io_options) with Not_found -> None in +- let thumbprint = +- try List.assoc "thumbprint" io_options +- with Not_found -> assert false (* checked above *) in + let transports = + try Some (List.assoc "transports" io_options) with Not_found -> None in + diff --git a/0002-RHEL-Fixes-for-libguestfs-winsupport.patch b/0003-RHEL-Fixes-for-libguestfs-winsupport.patch similarity index 98% rename from 0002-RHEL-Fixes-for-libguestfs-winsupport.patch rename to 0003-RHEL-Fixes-for-libguestfs-winsupport.patch index ab8443a..d1caebf 100644 --- a/0002-RHEL-Fixes-for-libguestfs-winsupport.patch +++ b/0003-RHEL-Fixes-for-libguestfs-winsupport.patch @@ -1,4 +1,4 @@ -From 340400e92649a4124d00fa0f6a8e95c7d99e89f4 Mon Sep 17 00:00:00 2001 +From f7cf3e5f586fec88b1955664f51bc02a65b508ca 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. @@ -19,7 +19,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=2187961#c1 7 files changed, 40 insertions(+), 5 deletions(-) diff --git a/convert/convert.ml b/convert/convert.ml -index 74160f1d..32a954c6 100644 +index 1bdfdd69..b91cc136 100644 --- a/convert/convert.ml +++ b/convert/convert.ml @@ -55,6 +55,7 @@ let rec convert input_disks options source = diff --git a/0003-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch b/0004-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch similarity index 94% rename from 0003-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch rename to 0004-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch index a875191..5a15a55 100644 --- a/0003-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch +++ b/0004-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch @@ -1,4 +1,4 @@ -From 3234be3b16565e4bee797bcf9e29be764ff7268c Mon Sep 17 00:00:00 2001 +From 3360e6b8fcfaab0f03836bac2f1292ba41a4e73b 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 diff --git a/0004-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch b/0005-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch similarity index 92% rename from 0004-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch rename to 0005-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch index 083ecb3..ce4d3c9 100644 --- a/0004-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch +++ b/0005-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch @@ -1,4 +1,4 @@ -From 59db6c7c45273b404d2a97143dfa9c0a9686511c Mon Sep 17 00:00:00 2001 +From c08c7c740d2d54a9ae0bbd3924926faf157532e7 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 @@ -43,7 +43,7 @@ index 49f00754..bdf12c5d 100644 =item B<-o null> diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod -index fbb5bbd6..faf6b355 100644 +index 328a7c44..b46a0d43 100644 --- a/docs/virt-v2v.pod +++ b/docs/virt-v2v.pod @@ -167,11 +167,6 @@ Since F contains the path(s) to the guest disk @@ -58,7 +58,7 @@ index fbb5bbd6..faf6b355 100644 =head1 OPTIONS =over 4 -@@ -575,9 +570,6 @@ This is similar to I<-o local>, except that a shell script is written +@@ -574,9 +569,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>. @@ -68,7 +68,7 @@ index fbb5bbd6..faf6b355 100644 ifelse(ENABLE_OVIRT, yes, ` =item B<-o> B -@@ -650,11 +642,6 @@ For I<-o openstack> (L) only, set a guest ID +@@ -649,11 +641,6 @@ For I<-o openstack> (L) only, set a guest ID which is saved on each Cinder volume in the C volume property. diff --git a/0005-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch b/0006-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch similarity index 92% rename from 0005-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch rename to 0006-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch index f956c6a..09b0146 100644 --- a/0005-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch +++ b/0006-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch @@ -1,4 +1,4 @@ -From 0a943cb304e66aba748b2d36cb2d65cd1a55180b Mon Sep 17 00:00:00 2001 +From 7a9779d640148f3ac727423dd02e2a01a18c475f 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 diff --git a/0006-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch b/0007-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch similarity index 93% rename from 0006-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch rename to 0007-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch index 9286469..fec6fc6 100644 --- a/0006-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch +++ b/0007-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch @@ -1,4 +1,4 @@ -From d0244f8ef20d18dd7c26c441f80261661d413e1f Mon Sep 17 00:00:00 2001 +From 7334270d0037d43309e12ee985818e7af7ea89fd 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) diff --git a/0007-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch b/0008-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch similarity index 97% rename from 0007-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch rename to 0008-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch index 6c5163b..d23981b 100644 --- a/0007-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch +++ b/0008-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch @@ -1,4 +1,4 @@ -From ba4244a69a6b0aa104c5801204542ae0dcb3a104 Mon Sep 17 00:00:00 2001 +From 26945c86859c1d0b047aa3f16f19effa2cf844e5 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 diff --git a/0008-RHEL-tests-Remove-btrfs-test.patch b/0009-RHEL-tests-Remove-btrfs-test.patch similarity index 90% rename from 0008-RHEL-tests-Remove-btrfs-test.patch rename to 0009-RHEL-tests-Remove-btrfs-test.patch index e6a2644..02467d4 100644 --- a/0008-RHEL-tests-Remove-btrfs-test.patch +++ b/0009-RHEL-tests-Remove-btrfs-test.patch @@ -1,4 +1,4 @@ -From a3c45a46b4011ec3c363cac6b66897fa11ef95de Mon Sep 17 00:00:00 2001 +From 6a49ca69b3e8d9639c76dad95d0b33859a8f70e0 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 5 Jul 2022 11:58:09 +0100 Subject: [PATCH] RHEL: tests: Remove btrfs test diff --git a/0010-RHEL-10-m4-Depend-on-libguestfs-1.56.1-2.el10-for-gu.patch b/0010-RHEL-10-m4-Depend-on-libguestfs-1.56.1-2.el10-for-gu.patch deleted file mode 100644 index 23cc6e4..0000000 --- a/0010-RHEL-10-m4-Depend-on-libguestfs-1.56.1-2.el10-for-gu.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 6954c74fcd5c5da71e20ec7f4613bcc9c7e3f934 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 13 Aug 2025 18:03:41 +0100 -Subject: [PATCH] RHEL 10: m4: Depend on libguestfs 1.56.1-2.el10 for - guestfs_setfiles - ---- - m4/guestfs-libraries.m4 | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/m4/guestfs-libraries.m4 b/m4/guestfs-libraries.m4 -index f1d5d127..1bd39074 100644 ---- a/m4/guestfs-libraries.m4 -+++ b/m4/guestfs-libraries.m4 -@@ -19,8 +19,8 @@ dnl Any C libraries required by virt-v2v. - - dnl Of course we need libguestfs. - dnl --dnl We need libguestfs 1.57.1 for guestfs_setfiles. --PKG_CHECK_MODULES([LIBGUESTFS], [libguestfs >= 1.57.1]) -+dnl We need libguestfs 1.56.1-2.el10 for guestfs_setfiles. -+PKG_CHECK_MODULES([LIBGUESTFS], [libguestfs >= 1.56.1]) - printf "libguestfs version is "; $PKG_CONFIG --modversion libguestfs - - dnl And libnbd. diff --git a/0009-RHEL-Add-warning-about-virt-v2v-in-place-not-being-s.patch b/0010-RHEL-Add-warning-about-virt-v2v-in-place-not-being-s.patch similarity index 96% rename from 0009-RHEL-Add-warning-about-virt-v2v-in-place-not-being-s.patch rename to 0010-RHEL-Add-warning-about-virt-v2v-in-place-not-being-s.patch index a027b3d..1c72cd9 100644 --- a/0009-RHEL-Add-warning-about-virt-v2v-in-place-not-being-s.patch +++ b/0010-RHEL-Add-warning-about-virt-v2v-in-place-not-being-s.patch @@ -1,4 +1,4 @@ -From f16be60b633c5a9ca47e51c31a42755c4747ce59 Mon Sep 17 00:00:00 2001 +From 51db9a96627e87b547df801cffbe913eb68da20a Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 9 Jul 2024 11:30:09 +0100 Subject: [PATCH] RHEL: Add warning about virt-v2v-in-place not being supported diff --git a/sources b/sources index a005b1c..f972117 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (virt-v2v-2.9.5.tar.gz) = 035a9bcbae6143364bd5b0c5236520a89e1d2543e46c4fdfaba1fe0f71db09af8899e75f67669f77318340dce54bcdc4810462e97c2913ef2663f9bc0264398d -SHA512 (virt-v2v-2.9.5.tar.gz.sig) = bc7963e14432b945b688d3efc88d8df13a7a3960c949add5a4de6c128a5db9b2f769333b12e9a255e96663a932d1789de8a1253d6934610d81f376205941b3a5 +SHA512 (virt-v2v-2.9.6.tar.gz) = 983c784d5190c0590f83357dea1ccb2c1f9a528a26f39122b24ef35dd0209151e89acb749f11cb0d7201d33ada31330f858becc049d11790229cadcaa306bcc4 +SHA512 (virt-v2v-2.9.6.tar.gz.sig) = 28199a3d7d38148b16033831c5b26f3e5013d47d769dbd7e5571deb64e4bf094e31c8df62f5c55a0bae621b19a5011b209917d671e7c34531e6b95d304d88aaf diff --git a/virt-v2v.spec b/virt-v2v.spec index a2460d5..614a9df 100644 --- a/virt-v2v.spec +++ b/virt-v2v.spec @@ -44,7 +44,7 @@ ExclusiveArch: x86_64 Name: virt-v2v Epoch: 1 -Version: 2.9.5 +Version: 2.9.6 Release: 1%{?dist} Summary: Convert a virtual machine to run on KVM @@ -65,16 +65,16 @@ Source3: copy-patches.sh # https://github.com/libguestfs/virt-v2v/commits/rhel-10.2 # Patches. -Patch0001: 0001-m4-guestfs-perl.m4-IPC-Run3-is-now-required-by-podwr.patch -Patch0002: 0002-RHEL-Fixes-for-libguestfs-winsupport.patch -Patch0003: 0003-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch -Patch0004: 0004-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch -Patch0005: 0005-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch -Patch0006: 0006-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch -Patch0007: 0007-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch -Patch0008: 0008-RHEL-tests-Remove-btrfs-test.patch -Patch0009: 0009-RHEL-Add-warning-about-virt-v2v-in-place-not-being-s.patch -Patch0010: 0010-RHEL-10-m4-Depend-on-libguestfs-1.56.1-2.el10-for-gu.patch +Patch0001: 0001-convert-Look-for-GRUB-signature-first-to-identify-bo.patch +Patch0002: 0002-vddk-Make-the-thumbprint-optional.patch +Patch0003: 0003-RHEL-Fixes-for-libguestfs-winsupport.patch +Patch0004: 0004-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch +Patch0005: 0005-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch +Patch0006: 0006-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch +Patch0007: 0007-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch +Patch0008: 0008-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch +Patch0009: 0009-RHEL-tests-Remove-btrfs-test.patch +Patch0010: 0010-RHEL-Add-warning-about-virt-v2v-in-place-not-being-s.patch BuildRequires: autoconf, automake, libtool BuildRequires: make @@ -85,7 +85,7 @@ BuildRequires: perl(IPC::Run3) BuildRequires: gcc BuildRequires: ocaml >= 4.08 -BuildRequires: libguestfs-devel >= 1:1.56.1-2.el10 +BuildRequires: libguestfs-devel >= 1:1.57.3-1.el10 BuildRequires: augeas-devel BuildRequires: bash-completion %if !0%{?rhel} @@ -131,7 +131,7 @@ BuildRequires: glibc-static BuildRequires: gnupg2 %endif -Requires: libguestfs%{?_isa} >= 1:1.56.1-2.el10 +Requires: libguestfs%{?_isa} >= 1:1.57.3-1.el10 Requires: guestfs-tools >= 1.49.7-1 # XFS is the default filesystem in Fedora and RHEL. @@ -379,9 +379,13 @@ done %changelog -* Fri Aug 29 2025 Richard W.M. Jones - 1:2.9.5-1 -- Rebase to virt-v2v 2.9.5 +* Thu Sep 11 2025 Richard W.M. Jones - 1:2.9.6-1 +- Rebase to virt-v2v 2.9.6 resolves: RHEL-111241 +- Tighten permissions on windows C:\Program Files\Guestfs + resolves: RHEL-104352 +- Don't output floppy XML with qemu lacks support + resolves: RHEL-90175 * Thu Aug 21 2025 Richard W.M. Jones - 1:2.8.1-9 - Rebase to virt-v2v 2.8.1