diff --git a/0001-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch b/0001-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch new file mode 100644 index 0000000..dffafb4 --- /dev/null +++ b/0001-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch @@ -0,0 +1,33 @@ +From f417ca536219b151284a5a0e28698bfa19a5c160 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Sun, 28 Sep 2014 19:14:43 +0100 +Subject: [PATCH 1/8] 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.ml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/output/output.ml b/output/output.ml +index 9c2d8853..92b03525 100644 +--- a/output/output.ml ++++ b/output/output.ml +@@ -1413,7 +1413,7 @@ and qemu_finalize dir source inspect target_meta + * module deals with shell and qemu comma quoting. + *) + let cmd = Qemuopts.create () in +- Qemuopts.set_binary_by_arch cmd (Some guestcaps.gcaps_arch); ++ Qemuopts.set_binary cmd "/usr/libexec/qemu-kvm"; + + let flag = Qemuopts.flag cmd + and arg = Qemuopts.arg cmd +-- +2.31.1 + diff --git a/0001-Revert-v2v-Remove-o-rhv-upload-oa-preallocated.patch b/0001-Revert-v2v-Remove-o-rhv-upload-oa-preallocated.patch deleted file mode 100644 index f922f3e..0000000 --- a/0001-Revert-v2v-Remove-o-rhv-upload-oa-preallocated.patch +++ /dev/null @@ -1,123 +0,0 @@ -From 4d5509a98823cc0b8930678716b862adbd2c0b81 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Fri, 6 Aug 2021 13:01:28 +0100 -Subject: [PATCH 01/11] Revert "v2v: Remove -o rhv-upload -oa preallocated" - -This reverts commit 18084f90d9dd9092831cb3487039328981796291. ---- - v2v/cmdline.ml | 2 +- - v2v/output_rhv_upload.ml | 22 ++++++++++++++++++++-- - v2v/output_rhv_upload.mli | 7 ++++--- - v2v/rhv-upload-transfer.py | 1 + - 4 files changed, 26 insertions(+), 6 deletions(-) - -diff --git a/v2v/cmdline.ml b/v2v/cmdline.ml -index 79d943df..5e7c01f8 100644 ---- a/v2v/cmdline.ml -+++ b/v2v/cmdline.ml -@@ -699,7 +699,7 @@ read the man page virt-v2v(1). - | Some os -> os in - if qemu_boot then - error_option_cannot_be_used_in_output_mode "rhv-upload" "--qemu-boot"; -- Output_rhv_upload.output_rhv_upload output_conn -+ Output_rhv_upload.output_rhv_upload output_alloc output_conn - output_password os - rhv_options, - output_format, output_alloc -diff --git a/v2v/output_rhv_upload.ml b/v2v/output_rhv_upload.ml -index 6a632eaa..50baa595 100644 ---- a/v2v/output_rhv_upload.ml -+++ b/v2v/output_rhv_upload.ml -@@ -146,11 +146,22 @@ let error_unless_nbdkit_compiled_with_selinux config = - error (f_"nbdkit was compiled without SELinux support. You will have to recompile nbdkit with libselinux-devel installed, or else set SELinux to Permissive mode while doing the conversion.") - ) - -+(* Output sparse must be sparse. We may be able to -+ * lift this limitation in future, but it requires changes on the -+ * RHV side. See TODO file for details. XXX -+ *) -+let error_current_limitation required_param = -+ error (f_"rhv-upload: currently you must use ‘%s’. This restriction will be loosened in a future version.") required_param -+ -+let error_unless_output_alloc_sparse output_alloc = -+ if output_alloc <> Sparse then -+ error_current_limitation "-oa sparse" -+ - let json_optstring = function - | Some s -> JSON.String s - | None -> JSON.Null - --class output_rhv_upload output_conn -+class output_rhv_upload output_alloc output_conn - output_password output_storage - rhv_options = - (* Create a temporary directory which will be deleted on exit. *) -@@ -189,6 +200,9 @@ class output_rhv_upload output_conn - "output_conn", JSON.String output_conn; - "output_password", JSON.String output_password; - "output_storage", JSON.String output_storage; -+ "output_sparse", JSON.Bool (match output_alloc with -+ | Sparse -> true -+ | Preallocated -> false); - "rhv_cafile", json_optstring rhv_options.rhv_cafile; - "rhv_cluster", - JSON.String (Option.default "Default" rhv_options.rhv_cluster); -@@ -257,6 +271,7 @@ object - error_unless_nbdkit_min_version config; - error_unless_nbdkit_python_plugin_working plugin_script; - error_unless_nbdkit_compiled_with_selinux config; -+ error_unless_output_alloc_sparse output_alloc; - - (* Python code prechecks. *) - let json_params = match rhv_options.rhv_disk_uuids with -@@ -282,6 +297,9 @@ object - - method as_options = - "-o rhv-upload" ^ -+ (match output_alloc with -+ | Sparse -> "" (* default, don't need to print it *) -+ | Preallocated -> " -oa preallocated") ^ - sprintf " -oc %s -op %s -os %s" - output_conn output_password output_storage - -@@ -449,7 +467,7 @@ object - (* Create the metadata. *) - let ovf = - Create_ovf.create_ovf source inspect target_meta targets -- Sparse sd_uuid disk_uuids vol_uuids vm_uuid -+ output_alloc sd_uuid disk_uuids vol_uuids vm_uuid - OVirt in - let ovf = DOM.doc_to_string ovf in - -diff --git a/v2v/output_rhv_upload.mli b/v2v/output_rhv_upload.mli -index 01507dff..eb85a57d 100644 ---- a/v2v/output_rhv_upload.mli -+++ b/v2v/output_rhv_upload.mli -@@ -25,8 +25,9 @@ val print_output_options : unit -> unit - val parse_output_options : (string * string) list -> rhv_options - (** Print and parse rhv-upload -oo options. *) - --val output_rhv_upload : string -> string -> string -> rhv_options -> -- Types.output --(** [output_rhv_upload output_conn output_password output_storage rhv_options] -+val output_rhv_upload : Types.output_allocation -> string -> string -> -+ string -> rhv_options -> Types.output -+(** [output_rhv_upload output_alloc output_conn output_password output_storage -+ rhv_options] - creates and returns a new {!Types.output} object specialized for writing - output to oVirt or RHV directly via RHV APIs. *) -diff --git a/v2v/rhv-upload-transfer.py b/v2v/rhv-upload-transfer.py -index cf4f8807..5aebcd1d 100644 ---- a/v2v/rhv-upload-transfer.py -+++ b/v2v/rhv-upload-transfer.py -@@ -111,6 +111,7 @@ def create_disk(connection): - # size, based on qemu-img measure of the overlay. - initial_size=params['disk_size'], - provisioned_size=params['disk_size'], -+ # XXX Ignores params['output_sparse']. - # Handling this properly will be complex, see: - # https://www.redhat.com/archives/libguestfs/2018-March/msg00177.html - sparse=True, --- -2.31.1 - diff --git a/0004-RHEL-v2v-Disable-the-qemu-boot-option-RHBZ-1147313.patch b/0002-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch similarity index 58% rename from 0004-RHEL-v2v-Disable-the-qemu-boot-option-RHBZ-1147313.patch rename to 0002-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch index 9a77b34..15f4600 100644 --- a/0004-RHEL-v2v-Disable-the-qemu-boot-option-RHBZ-1147313.patch +++ b/0002-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch @@ -1,7 +1,7 @@ -From bb55b78b68e6e8039734eb1d7af22b455f8fbdc2 Mon Sep 17 00:00:00 2001 +From 00490feb06496ad4bf22dbc5493a7cf186476e9f Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 30 Sep 2014 10:50:27 +0100 -Subject: [PATCH 04/11] RHEL: v2v: Disable the --qemu-boot option +Subject: [PATCH 2/8] RHEL: v2v: Disable the --qemu-boot / -oo qemu-boot option (RHBZ#1147313). This cannot work because there is no Gtk or SDL output mode @@ -11,9 +11,10 @@ In addition you will have to edit the -display option in the qemu script. --- docs/virt-v2v-output-local.pod | 6 ++---- - docs/virt-v2v.pod | 13 ------------- - v2v/cmdline.ml | 3 ++- - 3 files changed, 4 insertions(+), 18 deletions(-) + docs/virt-v2v.pod | 12 ------------ + output/output.ml | 3 +++ + v2v/v2v.ml | 2 -- + 4 files changed, 5 insertions(+), 18 deletions(-) diff --git a/docs/virt-v2v-output-local.pod b/docs/virt-v2v-output-local.pod index a5f155cb..3a2e6238 100644 @@ -43,7 +44,7 @@ index a5f155cb..3a2e6238 100644 =item B<-o json -os> C diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod -index bdf4d716..83f6fd4d 100644 +index b25d678d..0a47b611 100644 --- a/docs/virt-v2v.pod +++ b/docs/virt-v2v.pod @@ -141,11 +141,6 @@ Since F contains the path(s) to the guest disk @@ -53,54 +54,59 @@ index bdf4d716..83f6fd4d 100644 -To convert a local disk image and immediately boot it in local -qemu, do: - -- virt-v2v -i disk disk.img -o qemu -os /var/tmp --qemu-boot +- virt-v2v -i disk disk.img -o qemu -os /var/tmp -oo qemu-boot - =head1 OPTIONS =over 4 -@@ -528,9 +523,6 @@ This is similar to I<-o local>, except that a shell script is written +@@ -511,9 +506,6 @@ This is similar to I<-o local>, except that a shell script is written which you can use to boot the guest in qemu. The converted disks and shell script are written to the directory specified by I<-os>. --When using this output mode, you can also specify the I<--qemu-boot> +-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>. -@@ -775,11 +767,6 @@ Print information about the source guest and stop. This option is +@@ -769,10 +761,6 @@ Print information about the source guest and stop. This option is useful when you are setting up network and bridge maps. See L. -=item B<--qemu-boot> - --When using I<-o qemu> only, this boots the guest immediately after --virt-v2v finishes. +-This is the same as I<-oo qemu-boot>. - =item B<-q> =item B<--quiet> -diff --git a/v2v/cmdline.ml b/v2v/cmdline.ml -index 5e7c01f8..ac10ec31 100644 ---- a/v2v/cmdline.ml -+++ b/v2v/cmdline.ml -@@ -276,7 +276,6 @@ let parse_cmdline () = - s_"Same as ‘-ip filename’"; - [ L"print-source" ], Getopt.Set print_source, - s_"Print source and stop"; -- [ L"qemu-boot" ], Getopt.Set qemu_boot, s_"Boot in qemu (-o qemu only)"; - [ L"root" ], Getopt.String ("ask|... ", set_root_choice), - s_"How to choose root filesystem"; - [ L"vddk-config" ], Getopt.String ("filename", set_input_option_compat "vddk-config"), -@@ -652,6 +651,8 @@ read the man page virt-v2v(1). - | Some d when not (is_directory d) -> - error (f_"-os %s: output directory does not exist or is not a directory") d - | Some d -> d in -+ if qemu_boot then -+ error (f_"-o qemu: the --qemu-boot option cannot be used in RHEL"); - Output_qemu.output_qemu os qemu_boot, - output_format, output_alloc +diff --git a/output/output.ml b/output/output.ml +index 92b03525..1414a521 100644 +--- a/output/output.ml ++++ b/output/output.ml +@@ -1346,6 +1346,9 @@ and qemu_parse_options cmdline = + ) cmdline.output_options; + let 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 cmdline.output_storage with +diff --git a/v2v/v2v.ml b/v2v/v2v.ml +index a88e0509..1104295c 100644 +--- a/v2v/v2v.ml ++++ b/v2v/v2v.ml +@@ -218,8 +218,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 () -> add_o_option "-oo" "qemu-boot"), +- s_"Boot in qemu (-o qemu only)"; + [ L"root" ], Getopt.String ("ask|... ", add_conv_option "--root"), + s_"How to choose root filesystem"; + [ L"vddk-config" ], Getopt.String ("filename", set_input_option_compat "vddk-config"), -- 2.31.1 diff --git a/0002-RHEL-v2v-rhv-upload-Remove-restriction-on-oa-sparse.patch b/0002-RHEL-v2v-rhv-upload-Remove-restriction-on-oa-sparse.patch deleted file mode 100644 index c1a1163..0000000 --- a/0002-RHEL-v2v-rhv-upload-Remove-restriction-on-oa-sparse.patch +++ /dev/null @@ -1,90 +0,0 @@ -From abe3c7539b6221e8ab3cc35ee3d58b1aa06bbef4 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Mon, 14 May 2018 10:16:58 +0100 -Subject: [PATCH 02/11] RHEL: v2v: rhv-upload: Remove restriction on -oa - sparse. - -See: https://bugzilla.redhat.com/show_bug.cgi?id=1565681 -and the v2v-devel private thread "Do we already support migration using FC?" ---- - docs/virt-v2v-output-rhv.pod | 8 +------- - v2v/output_rhv_upload.ml | 10 +--------- - v2v/rhv-upload-transfer.py | 4 +--- - 3 files changed, 3 insertions(+), 19 deletions(-) - -diff --git a/docs/virt-v2v-output-rhv.pod b/docs/virt-v2v-output-rhv.pod -index dc6b2c0a..7b8fdc0f 100644 ---- a/docs/virt-v2v-output-rhv.pod -+++ b/docs/virt-v2v-output-rhv.pod -@@ -5,7 +5,7 @@ virt-v2v-output-rhv - Using virt-v2v to convert guests to oVirt or RHV - =head1 SYNOPSIS - - virt-v2v [-i* options] -o rhv-upload [-oc ENGINE_URL] -os STORAGE -- [-op PASSWORD] [-of raw] -+ [-op PASSWORD] - [-oo rhv-cafile=FILE] - [-oo rhv-cluster=CLUSTER] - [-oo rhv-direct] -@@ -79,12 +79,6 @@ username is not specified then virt-v2v defaults to using - C which is the typical superuser account for oVirt - instances. - --=item I<-of raw> -- --Currently you must use I<-of raw> and you cannot use I<-oa preallocated>. -- --These restrictions will be loosened in a future version. -- - =item I<-op> F - - A file containing a password to be used when connecting to the oVirt -diff --git a/v2v/output_rhv_upload.ml b/v2v/output_rhv_upload.ml -index 50baa595..be5e9851 100644 ---- a/v2v/output_rhv_upload.ml -+++ b/v2v/output_rhv_upload.ml -@@ -146,17 +146,10 @@ let error_unless_nbdkit_compiled_with_selinux config = - error (f_"nbdkit was compiled without SELinux support. You will have to recompile nbdkit with libselinux-devel installed, or else set SELinux to Permissive mode while doing the conversion.") - ) - --(* Output sparse must be sparse. We may be able to -- * lift this limitation in future, but it requires changes on the -- * RHV side. See TODO file for details. XXX -- *) -+(* Output format must be raw. *) - let error_current_limitation required_param = - error (f_"rhv-upload: currently you must use ‘%s’. This restriction will be loosened in a future version.") required_param - --let error_unless_output_alloc_sparse output_alloc = -- if output_alloc <> Sparse then -- error_current_limitation "-oa sparse" -- - let json_optstring = function - | Some s -> JSON.String s - | None -> JSON.Null -@@ -271,7 +264,6 @@ object - error_unless_nbdkit_min_version config; - error_unless_nbdkit_python_plugin_working plugin_script; - error_unless_nbdkit_compiled_with_selinux config; -- error_unless_output_alloc_sparse output_alloc; - - (* Python code prechecks. *) - let json_params = match rhv_options.rhv_disk_uuids with -diff --git a/v2v/rhv-upload-transfer.py b/v2v/rhv-upload-transfer.py -index 5aebcd1d..f38cd9c0 100644 ---- a/v2v/rhv-upload-transfer.py -+++ b/v2v/rhv-upload-transfer.py -@@ -111,10 +111,8 @@ def create_disk(connection): - # size, based on qemu-img measure of the overlay. - initial_size=params['disk_size'], - provisioned_size=params['disk_size'], -- # XXX Ignores params['output_sparse']. -- # Handling this properly will be complex, see: - # https://www.redhat.com/archives/libguestfs/2018-March/msg00177.html -- sparse=True, -+ sparse=params['output_sparse'], - storage_domains=[ - types.StorageDomain( - name=params['output_storage'], --- -2.31.1 - diff --git a/0005-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch b/0003-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch similarity index 67% rename from 0005-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch rename to 0003-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch index f93f057..39d35f8 100644 --- a/0005-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch +++ b/0003-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch @@ -1,17 +1,17 @@ -From 49385571ce5967f8d9a102e935f201ee9c22326d Mon Sep 17 00:00:00 2001 +From 539e158e5dffdb0324a89b2a059b44ae51d2cc29 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 24 Apr 2015 09:45:41 -0400 -Subject: [PATCH 05/11] RHEL: Fix list of supported sound cards to match RHEL +Subject: [PATCH 3/8] RHEL: Fix list of supported sound cards to match RHEL qemu (RHBZ#1176493). --- - v2v/utils.ml | 5 +++-- + lib/utils.ml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -diff --git a/v2v/utils.ml b/v2v/utils.ml -index 7136e4be..a6c359f0 100644 ---- a/v2v/utils.ml -+++ b/v2v/utils.ml +diff --git a/lib/utils.ml b/lib/utils.ml +index 1eac3f3f..a478fc33 100644 +--- a/lib/utils.ml ++++ b/lib/utils.ml @@ -59,13 +59,14 @@ let kvm_arch = function (* Does qemu support the given sound card? *) let qemu_supports_sound_card = function diff --git a/0003-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch b/0003-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch deleted file mode 100644 index b32b106..0000000 --- a/0003-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 0839ba57487b73cfb684ea495280db5d946f667a Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Sun, 28 Sep 2014 19:14:43 +0100 -Subject: [PATCH 03/11] RHEL: v2v: Select correct qemu binary for -o qemu mode - (RHBZ#1147313). - -RHEL does not have qemu-system-x86_64 (etc), and in addition the -qemu binary is located in /usr/libexec. Encode the path to this -binary directly in the script. - -Note that we don't support people running qemu directly like this. -It's just for quick testing of converted VMs, and to help us with -support cases. ---- - v2v/output_qemu.ml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/v2v/output_qemu.ml b/v2v/output_qemu.ml -index 12c56836..7391eda0 100644 ---- a/v2v/output_qemu.ml -+++ b/v2v/output_qemu.ml -@@ -79,7 +79,7 @@ object - * module deals with shell and qemu comma quoting. - *) - let cmd = Qemuopts.create () in -- Qemuopts.set_binary_by_arch cmd (Some guestcaps.gcaps_arch); -+ Qemuopts.set_binary cmd "/usr/libexec/qemu-kvm"; - - let flag = Qemuopts.flag cmd - and arg = Qemuopts.arg cmd --- -2.31.1 - diff --git a/0006-RHEL-Fix-tests-for-libguestfs-winsupport.patch b/0004-RHEL-Fixes-for-libguestfs-winsupport.patch similarity index 61% rename from 0006-RHEL-Fix-tests-for-libguestfs-winsupport.patch rename to 0004-RHEL-Fixes-for-libguestfs-winsupport.patch index 402b09e..45a5349 100644 --- a/0006-RHEL-Fix-tests-for-libguestfs-winsupport.patch +++ b/0004-RHEL-Fixes-for-libguestfs-winsupport.patch @@ -1,15 +1,42 @@ -From db2150a5d790c35fb23c6d9d6b29e602482ce555 Mon Sep 17 00:00:00 2001 +From b4bab3eda2afabadcbf2e07501eab2049d1a3133 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 30 Aug 2015 03:21:57 -0400 -Subject: [PATCH 06/11] RHEL: Fix tests for libguestfs-winsupport. +Subject: [PATCH 4/8] RHEL: Fixes for libguestfs-winsupport. -It doesn't let us use guestfish for arbitrary Windows edits. +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 +++++++- - 3 files changed, 15 insertions(+), 2 deletions(-) + 5 files changed, 17 insertions(+), 2 deletions(-) +diff --git a/convert/convert.ml b/convert/convert.ml +index 07c7aee9..a4b0c60e 100644 +--- a/convert/convert.ml ++++ b/convert/convert.ml +@@ -190,6 +190,7 @@ helper-v2v-convert V2VDIR + + 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 f843dae2..6623d03d 100644 +--- a/convert/windows_virtio.ml ++++ b/convert/windows_virtio.ml +@@ -356,6 +356,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 diff --git a/0005-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch b/0005-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch new file mode 100644 index 0000000..6374372 --- /dev/null +++ b/0005-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch @@ -0,0 +1,26 @@ +From 4022a90a8974147000fb5053d7596066db1b82b9 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Thu, 2 Mar 2017 14:21:37 +0100 +Subject: [PATCH 5/8] RHEL: v2v: -i disk: force VNC as display (RHBZ#1372671) + +The SDL output mode is not supported in RHEL's qemu-kvm. +--- + input/input.ml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/input/input.ml b/input/input.ml +index a8416eaf..9175a531 100644 +--- a/input/input.ml ++++ b/input/input.ml +@@ -270,7 +270,7 @@ and disk_source cmdline args = + s_features = [ "acpi"; "apic"; "pae" ]; + s_firmware = UnknownFirmware; (* causes virt-v2v to autodetect *) + s_display = +- Some { s_display_type = Window; s_keymap = None; s_password = None; ++ Some { s_display_type = VNC; s_keymap = None; s_password = None; + s_listen = LNoListen; s_port = None }; + s_video = None; + s_sound = None; +-- +2.31.1 + diff --git a/0009-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch b/0006-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch similarity index 82% rename from 0009-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch rename to 0006-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch index 06db995..7c54981 100644 --- a/0009-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch +++ b/0006-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch @@ -1,7 +1,7 @@ -From aa5cf3ba5d10400ee6d6c63dd77c711b6fdec116 Mon Sep 17 00:00:00 2001 +From 7f77cb4a56eb8dcd26db9e81e0fb2f41777129c3 Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Wed, 8 Mar 2017 11:03:40 +0100 -Subject: [PATCH 09/11] RHEL: v2v: do not mention SUSE Xen hosts (RHBZ#1430203) +Subject: [PATCH 6/8] RHEL: v2v: do not mention SUSE Xen hosts (RHBZ#1430203) They are not supported in RHEL. --- diff --git a/0010-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch b/0007-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch similarity index 94% rename from 0010-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch rename to 0007-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch index f00865c..712c684 100644 --- a/0010-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch +++ b/0007-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch @@ -1,7 +1,7 @@ -From ccaae02ef3f081b544eca82f3652ca50ac5566a9 Mon Sep 17 00:00:00 2001 +From a4db166d7a5c480c765ee74340463db800533c73 Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Tue, 26 Mar 2019 09:42:25 +0100 -Subject: [PATCH 10/11] RHEL: point to KB for supported v2v hypervisors/guests +Subject: [PATCH 7/8] RHEL: point to KB for supported v2v hypervisors/guests --- docs/virt-v2v-support.pod | 104 ++------------------------------------ diff --git a/0007-RHEL-v2v-Disable-the-virt-v2v-in-place-option.patch b/0007-RHEL-v2v-Disable-the-virt-v2v-in-place-option.patch deleted file mode 100644 index 66041e7..0000000 --- a/0007-RHEL-v2v-Disable-the-virt-v2v-in-place-option.patch +++ /dev/null @@ -1,288 +0,0 @@ -From 3b69cfa365c7b014ca81b09e857ab294cff04914 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Thu, 14 Jan 2016 11:53:42 -0500 -Subject: [PATCH 07/11] RHEL: v2v: Disable the virt-v2v --in-place option. - -This disables the virt-v2v --in-place option which we do not -wish to support in RHEL. -(See commit d0069559a939e47e5f29973ed9a69a13f0b58301). ---- - docs/test-v2v-docs.sh | 1 + - docs/virt-v2v.pod | 50 +---------------- - tests/Makefile.am | 2 - - tests/test-v2v-in-place.sh | 108 ------------------------------------- - v2v/cmdline.ml | 8 +-- - 5 files changed, 8 insertions(+), 161 deletions(-) - delete mode 100755 tests/test-v2v-in-place.sh - -diff --git a/docs/test-v2v-docs.sh b/docs/test-v2v-docs.sh -index 465df26f..ae1a6c68 100755 ---- a/docs/test-v2v-docs.sh -+++ b/docs/test-v2v-docs.sh -@@ -30,6 +30,7 @@ $srcdir/../podcheck.pl virt-v2v.pod virt-v2v \ - --debug-overlay,\ - --ic,\ - --if,\ -+--in-place,\ - --io,\ - --ip,\ - --it,\ -diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod -index 83f6fd4d..719a95b5 100644 ---- a/docs/virt-v2v.pod -+++ b/docs/virt-v2v.pod -@@ -8,10 +8,6 @@ virt-v2v - Convert a guest to use KVM - [-o mode] [other -o* options] - [guest|filename] - -- virt-v2v --in-place -- [-i mode] [other -i* options] -- [guest|filename] -- - =head1 DESCRIPTION - - Virt-v2v converts a single guest from a foreign hypervisor to run on -@@ -39,9 +35,6 @@ these sides of virt-v2v are documented separately in this manual. - - Virt-v2v normally copies from the input to the output, called "copying - mode". In this case the source guest is always left unchanged. --In-place conversion (I<--in-place>) only uses the I<-i*> options and --modifies the source guest in-place. (See L --below.) - - =head2 Other virt-v2v topics - -@@ -292,20 +285,6 @@ For I<-i disk> only, this specifies the format of the input disk - image. For other input methods you should specify the input - format in the metadata. - --=item B<--in-place> -- --Do not create an output virtual machine in the target hypervisor. --Instead, adjust the guest OS in the source VM to run in the input --hypervisor. -- --This mode is meant for integration with other toolsets, which take the --responsibility of converting the VM configuration, providing for --rollback in case of errors, transforming the storage, etc. -- --See L below. -- --Conflicts with all I<-o *> options. -- - =item B<-io> OPTION=VALUE - - Set input option(s) related to the current input mode or transport. -@@ -1298,8 +1277,8 @@ have at least 100 available inodes. - =head3 Minimum free space check in the host - - You must have sufficient free space in the host directory used to --store large temporary overlays (except in I<--in-place> mode). To --find out which directory this is, use: -+store large temporary overlays. To find out -+which directory this is, use: - - $ df -h "`guestfish get-cachedir`" - Filesystem Size Used Avail Use% Mounted on -@@ -1437,31 +1416,6 @@ that instead. - - - --=head2 In-place conversion -- --It is also possible to use virt-v2v in scenarios where a foreign VM --has already been imported into a KVM-based hypervisor, but still needs --adjustments in the guest to make it run in the new virtual hardware. -- --In that case it is assumed that a third-party tool has created the --target VM in the supported KVM-based hypervisor based on the source VM --configuration and contents, but using virtual devices more appropriate --for KVM (e.g. virtio storage and network, etc.). -- --Then, to make the guest OS boot and run in the changed environment, --one can use: -- -- virt-v2v -ic qemu:///system converted_vm --in-place -- --Virt-v2v will analyze the configuration of C in the --C libvirt instance, and apply various fixups to the --guest OS configuration to make it match the VM configuration. This --may include installing virtio drivers, configuring the bootloader, the --mountpoints, the network interfaces, and so on. -- --Should an error occur during the operation, virt-v2v exits with an --error code leaving the VM in an undefined state. -- - =head2 Machine readable output - - The I<--machine-readable> option can be used to make the output more -diff --git a/tests/Makefile.am b/tests/Makefile.am -index 41d38d30..9bbd86d6 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-mac.sh \ - test-v2v-machine-readable.sh \ - test-v2v-networks-and-bridges.sh \ -@@ -226,7 +225,6 @@ EXTRA_DIST += \ - test-v2v-i-vmx-3.vmx \ - test-v2v-i-vmx-4.vmx \ - test-v2v-i-vmx-5.vmx \ -- test-v2v-in-place.sh \ - test-v2v-it-vddk-io-query.sh \ - test-v2v-machine-readable.sh \ - test-v2v-mac-expected.xml \ -diff --git a/tests/test-v2v-in-place.sh b/tests/test-v2v-in-place.sh -deleted file mode 100755 -index 9da8fa63..00000000 ---- a/tests/test-v2v-in-place.sh -+++ /dev/null -@@ -1,108 +0,0 @@ --#!/bin/bash - --# libguestfs virt-v2v test script --# Copyright (C) 2014 Red Hat Inc. --# Copyright (C) 2015 Parallels IP Holdings GmbH. --# --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2 of the License, or --# (at your option) any later version. --# --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --# GNU General Public License for more details. --# --# You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -- --# Test --in-place. -- --unset CDPATH --export LANG=C --set -e -- --source ./functions.sh --set -e --set -x -- --skip_if_skipped --requires test -f ../test-data/phony-guests/windows.img -- --img_base="$abs_top_builddir/test-data/phony-guests/windows.img" -- --export VIRT_TOOLS_DATA_DIR="$srcdir/../test-data/fake-virt-tools" --export VIRTIO_WIN="$srcdir/../test-data/fake-virtio-win" -- --d=$PWD/test-v2v-in-place.d --rm -rf $d --cleanup_fn rm -r $d --mkdir $d -- --img="$d/test.qcow2" --rm -f $img --qemu-img create -f qcow2 -b $img_base -o compat=1.1,backing_fmt=raw $img --md5="$(do_md5 $img_base)" -- --libvirt_xml="$d/test.xml" --rm -f $libvirt_xml --n=windows-overlay --cat > $libvirt_xml < -- -- $n -- 1048576 -- -- hvm -- -- -- -- -- -- -- -- -- -- -- --EOF -- --$VG virt-v2v --debug-gc -i libvirt -ic "test://$libvirt_xml" $n --in-place -- --# Test that the drivers have been copied over into the guest --script="$d/test.fish" --expected="$d/expected" --response="$d/response" -- --mktest () --{ -- local cmd="$1" exp="$2" -- -- echo "echo '$cmd'" >> "$script" -- echo "$cmd" >> "$expected" -- -- echo "$cmd" >> "$script" -- echo "$exp" >> "$expected" --} -- --:> "$script" --:> "$expected" -- --firstboot_dir="/Program Files/Guestfs/Firstboot" --mktest "is-dir \"$firstboot_dir\"" true --mktest "is-file \"$firstboot_dir/firstboot.bat\"" true --mktest "is-dir \"$firstboot_dir/scripts\"" true --virtio_dir="/Windows/Drivers/VirtIO" --mktest "is-dir \"$virtio_dir\"" true --for drv in netkvm qxl vioscsi viostor; do -- for sfx in cat inf sys; do -- mktest "is-file \"$virtio_dir/$drv.$sfx\"" true -- done --done -- --guestfish --ro -a "$img" -i < "$script" > "$response" --diff -u "$expected" "$response" -- --# Test the base image remained untouched --test "$md5" = "$(do_md5 $img_base)" -diff --git a/v2v/cmdline.ml b/v2v/cmdline.ml -index ac10ec31..01314580 100644 ---- a/v2v/cmdline.ml -+++ b/v2v/cmdline.ml -@@ -246,8 +246,7 @@ let parse_cmdline () = - s_"Use password from file to connect to input hypervisor"; - [ M"it" ], Getopt.String ("transport", set_string_option_once "-it" input_transport), - s_"Input transport"; -- [ L"in-place" ], Getopt.Set in_place, -- s_"Only tune the guest in the input VM"; -+ [ L"in-place" ], Getopt.Set in_place, Getopt.hidden_option_description; - [ L"mac" ], Getopt.String ("mac:network|bridge|ip:out", add_mac), - s_"Map NIC to network or bridge or assign static IP"; - [ S 'n'; L"network" ], Getopt.String ("in:out", add_network), -@@ -386,7 +385,6 @@ read the man page virt-v2v(1). - pr "vddk\n"; - pr "colours-option\n"; - pr "vdsm-compat-option\n"; -- pr "in-place\n"; - pr "io/oo\n"; - pr "mac-option\n"; - pr "bandwidth-option\n"; -@@ -556,6 +554,10 @@ read the man page virt-v2v(1). - error (f_"only ‘-it ssh’ can be used here") in - Input_vmx.input_vmx input_password input_transport arg in - -+ (* Prevent use of --in-place option in RHEL. *) -+ if in_place then -+ error (f_"--in-place cannot be used in RHEL"); -+ - (* Common error message. *) - let error_option_cannot_be_used_in_output_mode mode opt = - error (f_"-o %s: %s option cannot be used in this output mode") mode opt --- -2.31.1 - diff --git a/0011-RHEL-9-Disable-o-glance.patch b/0008-RHEL-9-Disable-o-glance.patch similarity index 75% rename from 0011-RHEL-9-Disable-o-glance.patch rename to 0008-RHEL-9-Disable-o-glance.patch index 1336f6c..8776133 100644 --- a/0011-RHEL-9-Disable-o-glance.patch +++ b/0008-RHEL-9-Disable-o-glance.patch @@ -1,16 +1,15 @@ -From 7edb403ee54153c64205915c0bd1d177c0094ee0 Mon Sep 17 00:00:00 2001 +From f801f4a34f9b136e2cb5af3b936948f1ecb88154 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 30 Jun 2021 11:15:52 +0100 -Subject: [PATCH 11/11] RHEL 9: Disable -o glance +Subject: [PATCH 8/8] RHEL 9: Disable -o glance Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1977539 --- docs/virt-v2v-output-openstack.pod | 56 ++---------------------------- - docs/virt-v2v.pod | 22 ------------ + docs/virt-v2v.pod | 20 ----------- + output/output.ml | 3 +- tests/test-v2v-o-glance.sh | 3 ++ - v2v/cmdline.ml | 3 -- - v2v/output_glance.ml | 2 +- - 5 files changed, 6 insertions(+), 80 deletions(-) + 4 files changed, 7 insertions(+), 75 deletions(-) diff --git a/docs/virt-v2v-output-openstack.pod b/docs/virt-v2v-output-openstack.pod index f5a3abad..1ab356e8 100644 @@ -100,16 +99,10 @@ index f5a3abad..1ab356e8 100644 =head1 AUTHOR diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod -index 719a95b5..2f4fe86c 100644 +index 0a47b611..c70bfef5 100644 --- a/docs/virt-v2v.pod +++ b/docs/virt-v2v.pod -@@ -422,20 +422,10 @@ interested in looking at the metadata. - This option is not compatible with I<-o libvirt> since it would create - a faulty guest (one with no disks). - --This option is not compatible with I<-o glance> for technical reasons. -- - =item B<-o> B +@@ -432,14 +432,6 @@ See L below. This is the same as I<-o local>. @@ -124,7 +117,7 @@ index 719a95b5..2f4fe86c 100644 =item B<-o> B Set the output method to I. -@@ -1148,11 +1138,6 @@ and output methods may use disk space, as outlined in the table below. +@@ -1163,11 +1155,6 @@ and output methods may use disk space, as outlined in the table below. This temporarily places a full copy of the uncompressed source disks in C<$VIRT_V2V_TMPDIR> (or F). @@ -136,7 +129,7 @@ index 719a95b5..2f4fe86c 100644 =item I<-o local> =item I<-o qemu> -@@ -1337,13 +1322,6 @@ instance. +@@ -1352,13 +1339,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. @@ -150,6 +143,20 @@ index 719a95b5..2f4fe86c 100644 =item Writing to block devices This normally requires root. See the next section. +diff --git a/output/output.ml b/output/output.ml +index 1414a521..69768ff1 100644 +--- a/output/output.ml ++++ b/output/output.ml +@@ -75,7 +75,8 @@ let rec main () = + error (f_"%s option used more than once on the command line") "-om"; + match mode with + | "disk" -> output_mode := Some `Disk +- | "glance" -> output_mode := Some `Glance ++ | "glance" -> ++ error(f_"-o glance option has been removed from RHEL 9") + | "json" -> output_mode := Some `Json + | "libvirt" -> output_mode := Some `Libvirt + | "null" -> output_mode := Some `Null 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 @@ -164,37 +171,6 @@ index c0db9115..074b5e16 100755 source ./functions.sh set -e set -x -diff --git a/v2v/cmdline.ml b/v2v/cmdline.ml -index 01314580..e6c86b6f 100644 ---- a/v2v/cmdline.ml -+++ b/v2v/cmdline.ml -@@ -170,7 +170,6 @@ let parse_cmdline () = - 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 - | "libvirt" -> output_mode := `Libvirt - | "disk" | "local" -> output_mode := `Local - | "json" -> output_mode := `JSON -@@ -323,8 +322,6 @@ let parse_cmdline () = - - 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. - -diff --git a/v2v/output_glance.ml b/v2v/output_glance.ml -index 8c5426b9..3fce4e7a 100644 ---- a/v2v/output_glance.ml -+++ b/v2v/output_glance.ml -@@ -100,4 +100,4 @@ object - end - - let output_glance = new output_glance --let () = Modules_list.register_output_module "glance" -+(* let () = Modules_list.register_output_module "glance" *) -- 2.31.1 diff --git a/0008-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch b/0008-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch deleted file mode 100644 index cd2c206..0000000 --- a/0008-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch +++ /dev/null @@ -1,26 +0,0 @@ -From e57a5dafc00b3b5737824977aad0feb0ec497a1f Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Thu, 2 Mar 2017 14:21:37 +0100 -Subject: [PATCH 08/11] RHEL: v2v: -i disk: force VNC as display (RHBZ#1372671) - -The SDL output mode is not supported in RHEL's qemu-kvm. ---- - v2v/input_disk.ml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/v2v/input_disk.ml b/v2v/input_disk.ml -index b3acb5f6..5b39dbe2 100644 ---- a/v2v/input_disk.ml -+++ b/v2v/input_disk.ml -@@ -88,7 +88,7 @@ class input_disk input_format disk = object - s_features = [ "acpi"; "apic"; "pae" ]; - s_firmware = UnknownFirmware; (* causes virt-v2v to autodetect *) - s_display = -- Some { s_display_type = Window; s_keymap = None; s_password = None; -+ Some { s_display_type = VNC; s_keymap = None; s_password = None; - s_listen = LNoListen; s_port = None }; - s_video = None; - s_sound = None; --- -2.31.1 - diff --git a/sources b/sources index 6a6c6fc..d4d5702 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (virt-v2v-1.45.3.tar.gz) = 24606acb039e630d8cbe4befe232bf9f3e8a2064e931d9064adc59704d34b67269933e2b24cb9f996c31b8c16b4e4f2ebdd7f40c9d29bb0f4a9f3df98d8edf34 -SHA512 (virt-v2v-1.45.3.tar.gz.sig) = efbeb0b925b403e6973936a89125b169c7522fc5073a0b8978326de861819a3b8756e219a381e3eac3ee40d97cc16919286a797557e6391e301a0871b38628e7 +SHA512 (virt-v2v-1.45.90.tar.gz) = bbe5a6cbe949609c93bdbca0853aae6b9ca87882e49420a763440aab986bdd90a000181e9ec9b1271a42d052749e579f810a4c0122a5dbfa37ff81681147aacd +SHA512 (virt-v2v-1.45.90.tar.gz.sig) = 445b0a1f1db0abc86f3be31e39e9430536f5d62d73f56d88abf27c58ef554db7b0844f92ef1ae267dd27d5be9f5b80aadf1f7e6b1267c732f99a219639f7db9a diff --git a/virt-v2v.spec b/virt-v2v.spec index 625ccb6..7f4b6a3 100644 --- a/virt-v2v.spec +++ b/virt-v2v.spec @@ -14,7 +14,7 @@ Name: virt-v2v Epoch: 1 -Version: 1.45.3 +Version: 1.45.90 Release: 1%{?dist} Summary: Convert a virtual machine to run on KVM @@ -50,17 +50,14 @@ ExclusiveArch: x86_64 # Downstream (RHEL-only) patches. %if 0%{?rhel} -Patch9001: 0001-Revert-v2v-Remove-o-rhv-upload-oa-preallocated.patch -Patch9002: 0002-RHEL-v2v-rhv-upload-Remove-restriction-on-oa-sparse.patch -Patch9003: 0003-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch -Patch9004: 0004-RHEL-v2v-Disable-the-qemu-boot-option-RHBZ-1147313.patch -Patch9005: 0005-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch -Patch9006: 0006-RHEL-Fix-tests-for-libguestfs-winsupport.patch -Patch9007: 0007-RHEL-v2v-Disable-the-virt-v2v-in-place-option.patch -Patch9008: 0008-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch -Patch9009: 0009-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch -Patch9010: 0010-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch -Patch9011: 0011-RHEL-9-Disable-o-glance.patch +Patch9001: 0001-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch +Patch9002: 0002-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch +Patch9003: 0003-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch +Patch9004: 0004-RHEL-Fixes-for-libguestfs-winsupport.patch +Patch9005: 0005-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch +Patch9006: 0006-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch +Patch9007: 0007-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch +Patch9008: 0008-RHEL-9-Disable-o-glance.patch %endif %if 0%{patches_touch_autotools} @@ -71,16 +68,17 @@ BuildRequires: make BuildRequires: /usr/bin/pod2man BuildRequires: gcc BuildRequires: ocaml >= 4.01 -BuildRequires: libguestfs-devel >= 1:1.42 +BuildRequires: libguestfs-devel >= 1:1.42 BuildRequires: augeas-devel BuildRequires: bash-completion BuildRequires: file-devel BuildRequires: gettext-devel BuildRequires: jansson-devel +BuildRequires: libnbd-devel BuildRequires: libosinfo-devel -BuildRequires: libvirt-devel BuildRequires: libvirt-daemon-kvm +BuildRequires: libvirt-devel BuildRequires: libxml2-devel BuildRequires: pcre-devel BuildRequires: perl(Sys::Guestfs) @@ -90,6 +88,7 @@ BuildRequires: xorriso BuildRequires: ocaml-findlib-devel BuildRequires: ocaml-libguestfs-devel +BuildRequires: ocaml-libnbd-devel BuildRequires: ocaml-fileutils-devel BuildRequires: ocaml-gettext-devel %if !0%{?rhel} @@ -117,7 +116,7 @@ Requires: gawk Requires: gzip Requires: unzip Requires: curl -Requires: /usr/bin/virsh +Requires: %{_bindir}/virsh # Ensure the UEFI firmware is available, to properly convert # EFI guests (RHBZ#1429643). @@ -128,14 +127,25 @@ Requires: edk2-ovmf Requires: edk2-aarch64 %endif -# Needed for -it vddk, and -o rhv-upload. -Requires: nbdkit +Requires: libnbd >= 1.8.2-2.el9 +Requires: %{_bindir}/qemu-nbd +Requires: %{_bindir}/nbdcopy +Requires: %{_bindir}/nbdinfo +Requires: nbdkit-server >= 1.26.5-1.el9 Requires: nbdkit-curl-plugin +Requires: nbdkit-file-plugin +Requires: nbdkit-nbd-plugin +Requires: nbdkit-null-plugin Requires: nbdkit-python-plugin Requires: nbdkit-ssh-plugin %ifarch x86_64 Requires: nbdkit-vddk-plugin %endif +Requires: nbdkit-cacheextents-filter +Requires: nbdkit-cow-filter >= 1.26.5-1.el9 +Requires: nbdkit-rate-filter +Requires: nbdkit-readahead-filter +Requires: nbdkit-retry-filter # For rhsrvany.exe, used to install firstboot scripts in Windows guests. Requires: mingw32-srvany >= 1.0-13 @@ -258,6 +268,9 @@ popd %files -f %{name}.lang %license COPYING %doc README +%{_bindir}/helper-v2v-convert +%{_bindir}/helper-v2v-input +%{_bindir}/helper-v2v-output %{_bindir}/virt-v2v %{_mandir}/man1/virt-v2v.1* %{_mandir}/man1/virt-v2v-hacking.1* @@ -287,6 +300,9 @@ popd %changelog +* Tue Sep 21 2021 Richard W.M. Jones - 1:1.45.90-1 +- New upstream development version 1.45.90 (preview of 2.0) + * Fri Aug 06 2021 Richard W.M. Jones - 1:1.45.3-1 - New upstream development version 1.45.3. - Rebase RHEL patches.