Further fixes for QEMU Guest Agent
Place Windows firstboot files under C:\Program Files\Guestfs\Firstboot Improve debugging output resolves: RHEL-49761
This commit is contained in:
parent
300e8d4355
commit
98d79352dc
28
0001-docs-Note-that-mac-len-field-is-now-optional.patch
Normal file
28
0001-docs-Note-that-mac-len-field-is-now-optional.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
From 7800049c5612e6ffb30be7f8862d147d82976ae8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Wed, 31 Jul 2024 10:09:50 +0100
|
||||||
|
Subject: [PATCH] docs: Note that --mac len field is now optional
|
||||||
|
|
||||||
|
Reported-by: Ming Xie
|
||||||
|
Updates: commit 159fda411d2f75b087106e7293d273ae142c9fbe
|
||||||
|
---
|
||||||
|
docs/virt-v2v.pod | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
||||||
|
index b53face6..dfe92d77 100644
|
||||||
|
--- a/docs/virt-v2v.pod
|
||||||
|
+++ b/docs/virt-v2v.pod
|
||||||
|
@@ -394,9 +394,9 @@ Force a particular interface (controlled by its MAC address) to have a
|
||||||
|
static IP address after boot.
|
||||||
|
|
||||||
|
The fields in the parameter are: C<ipaddr> is the IP address. C<gw>
|
||||||
|
-is the optional gateway IP address. C<len> is the subnet mask length
|
||||||
|
-(an integer). The final parameters are zero or more nameserver IP
|
||||||
|
-addresses.
|
||||||
|
+is the optional gateway IP address. C<len> is the optional subnet
|
||||||
|
+mask length (an integer). The final parameters are zero or more
|
||||||
|
+nameserver IP addresses.
|
||||||
|
|
||||||
|
This option can be supplied zero or more times.
|
||||||
|
|
207
0002-convert-More-robust-qemu-ga-installation-change-path.patch
Normal file
207
0002-convert-More-robust-qemu-ga-installation-change-path.patch
Normal file
@ -0,0 +1,207 @@
|
|||||||
|
From c57ec4fd5d4942d2320aec4a6b01977dabb87f83 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Thu, 1 Aug 2024 09:01:47 +0100
|
||||||
|
Subject: [PATCH] convert: More robust qemu-ga installation, change paths
|
||||||
|
|
||||||
|
Add a commit from the common submodule to attempt to make qemu-ga
|
||||||
|
installation more robust on Windows.
|
||||||
|
|
||||||
|
Rename network configuration Powershell script from "v2vnetcf" to
|
||||||
|
"network-configuration". I also dropped the ".ps1" extension as the
|
||||||
|
modified Firstboot.add_firstboot_powershell function now adds this.
|
||||||
|
|
||||||
|
Update the common submodule to get these changes:
|
||||||
|
|
||||||
|
Richard W.M. Jones (3):
|
||||||
|
mlcustomize: Use Start-Process -Wait to run qemu-ga installer
|
||||||
|
mlcustomize: Add Firstboot.firstboot_dir function
|
||||||
|
mlcustomize: Place powershell scripts into <firstboot_dir>\Temp
|
||||||
|
---
|
||||||
|
common | 2 +-
|
||||||
|
convert/convert_windows.ml | 4 ++--
|
||||||
|
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
Submodule common ae639ba3..d489469f:
|
||||||
|
diff --git a/common/mlcustomize/firstboot.ml b/common/mlcustomize/firstboot.ml
|
||||||
|
index 4b9b910b..3bbba714 100644
|
||||||
|
--- a/common/mlcustomize/firstboot.ml
|
||||||
|
+++ b/common/mlcustomize/firstboot.ml
|
||||||
|
@@ -239,7 +239,22 @@ WantedBy=%s
|
||||||
|
end
|
||||||
|
|
||||||
|
module Windows = struct
|
||||||
|
- let rec install_service (g : Guestfs.guestfs) root =
|
||||||
|
+ (* Create and return the firstboot directory. *)
|
||||||
|
+ let create_firstboot_dir (g : Guestfs.guestfs) =
|
||||||
|
+ let rec loop firstboot_dir firstboot_dir_win = function
|
||||||
|
+ | [] -> firstboot_dir, firstboot_dir_win
|
||||||
|
+ | dir :: path ->
|
||||||
|
+ let firstboot_dir =
|
||||||
|
+ if firstboot_dir = "" then "/" ^ dir else firstboot_dir // dir in
|
||||||
|
+ let firstboot_dir_win = firstboot_dir_win ^ "\\" ^ dir in
|
||||||
|
+ let firstboot_dir = g#case_sensitive_path firstboot_dir in
|
||||||
|
+ g#mkdir_p firstboot_dir;
|
||||||
|
+ loop firstboot_dir firstboot_dir_win path
|
||||||
|
+ in
|
||||||
|
+ loop "" "C:" ["Program Files"; "Guestfs"; "Firstboot"]
|
||||||
|
+
|
||||||
|
+ let rec install_service (g : Guestfs.guestfs) root
|
||||||
|
+ firstboot_dir firstboot_dir_win =
|
||||||
|
(* Either rhsrvany.exe or pvvxsvc.exe must exist.
|
||||||
|
*
|
||||||
|
* (Check also that it's not a dangling symlink but a real file).
|
||||||
|
@@ -254,20 +269,7 @@ module Windows = struct
|
||||||
|
error (f_"One of rhsrvany.exe or pvvxsvc.exe is missing in %s. One of them is required in order to install Windows firstboot scripts. You can get one by building rhsrvany (https://github.com/rwmjones/rhsrvany)")
|
||||||
|
(virt_tools_data_dir ()) in
|
||||||
|
|
||||||
|
- (* Create a directory for firstboot files in the guest. *)
|
||||||
|
- let firstboot_dir, firstboot_dir_win =
|
||||||
|
- let rec loop firstboot_dir firstboot_dir_win = function
|
||||||
|
- | [] -> firstboot_dir, firstboot_dir_win
|
||||||
|
- | dir :: path ->
|
||||||
|
- let firstboot_dir =
|
||||||
|
- if firstboot_dir = "" then "/" ^ dir else firstboot_dir // dir in
|
||||||
|
- let firstboot_dir_win = firstboot_dir_win ^ "\\" ^ dir in
|
||||||
|
- let firstboot_dir = g#case_sensitive_path firstboot_dir in
|
||||||
|
- g#mkdir_p firstboot_dir;
|
||||||
|
- loop firstboot_dir firstboot_dir_win path
|
||||||
|
- in
|
||||||
|
- loop "" "C:" ["Program Files"; "Guestfs"; "Firstboot"] in
|
||||||
|
-
|
||||||
|
+ (* Create a directory for firstboot scripts in the guest. *)
|
||||||
|
g#mkdir_p (firstboot_dir // "scripts");
|
||||||
|
|
||||||
|
(* Copy pvvxsvc or rhsrvany to the guest. *)
|
||||||
|
@@ -339,11 +341,25 @@ echo uninstalling firstboot service
|
||||||
|
"PWD", REG_SZ firstboot_dir_win ];
|
||||||
|
] in
|
||||||
|
reg_import reg regedits
|
||||||
|
- );
|
||||||
|
-
|
||||||
|
- firstboot_dir
|
||||||
|
+ )
|
||||||
|
end
|
||||||
|
|
||||||
|
+let firstboot_dir (g : Guestfs.guestfs) root =
|
||||||
|
+ let typ = g#inspect_get_type root in
|
||||||
|
+
|
||||||
|
+ match typ with
|
||||||
|
+ | "linux" ->
|
||||||
|
+ let dir = Linux.firstboot_dir in
|
||||||
|
+ g#mkdir_p dir;
|
||||||
|
+ dir, None
|
||||||
|
+
|
||||||
|
+ | "windows" ->
|
||||||
|
+ let dir, dir_win = Windows.create_firstboot_dir g in
|
||||||
|
+ dir, Some dir_win
|
||||||
|
+
|
||||||
|
+ | _ ->
|
||||||
|
+ error (f_"guest type %s is not supported") typ
|
||||||
|
+
|
||||||
|
let script_count = ref 0
|
||||||
|
|
||||||
|
let add_firstboot_script (g : Guestfs.guestfs) root ?(prio = 5000) name
|
||||||
|
@@ -363,7 +379,8 @@ let add_firstboot_script (g : Guestfs.guestfs) root ?(prio = 5000) name
|
||||||
|
g#chmod 0o755 filename
|
||||||
|
|
||||||
|
| "windows", _ ->
|
||||||
|
- let firstboot_dir = Windows.install_service g root in
|
||||||
|
+ let firstboot_dir, firstboot_dir_win = Windows.create_firstboot_dir g in
|
||||||
|
+ Windows.install_service g root firstboot_dir firstboot_dir_win;
|
||||||
|
let filename = firstboot_dir // "scripts" // filename ^ ".bat" in
|
||||||
|
g#write filename (String.unix2dos content)
|
||||||
|
|
||||||
|
@@ -382,15 +399,18 @@ let add_firstboot_powershell g root ?prio name code =
|
||||||
|
*)
|
||||||
|
assert (g#inspect_get_type root = "windows");
|
||||||
|
|
||||||
|
- let windows_systemroot = g#inspect_get_windows_systemroot root in
|
||||||
|
-
|
||||||
|
- (* Create the temporary directory to put the Powershell file. *)
|
||||||
|
- let tempdir = sprintf "%s/Temp" windows_systemroot in
|
||||||
|
+ (* Place the Powershell script into firstboot_dir/Temp *)
|
||||||
|
+ let firstboot_dir, firstboot_dir_win = Windows.create_firstboot_dir g in
|
||||||
|
+ let tempdir = sprintf "%s/Temp" firstboot_dir in
|
||||||
|
g#mkdir_p tempdir;
|
||||||
|
- let ps_path = sprintf "%s/%s" tempdir name in
|
||||||
|
+
|
||||||
|
+ let ps_path = sprintf "%s/%s.ps1" tempdir name in
|
||||||
|
+ let ps_path_win = sprintf "%s\\Temp\\%s.ps1" firstboot_dir_win name in
|
||||||
|
let code = String.concat "\r\n" code ^ "\r\n" in
|
||||||
|
g#write ps_path code;
|
||||||
|
|
||||||
|
- let fb = sprintf "powershell.exe -ExecutionPolicy ByPass -NoProfile -file %s"
|
||||||
|
- ps_path in
|
||||||
|
+ (* Create a regular firstboot bat that just invokes powershell *)
|
||||||
|
+ let fb =
|
||||||
|
+ sprintf "powershell.exe -ExecutionPolicy ByPass -NoProfile -file \"%s\""
|
||||||
|
+ ps_path_win in
|
||||||
|
add_firstboot_script g root ?prio name fb
|
||||||
|
diff --git a/common/mlcustomize/firstboot.mli b/common/mlcustomize/firstboot.mli
|
||||||
|
index 8231af65..34ff0690 100644
|
||||||
|
--- a/common/mlcustomize/firstboot.mli
|
||||||
|
+++ b/common/mlcustomize/firstboot.mli
|
||||||
|
@@ -16,6 +16,23 @@
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*)
|
||||||
|
|
||||||
|
+val firstboot_dir : Guestfs.guestfs -> string -> string * string option
|
||||||
|
+(** [firstboot_dir g root]
|
||||||
|
+ returns the path of the firstboot directory, creating it in
|
||||||
|
+ the guest if necessary.
|
||||||
|
+
|
||||||
|
+ This returns the name of the directory as a guestfs path, and
|
||||||
|
+ optionally the name as a Windows path (only for Windows guests).
|
||||||
|
+
|
||||||
|
+ For Linux this could be [/usr/lib/virt-sysprep, None]
|
||||||
|
+
|
||||||
|
+ For Windows this could be ["/Program Files/Guestfs/Firstboot",
|
||||||
|
+ Some "C:\Program Files\Guestfs\Firstboot"]
|
||||||
|
+
|
||||||
|
+ Additional files that are used during firstboot can be placed
|
||||||
|
+ in this directory, but be careful not to conflict with files
|
||||||
|
+ and scripts added by the firstboot process itself. *)
|
||||||
|
+
|
||||||
|
val add_firstboot_script : Guestfs.guestfs -> string -> ?prio:int -> string ->
|
||||||
|
string -> unit
|
||||||
|
(** [add_firstboot_script g root prio name content] adds a firstboot
|
||||||
|
diff --git a/common/mlcustomize/inject_virtio_win.ml b/common/mlcustomize/inject_virtio_win.ml
|
||||||
|
index eee93669..b04a3b38 100644
|
||||||
|
--- a/common/mlcustomize/inject_virtio_win.ml
|
||||||
|
+++ b/common/mlcustomize/inject_virtio_win.ml
|
||||||
|
@@ -592,11 +592,11 @@ and configure_qemu_ga t files =
|
||||||
|
add "# Run qemu-ga installers";
|
||||||
|
List.iter (
|
||||||
|
fun msi_path ->
|
||||||
|
- add (sprintf "C:\\%s /norestart /qn /l+*vx C:\\%s.log"
|
||||||
|
+ add (sprintf "Start-Process -Wait -FilePath \"C:\\%s\" -ArgumentList \"/norestart\",\"/qn\",\"/l+*vx\",\"C:\\%s.log\""
|
||||||
|
msi_path msi_path)
|
||||||
|
) files;
|
||||||
|
|
||||||
|
- Firstboot.add_firstboot_powershell t.g t.root "install-qemu-ga.ps1" !script
|
||||||
|
+ Firstboot.add_firstboot_powershell t.g t.root "install-qemu-ga" !script
|
||||||
|
|
||||||
|
and configure_blnsvr t blnsvr =
|
||||||
|
let cmd = sprintf "\
|
||||||
|
diff --git a/convert/convert_windows.ml b/convert/convert_windows.ml
|
||||||
|
index 2d6e2059..52ca5bbe 100644
|
||||||
|
--- a/convert/convert_windows.ml
|
||||||
|
+++ b/convert/convert_windows.ml
|
||||||
|
@@ -397,7 +397,7 @@ let convert (g : G.guestfs) _ inspect i_firmware block_driver _ static_ips =
|
||||||
|
%systemroot%\\Sysnative\\PnPutil -i -a \
|
||||||
|
%systemroot%\\Drivers\\Virtio\\*.inf" in
|
||||||
|
|
||||||
|
- (* Set priority higher than that of "v2vnetcf.ps1" firstboot script. *)
|
||||||
|
+ (* Set priority higher than that of "network-configure" firstboot script. *)
|
||||||
|
Firstboot.add_firstboot_script g inspect.i_root ~prio:2000
|
||||||
|
"pnputil install drivers" fb_script;
|
||||||
|
|
||||||
|
@@ -674,7 +674,7 @@ let convert (g : G.guestfs) _ inspect i_firmware block_driver _ static_ips =
|
||||||
|
* Powershell script which runs at boot.
|
||||||
|
*)
|
||||||
|
if static_ips <> [] then (
|
||||||
|
- let psh_filename = "v2vnetcf.ps1" in
|
||||||
|
+ let psh_filename = "network-configure" in
|
||||||
|
let psh = ref [] in
|
||||||
|
let add = List.push_back psh in
|
||||||
|
|
116
0003-common-mlcustomize-Inject-qemu-ga-blnsvr-into-firstb.patch
Normal file
116
0003-common-mlcustomize-Inject-qemu-ga-blnsvr-into-firstb.patch
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
From 168eacf977ca49e96bc63ddc4109c27515ac0277 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Thu, 1 Aug 2024 10:36:52 +0100
|
||||||
|
Subject: [PATCH] common: mlcustomize: Inject qemu-ga & blnsvr into
|
||||||
|
<firstboot_dir>/Temp
|
||||||
|
|
||||||
|
Update common submodule to pick up this further change which should
|
||||||
|
mean that for all Windows conversions, everything is confined to
|
||||||
|
C:\Program Files\Guestfs\Firstboot (except the virtio drivers
|
||||||
|
themselves).
|
||||||
|
|
||||||
|
Richard W.M. Jones (1):
|
||||||
|
mlcustomize: Inject qemu-ga & blnsvr into <firstboot_dir>/Temp
|
||||||
|
---
|
||||||
|
common | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
Submodule common d489469f..04116678:
|
||||||
|
diff --git a/common/mlcustomize/inject_virtio_win.ml b/common/mlcustomize/inject_virtio_win.ml
|
||||||
|
index b04a3b38..2981bff5 100644
|
||||||
|
--- a/common/mlcustomize/inject_virtio_win.ml
|
||||||
|
+++ b/common/mlcustomize/inject_virtio_win.ml
|
||||||
|
@@ -263,14 +263,28 @@ let rec inject_virtio_win_drivers ({ g } as t) reg =
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
-and inject_qemu_ga t =
|
||||||
|
- let msi_files = copy_qemu_ga t in
|
||||||
|
+and inject_qemu_ga ({ g; root } as t) =
|
||||||
|
+ (* Copy the qemu-ga MSI(s) to the guest. *)
|
||||||
|
+ let dir, dir_win = Firstboot.firstboot_dir g root in
|
||||||
|
+ let dir_win = Option.value dir_win ~default:dir in
|
||||||
|
+ let tempdir = sprintf "%s/Temp" dir in
|
||||||
|
+ let tempdir_win = sprintf "%s\\Temp" dir_win in
|
||||||
|
+ g#mkdir_p tempdir;
|
||||||
|
+
|
||||||
|
+ let msi_files = copy_qemu_ga t tempdir in
|
||||||
|
if msi_files <> [] then
|
||||||
|
- configure_qemu_ga t msi_files;
|
||||||
|
+ configure_qemu_ga t tempdir_win msi_files;
|
||||||
|
msi_files <> [] (* return true if we found some qemu-ga MSI files *)
|
||||||
|
|
||||||
|
-and inject_blnsvr t =
|
||||||
|
- let files = copy_blnsvr t in
|
||||||
|
+and inject_blnsvr ({ g; root } as t) =
|
||||||
|
+ (* Copy the files to the guest. *)
|
||||||
|
+ let dir, dir_win = Firstboot.firstboot_dir g root in
|
||||||
|
+ let dir_win = Option.value dir_win ~default:dir in
|
||||||
|
+ let tempdir = sprintf "%s/Temp" dir in
|
||||||
|
+ let tempdir_win = sprintf "%s\\Temp" dir_win in
|
||||||
|
+ g#mkdir_p tempdir;
|
||||||
|
+
|
||||||
|
+ let files = copy_blnsvr t tempdir in
|
||||||
|
match files with
|
||||||
|
| [] -> false (* Didn't find or install anything. *)
|
||||||
|
|
||||||
|
@@ -278,7 +292,7 @@ and inject_blnsvr t =
|
||||||
|
* drivers/by-driver). Pick the first.
|
||||||
|
*)
|
||||||
|
| blnsvr :: _ ->
|
||||||
|
- configure_blnsvr t blnsvr;
|
||||||
|
+ configure_blnsvr t tempdir_win blnsvr;
|
||||||
|
true
|
||||||
|
|
||||||
|
and add_guestor_to_registry t ((g, root) as reg) drv_name drv_pciid =
|
||||||
|
@@ -360,13 +374,13 @@ and copy_drivers t driverdir =
|
||||||
|
(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_qemu_ga t =
|
||||||
|
- copy_from_virtio_win t "/" "/" (virtio_iso_path_matches_qemu_ga t)
|
||||||
|
+and copy_qemu_ga t tempdir =
|
||||||
|
+ copy_from_virtio_win t "/" tempdir (virtio_iso_path_matches_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)
|
||||||
|
+and copy_blnsvr t tempdir =
|
||||||
|
+ copy_from_virtio_win t "/" tempdir (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."))
|
||||||
|
|
||||||
|
@@ -578,7 +592,7 @@ and copy_from_libosinfo { g; i_osinfo; i_arch } destdir =
|
||||||
|
(* Install qemu-ga. [files] is the non-empty list of possible qemu-ga
|
||||||
|
* installers we detected.
|
||||||
|
*)
|
||||||
|
-and configure_qemu_ga t files =
|
||||||
|
+and configure_qemu_ga t tempdir_win files =
|
||||||
|
let script = ref [] in
|
||||||
|
let add = List.push_back script in
|
||||||
|
|
||||||
|
@@ -591,16 +605,17 @@ and configure_qemu_ga t files =
|
||||||
|
add "";
|
||||||
|
add "# Run qemu-ga installers";
|
||||||
|
List.iter (
|
||||||
|
- fun msi_path ->
|
||||||
|
- add (sprintf "Start-Process -Wait -FilePath \"C:\\%s\" -ArgumentList \"/norestart\",\"/qn\",\"/l+*vx\",\"C:\\%s.log\""
|
||||||
|
- msi_path msi_path)
|
||||||
|
+ fun msi ->
|
||||||
|
+ (* [`] is an escape char for quotes *)
|
||||||
|
+ add (sprintf "Start-Process -Wait -FilePath \"%s\\%s\" -ArgumentList \"/norestart\",\"/qn\",\"/l+*vx\",\"`\"%s\\%s.log`\"\""
|
||||||
|
+ tempdir_win msi tempdir_win msi)
|
||||||
|
) files;
|
||||||
|
|
||||||
|
Firstboot.add_firstboot_powershell t.g t.root "install-qemu-ga" !script
|
||||||
|
|
||||||
|
-and configure_blnsvr t blnsvr =
|
||||||
|
+and configure_blnsvr t tempdir_win 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
|
||||||
|
+ \"%s\\%s\" -i\n" blnsvr tempdir_win blnsvr in
|
||||||
|
+ Firstboot.add_firstboot_script t.g t.root "install-blnsvr" cmd
|
@ -1,4 +1,4 @@
|
|||||||
From aa67c07182107bb8cd89a6397a506e6ce7a97ccb Mon Sep 17 00:00:00 2001
|
From a568f61299465179ff13b99e5710756f659d1dca Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Sun, 28 Sep 2014 19:14:43 +0100
|
Date: Sun, 28 Sep 2014 19:14:43 +0100
|
||||||
Subject: [PATCH] RHEL: v2v: Select correct qemu binary for -o qemu mode
|
Subject: [PATCH] RHEL: v2v: Select correct qemu binary for -o qemu mode
|
@ -1,4 +1,4 @@
|
|||||||
From ec237d33705cdd6b2e34fa4c5ca1ff7542ec6474 Mon Sep 17 00:00:00 2001
|
From e587c788aacc67b83931fc2fb4fddf402dd7f065 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 30 Sep 2014 10:50:27 +0100
|
Date: Tue, 30 Sep 2014 10:50:27 +0100
|
||||||
Subject: [PATCH] RHEL: v2v: Disable the --qemu-boot / -oo qemu-boot option
|
Subject: [PATCH] RHEL: v2v: Disable the --qemu-boot / -oo qemu-boot option
|
||||||
@ -44,7 +44,7 @@ index d2a1c270..0be37f5e 100644
|
|||||||
=item B<-o null>
|
=item B<-o null>
|
||||||
|
|
||||||
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
||||||
index b53face6..725d6436 100644
|
index dfe92d77..0729571f 100644
|
||||||
--- a/docs/virt-v2v.pod
|
--- a/docs/virt-v2v.pod
|
||||||
+++ b/docs/virt-v2v.pod
|
+++ b/docs/virt-v2v.pod
|
||||||
@@ -146,11 +146,6 @@ Since F<guest-domain.xml> contains the path(s) to the guest disk
|
@@ -146,11 +146,6 @@ Since F<guest-domain.xml> contains the path(s) to the guest disk
|
||||||
@ -107,10 +107,10 @@ index 07dae8c2..b6f24565 100644
|
|||||||
let output_storage =
|
let output_storage =
|
||||||
match options.output_storage with
|
match options.output_storage with
|
||||||
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
|
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
|
||||||
index 3b2eafbd..696ef75e 100644
|
index 48c8cfba..fca5f6e9 100644
|
||||||
--- a/v2v/v2v.ml
|
--- a/v2v/v2v.ml
|
||||||
+++ b/v2v/v2v.ml
|
+++ b/v2v/v2v.ml
|
||||||
@@ -275,8 +275,6 @@ let rec main () =
|
@@ -277,8 +277,6 @@ let rec main () =
|
||||||
s_"Same as ‘-ip filename’";
|
s_"Same as ‘-ip filename’";
|
||||||
[ L"print-source" ], Getopt.Set print_source,
|
[ L"print-source" ], Getopt.Set print_source,
|
||||||
s_"Print source and stop";
|
s_"Print source and stop";
|
@ -1,4 +1,4 @@
|
|||||||
From 1594393855b0512af9a99da98fb2bfeee11037e8 Mon Sep 17 00:00:00 2001
|
From 87fd400284565dfea49da03b158ced8efa1a4517 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Fri, 24 Apr 2015 09:45:41 -0400
|
Date: Fri, 24 Apr 2015 09:45:41 -0400
|
||||||
Subject: [PATCH] RHEL: Fix list of supported sound cards to match RHEL qemu
|
Subject: [PATCH] RHEL: Fix list of supported sound cards to match RHEL qemu
|
@ -1,4 +1,4 @@
|
|||||||
From ccd0cef31a8ff164354843652d1392803efa730e Mon Sep 17 00:00:00 2001
|
From 54b614122415c9d52bf872f66561b74cd5139b42 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Sun, 30 Aug 2015 03:21:57 -0400
|
Date: Sun, 30 Aug 2015 03:21:57 -0400
|
||||||
Subject: [PATCH] RHEL: Fixes for libguestfs-winsupport.
|
Subject: [PATCH] RHEL: Fixes for libguestfs-winsupport.
|
||||||
@ -18,7 +18,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=2187961#c1
|
|||||||
6 files changed, 28 insertions(+), 4 deletions(-)
|
6 files changed, 28 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/convert/convert.ml b/convert/convert.ml
|
diff --git a/convert/convert.ml b/convert/convert.ml
|
||||||
index d1dfcae8..e424930c 100644
|
index 344c5858..ecc48ad4 100644
|
||||||
--- a/convert/convert.ml
|
--- a/convert/convert.ml
|
||||||
+++ b/convert/convert.ml
|
+++ b/convert/convert.ml
|
||||||
@@ -52,6 +52,7 @@ let rec convert dir options source =
|
@@ -52,6 +52,7 @@ let rec convert dir options source =
|
@ -1,4 +1,4 @@
|
|||||||
From 7f4537e4cfd20d4f05ab10c963fc57ef52434cca Mon Sep 17 00:00:00 2001
|
From d7ff9e90054d4d19519d40c36415224918a91216 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Thu, 2 Mar 2017 14:21:37 +0100
|
Date: Thu, 2 Mar 2017 14:21:37 +0100
|
||||||
Subject: [PATCH] RHEL: v2v: -i disk: force VNC as display (RHBZ#1372671)
|
Subject: [PATCH] RHEL: v2v: -i disk: force VNC as display (RHBZ#1372671)
|
||||||
@ -9,7 +9,7 @@ The SDL output mode is not supported in RHEL's qemu-kvm.
|
|||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/input/input_disk.ml b/input/input_disk.ml
|
diff --git a/input/input_disk.ml b/input/input_disk.ml
|
||||||
index 279250fe..c6b819c0 100644
|
index cf1f811b..27fc80de 100644
|
||||||
--- a/input/input_disk.ml
|
--- a/input/input_disk.ml
|
||||||
+++ b/input/input_disk.ml
|
+++ b/input/input_disk.ml
|
||||||
@@ -77,7 +77,7 @@ module Disk = struct
|
@@ -77,7 +77,7 @@ module Disk = struct
|
@ -1,4 +1,4 @@
|
|||||||
From 8717c34c79c317586e995a7865e0eec5e1e900bf Mon Sep 17 00:00:00 2001
|
From 0adb9255ebd89e127336e942d088099b25b80005 Mon Sep 17 00:00:00 2001
|
||||||
From: Pino Toscano <ptoscano@redhat.com>
|
From: Pino Toscano <ptoscano@redhat.com>
|
||||||
Date: Wed, 8 Mar 2017 11:03:40 +0100
|
Date: Wed, 8 Mar 2017 11:03:40 +0100
|
||||||
Subject: [PATCH] RHEL: v2v: do not mention SUSE Xen hosts (RHBZ#1430203)
|
Subject: [PATCH] RHEL: v2v: do not mention SUSE Xen hosts (RHBZ#1430203)
|
@ -1,4 +1,4 @@
|
|||||||
From bd843ec5942660f2a436ba0301e8c2908489db33 Mon Sep 17 00:00:00 2001
|
From 397dbf5e9ebc22e31736663fa97b18bd82f283ba Mon Sep 17 00:00:00 2001
|
||||||
From: Pino Toscano <ptoscano@redhat.com>
|
From: Pino Toscano <ptoscano@redhat.com>
|
||||||
Date: Tue, 26 Mar 2019 09:42:25 +0100
|
Date: Tue, 26 Mar 2019 09:42:25 +0100
|
||||||
Subject: [PATCH] RHEL: point to KB for supported v2v hypervisors/guests
|
Subject: [PATCH] RHEL: point to KB for supported v2v hypervisors/guests
|
@ -1,4 +1,4 @@
|
|||||||
From b4718d6e970f1efc8cc7e3ee0b679a4f52956017 Mon Sep 17 00:00:00 2001
|
From d9386ae9de3ab7f66d61958cdf8f5f29ad801a91 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Wed, 30 Jun 2021 11:15:52 +0100
|
Date: Wed, 30 Jun 2021 11:15:52 +0100
|
||||||
Subject: [PATCH] RHEL: Disable -o glance
|
Subject: [PATCH] RHEL: Disable -o glance
|
||||||
@ -98,7 +98,7 @@ index cd4862b1..54cd276e 100644
|
|||||||
=head1 AUTHOR
|
=head1 AUTHOR
|
||||||
|
|
||||||
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
||||||
index 725d6436..4f0693e2 100644
|
index 0729571f..d428a326 100644
|
||||||
--- a/docs/virt-v2v.pod
|
--- a/docs/virt-v2v.pod
|
||||||
+++ b/docs/virt-v2v.pod
|
+++ b/docs/virt-v2v.pod
|
||||||
@@ -435,14 +435,6 @@ See L</Networks and bridges> below.
|
@@ -435,14 +435,6 @@ See L</Networks and bridges> below.
|
||||||
@ -167,10 +167,10 @@ index c0db9115..074b5e16 100755
|
|||||||
set -e
|
set -e
|
||||||
set -x
|
set -x
|
||||||
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
|
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
|
||||||
index 696ef75e..47d2da79 100644
|
index fca5f6e9..4148fa50 100644
|
||||||
--- a/v2v/v2v.ml
|
--- a/v2v/v2v.ml
|
||||||
+++ b/v2v/v2v.ml
|
+++ b/v2v/v2v.ml
|
||||||
@@ -195,7 +195,6 @@ let rec main () =
|
@@ -197,7 +197,6 @@ let rec main () =
|
||||||
if !output_mode <> `Not_set then
|
if !output_mode <> `Not_set then
|
||||||
error (f_"%s option used more than once on the command line") "-o";
|
error (f_"%s option used more than once on the command line") "-o";
|
||||||
match mode with
|
match mode with
|
||||||
@ -178,7 +178,7 @@ index 696ef75e..47d2da79 100644
|
|||||||
| "kubevirt" -> output_mode := `Kubevirt
|
| "kubevirt" -> output_mode := `Kubevirt
|
||||||
| "libvirt" -> output_mode := `Libvirt
|
| "libvirt" -> output_mode := `Libvirt
|
||||||
| "disk" | "local" -> output_mode := `Disk
|
| "disk" | "local" -> output_mode := `Disk
|
||||||
@@ -255,7 +254,7 @@ let rec main () =
|
@@ -257,7 +256,7 @@ let rec main () =
|
||||||
s_"Map network ‘in’ to ‘out’";
|
s_"Map network ‘in’ to ‘out’";
|
||||||
[ L"no-trim" ], Getopt.String ("-", no_trim_warning),
|
[ L"no-trim" ], Getopt.String ("-", no_trim_warning),
|
||||||
s_"Ignored for backwards compatibility";
|
s_"Ignored for backwards compatibility";
|
||||||
@ -187,7 +187,7 @@ index 696ef75e..47d2da79 100644
|
|||||||
s_"Set output mode (default: libvirt)";
|
s_"Set output mode (default: libvirt)";
|
||||||
[ M"oa" ], Getopt.String ("sparse|preallocated", set_output_alloc),
|
[ M"oa" ], Getopt.String ("sparse|preallocated", set_output_alloc),
|
||||||
s_"Set output allocation mode";
|
s_"Set output allocation mode";
|
||||||
@@ -323,8 +322,6 @@ virt-v2v -i libvirtxml guest-domain.xml -o local -os /var/tmp
|
@@ -325,8 +324,6 @@ virt-v2v -i libvirtxml guest-domain.xml -o local -os /var/tmp
|
||||||
|
|
||||||
virt-v2v -i disk disk.img -o local -os /var/tmp
|
virt-v2v -i disk disk.img -o local -os /var/tmp
|
||||||
|
|
||||||
@ -196,7 +196,7 @@ index 696ef75e..47d2da79 100644
|
|||||||
There is a companion front-end called \"virt-p2v\" which comes as an
|
There is a companion front-end called \"virt-p2v\" which comes as an
|
||||||
ISO or CD image that can be booted on physical machines.
|
ISO or CD image that can be booted on physical machines.
|
||||||
|
|
||||||
@@ -399,7 +396,6 @@ read the man page virt-v2v(1).
|
@@ -401,7 +398,6 @@ read the man page virt-v2v(1).
|
||||||
pr "input:libvirtxml\n";
|
pr "input:libvirtxml\n";
|
||||||
pr "input:ova\n";
|
pr "input:ova\n";
|
||||||
pr "input:vmx\n";
|
pr "input:vmx\n";
|
||||||
@ -204,7 +204,7 @@ index 696ef75e..47d2da79 100644
|
|||||||
pr "output:kubevirt\n";
|
pr "output:kubevirt\n";
|
||||||
pr "output:libvirt\n";
|
pr "output:libvirt\n";
|
||||||
pr "output:local\n";
|
pr "output:local\n";
|
||||||
@@ -496,7 +492,6 @@ read the man page virt-v2v(1).
|
@@ -498,7 +494,6 @@ read the man page virt-v2v(1).
|
||||||
| `Disk -> (module Output_disk.Disk)
|
| `Disk -> (module Output_disk.Disk)
|
||||||
| `Null -> (module Output_null.Null)
|
| `Null -> (module Output_null.Null)
|
||||||
| `QEmu -> (module Output_qemu.QEMU)
|
| `QEmu -> (module Output_qemu.QEMU)
|
@ -1,4 +1,4 @@
|
|||||||
From 97ca8fd46a808f2a225b1664933e688165326d96 Mon Sep 17 00:00:00 2001
|
From 5fc3541d455a6a47643ef028597d21c9cfcf7b62 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Thu, 2 Dec 2021 11:56:05 +0000
|
Date: Thu, 2 Dec 2021 11:56:05 +0000
|
||||||
Subject: [PATCH] RHEL: Remove the --in-place option
|
Subject: [PATCH] RHEL: Remove the --in-place option
|
||||||
@ -12,7 +12,7 @@ wish to support in RHEL.
|
|||||||
3 files changed, 17 deletions(-)
|
3 files changed, 17 deletions(-)
|
||||||
|
|
||||||
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
||||||
index 4f0693e2..c6535d71 100644
|
index d428a326..d206e4fa 100644
|
||||||
--- a/docs/virt-v2v.pod
|
--- a/docs/virt-v2v.pod
|
||||||
+++ b/docs/virt-v2v.pod
|
+++ b/docs/virt-v2v.pod
|
||||||
@@ -24,9 +24,6 @@ virtualize those machines (physical to virtual, or p2v).
|
@@ -24,9 +24,6 @@ virtualize those machines (physical to virtual, or p2v).
|
||||||
@ -57,10 +57,10 @@ index 723a6506..4bfa1c7a 100644
|
|||||||
test-v2v-inspector.sh \
|
test-v2v-inspector.sh \
|
||||||
test-v2v-mac.sh \
|
test-v2v-mac.sh \
|
||||||
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
|
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
|
||||||
index 47d2da79..19f08aae 100644
|
index 4148fa50..834f023d 100644
|
||||||
--- a/v2v/v2v.ml
|
--- a/v2v/v2v.ml
|
||||||
+++ b/v2v/v2v.ml
|
+++ b/v2v/v2v.ml
|
||||||
@@ -217,12 +217,6 @@ let rec main () =
|
@@ -219,12 +219,6 @@ let rec main () =
|
||||||
warning (f_"the --vmtype option has been removed and now does nothing")
|
warning (f_"the --vmtype option has been removed and now does nothing")
|
||||||
in
|
in
|
||||||
|
|
||||||
@ -73,7 +73,7 @@ index 47d2da79..19f08aae 100644
|
|||||||
let argspec = [
|
let argspec = [
|
||||||
[ L"bandwidth" ], Getopt.String ("bps", set_string_option_once "--bandwidth" bandwidth),
|
[ L"bandwidth" ], Getopt.String ("bps", set_string_option_once "--bandwidth" bandwidth),
|
||||||
s_"Set bandwidth to bits per sec";
|
s_"Set bandwidth to bits per sec";
|
||||||
@@ -246,8 +240,6 @@ let rec main () =
|
@@ -248,8 +242,6 @@ let rec main () =
|
||||||
s_"Use password from file to connect to input hypervisor";
|
s_"Use password from file to connect to input hypervisor";
|
||||||
[ M"it" ], Getopt.String ("transport", set_string_option_once "-it" input_transport),
|
[ M"it" ], Getopt.String ("transport", set_string_option_once "-it" input_transport),
|
||||||
s_"Input transport";
|
s_"Input transport";
|
@ -1,4 +1,4 @@
|
|||||||
From 9ebcbf072257f57ce54428eb002ff4f00e43d9cd Mon Sep 17 00:00:00 2001
|
From 3d01b1301476ddb77c7327ee86f2c8054c16226b Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 5 Jul 2022 11:56:54 +0100
|
Date: Tue, 5 Jul 2022 11:56:54 +0100
|
||||||
Subject: [PATCH] RHEL 9: -oo compressed: Remove nbdcopy version check and test
|
Subject: [PATCH] RHEL 9: -oo compressed: Remove nbdcopy version check and test
|
||||||
@ -12,10 +12,10 @@ separately. Thus remove the version check and test.
|
|||||||
2 files changed, 12 deletions(-)
|
2 files changed, 12 deletions(-)
|
||||||
|
|
||||||
diff --git a/output/output.ml b/output/output.ml
|
diff --git a/output/output.ml b/output/output.ml
|
||||||
index e419c13d..c8f743c2 100644
|
index 53d4bb1b..14288bdc 100644
|
||||||
--- a/output/output.ml
|
--- a/output/output.ml
|
||||||
+++ b/output/output.ml
|
+++ b/output/output.ml
|
||||||
@@ -87,17 +87,6 @@ let output_to_local_file ?(changeuid = fun f -> f ()) ?(compressed = false)
|
@@ -86,17 +86,6 @@ let output_to_local_file ?(changeuid = fun f -> f ()) ?(compressed = false)
|
||||||
if output_format <> "qcow2" then
|
if output_format <> "qcow2" then
|
||||||
error (f_"‘-oo compressed’ is only allowed when the output format \
|
error (f_"‘-oo compressed’ is only allowed when the output format \
|
||||||
is a local qcow2-format file, i.e. ‘-of qcow2’");
|
is a local qcow2-format file, i.e. ‘-of qcow2’");
|
@ -1,4 +1,4 @@
|
|||||||
From f8261b357faa7f7c036564c948437866d1febf10 Mon Sep 17 00:00:00 2001
|
From 1b2973841cfad867380f124b22ee00255cf2f94f Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 5 Jul 2022 11:58:09 +0100
|
Date: Tue, 5 Jul 2022 11:58:09 +0100
|
||||||
Subject: [PATCH] RHEL 9: tests: Remove btrfs test
|
Subject: [PATCH] RHEL 9: tests: Remove btrfs test
|
@ -1,43 +0,0 @@
|
|||||||
From af17b542c5b1a427c80f8eed7b6b5b48dc64ed0d Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
|
||||||
Date: Thu, 25 Jul 2024 08:53:46 +0100
|
|
||||||
Subject: [PATCH] -i ova: Ignore dot-underscore-files in OVA files
|
|
||||||
|
|
||||||
I received an OVA created by a mac which contained various files
|
|
||||||
prefixed by "._" that contain some sort of extra information. Ignore
|
|
||||||
those files when decoding OVAs:
|
|
||||||
|
|
||||||
$ tar tvf win22ktest.tar 2>/dev/null
|
|
||||||
drwxr-xr-x markd/staff 0 2024-07-23 18:23 win22test/
|
|
||||||
-rw-r--r-- markd/staff 619 2024-07-23 15:16 win22test/._win22test.mf
|
|
||||||
-rw-r--r-- markd/staff 271 2024-07-23 15:16 win22test/win22test.mf
|
|
||||||
-rw-r--r-- markd/staff 623 2024-07-23 15:16 win22test/._win22test-1.vmdk
|
|
||||||
-rw-r--r-- markd/staff 8348649984 2024-07-23 15:16 win22test/win22test-1.vmdk
|
|
||||||
-rw-r--r-- markd/staff 624 2024-07-23 15:00 win22test/._win22test-2.nvram
|
|
||||||
-rw-r--r-- markd/staff 270840 2024-07-23 15:00 win22test/win22test-2.nvram
|
|
||||||
-rw-r--r-- markd/staff 620 2024-07-23 15:00 win22test/._win22test.ovf
|
|
||||||
-rw-r--r-- markd/staff 12052 2024-07-23 15:00 win22test/win22test.ovf
|
|
||||||
|
|
||||||
(cherry picked from commit 3d26e48af39b26f3c8a368ce320555b995bdf20b)
|
|
||||||
---
|
|
||||||
input/OVA.ml | 5 +++++
|
|
||||||
1 file changed, 5 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/input/OVA.ml b/input/OVA.ml
|
|
||||||
index 8d4606ef..1db337a7 100644
|
|
||||||
--- a/input/OVA.ml
|
|
||||||
+++ b/input/OVA.ml
|
|
||||||
@@ -253,8 +253,13 @@ and find_files dir ext =
|
|
||||||
| [] -> []
|
|
||||||
| dir :: rest ->
|
|
||||||
let files = Array.to_list (Sys.readdir dir) in
|
|
||||||
+ (* Ignore dot-underscore-files, added when using 'tar' on some Macs. *)
|
|
||||||
+ let files =
|
|
||||||
+ List.filter (fun x -> not (String.is_prefix x "._")) files in
|
|
||||||
+ (* Prefix with the directory to form a path. *)
|
|
||||||
let files = List.map (Filename.concat dir) files in
|
|
||||||
let dirs, files = List.partition Sys.is_directory files in
|
|
||||||
+ (* Only files with the given extension. *)
|
|
||||||
let files =
|
|
||||||
List.filter (fun x -> Filename.check_suffix x ext) files in
|
|
||||||
files @ loop (rest @ dirs)
|
|
@ -1,4 +1,4 @@
|
|||||||
From 41142627e326ec03918b7048e3c864e7674f731d Mon Sep 17 00:00:00 2001
|
From d3dfe4d958a5454498ca87ecf98ac42c0533d603 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Fri, 28 Apr 2023 12:28:19 +0100
|
Date: Fri, 28 Apr 2023 12:28:19 +0100
|
||||||
Subject: [PATCH] RHEL 9: Remove --block-driver option
|
Subject: [PATCH] RHEL 9: Remove --block-driver option
|
||||||
@ -37,7 +37,7 @@ index ce57e229..6e1c5363 100644
|
|||||||
|
|
||||||
=item B<--colours>
|
=item B<--colours>
|
||||||
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
||||||
index c6535d71..b7b30899 100644
|
index d206e4fa..39deddc7 100644
|
||||||
--- a/docs/virt-v2v.pod
|
--- a/docs/virt-v2v.pod
|
||||||
+++ b/docs/virt-v2v.pod
|
+++ b/docs/virt-v2v.pod
|
||||||
@@ -197,16 +197,6 @@ The options are silently ignored for other input methods.
|
@@ -197,16 +197,6 @@ The options are silently ignored for other input methods.
|
||||||
@ -58,7 +58,7 @@ index c6535d71..b7b30899 100644
|
|||||||
|
|
||||||
=item B<--colours>
|
=item B<--colours>
|
||||||
diff --git a/in-place/in_place.ml b/in-place/in_place.ml
|
diff --git a/in-place/in_place.ml b/in-place/in_place.ml
|
||||||
index e8c260c2..2049db16 100644
|
index 1fbd29d3..1c690a54 100644
|
||||||
--- a/in-place/in_place.ml
|
--- a/in-place/in_place.ml
|
||||||
+++ b/in-place/in_place.ml
|
+++ b/in-place/in_place.ml
|
||||||
@@ -43,7 +43,6 @@ let rec main () =
|
@@ -43,7 +43,6 @@ let rec main () =
|
||||||
@ -69,7 +69,7 @@ index e8c260c2..2049db16 100644
|
|||||||
let input_conn = ref None in
|
let input_conn = ref None in
|
||||||
let input_format = ref None in
|
let input_format = ref None in
|
||||||
let input_password = ref None in
|
let input_password = ref None in
|
||||||
@@ -157,8 +156,6 @@ let rec main () =
|
@@ -159,8 +158,6 @@ let rec main () =
|
||||||
let argspec = [
|
let argspec = [
|
||||||
[ S 'b'; L"bridge" ], Getopt.String ("in:out", add_bridge),
|
[ S 'b'; L"bridge" ], Getopt.String ("in:out", add_bridge),
|
||||||
s_"Map bridge ‘in’ to ‘out’";
|
s_"Map bridge ‘in’ to ‘out’";
|
||||||
@ -78,7 +78,7 @@ index e8c260c2..2049db16 100644
|
|||||||
[ S 'i' ], Getopt.String ("disk|libvirt|libvirtxml|ova|vmx", set_input_mode),
|
[ S 'i' ], Getopt.String ("disk|libvirt|libvirtxml|ova|vmx", set_input_mode),
|
||||||
s_"Set input mode (default: libvirt)";
|
s_"Set input mode (default: libvirt)";
|
||||||
[ M"ic" ], Getopt.String ("uri", set_string_option_once "-ic" input_conn),
|
[ M"ic" ], Getopt.String ("uri", set_string_option_once "-ic" input_conn),
|
||||||
@@ -214,12 +211,6 @@ read the man page virt-v2v-in-place(1).
|
@@ -216,12 +213,6 @@ read the man page virt-v2v-in-place(1).
|
||||||
|
|
||||||
(* Dereference the arguments. *)
|
(* Dereference the arguments. *)
|
||||||
let args = List.rev !args in
|
let args = List.rev !args in
|
||||||
@ -91,7 +91,7 @@ index e8c260c2..2049db16 100644
|
|||||||
let input_conn = !input_conn in
|
let input_conn = !input_conn in
|
||||||
let input_mode = !input_mode in
|
let input_mode = !input_mode in
|
||||||
let print_source = !print_source in
|
let print_source = !print_source in
|
||||||
@@ -303,7 +294,7 @@ read the man page virt-v2v-in-place(1).
|
@@ -305,7 +296,7 @@ read the man page virt-v2v-in-place(1).
|
||||||
|
|
||||||
(* Get the conversion options. *)
|
(* Get the conversion options. *)
|
||||||
let conv_options = {
|
let conv_options = {
|
||||||
@ -113,7 +113,7 @@ index 810b5b50..03c71882 100644
|
|||||||
test-v2v-mac.sh \
|
test-v2v-mac.sh \
|
||||||
test-v2v-machine-readable.sh \
|
test-v2v-machine-readable.sh \
|
||||||
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
|
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
|
||||||
index 19f08aae..89c08fc5 100644
|
index 834f023d..be5a66e2 100644
|
||||||
--- a/v2v/v2v.ml
|
--- a/v2v/v2v.ml
|
||||||
+++ b/v2v/v2v.ml
|
+++ b/v2v/v2v.ml
|
||||||
@@ -48,7 +48,6 @@ let rec main () =
|
@@ -48,7 +48,6 @@ let rec main () =
|
||||||
@ -124,7 +124,7 @@ index 19f08aae..89c08fc5 100644
|
|||||||
let input_conn = ref None in
|
let input_conn = ref None in
|
||||||
let input_format = ref None in
|
let input_format = ref None in
|
||||||
let input_password = ref None in
|
let input_password = ref None in
|
||||||
@@ -224,8 +223,6 @@ let rec main () =
|
@@ -226,8 +225,6 @@ let rec main () =
|
||||||
s_"Set bandwidth dynamically from file";
|
s_"Set bandwidth dynamically from file";
|
||||||
[ S 'b'; L"bridge" ], Getopt.String ("in:out", add_bridge),
|
[ S 'b'; L"bridge" ], Getopt.String ("in:out", add_bridge),
|
||||||
s_"Map bridge ‘in’ to ‘out’";
|
s_"Map bridge ‘in’ to ‘out’";
|
||||||
@ -133,7 +133,7 @@ index 19f08aae..89c08fc5 100644
|
|||||||
[ L"compressed" ], Getopt.Unit (fun () -> set_output_option_compat "compressed" ""),
|
[ L"compressed" ], Getopt.Unit (fun () -> set_output_option_compat "compressed" ""),
|
||||||
s_"Compress output file (-of qcow2 only)";
|
s_"Compress output file (-of qcow2 only)";
|
||||||
[ S 'i' ], Getopt.String ("disk|libvirt|libvirtxml|ova|vmx", set_input_mode),
|
[ S 'i' ], Getopt.String ("disk|libvirt|libvirtxml|ova|vmx", set_input_mode),
|
||||||
@@ -341,12 +338,6 @@ read the man page virt-v2v(1).
|
@@ -343,12 +340,6 @@ read the man page virt-v2v(1).
|
||||||
|
|
||||||
(* Dereference the arguments. *)
|
(* Dereference the arguments. *)
|
||||||
let args = List.rev !args in
|
let args = List.rev !args in
|
||||||
@ -146,7 +146,7 @@ index 19f08aae..89c08fc5 100644
|
|||||||
let input_conn = !input_conn in
|
let input_conn = !input_conn in
|
||||||
let input_mode = !input_mode in
|
let input_mode = !input_mode in
|
||||||
let input_transport =
|
let input_transport =
|
||||||
@@ -518,7 +509,7 @@ read the man page virt-v2v(1).
|
@@ -520,7 +511,7 @@ read the man page virt-v2v(1).
|
||||||
|
|
||||||
(* Get the conversion options. *)
|
(* Get the conversion options. *)
|
||||||
let conv_options = {
|
let conv_options = {
|
@ -1,109 +0,0 @@
|
|||||||
From 8f8cd939ec7cbddad48cb03e522a21525b2a7706 Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
|
||||||
Date: Thu, 25 Jul 2024 09:08:41 +0100
|
|
||||||
Subject: [PATCH] Update common submodule
|
|
||||||
|
|
||||||
This pulls in the commits below which simplify the installation of
|
|
||||||
Qemu Guest Agent on Windows.
|
|
||||||
|
|
||||||
Richard W.M. Jones (4):
|
|
||||||
mlcustomize: firstboot: Use Linux path for Powershell script path
|
|
||||||
mlcustomize: firstboot: Use powershell.exe instead of path
|
|
||||||
mlcustomize: firstboot: Use Powershell -NoProfile flag
|
|
||||||
mlcustomize: Revert delay installation of qemu-ga MSI
|
|
||||||
|
|
||||||
Fixes: https://issues.redhat.com/browse/RHEL-49761
|
|
||||||
(cherry picked from commit 4ba18d2d6d1155db7cd83641a650477c0a13dbec)
|
|
||||||
---
|
|
||||||
common | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
Submodule common 830cbdcf..5d1f5b84:
|
|
||||||
diff --git a/common/mlcustomize/firstboot.ml b/common/mlcustomize/firstboot.ml
|
|
||||||
index 5dc01234..4b9b910b 100644
|
|
||||||
--- a/common/mlcustomize/firstboot.ml
|
|
||||||
+++ b/common/mlcustomize/firstboot.ml
|
|
||||||
@@ -387,16 +387,10 @@ let add_firstboot_powershell g root ?prio name code =
|
|
||||||
(* Create the temporary directory to put the Powershell file. *)
|
|
||||||
let tempdir = sprintf "%s/Temp" windows_systemroot in
|
|
||||||
g#mkdir_p tempdir;
|
|
||||||
+ let ps_path = sprintf "%s/%s" tempdir name in
|
|
||||||
let code = String.concat "\r\n" code ^ "\r\n" in
|
|
||||||
- g#write (sprintf "%s/%s" tempdir name) code;
|
|
||||||
+ g#write ps_path code;
|
|
||||||
|
|
||||||
- (* Powershell interpreter. Should we check this exists? XXX *)
|
|
||||||
- let ps_exe =
|
|
||||||
- windows_systemroot ^
|
|
||||||
- "\\System32\\WindowsPowerShell\\v1.0\\powershell.exe" in
|
|
||||||
-
|
|
||||||
- (* Windows path to the Powershell script. *)
|
|
||||||
- let ps_path = windows_systemroot ^ "\\Temp\\" ^ name in
|
|
||||||
-
|
|
||||||
- let fb = sprintf "%s -ExecutionPolicy ByPass -file %s" ps_exe ps_path in
|
|
||||||
+ let fb = sprintf "powershell.exe -ExecutionPolicy ByPass -NoProfile -file %s"
|
|
||||||
+ ps_path in
|
|
||||||
add_firstboot_script g root ?prio name fb
|
|
||||||
diff --git a/common/mlcustomize/inject_virtio_win.ml b/common/mlcustomize/inject_virtio_win.ml
|
|
||||||
index 4e0ed0e0..eee93669 100644
|
|
||||||
--- a/common/mlcustomize/inject_virtio_win.ml
|
|
||||||
+++ b/common/mlcustomize/inject_virtio_win.ml
|
|
||||||
@@ -575,40 +575,28 @@ and copy_from_libosinfo { g; i_osinfo; i_arch } destdir =
|
|
||||||
) driver.Libosinfo.files
|
|
||||||
with Not_found -> []
|
|
||||||
|
|
||||||
+(* Install qemu-ga. [files] is the non-empty list of possible qemu-ga
|
|
||||||
+ * installers we detected.
|
|
||||||
+ *)
|
|
||||||
and configure_qemu_ga t files =
|
|
||||||
+ let script = ref [] in
|
|
||||||
+ let add = List.push_back script in
|
|
||||||
+
|
|
||||||
+ add "# Virt-v2v script which installs QEMU Guest Agent";
|
|
||||||
+ add "";
|
|
||||||
+ add "# Uncomment this line for lots of debug output.";
|
|
||||||
+ add "# Set-PSDebug -Trace 2";
|
|
||||||
+ add "";
|
|
||||||
+ add "Write-Host Installing QEMU Guest Agent";
|
|
||||||
+ add "";
|
|
||||||
+ add "# Run qemu-ga installers";
|
|
||||||
List.iter (
|
|
||||||
fun msi_path ->
|
|
||||||
- (* Windows is a trashfire.
|
|
||||||
- * https://stackoverflow.com/a/18730884
|
|
||||||
- * https://bugzilla.redhat.com/show_bug.cgi?id=1895323
|
|
||||||
- *)
|
|
||||||
- let psh_script = ref [] in
|
|
||||||
- let add = List.push_back psh_script in
|
|
||||||
+ add (sprintf "C:\\%s /norestart /qn /l+*vx C:\\%s.log"
|
|
||||||
+ msi_path msi_path)
|
|
||||||
+ ) files;
|
|
||||||
|
|
||||||
- add "# Uncomment this line for lots of debug output.";
|
|
||||||
- add "# Set-PSDebug -Trace 2";
|
|
||||||
- add "";
|
|
||||||
- add "Write-Host Removing any previously scheduled qemu-ga installation";
|
|
||||||
- add "schtasks.exe /Delete /TN Firstboot-qemu-ga /F";
|
|
||||||
- add "";
|
|
||||||
- add (sprintf
|
|
||||||
- "Write-Host Scheduling delayed installation of qemu-ga from %s"
|
|
||||||
- msi_path);
|
|
||||||
- add "$d = (get-date).AddSeconds(120)";
|
|
||||||
- add "$dtfinfo = [System.Globalization.DateTimeFormatInfo]::CurrentInfo";
|
|
||||||
- add "$sdp = $dtfinfo.ShortDatePattern";
|
|
||||||
- add "$sdp = $sdp -replace 'y+', 'yyyy'";
|
|
||||||
- add "$sdp = $sdp -replace 'M+', 'MM'";
|
|
||||||
- add "$sdp = $sdp -replace 'd+', 'dd'";
|
|
||||||
- add "schtasks.exe /Create /SC ONCE `";
|
|
||||||
- add " /ST $d.ToString('HH:mm') /SD $d.ToString($sdp) `";
|
|
||||||
- add " /RU SYSTEM /TN Firstboot-qemu-ga `";
|
|
||||||
- add (sprintf " /TR \"C:\\%s /forcerestart /qn /l+*vx C:\\%s.log\""
|
|
||||||
- msi_path msi_path);
|
|
||||||
-
|
|
||||||
- Firstboot.add_firstboot_powershell t.g t.root
|
|
||||||
- (sprintf "install-%s.ps1" msi_path) !psh_script;
|
|
||||||
- ) files
|
|
||||||
+ Firstboot.add_firstboot_powershell t.g t.root "install-qemu-ga.ps1" !script
|
|
||||||
|
|
||||||
and configure_blnsvr t blnsvr =
|
|
||||||
let cmd = sprintf "\
|
|
@ -1,4 +1,4 @@
|
|||||||
From 3a99ae6c6a6d46b8426d3851a46ac67ec90a125c Mon Sep 17 00:00:00 2001
|
From 5ffec2063cd7075e70400214e6a5b99e6e747b3b Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 9 Jul 2024 11:30:09 +0100
|
Date: Tue, 9 Jul 2024 11:30:09 +0100
|
||||||
Subject: [PATCH] RHEL: Add warning about virt-v2v-in-place not being supported
|
Subject: [PATCH] RHEL: Add warning about virt-v2v-in-place not being supported
|
||||||
@ -9,10 +9,10 @@ Fixes: https://issues.redhat.com/browse/RHEL-40903
|
|||||||
1 file changed, 3 insertions(+)
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
diff --git a/in-place/in_place.ml b/in-place/in_place.ml
|
diff --git a/in-place/in_place.ml b/in-place/in_place.ml
|
||||||
index 2049db16..b74dbc8a 100644
|
index 1c690a54..a70e812b 100644
|
||||||
--- a/in-place/in_place.ml
|
--- a/in-place/in_place.ml
|
||||||
+++ b/in-place/in_place.ml
|
+++ b/in-place/in_place.ml
|
||||||
@@ -195,6 +195,9 @@ read the man page virt-v2v-in-place(1).
|
@@ -197,6 +197,9 @@ read the man page virt-v2v-in-place(1).
|
||||||
let opthandle = create_standard_options argspec ~anon_fun ~key_opts:true ~machine_readable:true usage_msg in
|
let opthandle = create_standard_options argspec ~anon_fun ~key_opts:true ~machine_readable:true usage_msg in
|
||||||
Getopt.parse opthandle.getopt;
|
Getopt.parse opthandle.getopt;
|
||||||
|
|
||||||
@ -20,5 +20,5 @@ index 2049db16..b74dbc8a 100644
|
|||||||
+ It is almost always better to use virt-v2v instead of this tool.";
|
+ It is almost always better to use virt-v2v instead of this tool.";
|
||||||
+
|
+
|
||||||
(* Print the version, easier than asking users to tell us. *)
|
(* Print the version, easier than asking users to tell us. *)
|
||||||
debug "%s: %s %s (%s)"
|
debug "info: %s: %s %s (%s)"
|
||||||
prog Config.package_name Config.package_version_full
|
prog Config.package_name Config.package_version_full
|
@ -1,124 +0,0 @@
|
|||||||
From bc48a548e753d6c9108bdecb9d6a711617521c23 Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
|
||||||
Date: Sun, 28 Jul 2024 14:49:42 +0100
|
|
||||||
Subject: [PATCH] v2v: --mac: Allow gw and len fields to be empty
|
|
||||||
|
|
||||||
Even if these appear in the middle of the list, allow them to be
|
|
||||||
empty. For example this is now permitted whereas previously it was an
|
|
||||||
error:
|
|
||||||
|
|
||||||
virt-v2v --mac <MAC>:ip:<ADDR>,,,nameserver
|
|
||||||
|
|
||||||
Reported-by: Arik Hadas
|
|
||||||
(cherry picked from commit 159fda411d2f75b087106e7293d273ae142c9fbe)
|
|
||||||
---
|
|
||||||
in-place/in_place.ml | 12 +++++++-----
|
|
||||||
inspector/inspector.ml | 12 +++++++-----
|
|
||||||
v2v/v2v.ml | 12 +++++++-----
|
|
||||||
3 files changed, 21 insertions(+), 15 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/in-place/in_place.ml b/in-place/in_place.ml
|
|
||||||
index b74dbc8a..d55f49a0 100644
|
|
||||||
--- a/in-place/in_place.ml
|
|
||||||
+++ b/in-place/in_place.ml
|
|
||||||
@@ -90,10 +90,10 @@ let rec main () =
|
|
||||||
| "ip" ->
|
|
||||||
(match String.nsplit "," out with
|
|
||||||
| [] -> error (f_"invalid --mac ip option")
|
|
||||||
- | [ip] -> add_static_ip mac ip None None []
|
|
||||||
- | [ip; gw] -> add_static_ip mac ip (Some gw) None []
|
|
||||||
+ | [ip] -> add_static_ip mac ip "" "" []
|
|
||||||
+ | [ip; gw] -> add_static_ip mac ip gw "" []
|
|
||||||
| ip :: gw :: len :: nameservers ->
|
|
||||||
- add_static_ip mac ip (Some gw) (Some len) nameservers
|
|
||||||
+ add_static_ip mac ip gw len nameservers
|
|
||||||
)
|
|
||||||
| _ -> assert false
|
|
||||||
and add_static_ip if_mac_addr if_ip_address if_default_gateway
|
|
||||||
@@ -108,12 +108,14 @@ let rec main () =
|
|
||||||
an IP address") what addr
|
|
||||||
in
|
|
||||||
error_unless_ip_addr "ipaddr" if_ip_address;
|
|
||||||
+ let if_default_gateway =
|
|
||||||
+ match if_default_gateway with "" -> None | gw -> Some gw in
|
|
||||||
Option.iter (error_unless_ip_addr "gw") if_default_gateway;
|
|
||||||
List.iter (error_unless_ip_addr "nameserver") if_nameservers;
|
|
||||||
let if_prefix_length =
|
|
||||||
match if_prefix_length_str with
|
|
||||||
- | None -> None
|
|
||||||
- | Some len ->
|
|
||||||
+ | "" -> None
|
|
||||||
+ | len ->
|
|
||||||
let len =
|
|
||||||
try int_of_string len with
|
|
||||||
| Failure _ -> error (f_"cannot parse --mac ip prefix length \
|
|
||||||
diff --git a/inspector/inspector.ml b/inspector/inspector.ml
|
|
||||||
index c79dd687..7c9d2919 100644
|
|
||||||
--- a/inspector/inspector.ml
|
|
||||||
+++ b/inspector/inspector.ml
|
|
||||||
@@ -97,10 +97,10 @@ let rec main () =
|
|
||||||
| "ip" ->
|
|
||||||
(match String.nsplit "," out with
|
|
||||||
| [] -> error (f_"invalid --mac ip option")
|
|
||||||
- | [ip] -> add_static_ip mac ip None None []
|
|
||||||
- | [ip; gw] -> add_static_ip mac ip (Some gw) None []
|
|
||||||
+ | [ip] -> add_static_ip mac ip "" "" []
|
|
||||||
+ | [ip; gw] -> add_static_ip mac ip gw "" []
|
|
||||||
| ip :: gw :: len :: nameservers ->
|
|
||||||
- add_static_ip mac ip (Some gw) (Some len) nameservers
|
|
||||||
+ add_static_ip mac ip gw len nameservers
|
|
||||||
)
|
|
||||||
| _ -> assert false
|
|
||||||
and add_static_ip if_mac_addr if_ip_address if_default_gateway
|
|
||||||
@@ -115,12 +115,14 @@ let rec main () =
|
|
||||||
is an IP address") what addr
|
|
||||||
in
|
|
||||||
error_unless_ip_addr "ipaddr" if_ip_address;
|
|
||||||
+ let if_default_gateway =
|
|
||||||
+ match if_default_gateway with "" -> None | gw -> Some gw in
|
|
||||||
Option.iter (error_unless_ip_addr "gw") if_default_gateway;
|
|
||||||
List.iter (error_unless_ip_addr "nameserver") if_nameservers;
|
|
||||||
let if_prefix_length =
|
|
||||||
match if_prefix_length_str with
|
|
||||||
- | None -> None
|
|
||||||
- | Some len ->
|
|
||||||
+ | "" -> None
|
|
||||||
+ | len ->
|
|
||||||
let len =
|
|
||||||
try int_of_string len with
|
|
||||||
| Failure _ -> error (f_"cannot parse --mac ip prefix \
|
|
||||||
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
|
|
||||||
index 89c08fc5..6d9e3792 100644
|
|
||||||
--- a/v2v/v2v.ml
|
|
||||||
+++ b/v2v/v2v.ml
|
|
||||||
@@ -109,10 +109,10 @@ let rec main () =
|
|
||||||
| "ip" ->
|
|
||||||
(match String.nsplit "," out with
|
|
||||||
| [] -> error (f_"invalid --mac ip option")
|
|
||||||
- | [ip] -> add_static_ip mac ip None None []
|
|
||||||
- | [ip; gw] -> add_static_ip mac ip (Some gw) None []
|
|
||||||
+ | [ip] -> add_static_ip mac ip "" "" []
|
|
||||||
+ | [ip; gw] -> add_static_ip mac ip gw "" []
|
|
||||||
| ip :: gw :: len :: nameservers ->
|
|
||||||
- add_static_ip mac ip (Some gw) (Some len) nameservers
|
|
||||||
+ add_static_ip mac ip gw len nameservers
|
|
||||||
)
|
|
||||||
| _ -> assert false
|
|
||||||
and add_static_ip if_mac_addr if_ip_address if_default_gateway
|
|
||||||
@@ -127,12 +127,14 @@ let rec main () =
|
|
||||||
is an IP address") what addr
|
|
||||||
in
|
|
||||||
error_unless_ip_addr "ipaddr" if_ip_address;
|
|
||||||
+ let if_default_gateway =
|
|
||||||
+ match if_default_gateway with "" -> None | gw -> Some gw in
|
|
||||||
Option.iter (error_unless_ip_addr "gw") if_default_gateway;
|
|
||||||
List.iter (error_unless_ip_addr "nameserver") if_nameservers;
|
|
||||||
let if_prefix_length =
|
|
||||||
match if_prefix_length_str with
|
|
||||||
- | None -> None
|
|
||||||
- | Some len ->
|
|
||||||
+ | "" -> None
|
|
||||||
+ | len ->
|
|
||||||
let len =
|
|
||||||
try int_of_string len with
|
|
||||||
| Failure _ -> error (f_"cannot parse --mac ip prefix length field \
|
|
4
sources
4
sources
@ -1,2 +1,2 @@
|
|||||||
SHA512 (virt-v2v-2.5.5.tar.gz) = 06c8ba67cb604387c5aa371815b0be333378eac2bc3672f6f5c61d6914ed93b49d72355a9e549aca1e3f6d4bf07b357b800aa4e30cd7fe14de05d39f1c4a4007
|
SHA512 (virt-v2v-2.5.6.tar.gz) = 86cc41042518d1ea62627c6fa0605f42dcc397e7ddc3c549bcdc3f54e3703426c14f8b42e102483afb0fad818ff569e1440042c624e9fecf3d04f14233b7a3f5
|
||||||
SHA512 (virt-v2v-2.5.5.tar.gz.sig) = 74397d5d890018ac604d1f563ec2d2298c34dd01b406a90d8e3db52a0f80696938dd7d93a08c93130780a2b6e9f47c74c9eb9be5b7c7c2e0a4fdf72561d40d08
|
SHA512 (virt-v2v-2.5.6.tar.gz.sig) = 39d7fcdb88b1abe325b3f3c2e8bda506fb8ecf41d5adb09e7c6bcd84f881cb73a897c1556735c49e420955ae0cc79614c42930495088d8ae6a3bc0cf39ff93f9
|
||||||
|
@ -7,8 +7,8 @@
|
|||||||
|
|
||||||
Name: virt-v2v
|
Name: virt-v2v
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 2.5.5
|
Version: 2.5.6
|
||||||
Release: 3%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Convert a virtual machine to run on KVM
|
Summary: Convert a virtual machine to run on KVM
|
||||||
|
|
||||||
License: GPL-2.0-or-later AND LGPL-2.0-or-later
|
License: GPL-2.0-or-later AND LGPL-2.0-or-later
|
||||||
@ -28,22 +28,22 @@ Source3: copy-patches.sh
|
|||||||
# https://github.com/libguestfs/virt-v2v/commits/rhel-9.5
|
# https://github.com/libguestfs/virt-v2v/commits/rhel-9.5
|
||||||
|
|
||||||
# Patches.
|
# Patches.
|
||||||
Patch0001: 0001-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch
|
Patch0001: 0001-docs-Note-that-mac-len-field-is-now-optional.patch
|
||||||
Patch0002: 0002-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch
|
Patch0002: 0002-convert-More-robust-qemu-ga-installation-change-path.patch
|
||||||
Patch0003: 0003-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch
|
Patch0003: 0003-common-mlcustomize-Inject-qemu-ga-blnsvr-into-firstb.patch
|
||||||
Patch0004: 0004-RHEL-Fixes-for-libguestfs-winsupport.patch
|
Patch0004: 0004-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch
|
||||||
Patch0005: 0005-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch
|
Patch0005: 0005-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch
|
||||||
Patch0006: 0006-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch
|
Patch0006: 0006-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch
|
||||||
Patch0007: 0007-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch
|
Patch0007: 0007-RHEL-Fixes-for-libguestfs-winsupport.patch
|
||||||
Patch0008: 0008-RHEL-Disable-o-glance.patch
|
Patch0008: 0008-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch
|
||||||
Patch0009: 0009-RHEL-Remove-the-in-place-option.patch
|
Patch0009: 0009-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch
|
||||||
Patch0010: 0010-RHEL-9-oo-compressed-Remove-nbdcopy-version-check-an.patch
|
Patch0010: 0010-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch
|
||||||
Patch0011: 0011-RHEL-9-tests-Remove-btrfs-test.patch
|
Patch0011: 0011-RHEL-Disable-o-glance.patch
|
||||||
Patch0012: 0012-RHEL-9-Remove-block-driver-option.patch
|
Patch0012: 0012-RHEL-Remove-the-in-place-option.patch
|
||||||
Patch0013: 0013-RHEL-Add-warning-about-virt-v2v-in-place-not-being-s.patch
|
Patch0013: 0013-RHEL-9-oo-compressed-Remove-nbdcopy-version-check-an.patch
|
||||||
Patch0014: 0014-i-ova-Ignore-dot-underscore-files-in-OVA-files.patch
|
Patch0014: 0014-RHEL-9-tests-Remove-btrfs-test.patch
|
||||||
Patch0015: 0015-Update-common-submodule.patch
|
Patch0015: 0015-RHEL-9-Remove-block-driver-option.patch
|
||||||
Patch0016: 0016-v2v-mac-Allow-gw-and-len-fields-to-be-empty.patch
|
Patch0016: 0016-RHEL-Add-warning-about-virt-v2v-in-place-not-being-s.patch
|
||||||
|
|
||||||
%if !0%{?rhel}
|
%if !0%{?rhel}
|
||||||
# libguestfs hasn't been built on i686 for a while since there is no
|
# libguestfs hasn't been built on i686 for a while since there is no
|
||||||
@ -347,6 +347,12 @@ make -C tests TESTS=test-v2v-fedora-luks-on-lvm-conversion.sh check
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Aug 01 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.5.6-1
|
||||||
|
- Further fixes for QEMU Guest Agent
|
||||||
|
resolves: RHEL-49761
|
||||||
|
- Place Windows firstboot files under C:\Program Files\Guestfs\Firstboot
|
||||||
|
- Improve debugging output
|
||||||
|
|
||||||
* Sun Jul 28 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.5.5-3
|
* Sun Jul 28 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.5.5-3
|
||||||
- Allow virt-v2v --mac gw and len fields to be optional
|
- Allow virt-v2v --mac gw and len fields to be optional
|
||||||
resolves: RHEL-50731
|
resolves: RHEL-50731
|
||||||
|
Loading…
Reference in New Issue
Block a user