diff --git a/0001-Update-common-submodule.patch b/0001-Update-common-submodule.patch new file mode 100644 index 0000000..a45fc59 --- /dev/null +++ b/0001-Update-common-submodule.patch @@ -0,0 +1,66 @@ +From 6513fcbec9a10652cb8b5690936e7265e9c8851c Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Thu, 16 May 2024 12:32:00 +0100 +Subject: [PATCH] Update common submodule + +Pulls in these commits, but they are not thought to be relevant to +virt-v2v. + + Ben Brown (1): + Initialise bar->fp as NULL + + Richard W.M. Jones (2): + mlcustomize: Update virt-customize generated files + options: Allow nbd+unix:// URIs +--- + common | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Submodule common 0dba002c..93a7f3af: +diff --git a/common/mlcustomize/customize_cmdline.ml b/common/mlcustomize/customize_cmdline.ml +index 245d9960..48ee3344 100644 +--- a/common/mlcustomize/customize_cmdline.ml ++++ b/common/mlcustomize/customize_cmdline.ml +@@ -157,7 +157,7 @@ let rec argspec () = + let len = String.length arg in + String.sub arg 0 i, String.sub arg (i+1) (len-(i+1)) + and split_string_triplet option_name arg = +- match String.nsplit ~max:3 "," arg with ++ match String.nsplit ~max:3 ":" arg with + | [a; b; c] -> a, b, c + | _ -> + error (f_"invalid format for '--%s' parameter, see the man page") +diff --git a/common/options/uri.c b/common/options/uri.c +index 84d393c1..9180d6a2 100644 +--- a/common/options/uri.c ++++ b/common/options/uri.c +@@ -99,7 +99,7 @@ is_uri (const char *arg) + return 0; + + for (p--; p >= arg; p--) { +- if (!c_islower (*p)) ++ if (! (c_islower (*p) || *p == '+')) + return 0; + } + +@@ -148,7 +148,10 @@ parse (const char *arg, char **path_ret, char **protocol_ret, + } + */ + +- *protocol_ret = strdup (uri->scheme); ++ if (STREQ (uri->scheme, "nbd+unix")) ++ *protocol_ret = strdup ("nbd"); ++ else ++ *protocol_ret = strdup (uri->scheme); + if (*protocol_ret == NULL) { + perror ("strdup: protocol"); + return -1; +@@ -194,7 +197,7 @@ parse (const char *arg, char **path_ret, char **protocol_ret, + if (path && path[0] == '/' && + (STREQ (uri->scheme, "gluster") || + STREQ (uri->scheme, "iscsi") || +- STREQ (uri->scheme, "nbd") || ++ STRPREFIX (uri->scheme, "nbd") || + STREQ (uri->scheme, "rbd") || + STREQ (uri->scheme, "sheepdog"))) + path++; diff --git a/0001-tests-Don-t-rebuild-real_guests_scripts-after-clean.patch b/0001-tests-Don-t-rebuild-real_guests_scripts-after-clean.patch deleted file mode 100644 index 450fb67..0000000 --- a/0001-tests-Don-t-rebuild-real_guests_scripts-after-clean.patch +++ /dev/null @@ -1,27 +0,0 @@ -From ce67e6e66fdd4140efb1dff961734790f6158271 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 12 Mar 2024 09:56:55 +0000 -Subject: [PATCH] tests: Don't rebuild real_guests_scripts after clean - -Move this rule to 'make distclean' so we don't rebuild these scripts -all the time. It's not necessary as they hardly ever change. ---- - tests/Makefile.am | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/tests/Makefile.am b/tests/Makefile.am -index cc297890..723a6506 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -172,8 +172,10 @@ test-v2v-conversion-of-%.sh: - chmod 0755 $@-t - mv $@-t $@ - -+DISTCLEANFILES += \ -+ $(real_guests_scripts) -+ - CLEANFILES += \ -- $(real_guests_scripts) \ - real-*.img \ - real-*.xml - diff --git a/0002-convert-windows-Install-blnsvr-from-virtio-win.patch b/0002-convert-windows-Install-blnsvr-from-virtio-win.patch new file mode 100644 index 0000000..76697a7 --- /dev/null +++ b/0002-convert-windows-Install-blnsvr-from-virtio-win.patch @@ -0,0 +1,212 @@ +From 70eec57765280032e08a1d738402926b14a851bf Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Thu, 16 May 2024 13:27:49 +0100 +Subject: [PATCH] convert: windows: Install blnsvr from virtio-win + +Also update the common module to get these two commits for the +implementation: + +Richard W.M. Jones (2): + mlcustomize: Add virt-customize --inject-blnsvr generated files + mlcustomize: Add Inject_virtio_win.inject_blnsvr implementation + +Fixes: https://issues.redhat.com/browse/RHEL-36591 +--- + common | 2 +- + convert/convert_windows.ml | 6 ++++++ + 2 files changed, 7 insertions(+), 1 deletion(-) + +Submodule common 93a7f3af..830cbdcf: +diff --git a/common/mlcustomize/customize-options.pod b/common/mlcustomize/customize-options.pod +index ff93630d..b2ac5752 100644 +--- a/common/mlcustomize/customize-options.pod ++++ b/common/mlcustomize/customize-options.pod +@@ -193,6 +193,18 @@ L. + Set the hostname of the guest to C. You can use a + dotted hostname.domainname (FQDN) if you want. + ++=item B<--inject-blnsvr> METHOD ++ ++Inject the Balloon Server (F) into a Windows guest. ++This operation also injects a firstboot script so that the Balloon ++Server is installed when the guest boots. ++ ++The parameter is the same as used by the I<--inject-virtio-win> operation. ++ ++Note that to do a full conversion of a Windows guest from a ++foreign hypervisor like VMware (which involves many other operations) ++you should use the L tool instead of this. ++ + =item B<--inject-qemu-ga> METHOD + + Inject the QEMU Guest Agent into a Windows guest. The guest +diff --git a/common/mlcustomize/customize-synopsis.pod b/common/mlcustomize/customize-synopsis.pod +index bb0ce125..957de8cf 100644 +--- a/common/mlcustomize/customize-synopsis.pod ++++ b/common/mlcustomize/customize-synopsis.pod +@@ -3,16 +3,16 @@ + [--copy SOURCE:DEST] [--copy-in LOCALPATH:REMOTEDIR] + [--delete PATH] [--edit FILE:EXPR] [--firstboot SCRIPT] + [--firstboot-command 'CMD+ARGS'] [--firstboot-install PKG,PKG..] +- [--hostname HOSTNAME] [--inject-qemu-ga METHOD] +- [--inject-virtio-win METHOD] [--install PKG,PKG..] +- [--link TARGET:LINK[:LINK..]] [--mkdir DIR] [--move SOURCE:DEST] +- [--password USER:SELECTOR] [--root-password SELECTOR] +- [--run SCRIPT] [--run-command 'CMD+ARGS'] [--scrub FILE] +- [--sm-attach SELECTOR] [--sm-register] [--sm-remove] +- [--sm-unregister] [--ssh-inject USER[:SELECTOR]] +- [--tar-in TARFILE:REMOTEDIR] [--timezone TIMEZONE] [--touch FILE] +- [--truncate FILE] [--truncate-recursive PATH] +- [--uninstall PKG,PKG..] [--update] [--upload FILE:DEST] +- [--write FILE:CONTENT] [--no-logfile] ++ [--hostname HOSTNAME] [--inject-blnsvr METHOD] ++ [--inject-qemu-ga METHOD] [--inject-virtio-win METHOD] ++ [--install PKG,PKG..] [--link TARGET:LINK[:LINK..]] [--mkdir DIR] ++ [--move SOURCE:DEST] [--password USER:SELECTOR] ++ [--root-password SELECTOR] [--run SCRIPT] ++ [--run-command 'CMD+ARGS'] [--scrub FILE] [--sm-attach SELECTOR] ++ [--sm-register] [--sm-remove] [--sm-unregister] ++ [--ssh-inject USER[:SELECTOR]] [--tar-in TARFILE:REMOTEDIR] ++ [--timezone TIMEZONE] [--touch FILE] [--truncate FILE] ++ [--truncate-recursive PATH] [--uninstall PKG,PKG..] [--update] ++ [--upload FILE:DEST] [--write FILE:CONTENT] [--no-logfile] + [--password-crypto md5|sha256|sha512] [--no-selinux-relabel] + [--selinux-relabel] [--sm-credentials SELECTOR] +diff --git a/common/mlcustomize/customize_cmdline.ml b/common/mlcustomize/customize_cmdline.ml +index 48ee3344..c4d6a77d 100644 +--- a/common/mlcustomize/customize_cmdline.ml ++++ b/common/mlcustomize/customize_cmdline.ml +@@ -61,6 +61,8 @@ and op = [ + (* --firstboot-install PKG,PKG.. *) + | `Hostname of string + (* --hostname HOSTNAME *) ++ | `InjectBalloonServer of string ++ (* --inject-blnsvr METHOD *) + | `InjectQemuGA of string + (* --inject-qemu-ga METHOD *) + | `InjectVirtioWin of string +@@ -286,6 +288,12 @@ let rec argspec () = + s_"Set the hostname" + ), + Some "HOSTNAME", "Set the hostname of the guest to C. You can use a\ndotted hostname.domainname (FQDN) if you want."; ++ ( ++ [ L"inject-blnsvr" ], ++ Getopt.String (s_"METHOD", fun s -> List.push_front (`InjectBalloonServer s) ops), ++ s_"Inject the Balloon Server into a Windows guest" ++ ), ++ Some "METHOD", "Inject the Balloon Server (F) into a Windows guest.\nThis operation also injects a firstboot script so that the Balloon\nServer is installed when the guest boots.\n\nThe parameter is the same as used by the I<--inject-virtio-win> operation.\n\nNote that to do a full conversion of a Windows guest from a\nforeign hypervisor like VMware (which involves many other operations)\nyou should use the L tool instead of this."; + ( + [ L"inject-qemu-ga" ], + Getopt.String (s_"METHOD", fun s -> List.push_front (`InjectQemuGA s) ops), +diff --git a/common/mlcustomize/customize_cmdline.mli b/common/mlcustomize/customize_cmdline.mli +index 51a156ea..ee62961a 100644 +--- a/common/mlcustomize/customize_cmdline.mli ++++ b/common/mlcustomize/customize_cmdline.mli +@@ -53,6 +53,8 @@ and op = [ + (* --firstboot-install PKG,PKG.. *) + | `Hostname of string + (* --hostname HOSTNAME *) ++ | `InjectBalloonServer of string ++ (* --inject-blnsvr METHOD *) + | `InjectQemuGA of string + (* --inject-qemu-ga METHOD *) + | `InjectVirtioWin of string +diff --git a/common/mlcustomize/inject_virtio_win.ml b/common/mlcustomize/inject_virtio_win.ml +index 2a30b200..4e0ed0e0 100644 +--- a/common/mlcustomize/inject_virtio_win.ml ++++ b/common/mlcustomize/inject_virtio_win.ml +@@ -24,6 +24,8 @@ open Common_gettext.Gettext + + open Regedit + ++let re_blnsvr = PCRE.compile ~caseless:true "\\bblnsvr\\.exe$" ++ + type t = { + g : Guestfs.guestfs; (** guestfs handle *) + +@@ -267,6 +269,18 @@ and inject_qemu_ga t = + configure_qemu_ga t msi_files; + msi_files <> [] (* return true if we found some qemu-ga MSI files *) + ++and inject_blnsvr t = ++ let files = copy_blnsvr t in ++ match files with ++ | [] -> false (* Didn't find or install anything. *) ++ ++ (* We usually find blnsvr.exe in two locations (drivers/by-os and ++ * drivers/by-driver). Pick the first. ++ *) ++ | blnsvr :: _ -> ++ configure_blnsvr t blnsvr; ++ true ++ + and add_guestor_to_registry t ((g, root) as reg) drv_name drv_pciid = + let ddb_node = g#hivex_node_get_child root "DriverDatabase" in + +@@ -351,6 +365,11 @@ and copy_qemu_ga t = + (fun () -> + error (f_"root directory ‘/’ is missing from the virtio-win directory or ISO.\n\nThis should not happen and may indicate that virtio-win or virt-v2v is broken in some way. Please report this as a bug with a full debug log.")) + ++and copy_blnsvr t = ++ copy_from_virtio_win t "/" "/" (virtio_iso_path_matches_blnsvr t) ++ (fun () -> ++ error (f_"root directory ‘/’ is missing from the virtio-win directory or ISO.\n\nThis should not happen and may indicate that virtio-win or virt-v2v is broken in some way. Please report this as a bug with a full debug log.")) ++ + (* Copy all files from virtio_win directory/ISO located in [srcdir] + * subdirectory and all its subdirectories to the [destdir]. The directory + * hierarchy is not preserved, meaning all files will be directly in [destdir]. +@@ -513,6 +532,10 @@ and virtio_iso_path_matches_qemu_ga t path = + | ("x86_64", "rhev-qga64.msi") -> true + | _ -> false + ++(* Find blnsvr for the current Windows version. *) ++and virtio_iso_path_matches_blnsvr t path = ++ virtio_iso_path_matches_guest_os t path && PCRE.matches re_blnsvr path ++ + (* Look up in libosinfo for the OS, and copy all the locally + * available files specified as drivers for that OS to the [destdir]. + * +@@ -586,3 +609,10 @@ and configure_qemu_ga t files = + Firstboot.add_firstboot_powershell t.g t.root + (sprintf "install-%s.ps1" msi_path) !psh_script; + ) files ++ ++and configure_blnsvr t blnsvr = ++ let cmd = sprintf "\ ++ @echo off\n\ ++ echo Installing %s\n\ ++ c:\\%s -i\n" blnsvr blnsvr in ++ Firstboot.add_firstboot_script t.g t.root (sprintf "install-%s" blnsvr) cmd +diff --git a/common/mlcustomize/inject_virtio_win.mli b/common/mlcustomize/inject_virtio_win.mli +index d14f0497..d273c4dd 100644 +--- a/common/mlcustomize/inject_virtio_win.mli ++++ b/common/mlcustomize/inject_virtio_win.mli +@@ -93,3 +93,11 @@ val inject_qemu_ga : t -> bool + the MSI(s). + + Returns [true] iff we were able to inject qemu-ga. *) ++ ++val inject_blnsvr : t -> bool ++(** Inject the Balloon Server ([blnsvr.exe]) into a Windows guest. ++ ++ A firstboot script is also injected which should install ++ the server by running [blnsvr -i]. ++ ++ Returns [true] iff we were able to inject the Balloon Server. *) +diff --git a/convert/convert_windows.ml b/convert/convert_windows.ml +index 34cf341b..2d6e2059 100644 +--- a/convert/convert_windows.ml ++++ b/convert/convert_windows.ml +@@ -357,6 +357,12 @@ let convert (g : G.guestfs) _ inspect i_firmware block_driver _ static_ips = + may want to install the guest agent manually after \ + conversion."); + ++ (* Install Balloon Server unconditionally and warn if missing *) ++ if not (Inject_virtio_win.inject_blnsvr virtio_win) then ++ warning (f_"Balloon Server (blnsvr.exe) not found on tools \ ++ ISO/directory. You may want to install this component \ ++ manually after conversion."); ++ + unconfigure_xenpv (); + unconfigure_prltools (); + unconfigure_vmwaretools () diff --git a/0002-tests-test-v2v-o-kubevirt-windows.sh-Set-fake-virtio.patch b/0002-tests-test-v2v-o-kubevirt-windows.sh-Set-fake-virtio.patch deleted file mode 100644 index 5ec994e..0000000 --- a/0002-tests-test-v2v-o-kubevirt-windows.sh-Set-fake-virtio.patch +++ /dev/null @@ -1,70 +0,0 @@ -From a659b334f5b72b8a9843b1813a97114adc62a543 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Fri, 15 Mar 2024 11:34:26 +0000 -Subject: [PATCH] tests/test-v2v-o-kubevirt-windows.sh: Set fake virtio-win - -When converting this phony Windows guest we didn't set the VIRTIO_WIN -environment variable. As a result the test output could change (and -break) depending on if the virtio-win package was installed or not. - -Point VIRTIO_WIN to the fake virtio-win directory (as we do with other -Windows tests). We also need to modify the test output since the fake -virtio-win does contain enough for virt-v2v to think that virtio -driver installation was successful. - -Fixes: commit af1f7b571fb21fdbfa2974ee54a22b4fdcbc886a ---- - tests/test-v2v-o-kubevirt-windows.sh | 6 +++++- - tests/test-v2v-o-kubevirt-windows.yaml.expected | 10 ++++++++++ - 2 files changed, 15 insertions(+), 1 deletion(-) - -diff --git a/tests/test-v2v-o-kubevirt-windows.sh b/tests/test-v2v-o-kubevirt-windows.sh -index 93e4d5e9..d672b9ab 100755 ---- a/tests/test-v2v-o-kubevirt-windows.sh -+++ b/tests/test-v2v-o-kubevirt-windows.sh -@@ -32,6 +32,7 @@ libvirt_uri="test://$abs_top_builddir/test-data/phony-guests/guests.xml" - windows=../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=test-v2v-o-kubevirt-windows.d - rm -rf $d -@@ -49,7 +50,10 @@ cat $d/test.yaml - test -f $d/test-sda - - # Remove some parts of the yaml which change between runs. --sed -i -e 's/^\(# generated by virt-v2v\).*/\1/' $d/test.yaml -+sed -i \ -+ -e 's/^\(# generated by virt-v2v\).*/\1/' \ -+ -e 's,\(path: \).*/\(test-sda\),\1\2,' \ -+ $d/test.yaml - - # Compare yaml to the expected output. - diff -u test-v2v-o-kubevirt-windows.yaml.expected $d/test.yaml -diff --git a/tests/test-v2v-o-kubevirt-windows.yaml.expected b/tests/test-v2v-o-kubevirt-windows.yaml.expected -index 88f25cf1..0b12eaa9 100644 ---- a/tests/test-v2v-o-kubevirt-windows.yaml.expected -+++ b/tests/test-v2v-o-kubevirt-windows.yaml.expected -@@ -25,11 +25,21 @@ spec: - cpu: - cores: 1 - devices: -+ rng: {} -+ disks: -+ - disk: -+ bus: virtio -+ name: disk-0 - interfaces: - - name: net_default - masquerade: {} - macAddress: 00:11:22:33:44:55 - model: virtio -+ volumes: -+ - hostDisk: -+ path: test-sda -+ type: Disk -+ name: disk-0 - networks: - - networkName: default - name: net_default diff --git a/0003-docs-Add-VDDK-prereq-that-server-must-not-be-in-main.patch b/0003-docs-Add-VDDK-prereq-that-server-must-not-be-in-main.patch new file mode 100644 index 0000000..b0eb3c7 --- /dev/null +++ b/0003-docs-Add-VDDK-prereq-that-server-must-not-be-in-main.patch @@ -0,0 +1,26 @@ +From 9f7bb5fc33e3a828944f2d7987c84bcf17172b4c Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Thu, 16 May 2024 13:43:29 +0100 +Subject: [PATCH] docs: Add VDDK prereq that server must not be in maintenance + mode + +Fixes: https://issues.redhat.com/browse/RHEL-33699 +--- + docs/virt-v2v-input-vmware.pod | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/docs/virt-v2v-input-vmware.pod b/docs/virt-v2v-input-vmware.pod +index fe59222a..fc6be0e0 100644 +--- a/docs/virt-v2v-input-vmware.pod ++++ b/docs/virt-v2v-input-vmware.pod +@@ -231,6 +231,10 @@ link above. + + VDDK imports require a feature added in libvirt E 3.7. + ++=item 5. ++ ++The VMware server must not be in maintenance mode. ++ + =back + + =head2 VDDK: ESXi NFC service memory limits diff --git a/0003-o-rhv-upload-Add-context-if-parsing-params-fails-47.patch b/0003-o-rhv-upload-Add-context-if-parsing-params-fails-47.patch deleted file mode 100644 index 291d448..0000000 --- a/0003-o-rhv-upload-Add-context-if-parsing-params-fails-47.patch +++ /dev/null @@ -1,62 +0,0 @@ -From cfeebf0f121e21b8a96092330e02cc9875ee2af4 Mon Sep 17 00:00:00 2001 -From: Nir Soffer -Date: Fri, 5 Apr 2024 22:56:40 +0300 -Subject: [PATCH] -o rhv-upload: Add context if parsing params fails (#47) - -If parsing params fail we get unhelpful error: - - virt-v2v: error: internal error: invalid argument: - /tmp/v2v.CtVpBL/v2vtransfer.json: JSON parse error: end of file expected - near 'e' - -Change the parsing code to read the entire json text and include it in -the error message. This will make it clear why the json could not be -parsed, and help to find the root cause for having invalid json. - -Example error: - - $ cat out.params0.json - This is not a json document - - $ python output/rhv-upload-transfer.py out.params0.json - Traceback (most recent call last): - File "/home/nsoffer/src/virt-v2v/output/rhv-upload-transfer.py", line 261, in - raise RuntimeError(f"Cannot parse params {data!r}: {e}").with_traceback( - File "/home/nsoffer/src/virt-v2v/output/rhv-upload-transfer.py", line 259, in - params = json.loads(data) - ^^^^^^^^^^^^^^^^ - File "/usr/lib64/python3.12/json/__init__.py", line 346, in loads - return _default_decoder.decode(s) - ^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib64/python3.12/json/decoder.py", line 337, in decode - obj, end = self.raw_decode(s, idx=_w(s, 0).end()) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/lib64/python3.12/json/decoder.py", line 355, in raw_decode - raise JSONDecodeError("Expecting value", s, err.value) from None - RuntimeError: Cannot parse params 'This is not a json document\n': Expecting value: line 1 column 1 (char 0) - -Related to #46 ---- - output/rhv-upload-transfer.py | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/output/rhv-upload-transfer.py b/output/rhv-upload-transfer.py -index 626eff77..1504b076 100644 ---- a/output/rhv-upload-transfer.py -+++ b/output/rhv-upload-transfer.py -@@ -249,7 +249,14 @@ if len(sys.argv) != 2: - - # Parameters are passed in via a JSON document. - with open(sys.argv[1], 'r') as fp: -- params = json.load(fp) -+ data = fp.read() -+ -+try: -+ params = json.loads(data) -+except ValueError as e: -+ raise RuntimeError(f"Cannot parse params {data!r}: {e}").with_traceback( -+ e.__traceback__ -+ ) from None - - # What is passed in is a password file, read the actual password. - with open(params['output_password'], 'r') as fp: diff --git a/0010-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 0010-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 43e363d..6f0453f 100644 --- a/0010-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 f61e293ba2051af2b9608a474e840594d6c26743 Mon Sep 17 00:00:00 2001 +From 96b42da64a3920c38a2d450018b1d8a3bc7aae7f 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-o-rhv-upload-clarify-debug-message.patch b/0004-o-rhv-upload-clarify-debug-message.patch deleted file mode 100644 index fe680ed..0000000 --- a/0004-o-rhv-upload-clarify-debug-message.patch +++ /dev/null @@ -1,24 +0,0 @@ -From d8f09872a694836edce4685c605c09ba5ece9c31 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Fri, 5 Apr 2024 21:52:48 +0100 -Subject: [PATCH] -o rhv-upload: clarify debug message - -Thanks: Nir Soffer -Related: https://github.com/libguestfs/virt-v2v/issues/46 ---- - output/rhv-upload-transfer.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/output/rhv-upload-transfer.py b/output/rhv-upload-transfer.py -index 1504b076..7530f73e 100644 ---- a/output/rhv-upload-transfer.py -+++ b/output/rhv-upload-transfer.py -@@ -45,7 +45,7 @@ def find_host(connection): - vdsm_id = f.readline().strip() - except Exception as e: - # This is most likely not an oVirt host. -- debug("cannot read /etc/vdsm/vdsm.id, using any host: %s" % e) -+ debug("cannot read /etc/vdsm/vdsm.id, not running on an ovirt host [this is not an error]: original exception: %s" % e) - return None - - debug("hw_id = %r" % vdsm_id) diff --git a/0011-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 98% rename from 0011-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 586c7d2..7f1009c 100644 --- a/0011-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 9a84eec09ed1ea7c6cc64475e6342cd0ba265d1a Mon Sep 17 00:00:00 2001 +From 1057f48af0a7f7169ff295bfdedeb946cb2de82d 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 diff --git a/0005-o-rhv-upload-Dump-the-JSON-before-parsing.patch b/0005-o-rhv-upload-Dump-the-JSON-before-parsing.patch deleted file mode 100644 index 2b688b7..0000000 --- a/0005-o-rhv-upload-Dump-the-JSON-before-parsing.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 19ac262ceb03db2bf53a63302673d328737523de Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Fri, 5 Apr 2024 22:13:40 +0100 -Subject: [PATCH] -o rhv-upload: Dump the JSON before parsing - -Related: https://github.com/libguestfs/virt-v2v/issues/46 ---- - output/output_rhv_upload.ml | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/output/output_rhv_upload.ml b/output/output_rhv_upload.ml -index 3926cfee..7a148b1e 100644 ---- a/output/output_rhv_upload.ml -+++ b/output/output_rhv_upload.ml -@@ -273,6 +273,9 @@ See also the virt-v2v-output-rhv(1) manual."); - if Python_script.run_command ~stdout_fd:fd - precheck_script json_params [] <> 0 then - error (f_"failed server prechecks, see earlier errors"); -+ if verbose () then -+ debug "precheck output before parsing: %s" -+ (read_whole_file precheck_json); - let json = JSON_parser.json_parser_tree_parse_file precheck_json in - debug "precheck output parsed as: %s" - (JSON.string_of_doc ~fmt:JSON.Indented ["", json]); -@@ -396,6 +399,9 @@ See also the virt-v2v-output-rhv(1) manual."); - if Python_script.run_command ~stdout_fd:fd - transfer_script json_params [] <> 0 then - error (f_"failed to start transfer, see earlier errors"); -+ if verbose () then -+ debug "transfer output before parsing: %s" -+ (read_whole_file transfer_json); - let json = JSON_parser.json_parser_tree_parse_file transfer_json in - debug "transfer output parsed as: %s" - (JSON.string_of_doc ~fmt:JSON.Indented ["", json]); diff --git a/0012-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 0012-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 76b2eb8..5e8b933 100644 --- a/0012-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 1d939e6f8a3401bc2c15afd7157d9f4a6f0763b2 Mon Sep 17 00:00:00 2001 +From bcbfbf657376c8abae76f082d81d1c2d2682920c 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-o-rhv-upload-Output-outside-of-the-with-block.patch b/0006-o-rhv-upload-Output-outside-of-the-with-block.patch deleted file mode 100644 index e2b40e7..0000000 --- a/0006-o-rhv-upload-Output-outside-of-the-with-block.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 0ea92cc02949f3e829744e6e62d861dfd8ff5607 Mon Sep 17 00:00:00 2001 -From: Nir Soffer -Date: Fri, 5 Apr 2024 23:50:27 +0300 -Subject: [PATCH] -o rhv-upload: Output outside of the with block - -We write the json inside a with block, so what actually happen is: - -1. Computing the values -2. Dumping the json to stdout -3. Closing the connection - -If some code in sdk.Connection.close() write something to stdout, it -will corrupt our json output. Avoid this by moving the output out of the -with block. - -This will not prevent bad code to write something before the json. We -need to log bad json in the Ocaml code to reveal such issue. ---- - output/rhv-upload-transfer.py | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/output/rhv-upload-transfer.py b/output/rhv-upload-transfer.py -index 7530f73e..349e0f59 100644 ---- a/output/rhv-upload-transfer.py -+++ b/output/rhv-upload-transfer.py -@@ -285,10 +285,10 @@ with closing(connection): - transfer = create_transfer(connection, disk, host) - destination_url = get_transfer_url(transfer) - -- # Send the destination URL, transfer ID, and host flag back to OCaml code. -- results = { -- "transfer_id": transfer.id, -- "destination_url": destination_url, -- "is_ovirt_host": host is not None, -- } -- json.dump(results, sys.stdout) -+# Send the destination URL, transfer ID, and host flag back to OCaml code. -+results = { -+ "transfer_id": transfer.id, -+ "destination_url": destination_url, -+ "is_ovirt_host": host is not None, -+} -+json.dump(results, sys.stdout) diff --git a/0013-RHEL-Fixes-for-libguestfs-winsupport.patch b/0007-RHEL-Fixes-for-libguestfs-winsupport.patch similarity index 98% rename from 0013-RHEL-Fixes-for-libguestfs-winsupport.patch rename to 0007-RHEL-Fixes-for-libguestfs-winsupport.patch index c3fc1f4..ca4fc22 100644 --- a/0013-RHEL-Fixes-for-libguestfs-winsupport.patch +++ b/0007-RHEL-Fixes-for-libguestfs-winsupport.patch @@ -1,4 +1,4 @@ -From 8c5b0a1fd9c95f3834499089aaefff2883de551e Mon Sep 17 00:00:00 2001 +From 45f949e08aa66486a65889768c006000f639135a 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. diff --git a/0007-o-rhv-upload-Improve-host-id-logging.patch b/0007-o-rhv-upload-Improve-host-id-logging.patch deleted file mode 100644 index 92c6a14..0000000 --- a/0007-o-rhv-upload-Improve-host-id-logging.patch +++ /dev/null @@ -1,47 +0,0 @@ -From ff341481eb397d700c346d27c8a23f9732028e03 Mon Sep 17 00:00:00 2001 -From: Nir Soffer -Date: Sat, 6 Apr 2024 00:21:19 +0300 -Subject: [PATCH] -o rhv-upload: Improve host id logging - -This log[1] is proved confusing for developers: - - cannot read /etc/vdsm/vdsm.id, using any host: [Errno 2] No such file or directory: '/etc/vdsm/vdsm.id' - -This is actually a debug message, that can help RHV developers to -understand where virt-v2v was running. To make this more clear, in the -expected case when running on non-oVirt host, we log now: - - not an oVirt host, using non-oVirt host - -For any other error, we can degrade to remote transfer, but we want to -warn the user about this, so we log: - - warning: cannot read host id, using non-oVirt host: [Errno 2] No such file or directory: '/etc/vdsm/vdsm.id' - -[1] https://github.com/libguestfs/virt-v2v/issues/46#issuecomment-2039604719 - -RWMJ: Changed "any host" to "non-oVirt host" to make it clearer. ---- - output/rhv-upload-transfer.py | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/output/rhv-upload-transfer.py b/output/rhv-upload-transfer.py -index 349e0f59..ed96153b 100644 ---- a/output/rhv-upload-transfer.py -+++ b/output/rhv-upload-transfer.py -@@ -43,9 +43,13 @@ def find_host(connection): - try: - with open("/etc/vdsm/vdsm.id") as f: - vdsm_id = f.readline().strip() -+ except FileNotFoundError: -+ # Expected condition when running on non-oVirt host. -+ debug("not an oVirt host, using non-oVirt host") -+ return None - except Exception as e: -- # This is most likely not an oVirt host. -- debug("cannot read /etc/vdsm/vdsm.id, not running on an ovirt host [this is not an error]: original exception: %s" % e) -+ # Unexpected but we can degrade to remote transfer. -+ debug(f"warning: cannot read host id, using non-oVirt host: {e}") - return None - - debug("hw_id = %r" % vdsm_id) diff --git a/0014-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch b/0008-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch similarity index 93% rename from 0014-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch rename to 0008-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch index 9977759..43e9eaf 100644 --- a/0014-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch +++ b/0008-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch @@ -1,4 +1,4 @@ -From 9822a20cc378dcdf201ad682cb81eeb4e3336297 Mon Sep 17 00:00:00 2001 +From 55316686f7d8aa806d83bbc576c8cc9c2b518f04 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/0008-o-rhv-upload-Don-t-share-transfer.json-49.patch b/0008-o-rhv-upload-Don-t-share-transfer.json-49.patch deleted file mode 100644 index d9d59e4..0000000 --- a/0008-o-rhv-upload-Don-t-share-transfer.json-49.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 5672d89531ebe560aa4437a82009bdf6532983d1 Mon Sep 17 00:00:00 2001 -From: Nir Soffer -Date: Sat, 6 Apr 2024 17:15:45 +0300 -Subject: [PATCH] -o rhv-upload: Don't share transfer.json (#49) - -Use unique v2vtransferN.json for every transfer, like like -out.paramsN.json. If we keep the temporary files after the import, the -content of the file can help debugging. - -Related to #46 ---- - output/output_rhv_upload.ml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/output/output_rhv_upload.ml b/output/output_rhv_upload.ml -index 7a148b1e..f8bff24f 100644 ---- a/output/output_rhv_upload.ml -+++ b/output/output_rhv_upload.ml -@@ -394,7 +394,7 @@ See also the virt-v2v-output-rhv(1) manual."); - (fun chan -> output_string chan (JSON.string_of_doc json_params)); - - (* Start the transfer. *) -- let transfer_json = dir // "v2vtransfer.json" in -+ let transfer_json = dir // sprintf "v2vtransfer%d.json" i in - let fd = Unix.openfile transfer_json [O_WRONLY; O_CREAT] 0o600 in - if Python_script.run_command ~stdout_fd:fd - transfer_script json_params [] <> 0 then diff --git a/0015-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch b/0009-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch similarity index 91% rename from 0015-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch rename to 0009-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch index 24f49ca..3986ce2 100644 --- a/0015-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch +++ b/0009-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch @@ -1,4 +1,4 @@ -From 130ffc9b7ae3e8e11c342e7c90b6286ab21b881c Mon Sep 17 00:00:00 2001 +From 447d296d141e64bbf594dbe8fc69ea58fc3de46e 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) diff --git a/0009-o-rhv-upload-Add-O_TRUNC-to-truncate-JSON-file-if-it.patch b/0009-o-rhv-upload-Add-O_TRUNC-to-truncate-JSON-file-if-it.patch deleted file mode 100644 index 5062428..0000000 --- a/0009-o-rhv-upload-Add-O_TRUNC-to-truncate-JSON-file-if-it.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 089d9a235e0e8a959c6d85004e24f2cdb37681b4 Mon Sep 17 00:00:00 2001 -From: Thorsten Bolten -Date: Sat, 6 Apr 2024 10:41:20 -0400 -Subject: [PATCH] -o rhv-upload: Add O_TRUNC to truncate JSON file if it exists - -Fixes: https://github.com/libguestfs/virt-v2v/issues/46 -Thanks: Nir Soffer ---- - output/output_rhv_upload.ml | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/output/output_rhv_upload.ml b/output/output_rhv_upload.ml -index f8bff24f..d6fde169 100644 ---- a/output/output_rhv_upload.ml -+++ b/output/output_rhv_upload.ml -@@ -269,7 +269,7 @@ See also the virt-v2v-output-rhv(1) manual."); - ("rhv_disk_uuids", JSON.List ids) :: json_params - in - let precheck_json = dir // "v2vprecheck.json" in -- let fd = Unix.openfile precheck_json [O_WRONLY; O_CREAT] 0o600 in -+ let fd = Unix.openfile precheck_json [O_WRONLY; O_CREAT; O_TRUNC] 0o600 in - if Python_script.run_command ~stdout_fd:fd - precheck_script json_params [] <> 0 then - error (f_"failed server prechecks, see earlier errors"); -@@ -395,7 +395,8 @@ See also the virt-v2v-output-rhv(1) manual."); - - (* Start the transfer. *) - let transfer_json = dir // sprintf "v2vtransfer%d.json" i in -- let fd = Unix.openfile transfer_json [O_WRONLY; O_CREAT] 0o600 in -+ let fd = -+ Unix.openfile transfer_json [O_WRONLY; O_CREAT; O_TRUNC] 0o600 in - if Python_script.run_command ~stdout_fd:fd - transfer_script json_params [] <> 0 then - error (f_"failed to start transfer, see earlier errors"); diff --git a/0016-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch b/0010-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch similarity index 97% rename from 0016-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch rename to 0010-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch index b58135b..902d867 100644 --- a/0016-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch +++ b/0010-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch @@ -1,4 +1,4 @@ -From 1e0398f1f2bac2da9700a38a1ba7cb6f172d7c03 Mon Sep 17 00:00:00 2001 +From 44ea2e65e175c0acddf7f80db2c972a4d7ddea35 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/0017-RHEL-Disable-o-glance.patch b/0011-RHEL-Disable-o-glance.patch similarity index 99% rename from 0017-RHEL-Disable-o-glance.patch rename to 0011-RHEL-Disable-o-glance.patch index e3044b1..ce87406 100644 --- a/0017-RHEL-Disable-o-glance.patch +++ b/0011-RHEL-Disable-o-glance.patch @@ -1,4 +1,4 @@ -From 1bde50da68385498441ed6e6d7178e8828eb6b3d Mon Sep 17 00:00:00 2001 +From c2d09080f3c06416bd935c4a6eb9bb7822dceec7 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 diff --git a/0018-RHEL-Remove-the-in-place-option.patch b/0012-RHEL-Remove-the-in-place-option.patch similarity index 98% rename from 0018-RHEL-Remove-the-in-place-option.patch rename to 0012-RHEL-Remove-the-in-place-option.patch index 5c4ee81..406b7f2 100644 --- a/0018-RHEL-Remove-the-in-place-option.patch +++ b/0012-RHEL-Remove-the-in-place-option.patch @@ -1,4 +1,4 @@ -From 3fefe2b16e9e17322e5a620851f6b263e216ee98 Mon Sep 17 00:00:00 2001 +From 8ec151f6376c65ef5706e14f28530514c9b9e877 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 diff --git a/0019-RHEL-9-oo-compressed-Remove-nbdcopy-version-check-an.patch b/0013-RHEL-9-oo-compressed-Remove-nbdcopy-version-check-an.patch similarity index 96% rename from 0019-RHEL-9-oo-compressed-Remove-nbdcopy-version-check-an.patch rename to 0013-RHEL-9-oo-compressed-Remove-nbdcopy-version-check-an.patch index fbbb43f..d33e284 100644 --- a/0019-RHEL-9-oo-compressed-Remove-nbdcopy-version-check-an.patch +++ b/0013-RHEL-9-oo-compressed-Remove-nbdcopy-version-check-an.patch @@ -1,4 +1,4 @@ -From 1565824fb019fc4fb86312439f1a44fc686ce73c Mon Sep 17 00:00:00 2001 +From 21cdefbc81e796bb2ebfac25f69b8c249e4b8a8a 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 diff --git a/0020-RHEL-9-tests-Remove-btrfs-test.patch b/0014-RHEL-9-tests-Remove-btrfs-test.patch similarity index 91% rename from 0020-RHEL-9-tests-Remove-btrfs-test.patch rename to 0014-RHEL-9-tests-Remove-btrfs-test.patch index f047872..1285ec9 100644 --- a/0020-RHEL-9-tests-Remove-btrfs-test.patch +++ b/0014-RHEL-9-tests-Remove-btrfs-test.patch @@ -1,4 +1,4 @@ -From 8bc5a15ceabe7a8b6a14faa48bd47f48d33535a3 Mon Sep 17 00:00:00 2001 +From 277e38252c123450e2eab0a8633ce59a1479aa7d 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 diff --git a/0021-RHEL-9-Remove-block-driver-option.patch b/0015-RHEL-9-Remove-block-driver-option.patch similarity index 98% rename from 0021-RHEL-9-Remove-block-driver-option.patch rename to 0015-RHEL-9-Remove-block-driver-option.patch index 16a6e1a..542d026 100644 --- a/0021-RHEL-9-Remove-block-driver-option.patch +++ b/0015-RHEL-9-Remove-block-driver-option.patch @@ -1,4 +1,4 @@ -From 6aa2c1976bebf550149e27cd4463408ec476addf Mon Sep 17 00:00:00 2001 +From 79be5c20781a8e5efd7e5335a552ad69bedf5e76 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 28 Apr 2023 12:28:19 +0100 Subject: [PATCH] RHEL 9: Remove --block-driver option diff --git a/sources b/sources index f24bd8c..9c7906f 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (virt-v2v-2.5.2.tar.gz) = 2b0eedb58b8e2f6f5550147b4bae0fab2b82e671b711d88cc7f0b43b0e83ed4a6db4218f35b3edbb4d94731602d5bf88045bd371748bff6ec38cca6f85e28cfc -SHA512 (virt-v2v-2.5.2.tar.gz.sig) = 89f5de8b490d01b7c19a0ee29bf2c5d538f4a1067d573e20d889394bae346ce5f0515300bdcaeae1517067dde43410e53e213f5ac413b1d9644b0538df565132 +SHA512 (virt-v2v-2.5.4.tar.gz) = ea872978eefc9feacb6048bb217449804612e5cc68bfbd1f20e5aaf637ca7ca8be92798ba1cbc1d2d6ddbf6a07628e79beea7db1966150675d9fbda9d4361b7a +SHA512 (virt-v2v-2.5.4.tar.gz.sig) = 02780e8ae0bdff8c5b22b52bdd24d5f9dfa2d808b792abf7f8bcaa8c4e2c12ea52d3f2cd2c64b8a261437db69409f9ea1d12ac182dbc96e2bb5441a434ac7f84 diff --git a/virt-v2v.spec b/virt-v2v.spec index 1e1c469..16196ce 100644 --- a/virt-v2v.spec +++ b/virt-v2v.spec @@ -3,12 +3,12 @@ %global verify_tarball_signature 1 # The source directory. -%global source_directory 2.4-stable +%global source_directory 2.5-development Name: virt-v2v Epoch: 1 -Version: 2.5.2 -Release: 2%{?dist} +Version: 2.5.4 +Release: 1%{?dist} Summary: Convert a virtual machine to run on KVM License: GPL-2.0-or-later AND LGPL-2.0-or-later @@ -28,27 +28,21 @@ Source3: copy-patches.sh # https://github.com/libguestfs/virt-v2v/commits/rhel-9.5 # Patches. -Patch0001: 0001-tests-Don-t-rebuild-real_guests_scripts-after-clean.patch -Patch0002: 0002-tests-test-v2v-o-kubevirt-windows.sh-Set-fake-virtio.patch -Patch0003: 0003-o-rhv-upload-Add-context-if-parsing-params-fails-47.patch -Patch0004: 0004-o-rhv-upload-clarify-debug-message.patch -Patch0005: 0005-o-rhv-upload-Dump-the-JSON-before-parsing.patch -Patch0006: 0006-o-rhv-upload-Output-outside-of-the-with-block.patch -Patch0007: 0007-o-rhv-upload-Improve-host-id-logging.patch -Patch0008: 0008-o-rhv-upload-Don-t-share-transfer.json-49.patch -Patch0009: 0009-o-rhv-upload-Add-O_TRUNC-to-truncate-JSON-file-if-it.patch -Patch0010: 0010-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch -Patch0011: 0011-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch -Patch0012: 0012-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch -Patch0013: 0013-RHEL-Fixes-for-libguestfs-winsupport.patch -Patch0014: 0014-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch -Patch0015: 0015-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch -Patch0016: 0016-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch -Patch0017: 0017-RHEL-Disable-o-glance.patch -Patch0018: 0018-RHEL-Remove-the-in-place-option.patch -Patch0019: 0019-RHEL-9-oo-compressed-Remove-nbdcopy-version-check-an.patch -Patch0020: 0020-RHEL-9-tests-Remove-btrfs-test.patch -Patch0021: 0021-RHEL-9-Remove-block-driver-option.patch +Patch0001: 0001-Update-common-submodule.patch +Patch0002: 0002-convert-windows-Install-blnsvr-from-virtio-win.patch +Patch0003: 0003-docs-Add-VDDK-prereq-that-server-must-not-be-in-main.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-Fixes-for-libguestfs-winsupport.patch +Patch0008: 0008-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch +Patch0009: 0009-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch +Patch0010: 0010-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch +Patch0011: 0011-RHEL-Disable-o-glance.patch +Patch0012: 0012-RHEL-Remove-the-in-place-option.patch +Patch0013: 0013-RHEL-9-oo-compressed-Remove-nbdcopy-version-check-an.patch +Patch0014: 0014-RHEL-9-tests-Remove-btrfs-test.patch +Patch0015: 0015-RHEL-9-Remove-block-driver-option.patch %if !0%{?rhel} # libguestfs hasn't been built on i686 for a while since there is no @@ -348,12 +342,16 @@ make -C tests TESTS=test-v2v-fedora-luks-on-lvm-conversion.sh check %changelog -* Mon Apr 08 2024 Richard W.M. Jones - 1:2.5.2-2 -- Rebase to virt-v2v 2.5.2 +* Thu May 16 2024 Richard W.M. Jones - 1:2.5.4-1 +- Rebase to virt-v2v 2.5.4 - Add missing firmware types and enhance -o kubevirt resolves: RHEL-28197 - Fix RHV JSON transfer bug resolves: RHEL-32105 +- docs: Add VDDK prereq that server must not be in maintenance mode + resolves: RHEL-33699 +- convert: windows: Install blnsvr from virtio-win + resolves: RHEL-36591 * Mon Jan 22 2024 Richard W.M. Jones - 1:2.4.0-2 - Rebase to virt-v2v 2.4.0