import virt-v2v-2.2.0-5.el9

i9c-beta changed/i9c-beta/virt-v2v-2.2.0-5.el9
MSVSphere Packaging Team 2 years ago
commit 6f24fc061b

2
.gitignore vendored

@ -0,0 +1,2 @@
SOURCES/libguestfs.keyring
SOURCES/virt-v2v-2.2.0.tar.gz

@ -0,0 +1,2 @@
1bbc40f501a7fef9eef2a39b701a71aee2fea7c4 SOURCES/libguestfs.keyring
a7eff6dd19ae599850fe414b5636431d2149e5a5 SOURCES/virt-v2v-2.2.0.tar.gz

@ -0,0 +1,27 @@
From 019809794742e1990af3c14b953f8c307f629b7c Mon Sep 17 00:00:00 2001
From: Laszlo Ersek <lersek@redhat.com>
Date: Thu, 12 Jan 2023 12:27:26 +0100
Subject: [PATCH] test-v2v-fedora-btrfs-conversion: spell out btrfs feature
group dependency
In case the libguestfs appliance lacks the btrfs feature group, we create
a zero-sized phony Fedora/BTRFS image variant, causing this test case to
fail. In that situation, the test should just be skipped.
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Acked-by: Richard W.M. Jones <rjones@redhat.com>
---
tests/test-v2v-fedora-btrfs-conversion.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/test-v2v-fedora-btrfs-conversion.sh b/tests/test-v2v-fedora-btrfs-conversion.sh
index c78f8ae2..14099893 100755
--- a/tests/test-v2v-fedora-btrfs-conversion.sh
+++ b/tests/test-v2v-fedora-btrfs-conversion.sh
@@ -27,5 +27,6 @@ set -x
skip_if_skipped
f=../test-data/phony-guests/fedora-btrfs.img
requires test -f $f
+requires test -s $f
$VG virt-v2v --debug-gc -i disk $f -o null

@ -0,0 +1,78 @@
From 224243b8e26aa299bd99dd24662c4df10a3f612c Mon Sep 17 00:00:00 2001
From: Laszlo Ersek <lersek@redhat.com>
Date: Thu, 12 Jan 2023 12:31:10 +0100
Subject: [PATCH] test-v2v-i-ova: spell out ntfs feature group dependency
"windows.img" is created as an empty phony image if the libguestfs
appliance lacks the ntfs feature group.
"tests/Makefile.am" deals well with this, because for the "central"
"windows.vmdk" target, we restrict the VMDK conversion to a non-empty
"windows.img". Subsequently, dependent test cases check for "windows.vmdk"
specifically, and if that file is missing, the tests are skipped (they
exit with code 77).
"test-v2v-i-ova.sh" and "test-v2v-i-ova-directory.sh" are exceptions
however. They perform the same conversion manually (in their own separate
workspace directories). They assume that, if "windows.img" exists, it can
be converted to VMDK. When the image size is zero, the conversion breaks,
and both test cases fail. Skip both tests if "windows.img" is empty.
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Acked-by: Richard W.M. Jones <rjones@redhat.com>
[lersek@redhat.com: replace further occurrences of windows.img with $f]
---
tests/test-v2v-i-ova-directory.sh | 7 ++++---
tests/test-v2v-i-ova.sh | 7 ++++---
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/tests/test-v2v-i-ova-directory.sh b/tests/test-v2v-i-ova-directory.sh
index fff236f5..ec858464 100755
--- a/tests/test-v2v-i-ova-directory.sh
+++ b/tests/test-v2v-i-ova-directory.sh
@@ -25,7 +25,9 @@ set -e
set -x
skip_if_skipped
-requires test -f ../test-data/phony-guests/windows.img
+f=../test-data/phony-guests/windows.img
+requires test -f $f
+requires test -s $f
export VIRT_TOOLS_DATA_DIR="$srcdir/../test-data/fake-virt-tools"
export VIRTIO_WIN="$srcdir/../test-data/fake-virtio-win"
@@ -39,8 +41,7 @@ vmdk=test-ova.vmdk
ovf=test-v2v-i-ova.ovf
mf=test-ova.mf
-qemu-img convert ../test-data/phony-guests/windows.img \
- -O vmdk $d/$vmdk
+qemu-img convert $f -O vmdk $d/$vmdk
cp "$srcdir/$ovf" $d/$ovf
sha1=`do_sha1 $d/$ovf`
echo "SHA1($ovf)= $sha1" > $d/$mf
diff --git a/tests/test-v2v-i-ova.sh b/tests/test-v2v-i-ova.sh
index a55966a7..7d988330 100755
--- a/tests/test-v2v-i-ova.sh
+++ b/tests/test-v2v-i-ova.sh
@@ -25,7 +25,9 @@ set -e
set -x
skip_if_skipped
-requires test -f ../test-data/phony-guests/windows.img
+f=../test-data/phony-guests/windows.img
+requires test -f $f
+requires test -s $f
export VIRT_TOOLS_DATA_DIR="$srcdir/../test-data/fake-virt-tools"
export VIRTIO_WIN="$srcdir/../test-data/fake-virtio-win"
@@ -41,8 +43,7 @@ mf=test-ova.mf
ova=test-ova.ova
raw=TestOva-sda
-qemu-img convert ../test-data/phony-guests/windows.img \
- -O vmdk $d/$vmdk
+qemu-img convert $f -O vmdk $d/$vmdk
cp "$srcdir/$ovf" $d/$ovf
sha1=`do_sha1 $d/$ovf`
echo "SHA1($ovf)= $sha1" > $d/$mf

@ -0,0 +1,44 @@
From d78c3bdcda04885ee7b826a5ce43d07e778641cd Mon Sep 17 00:00:00 2001
From: Jan Kuparinen <copper_fin@hotmail.com>
Date: Fri, 13 Jan 2023 21:20:28 +0100
Subject: [PATCH] Translated using Weblate (Finnish)
Currently translated at 1.9% (25 of 1305 strings)
Translation: libguestfs/virt-v2v-docs-master
Translate-URL: https://translate.fedoraproject.org/projects/libguestfs/virt-v2v-docs-master/fi/
---
po-docs/fi.po | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/po-docs/fi.po b/po-docs/fi.po
index 29d8ee26..5da30f77 100644
--- a/po-docs/fi.po
+++ b/po-docs/fi.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: virt-v2v 1.43.1\n"
"Report-Msgid-Bugs-To: libguestfs@redhat.com\n"
"POT-Creation-Date: 2020-08-13 13:17+0200\n"
-"PO-Revision-Date: 2022-01-25 17:16+0000\n"
+"PO-Revision-Date: 2023-01-13 20:20+0000\n"
"Last-Translator: Jan Kuparinen <copper_fin@hotmail.com>\n"
"Language-Team: Finnish <https://translate.fedoraproject.org/projects/"
"libguestfs/virt-v2v-docs-master/fi/>\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.10.1\n"
+"X-Generator: Weblate 4.15\n"
#. type: =end
#: common/mlcustomize/customize-options.pod:1
@@ -4694,7 +4694,7 @@ msgstr ""
#. type: =item
#: docs/virt-v2v-support.pod:86
msgid "Oracle Linux"
-msgstr ""
+msgstr "Oracle Linux"
#. type: =item
#: docs/virt-v2v-support.pod:88

@ -0,0 +1,49 @@
From f395335881974767e4dbdbf73c1abf3bed961f5d Mon Sep 17 00:00:00 2001
From: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Date: Fri, 13 Jan 2023 21:20:28 +0100
Subject: [PATCH] Translated using Weblate (Georgian)
Currently translated at 8.6% (38 of 439 strings)
Translation: libguestfs/virt-v2v-master
Translate-URL: https://translate.fedoraproject.org/projects/libguestfs/virt-v2v-master/ka/
---
po/ka.po | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/po/ka.po b/po/ka.po
index 4dc891df..26d41f6b 100644
--- a/po/ka.po
+++ b/po/ka.po
@@ -6,10 +6,10 @@
msgid ""
msgstr ""
"Project-Id-Version: virt-v2v 2.1.1\n"
-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
-"component=libguestfs&product=Virtualization+Tools\n"
+"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug."
+"cgi?component=libguestfs&product=Virtualization+Tools\n"
"POT-Creation-Date: 2022-12-10 12:01+0000\n"
-"PO-Revision-Date: 2022-12-06 18:19+0000\n"
+"PO-Revision-Date: 2023-01-13 20:20+0000\n"
"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
"Language-Team: Georgian <https://translate.fedoraproject.org/projects/"
"libguestfs/virt-v2v-master/ka/>\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.14.2\n"
+"X-Generator: Weblate 4.15\n"
#: input/input_ova.ml:134 common/mltools/tools_utils.ml:235
msgid "%s"
@@ -2062,7 +2062,7 @@ msgstr ""
#: common/mltools/getopt-c.c:198
#, c-format
msgid "%s: %s: integer out of range\n"
-msgstr ""
+msgstr "%s: %s: მთელი მნიშვნელობა დიაპაზონს გარეთაა\n"
#: common/mltools/getopt-c.c:388
#, c-format

File diff suppressed because it is too large Load Diff

@ -0,0 +1,66 @@
From e8c61da73b62b6acf13543e9421db0b0e2a43a1a Mon Sep 17 00:00:00 2001
From: Yuri Chornoivan <yurchor@ukr.net>
Date: Sat, 14 Jan 2023 22:20:05 +0100
Subject: [PATCH] Translated using Weblate (Ukrainian)
Currently translated at 100.0% (441 of 441 strings)
Translation: libguestfs/virt-v2v-master
Translate-URL: https://translate.fedoraproject.org/projects/libguestfs/virt-v2v-master/uk/
---
po/uk.po | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/po/uk.po b/po/uk.po
index bf21a0ed..f524482a 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -12,10 +12,10 @@
msgid ""
msgstr ""
"Project-Id-Version: libguestfs 1.39.12\n"
-"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?"
-"component=libguestfs&product=Virtualization+Tools\n"
+"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug."
+"cgi?component=libguestfs&product=Virtualization+Tools\n"
"POT-Creation-Date: 2023-01-10 14:53+0000\n"
-"PO-Revision-Date: 2022-12-24 19:20+0000\n"
+"PO-Revision-Date: 2023-01-14 21:20+0000\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <https://translate.fedoraproject.org/projects/"
"libguestfs/virt-v2v-master/uk/>\n"
@@ -23,8 +23,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.15\n"
#: input/input_ova.ml:134 common/mltools/tools_utils.ml:235
@@ -316,12 +316,10 @@ msgid "-o disk: unknown output option -oo %s"
msgstr "-o disk: невідомий параметр виведення — «-oo %s»"
#: output/output_kubevirt.ml:56
-#, fuzzy
-#| msgid "-o disk: output directory was not specified, use '-os /dir'"
msgid "-o kubevirt: output directory was not specified, use '-os /dir'"
msgstr ""
-"-o disk: не вказано каталогу для виведення даних, скористайтеся «-os /"
-"каталог»"
+"-o kubevirt: не вказано каталогу для виведення даних, скористайтеся «-os "
+"/каталог»"
#: output/output_libvirt.ml:115
msgid ""
@@ -1204,6 +1202,8 @@ msgid ""
"YAML block contains newline character. This should not happen, please "
"report a bug against virt-v2v."
msgstr ""
+"Блок YAML містить символ розриву рядка. Такого не мало трапитися. Будь "
+"ласка, повідомте про цю ваду у virt-v2v."
#: input/input_vddk.ml:98
msgid ""

@ -0,0 +1,34 @@
From fd9694a3a2ea2911335cd3a85558a92b14d946fc Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 16 Jan 2023 12:19:29 +0000
Subject: [PATCH] convert: windows: Remove extraneous blank lines in source
---
convert/convert_windows.ml | 1 -
convert/windows_virtio.ml | 1 -
2 files changed, 2 deletions(-)
diff --git a/convert/convert_windows.ml b/convert/convert_windows.ml
index 57a7ff03..b0436fe4 100644
--- a/convert/convert_windows.ml
+++ b/convert/convert_windows.ml
@@ -476,7 +476,6 @@ let convert (g : G.guestfs) _ inspect _ static_ips =
(sprintf "install-%s.ps1" msi_path) !psh_script;
) files
-
and unconfigure_xenpv () =
match xenpv_uninst with
| None -> () (* nothing to be uninstalled *)
diff --git a/convert/windows_virtio.ml b/convert/windows_virtio.ml
index d9fda13f..2ce92ece 100644
--- a/convert/windows_virtio.ml
+++ b/convert/windows_virtio.ml
@@ -215,7 +215,6 @@ and copy_qemu_ga g inspect =
(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].

@ -0,0 +1,30 @@
From 9a5c900fdb532d553a78339a6887417dd6de70e5 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 16 Jan 2023 12:22:17 +0000
Subject: [PATCH] convert: windows: Document what copy_qemu_ga function returns
Just updates the comment.
(cherry picked from commit 7499ab10ea387b1dfd6fdd6feb2632b66545a257)
---
convert/windows_virtio.mli | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/convert/windows_virtio.mli b/convert/windows_virtio.mli
index 73ec95c7..82aad69b 100644
--- a/convert/windows_virtio.mli
+++ b/convert/windows_virtio.mli
@@ -39,8 +39,11 @@ val install_drivers
devices if we managed to install those, or legacy devices if we didn't. *)
val copy_qemu_ga : Guestfs.guestfs -> Types.inspect -> string list
-(** copy MSIs (idealy just one) with QEMU Guest Agent to Windows guest. The
- MSIs are not installed by this function. *)
+(** copy MSIs (ideally just one) with QEMU Guest Agent to Windows guest. The
+ MSIs are not installed by this function.
+
+ Returns a list of the copied [*.msi] files (empty list indicates no
+ qemu-ga installer(s) could be located). *)
(**/**)

@ -0,0 +1,25 @@
From 48f15935cff53836eae4c1c9afb0be8ab4f13bea Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 16 Jan 2023 15:12:16 +0000
Subject: [PATCH] convert: windows: Remove unused 'open Utils'
No function from Utils was being used by Windows_virtio, so remove the
unnecessary line.
(cherry picked from commit 26b9cd1f87f06c31cdf3020e003078737a417889)
---
convert/windows_virtio.ml | 1 -
1 file changed, 1 deletion(-)
diff --git a/convert/windows_virtio.ml b/convert/windows_virtio.ml
index 2ce92ece..6b642d21 100644
--- a/convert/windows_virtio.ml
+++ b/convert/windows_virtio.ml
@@ -25,7 +25,6 @@ open Common_gettext.Gettext
open Regedit
open Types
-open Utils
module G = Guestfs

@ -0,0 +1,28 @@
From 4623b2aab891fdbeda0486ad00f1fa2a7f5533fe Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 19 Jan 2023 08:51:30 +0000
Subject: [PATCH] -o kubevirt: Fix mistake in error message
The error message was copied from output_local.ml:
virt-v2v: error: -o local: -op option cannot be used in this output mode
Reported-by: Xiaodai Wang
(cherry picked from commit be322ed49b1131e30a0b70f16d31fd29fca32b81)
---
output/output_kubevirt.ml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/output/output_kubevirt.ml b/output/output_kubevirt.ml
index 63ee8197..0a74dbbe 100644
--- a/output/output_kubevirt.ml
+++ b/output/output_kubevirt.ml
@@ -47,7 +47,7 @@ module Kubevirt = struct
if options.output_options <> [] then
error (f_"no -oo (output options) are allowed here");
if options.output_password <> None then
- error_option_cannot_be_used_in_output_mode "local" "-op";
+ error_option_cannot_be_used_in_output_mode "kubevirt" "-op";
(* -os must be set to a directory. *)
let output_storage =

@ -0,0 +1,46 @@
From 6b7ef3efe748a72edad0faa508e91b340038a586 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Fri, 20 Jan 2023 09:11:52 +0000
Subject: [PATCH] -o kubevirt: Move "cpu" element under "domain"
Apparently this element doesn't go in the obvious place (under
"resources", next to memory), but in a whole new section under "cpu",
which makes no logical sense but here we are. Also verified this
against Kubevirt examples/vm-template-fedora.yaml
Reported-by: Ming Xie
Fixes: commit bfa62b4683d312fc2fa9bb3c08963fc4846831b9
(cherry picked from commit 8db50a85f0363d90918edd1af4fc20ddc245b421)
---
output/create_kubevirt_yaml.ml | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/output/create_kubevirt_yaml.ml b/output/create_kubevirt_yaml.ml
index 205e9be3..689555e4 100644
--- a/output/create_kubevirt_yaml.ml
+++ b/output/create_kubevirt_yaml.ml
@@ -65,13 +65,13 @@ let create_kubevirt_yaml source inspect
let memory_str = sprintf "%LdMi" (source.s_memory /^ 1024_L /^ 1024_L) in
List.push_back resources ("requests", Assoc ["memory", String memory_str]);
- (* # vCPUs. XXX vendor, model, topology *)
- List.push_back resources ("cpu", Assoc ["cores", Int source.s_vcpu]);
-
(* Machine features. *)
let features = List.map (fun name -> name, List []) source.s_features in
List.push_back resources ("features", Assoc features);
+ (* # vCPUs. XXX vendor, model, topology *)
+ let cpu = "cpu", Assoc ["cores", Int source.s_vcpu] in
+
(* XXX firmware, display, sound *)
(* XXX guestcaps: rng, balloon, vsock, virtio 1.0 *)
@@ -109,6 +109,7 @@ let create_kubevirt_yaml source inspect
if !devices <> [] then
List.push_back domain ("devices", Assoc !devices);
List.push_back domain ("resources", Assoc !resources);
+ List.push_back domain cpu;
let spec = ref [] in
List.push_back spec ("domain", Assoc !domain);

@ -0,0 +1,51 @@
From 8009825c396358137576af522acc0b6b20243bac Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Fri, 20 Jan 2023 09:49:04 +0000
Subject: [PATCH] -o kubevirt: Error on invalid output guest names
Kubevirt supports something like RFC 1123 names (without the length
restriction). Helpfully it prints the regexp that it uses the
validate the names, so just use the same regexp.
Note that virt-v2v never renames guests (since that would add
unpredictability for automation). You must use the -on option to
rename the guest if the name is wrong. Hence this is an error, not a
warning or an attempt to rename the guest.
Reported-by: Ming Xie
Fixes: commit bfa62b4683d312fc2fa9bb3c08963fc4846831b9
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2162332
(cherry picked from commit 8a9c914544a49bed13eb5baf42290f835bdee7b5)
---
output/output_kubevirt.ml | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/output/output_kubevirt.ml b/output/output_kubevirt.ml
index 0a74dbbe..00e6a8a5 100644
--- a/output/output_kubevirt.ml
+++ b/output/output_kubevirt.ml
@@ -29,6 +29,11 @@ open Utils
open Output
open Create_kubevirt_yaml
+(* Valid output names for Kubevirt (RHBZ#2162332). *)
+let rfc1123_re =
+ PCRE.compile ~anchored:true
+ "[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
+
module Kubevirt = struct
type poptions = output_allocation * string * string * string
@@ -60,6 +65,12 @@ module Kubevirt = struct
let output_name = Option.default source.s_name options.output_name in
+ if not (PCRE.matches rfc1123_re output_name) then
+ error (f_"-o kubevirt: the guest name must contain only lowercase \
+ alphanumeric characters, '-' or '.', and must start and \
+ end with an alphanumeric character. Rerun virt-v2v with \
+ the '-on name' option to rename it.");
+
options.output_alloc, options.output_format, output_name, output_storage
let setup dir options source =

File diff suppressed because it is too large Load Diff

@ -0,0 +1,83 @@
From 64a86bb9ef0298496a992a3a76d190b3895ffeee Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Fri, 20 Jan 2023 10:35:55 +0000
Subject: [PATCH] -o kubevirt: Implement -oo compressed for qcow2 files
Reported-by: Xiaodai Wang
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2162444
Updates: commit 53690a0c602a4286fdb9408fdf6a01cc352697ec
(cherry picked from commit ada18150543466955ff73a24a9b9a66ddfac270e)
---
output/output_kubevirt.ml | 30 ++++++++++++++++++++++--------
1 file changed, 22 insertions(+), 8 deletions(-)
diff --git a/output/output_kubevirt.ml b/output/output_kubevirt.ml
index d41b5d8e..ee89fdbf 100644
--- a/output/output_kubevirt.ml
+++ b/output/output_kubevirt.ml
@@ -35,7 +35,7 @@ let rfc1123_re =
"[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
module Kubevirt = struct
- type poptions = output_allocation * string * string * string
+ type poptions = bool * output_allocation * string * string * string
type t = unit
@@ -46,11 +46,22 @@ module Kubevirt = struct
| None -> ""
let query_output_options () =
- printf (f_"No output options can be used in this mode.\n")
+ printf (f_"Output options that can be used with -o kubevirt:
+
+ -oo compressed Compress the output file (used only with -of qcow2)
+")
+
let parse_options options source =
- if options.output_options <> [] then
- error (f_"no -oo (output options) are allowed here");
+ let compressed = ref false in
+ List.iter (
+ function
+ | "compressed", "" -> compressed := true
+ | "compressed", v -> compressed := bool_of_string v
+ | k, _ ->
+ error (f_"-o kubevirt: unknown output option -oo %s") k
+ ) options.output_options;
+
if options.output_password <> None then
error_option_cannot_be_used_in_output_mode "kubevirt" "-op";
@@ -73,11 +84,13 @@ module Kubevirt = struct
end with an alphanumeric character. Rerun virt-v2v with \
the '-on name' option to rename it.");
- options.output_alloc, options.output_format, output_name, output_storage
+ !compressed, options.output_alloc, options.output_format,
+ output_name, output_storage
let setup dir options source =
let disks = get_disks dir in
- let output_alloc, output_format, output_name, output_storage = options in
+ let compressed, output_alloc, output_format, output_name, output_storage =
+ options in
List.iter (
fun (i, size) ->
@@ -86,11 +99,12 @@ module Kubevirt = struct
(* Create the actual output disk. *)
let outdisk = disk_path output_storage output_name i in
- output_to_local_file output_alloc output_format outdisk size socket
+ output_to_local_file ~compressed output_alloc output_format
+ outdisk size socket
) disks
let finalize dir options () source inspect target_meta =
- let output_alloc, output_format, output_name, output_storage = options in
+ let _, output_alloc, output_format, output_name, output_storage = options in
let doc = create_kubevirt_yaml source inspect target_meta
(disk_path output_storage output_name)

@ -0,0 +1,62 @@
From 8802e8b4135c913f206508c8f7650a9f99ee6667 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 30 Jan 2023 09:17:33 +0000
Subject: [PATCH] v2v: Remove use of ~anchored
In various places we used PCRE.compile ~anchored:true (PCRE2_ANCHORED)
thinking it means that the regular expression is anchored at both
ends. However this is not what it means (it only anchors the start).
Replace with ^...$
(cherry picked from commit 8c316ed125e26583edc72eb9e953499b0078dcbd)
---
in-place/in_place.ml | 4 ++--
inspector/inspector.ml | 4 ++--
v2v/v2v.ml | 4 ++--
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/in-place/in_place.ml b/in-place/in_place.ml
index 55541814..f76651e6 100644
--- a/in-place/in_place.ml
+++ b/in-place/in_place.ml
@@ -29,8 +29,8 @@ open Types
open Utils
(* Matches --mac command line parameters. *)
-let mac_re = PCRE.compile ~anchored:true "([[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}):(network|bridge|ip):(.*)"
-let mac_ip_re = PCRE.compile ~anchored:true "([[:xdigit:]]|:|\\.)+"
+let mac_re = PCRE.compile "^([[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}):(network|bridge|ip):(.*)$"
+let mac_ip_re = PCRE.compile "^([[:xdigit:]]|:|\\.)+$"
let rec main () =
let set_string_option_once optname optref arg =
diff --git a/inspector/inspector.ml b/inspector/inspector.ml
index 13d58df3..d12d85c2 100644
--- a/inspector/inspector.ml
+++ b/inspector/inspector.ml
@@ -30,8 +30,8 @@ open Utils
open DOM
(* Matches --mac command line parameters. *)
-let mac_re = PCRE.compile ~anchored:true "([[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}):(network|bridge|ip):(.*)"
-let mac_ip_re = PCRE.compile ~anchored:true "([[:xdigit:]]|:|\\.)+"
+let mac_re = PCRE.compile "^([[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}):(network|bridge|ip):(.*)$"
+let mac_ip_re = PCRE.compile "^([[:xdigit:]]|:|\\.)+$"
let rec main () =
let set_string_option_once optname optref arg =
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
index 1e8d03ef..7a01eab5 100644
--- a/v2v/v2v.ml
+++ b/v2v/v2v.ml
@@ -34,8 +34,8 @@ open Types
open Utils
(* Matches --mac command line parameters. *)
-let mac_re = PCRE.compile ~anchored:true "([[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}):(network|bridge|ip):(.*)"
-let mac_ip_re = PCRE.compile ~anchored:true "([[:xdigit:]]|:|\\.)+"
+let mac_re = PCRE.compile "^([[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}:[[:xdigit:]]{2}):(network|bridge|ip):(.*)$"
+let mac_ip_re = PCRE.compile "^([[:xdigit:]]|:|\\.)+$"
let rec main () =
let set_string_option_once optname optref arg =

@ -0,0 +1,34 @@
From 628ee708464ee3d266609167c48e92f883849e4d Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 30 Jan 2023 09:01:38 +0000
Subject: [PATCH] -o kubevirt: Replace PCRE ~anchored with ^...$
Because this regexp was not anchored at both ends it would still
report a match for incorrect names.
Fixes: commit 8a9c914544a49bed13eb5baf42290f835bdee7b5
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2162332
Reported-by: Ming Xie
Cherry picked from commit 050a0ba714ddf2a5d81515c886032016aa75342c.
I did not include the update to the common module since picking that
would pull in the large changes made to the virtio driver code.
---
output/output_kubevirt.ml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/output/output_kubevirt.ml b/output/output_kubevirt.ml
index ee89fdbf..fdf0f279 100644
--- a/output/output_kubevirt.ml
+++ b/output/output_kubevirt.ml
@@ -31,8 +31,8 @@ open Create_kubevirt_yaml
(* Valid output names for Kubevirt (RHBZ#2162332). *)
let rfc1123_re =
- PCRE.compile ~anchored:true
- "[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*"
+ PCRE.compile
+ "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$"
module Kubevirt = struct
type poptions = bool * output_allocation * string * string * string

@ -0,0 +1,48 @@
From a9630d3981cbf7f6083e82f4e22cff981d11a8b3 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 2 Feb 2023 12:29:00 +0000
Subject: [PATCH] -o libvirt: Add correct xmlns:libosinfo for Rocky Linux
Also a small whitespace fix and improve the warning message.
Updates: commit db831c167b7bf757aa79dbe3db5fa8c5fd8cfc99
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2166618
Reported-by: Ming Xie
(cherry picked from commit ebfdca56bca69284f289e3db8a6e6baf6bc617f0)
---
output/create_libvirt_xml.ml | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/output/create_libvirt_xml.ml b/output/create_libvirt_xml.ml
index e1c1f616..388fae5b 100644
--- a/output/create_libvirt_xml.ml
+++ b/output/create_libvirt_xml.ml
@@ -47,6 +47,10 @@ let get_osinfo_id = function
when major >= 8 ->
Some (sprintf "http://centos.org/centos/%d" major)
+ | { i_type = "linux"; i_distro = "rocky";
+ i_major_version = major; i_minor_version = minor } ->
+ Some (sprintf "http://rockylinux.org/rocky/%d.%d" major minor)
+
| { i_type = "linux"; i_distro = "sles";
i_major_version = major; i_minor_version = 0;
i_product_name = product } when String.find product "Desktop" >= 0 ->
@@ -140,7 +144,8 @@ let get_osinfo_id = function
| { i_type = typ; i_distro = distro;
i_major_version = major; i_minor_version = minor; i_arch = arch;
i_product_name = product } ->
- warning (f_"unknown guest operating system: %s %s %d.%d %s (%s)")
+ warning (f_"get_osinfo_id: unknown guest operating system: \
+ %s %s %d.%d %s (%s)")
typ distro major minor arch product;
None
@@ -160,7 +165,6 @@ let create_libvirt_xml ?pool source inspect
| Some genid -> List.push_back body (e "genid" [] [PCData genid])
);
-
(match get_osinfo_id inspect with
| None -> ()
| Some osinfo_id ->

@ -0,0 +1,42 @@
From 227313ca73d24eaaa0b82aca94de2278bca0f95b Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 6 Feb 2023 12:13:25 +0000
Subject: [PATCH] convert: linux: Require host cpu for all RHEL-alike >= 9
RHEL >= 9 and compatible distros like Rocky >= 9 will not boot using
the default qemu CPU. You will see an error at boot:
Fatal glibc error: CPU does not support x86-64-v2
Instead you need to use -cpu host.
In commit f28757c6d1 ("convert_linux: set "gcaps_default_cpu = false"
for x86_64 RHEL-9.0+ guests") we fixed this specifically for RHEL >= 9.
This commit extends the same fix to all RHEL family distros.
Updates: commit f28757c6d100060c65212ea55cfa59d308dcb850
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2166619
Reported-by: Ming Xie
Thanks: Laszlo Ersek
(cherry picked from commit 9f12b95bbe7bc2850ce4ba134c46a3cc5fd1167d)
---
convert/convert_linux.ml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/convert/convert_linux.ml b/convert/convert_linux.ml
index 41767e62..27bc4ae4 100644
--- a/convert/convert_linux.ml
+++ b/convert/convert_linux.ml
@@ -202,9 +202,9 @@ let convert (g : G.guestfs) source inspect keep_serial_console _ =
(* RHEL >= 9.0 on x86_64 requires the processor to support the "x86-64-v2"
* microarchitecture level, which the default QEMU VCPU model does not
- * satisfy. Refer to RHBZ#2076013.
+ * satisfy. Refer to RHBZ#2076013 RHBZ#2166619.
*)
- let default_cpu_suffices = inspect.i_distro <> "rhel" ||
+ let default_cpu_suffices = family <> `RHEL_family ||
inspect.i_arch <> "x86_64" ||
inspect.i_major_version < 9 in

@ -0,0 +1,30 @@
From 6633c5ca0fe4d37ff4b8ffc62902074fa3b060fb Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Sun, 28 Sep 2014 19:14:43 +0100
Subject: [PATCH] RHEL: v2v: Select correct qemu binary for -o qemu mode
(RHBZ#1147313).
RHEL does not have qemu-system-x86_64 (etc), and in addition the
qemu binary is located in /usr/libexec. Encode the path to this
binary directly in the script.
Note that we don't support people running qemu directly like this.
It's just for quick testing of converted VMs, and to help us with
support cases.
---
output/output_qemu.ml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/output/output_qemu.ml b/output/output_qemu.ml
index b667e782..3a57a009 100644
--- a/output/output_qemu.ml
+++ b/output/output_qemu.ml
@@ -142,7 +142,7 @@ module QEMU = struct
* module deals with shell and qemu comma quoting.
*)
let cmd = Qemuopts.create () in
- Qemuopts.set_binary_by_arch cmd (Some guestcaps.gcaps_arch);
+ Qemuopts.set_binary cmd "/usr/libexec/qemu-kvm";
let flag = Qemuopts.flag cmd
and arg = Qemuopts.arg cmd

@ -0,0 +1,121 @@
From cf636bf489fd5a58f451c9da045cbcb856330bd7 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 30 Sep 2014 10:50:27 +0100
Subject: [PATCH] RHEL: v2v: Disable the --qemu-boot / -oo qemu-boot option
(RHBZ#1147313).
This cannot work because there is no Gtk or SDL output mode
in RHEL's qemu-kvm.
In addition you will have to edit the -display option in the
qemu script.
---
docs/virt-v2v-output-local.pod | 6 ++----
docs/virt-v2v.pod | 17 -----------------
output/output_qemu.ml | 3 +++
v2v/v2v.ml | 2 --
4 files changed, 5 insertions(+), 23 deletions(-)
diff --git a/docs/virt-v2v-output-local.pod b/docs/virt-v2v-output-local.pod
index d2a1c270..0be37f5e 100644
--- a/docs/virt-v2v-output-local.pod
+++ b/docs/virt-v2v-output-local.pod
@@ -9,7 +9,7 @@ or libvirt
virt-v2v [-i* options] -o local -os DIRECTORY
- virt-v2v [-i* options] -o qemu -os DIRECTORY [--qemu-boot]
+ virt-v2v [-i* options] -o qemu -os DIRECTORY
virt-v2v [-i* options] -o null
@@ -47,12 +47,10 @@ where C<NAME> is the guest name.
=item B<-o qemu -os> C<DIRECTORY>
-=item B<-o qemu -os> C<DIRECTORY> B<--qemu-boot>
-
This converts the guest to files in C<DIRECTORY>. Unlike I<-o local>
above, a shell script is created which contains the raw qemu command
you would need to boot the guest. However the shell script is not
-run, I<unless> you also add the I<--qemu-boot> option.
+run.
=item B<-o null>
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
index b458607d..6cfe9e44 100644
--- a/docs/virt-v2v.pod
+++ b/docs/virt-v2v.pod
@@ -144,11 +144,6 @@ Since F<guest-domain.xml> contains the path(s) to the guest disk
image(s) you do not need to specify the name of the disk image on the
command line.
-To convert a local disk image and immediately boot it in local
-qemu, do:
-
- virt-v2v -i disk disk.img -o qemu -os /var/tmp -oo qemu-boot
-
=head1 OPTIONS
=over 4
@@ -507,9 +502,6 @@ This is similar to I<-o local>, except that a shell script is written
which you can use to boot the guest in qemu. The converted disks and
shell script are written to the directory specified by I<-os>.
-When using this output mode, you can also specify the I<-oo qemu-boot>
-option which boots the guest under qemu immediately.
-
=item B<-o> B<rhev>
This is the same as I<-o rhv>.
@@ -588,11 +580,6 @@ For I<-o openstack> (L<virt-v2v-output-openstack(1)>) only, set a guest ID
which is saved on each Cinder volume in the C<virt_v2v_guest_id>
volume property.
-=item B<-oo qemu-boot>
-
-When using I<-o qemu> only, this boots the guest immediately after
-virt-v2v finishes.
-
=item B<-oo verify-server-certificate>
=item B<-oo verify-server-certificate=>C<true|false>
@@ -763,10 +750,6 @@ Print information about the source guest and stop. This option is
useful when you are setting up network and bridge maps.
See L</Networks and bridges>.
-=item B<--qemu-boot>
-
-This is the same as I<-oo qemu-boot>.
-
=item B<-q>
=item B<--quiet>
diff --git a/output/output_qemu.ml b/output/output_qemu.ml
index 3a57a009..4be9b650 100644
--- a/output/output_qemu.ml
+++ b/output/output_qemu.ml
@@ -65,6 +65,9 @@ module QEMU = struct
let compressed = !compressed
and qemu_boot = !qemu_boot in
+ if qemu_boot then
+ error (f_"-o qemu: the -oo qemu-boot option cannot be used in RHEL");
+
(* -os must be set to a directory. *)
let output_storage =
match options.output_storage with
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
index 7a01eab5..dc747804 100644
--- a/v2v/v2v.ml
+++ b/v2v/v2v.ml
@@ -272,8 +272,6 @@ let rec main () =
s_"Same as -ip filename";
[ L"print-source" ], Getopt.Set print_source,
s_"Print source and stop";
- [ L"qemu-boot" ], Getopt.Unit (fun () -> set_output_option_compat "qemu-boot" ""),
- s_"Boot in qemu (-o qemu only)";
[ L"root" ], Getopt.String ("ask|... ", set_root_choice),
s_"How to choose root filesystem";
[ L"vddk-config" ], Getopt.String ("filename", set_input_option_compat "vddk-config"),

@ -0,0 +1,31 @@
From a4ed97d92b38d2359475187c7ea3a42596cc4616 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Fri, 24 Apr 2015 09:45:41 -0400
Subject: [PATCH] RHEL: Fix list of supported sound cards to match RHEL qemu
(RHBZ#1176493).
---
lib/utils.ml | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/utils.ml b/lib/utils.ml
index 281868b5..e63ec7ce 100644
--- a/lib/utils.ml
+++ b/lib/utils.ml
@@ -60,13 +60,14 @@ let kvm_arch = function
(* Does qemu support the given sound card? *)
let qemu_supports_sound_card = function
| Types.AC97
- | Types.ES1370
| Types.ICH6
| Types.ICH9
| Types.PCSpeaker
+ -> true
+ | Types.ES1370
| Types.SB16
| Types.USBAudio
- -> true
+ -> false
(* Find the UEFI firmware. *)
let find_uefi_firmware guest_arch =

@ -0,0 +1,101 @@
From ef9a020874b82945e07c61198149e3b566612a85 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Sun, 30 Aug 2015 03:21:57 -0400
Subject: [PATCH] RHEL: Fixes for libguestfs-winsupport.
In tests we cannot use guestfish for arbitrary Windows edits.
In virt-v2v helpers we must set the program name to virt-v2v.
---
convert/convert.ml | 1 +
convert/windows_virtio.ml | 1 +
test-data/phony-guests/make-windows-img.sh | 1 +
tests/test-v2v-virtio-win-iso.sh | 8 +++++++-
tests/test-v2v-windows-conversion.sh | 8 +++++++-
5 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/convert/convert.ml b/convert/convert.ml
index d0d5b773..c3dd4151 100644
--- a/convert/convert.ml
+++ b/convert/convert.ml
@@ -51,6 +51,7 @@ let rec convert dir options source =
message (f_"Opening the source");
let g = open_guestfs ~identifier:"v2v" () in
+ g#set_program "virt-v2v";
g#set_memsize (g#get_memsize () * 2);
(* Setting the number of vCPUs allows parallel mkinitrd, but make
* sure this is not too large because each vCPU consumes guest RAM.
diff --git a/convert/windows_virtio.ml b/convert/windows_virtio.ml
index 6b642d21..2cef4234 100644
--- a/convert/windows_virtio.ml
+++ b/convert/windows_virtio.ml
@@ -256,6 +256,7 @@ and copy_from_virtio_win g inspect srcdir destdir filter missing =
let g2 =
try
let g2 = open_guestfs ~identifier:"virtio_win" () in
+ g#set_program "virt-v2v";
g2#add_drive_opts virtio_win ~readonly:true;
g2#launch ();
g2
diff --git a/test-data/phony-guests/make-windows-img.sh b/test-data/phony-guests/make-windows-img.sh
index 30908a91..73cf5144 100755
--- a/test-data/phony-guests/make-windows-img.sh
+++ b/test-data/phony-guests/make-windows-img.sh
@@ -37,6 +37,7 @@ fi
# Create a disk image.
guestfish <<EOF
+set-program virt-testing
sparse windows.img-t 512M
run
diff --git a/tests/test-v2v-virtio-win-iso.sh b/tests/test-v2v-virtio-win-iso.sh
index 69f6f414..b9b806fb 100755
--- a/tests/test-v2v-virtio-win-iso.sh
+++ b/tests/test-v2v-virtio-win-iso.sh
@@ -82,6 +82,12 @@ mktest ()
:> "$script"
:> "$expected"
+cat >> "$script" <<EOF
+ set-program virt-testing
+ run
+ mount /dev/sda2 /
+EOF
+
firstboot_dir="/Program Files/Guestfs/Firstboot"
mktest "is-dir \"$firstboot_dir\"" true
mktest "is-file \"$firstboot_dir/firstboot.bat\"" true
@@ -94,5 +100,5 @@ for drv in netkvm vioscsi viostor; do
done
done
-guestfish --ro -a "$d/windows-sda" -i < "$script" > "$response"
+guestfish --ro -a "$d/windows-sda" < "$script" > "$response"
diff -u "$expected" "$response"
diff --git a/tests/test-v2v-windows-conversion.sh b/tests/test-v2v-windows-conversion.sh
index a4cf191d..1ff41f6a 100755
--- a/tests/test-v2v-windows-conversion.sh
+++ b/tests/test-v2v-windows-conversion.sh
@@ -76,6 +76,12 @@ mktest ()
:> "$script"
:> "$expected"
+cat >> "$script" <<EOF
+ set-program virt-testing
+ run
+ mount /dev/sda2 /
+EOF
+
firstboot_dir="/Program Files/Guestfs/Firstboot"
mktest "is-dir \"$firstboot_dir\"" true
mktest "is-file \"$firstboot_dir/firstboot.bat\"" true
@@ -88,7 +94,7 @@ for drv in netkvm vioscsi viostor; do
done
done
-guestfish --ro -a "$d/windows-sda" -i < "$script" > "$response"
+guestfish --ro -a "$d/windows-sda" < "$script" > "$response"
diff -u "$expected" "$response"
# We also update the Registry several times, for firstboot, and (ONLY

@ -0,0 +1,23 @@
From 5703bf73a706dfc6a65075ff2ed5f544efa2a180 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 2 Mar 2017 14:21:37 +0100
Subject: [PATCH] RHEL: v2v: -i disk: force VNC as display (RHBZ#1372671)
The SDL output mode is not supported in RHEL's qemu-kvm.
---
input/input_disk.ml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/input/input_disk.ml b/input/input_disk.ml
index 279250fe..c6b819c0 100644
--- a/input/input_disk.ml
+++ b/input/input_disk.ml
@@ -77,7 +77,7 @@ module Disk = struct
s_features = [ "acpi"; "apic"; "pae" ];
s_firmware = UnknownFirmware; (* causes virt-v2v to autodetect *)
s_display =
- Some { s_display_type = Window; s_keymap = None; s_password = None;
+ Some { s_display_type = VNC; s_keymap = None; s_password = None;
s_listen = LNoListen; s_port = None };
s_sound = None;
s_disks = s_disks;

@ -0,0 +1,23 @@
From 4cc16f9bdf58f1036bd6ad67d6af2c0925e32a13 Mon Sep 17 00:00:00 2001
From: Pino Toscano <ptoscano@redhat.com>
Date: Wed, 8 Mar 2017 11:03:40 +0100
Subject: [PATCH] RHEL: v2v: do not mention SUSE Xen hosts (RHBZ#1430203)
They are not supported in RHEL.
---
docs/virt-v2v-input-xen.pod | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/virt-v2v-input-xen.pod b/docs/virt-v2v-input-xen.pod
index 4a0544f8..9c3981e1 100644
--- a/docs/virt-v2v-input-xen.pod
+++ b/docs/virt-v2v-input-xen.pod
@@ -11,7 +11,7 @@ virt-v2v-input-xen - Using virt-v2v to convert guests from Xen
=head1 DESCRIPTION
This page documents how to use L<virt-v2v(1)> to convert guests from
-RHEL 5 Xen, or SLES and OpenSUSE Xen hosts.
+RHEL 5 Xen hosts.
=head1 INPUT FROM XEN

@ -0,0 +1,124 @@
From f00e06aecd8e2040de6447e05fb721cb1f14720e Mon Sep 17 00:00:00 2001
From: Pino Toscano <ptoscano@redhat.com>
Date: Tue, 26 Mar 2019 09:42:25 +0100
Subject: [PATCH] RHEL: point to KB for supported v2v hypervisors/guests
---
docs/virt-v2v-support.pod | 104 ++------------------------------------
1 file changed, 4 insertions(+), 100 deletions(-)
diff --git a/docs/virt-v2v-support.pod b/docs/virt-v2v-support.pod
index 9815f51f..1ffc0f9d 100644
--- a/docs/virt-v2v-support.pod
+++ b/docs/virt-v2v-support.pod
@@ -8,106 +8,10 @@ systems and guests in virt-v2v
This page documents which foreign hypervisors, virtualization
management systems and guest types that L<virt-v2v(1)> can support.
-Note this page applies to upstream virt-v2v from
-L<http://libguestfs.org> and in downstream distributions of virt-v2v
-sometimes features are intentionally removed, or are present but not
-supported.
-
-=head2 Hypervisors (Input)
-
-=over 4
-
-=item VMware ESXi
-
-Must be managed by VMware vCenter E<ge> 5.0 unless VDDK is available.
-
-=item OVA exported from VMware
-
-OVAs from other hypervisors will not work.
-
-=item VMX from VMware
-
-VMX files generated by other hypervisors will not work.
-
-=item RHEL 5 Xen
-
-=item SUSE Xen
-
-=item Citrix Xen
-
-Citrix Xen has not been recently tested.
-
-=item Hyper-V
-
-Not recently tested. Requires that you export the disk or use
-L<virt-p2v(1)> on Hyper-V.
-
-=item Direct from disk images
-
-Only disk images exported from supported hypervisors, and using
-container formats supported by qemu.
-
-=item Physical machines
-
-Using the L<virt-p2v(1)> tool.
-
-=back
-
-=head2 Hypervisors (Output)
-
-QEMU and KVM only.
-
-=head2 Virtualization management systems (Output)
-
-=over 4
-
-=item OpenStack
-
-=item Red Hat Virtualization (RHV) 4.1 and up
-
-=item Local libvirt
-
-And hence L<virsh(1)>, L<virt-manager(1)>, and similar tools.
-
-=item Local disk
-
-=back
-
-=head2 Guests
-
-=over 4
-
-=item Red Hat Enterprise Linux 3, 4, 5, 6, 7
-
-=item CentOS 3, 4, 5, 6, 7
-
-=item Scientific Linux 3, 4, 5, 6, 7
-
-=item Oracle Linux
-
-=item Fedora
-
-=item SLES 10 and up
-
-=item OpenSUSE 10 and up
-
-=item ALT Linux 9 and up
-
-=item Debian 6 and up
-
-=item Ubuntu 10.04, 12.04, 14.04, 16.04, and up
-
-=item Windows XP to Windows 10 / Windows Server 2016
-
-We use Windows internal version numbers, see
-L<https://en.wikipedia.org/wiki/List_of_Microsoft_Windows_versions>
-
-Currently NT 5.2 to NT 6.3 are supported.
-
-See L</WINDOWS> below for additional notes on converting Windows
-guests.
-
-=back
+For more information on supported hypervisors, and guest types in
+RHEL, please consult the following Knowledgebase article on these
+Red Hat Customer Portal:
+L<https://access.redhat.com/articles/1351473>.
=head2 Guest firmware

@ -0,0 +1,216 @@
From 5ef909eb4d65adb02f6f9170755813e3bd0ebb34 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Wed, 30 Jun 2021 11:15:52 +0100
Subject: [PATCH] RHEL: Disable -o glance
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1977539
---
docs/virt-v2v-output-openstack.pod | 56 ++----------------------------
docs/virt-v2v.pod | 20 -----------
output/output_glance.mli | 2 +-
tests/test-v2v-o-glance.sh | 3 ++
v2v/v2v.ml | 7 +---
5 files changed, 7 insertions(+), 81 deletions(-)
diff --git a/docs/virt-v2v-output-openstack.pod b/docs/virt-v2v-output-openstack.pod
index f5a3abad..1ab356e8 100644
--- a/docs/virt-v2v-output-openstack.pod
+++ b/docs/virt-v2v-output-openstack.pod
@@ -10,13 +10,10 @@ virt-v2v-output-openstack - Using virt-v2v to convert guests to OpenStack
[-oo verify-server-certificate=false]
[-oo os-username=admin] [-oo os-*=*]
- virt-v2v [-i* options] -o glance
-
=head1 DESCRIPTION
This page documents how to use L<virt-v2v(1)> to convert guests to run
-on OpenStack. There are two output modes you can select, but only
-I<-o openstack> should be used normally.
+on OpenStack.
=over 4
@@ -27,15 +24,6 @@ Full description: L</OUTPUT TO OPENSTACK>
This is the modern method for uploading to OpenStack via the REST API.
Guests can be directly converted into Cinder volumes.
-=item B<-o glance>
-
-Full description: L</OUTPUT TO GLANCE>
-
-This is the old method for uploading to Glance. Unfortunately Glance
-is not well suited to storing converted guests (since virt-v2v deals
-with "pets" not templated "cattle"), so this method is not recommended
-unless you really know what you are doing.
-
=back
=head1 OUTPUT TO OPENSTACK
@@ -170,50 +158,10 @@ no Cinder volume type is used.
The following options are B<not> supported with OpenStack: I<-oa>,
I<-of>.
-=head1 OUTPUT TO GLANCE
-
-Note this is a legacy option. In most cases you should use
-L</OUTPUT TO OPENSTACK> instead.
-
-To output to OpenStack Glance, use the I<-o glance> option.
-
-This runs the L<glance(1)> CLI program which must be installed on the
-virt-v2v conversion host. For authentication to work, you will need
-to set C<OS_*> environment variables.
-
-Normally there is a file called C<overcloudrc> or C<keystonerc_admin>
-which you can simply C<source> to set everything up.
-
-Virt-v2v adds metadata for the guest to Glance, describing such things
-as the guest operating system and what drivers it requires. The
-command C<glance image-show> will display the metadata as "Property"
-fields such as C<os_type> and C<hw_disk_bus>.
-
-=head2 Glance and sparseness
-
-Glance image upload doesn't appear to correctly handle sparseness.
-For this reason, using qcow2 will be faster and use less space on the
-Glance server. Use the virt-v2v S<I<-of qcow2>> option.
-
-=head2 Glance and multiple disks
-
-If the guest has a single disk, then the name of the disk in Glance
-will be the name of the guest. You can control this using the I<-on>
-option.
-
-Glance doesn't have a concept of associating multiple disks with a
-single guest, and Nova doesn't allow you to boot a guest from multiple
-Glance disks either. If the guest has multiple disks, then the first
-(assumed to be the system disk) will have the name of the guest, and
-the second and subsequent data disks will be called
-C<I<guestname>-disk2>, C<I<guestname>-disk3> etc. It may be best to
-leave the system disk in Glance, and import the data disks to Cinder.
-
=head1 SEE ALSO
L<virt-v2v(1)>,
-L<https://docs.openstack.org/python-openstackclient/latest/cli/man/openstack.html>,
-L<glance(1)>.
+L<https://docs.openstack.org/python-openstackclient/latest/cli/man/openstack.html>.
=head1 AUTHOR
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
index 6cfe9e44..d161b63f 100644
--- a/docs/virt-v2v.pod
+++ b/docs/virt-v2v.pod
@@ -421,14 +421,6 @@ See L</Networks and bridges> below.
This is the same as I<-o local>.
-=item B<-o> B<glance>
-
-This is a legacy option. You should probably use I<-o openstack>
-instead.
-
-Set the output method to OpenStack Glance. In this mode the converted
-guest is uploaded to Glance. See L<virt-v2v-output-openstack(1)>.
-
=item B<-o> B<kubevirt>
Set the output method to I<kubevirt>. B<Note the way this mode works
@@ -1172,11 +1164,6 @@ and output methods may use disk space, as outlined in the table below.
This temporarily places a full copy of the uncompressed source disks
in C<$VIRT_V2V_TMPDIR> (or F</var/tmp>).
-=item I<-o glance>
-
-This temporarily places a full copy of the output disks in
-C<$VIRT_V2V_TMPDIR> (or F</var/tmp>).
-
=item I<-o local>
=item I<-o qemu>
@@ -1360,13 +1347,6 @@ instance.
Because of how Cinder volumes are presented as F</dev> block devices,
using I<-o openstack> normally requires that virt-v2v is run as root.
-=item Writing to Glance
-
-This does I<not> need root (in fact it probably wont work), but may
-require either a special user and/or for you to source a script that
-sets authentication environment variables. Consult the Glance
-documentation.
-
=item Writing to block devices
This normally requires root. See the next section.
diff --git a/output/output_glance.mli b/output/output_glance.mli
index 972320a2..9befc461 100644
--- a/output/output_glance.mli
+++ b/output/output_glance.mli
@@ -18,4 +18,4 @@
(** [-o glance] output mode. *)
-module Glance : Output.OUTPUT
+(*module Glance : Output.OUTPUT*)
diff --git a/tests/test-v2v-o-glance.sh b/tests/test-v2v-o-glance.sh
index c0db9115..074b5e16 100755
--- a/tests/test-v2v-o-glance.sh
+++ b/tests/test-v2v-o-glance.sh
@@ -20,6 +20,9 @@
set -e
+# Feature is disabled in RHEL 9.
+exit 77
+
source ./functions.sh
set -e
set -x
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
index dc747804..392c3dad 100644
--- a/v2v/v2v.ml
+++ b/v2v/v2v.ml
@@ -194,7 +194,6 @@ let rec main () =
if !output_mode <> `Not_set then
error (f_"%s option used more than once on the command line") "-o";
match mode with
- | "glance" -> output_mode := `Glance
| "kubevirt" -> output_mode := `Kubevirt
| "libvirt" -> output_mode := `Libvirt
| "disk" | "local" -> output_mode := `Disk
@@ -252,7 +251,7 @@ let rec main () =
s_"Map network in to out";
[ L"no-trim" ], Getopt.String ("-", no_trim_warning),
s_"Ignored for backwards compatibility";
- [ S 'o' ], Getopt.String ("glance|kubevirt|libvirt|local|null|openstack|qemu|rhv|rhv-upload|vdsm", set_output_mode),
+ [ S 'o' ], Getopt.String ("kubevirt|libvirt|local|null|openstack|qemu|rhv|rhv-upload|vdsm", set_output_mode),
s_"Set output mode (default: libvirt)";
[ M"oa" ], Getopt.String ("sparse|preallocated", set_output_alloc),
s_"Set output allocation mode";
@@ -320,8 +319,6 @@ virt-v2v -i libvirtxml guest-domain.xml -o local -os /var/tmp
virt-v2v -i disk disk.img -o local -os /var/tmp
-virt-v2v -i disk disk.img -o glance
-
There is a companion front-end called \"virt-p2v\" which comes as an
ISO or CD image that can be booted on physical machines.
@@ -390,7 +387,6 @@ read the man page virt-v2v(1).
pr "input:libvirtxml\n";
pr "input:ova\n";
pr "input:vmx\n";
- pr "output:glance\n";
pr "output:kubevirt\n";
pr "output:libvirt\n";
pr "output:local\n";
@@ -487,7 +483,6 @@ read the man page virt-v2v(1).
| `Disk -> (module Output_disk.Disk)
| `Null -> (module Output_null.Null)
| `QEmu -> (module Output_qemu.QEMU)
- | `Glance -> (module Output_glance.Glance)
| `Kubevirt -> (module Output_kubevirt.Kubevirt)
| `Openstack -> (module Output_openstack.Openstack)
| `RHV_Upload -> (module Output_rhv_upload.RHVUpload)

@ -0,0 +1,84 @@
From ade0fd71c59b362ae7fd6cc07dd91eda9341eafe Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 2 Dec 2021 11:56:05 +0000
Subject: [PATCH] RHEL: Remove the --in-place option
This disables the virt-v2v --in-place option which we do not
wish to support in RHEL.
---
docs/virt-v2v.pod | 8 --------
tests/Makefile.am | 1 -
v2v/v2v.ml | 8 --------
3 files changed, 17 deletions(-)
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
index d161b63f..0394b421 100644
--- a/docs/virt-v2v.pod
+++ b/docs/virt-v2v.pod
@@ -24,9 +24,6 @@ virtualize those machines (physical to virtual, or p2v).
To estimate the disk space needed before conversion, see
L<virt-v2v-inspector(1)>.
-For in-place conversion, there is a separate tool called
-L<virt-v2v-in-place(1)>.
-
=head2 Input and Output
You normally run virt-v2v with several I<-i*> options controlling the
@@ -39,10 +36,6 @@ The input and output sides of virt-v2v are separate and unrelated.
Virt-v2v can read from any input and write to any output. Therefore
these sides of virt-v2v are documented separately in this manual.
-Virt-v2v normally copies from the input to the output, called "copying
-mode". In this case the source guest is always left unchanged.
-In-place conversions may be done using L<virt-v2v-in-place(1)>.
-
=head2 Other virt-v2v topics
L<virt-v2v-support(1)> — Supported hypervisors, virtualization
@@ -1612,7 +1605,6 @@ L<https://rwmj.wordpress.com/2015/09/18/importing-kvm-guests-to-ovirt-or-rhev/#c
L<virt-p2v(1)>,
L<virt-v2v-inspector(1)>,
-L<virt-v2v-in-place(1)>,
L<virt-customize(1)>,
L<virt-df(1)>,
L<virt-filesystems(1)>,
diff --git a/tests/Makefile.am b/tests/Makefile.am
index a4c87398..998b871d 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -77,7 +77,6 @@ TESTS = \
test-v2v-floppy.sh \
test-v2v-i-disk.sh \
test-v2v-i-ova.sh \
- test-v2v-in-place.sh \
test-v2v-inspector.sh \
test-v2v-mac.sh \
test-v2v-machine-readable.sh \
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
index 392c3dad..18a694ee 100644
--- a/v2v/v2v.ml
+++ b/v2v/v2v.ml
@@ -216,12 +216,6 @@ let rec main () =
warning (f_"the --vmtype option has been removed and now does nothing")
in
- (* Options that are errors. *)
- let in_place_error _ =
- error (f_"The --in-place option has been replaced by the \
- virt-v2v-in-place program")
- in
-
let argspec = [
[ L"bandwidth" ], Getopt.String ("bps", set_string_option_once "--bandwidth" bandwidth),
s_"Set bandwidth to bits per sec";
@@ -243,8 +237,6 @@ let rec main () =
s_"Use password from file to connect to input hypervisor";
[ M"it" ], Getopt.String ("transport", set_string_option_once "-it" input_transport),
s_"Input transport";
- [ L"in-place" ], Getopt.Unit in_place_error,
- s_"Use virt-v2v-in-place instead";
[ L"mac" ], Getopt.String ("mac:network|bridge|ip:out", add_mac),
s_"Map NIC to network or bridge or assign static IP";
[ S 'n'; L"network" ], Getopt.String ("in:out", add_network),

@ -0,0 +1,47 @@
From d6fc11c3f99f2f25b06d36d582d63702be802132 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 5 Jul 2022 11:56:54 +0100
Subject: [PATCH] RHEL 9: -oo compressed: Remove nbdcopy version check and test
In RHEL 9 nbdcopy 1.12.4-2 will be sufficient (vs nbdcopy 1.13.5
upstream). We will enforce this through RPM dependencies and test it
separately. Thus remove the version check and test.
---
output/output.ml | 11 -----------
tests/Makefile.am | 1 -
2 files changed, 12 deletions(-)
diff --git a/output/output.ml b/output/output.ml
index e419c13d..c8f743c2 100644
--- a/output/output.ml
+++ b/output/output.ml
@@ -87,17 +87,6 @@ let output_to_local_file ?(changeuid = fun f -> f ()) ?(compressed = false)
if output_format <> "qcow2" then
error (f_"-oo compressed is only allowed when the output format \
is a local qcow2-format file, i.e. -of qcow2");
-
- (* Check nbdcopy is new enough. This assumes that the version of
- * libnbd is the same as the version of nbdcopy, but parsing this
- * is easier. We can remove this check when we build-depend on
- * libnbd >= 1.14.
- *)
- let version =
- NBD.create () |> NBD.get_version |>
- String.nsplit "." |> List.map int_of_string in
- if version < [1; 13; 5] then
- error (f_"-oo compressed option requires nbdcopy >= 1.13.5")
);
let g = open_guestfs () in
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 998b871d..8cf17f94 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -83,7 +83,6 @@ TESTS = \
test-v2v-networks-and-bridges.sh \
test-v2v-o-glance.sh \
test-v2v-o-libvirt.sh \
- test-v2v-o-local-qcow2-compressed.sh \
test-v2v-o-null.sh \
test-v2v-o-openstack.sh \
test-v2v-o-qemu.sh \

@ -0,0 +1,22 @@
From 86517b17be985cb234846c75680c144bf9ea2dd8 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 5 Jul 2022 11:58:09 +0100
Subject: [PATCH] RHEL 9: tests: Remove btrfs test
RHEL does not have btrfs so this test always fails.
---
tests/Makefile.am | 1 -
1 file changed, 1 deletion(-)
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 8cf17f94..8b2a8685 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -97,7 +97,6 @@ TESTS = \
test-v2v-sound.sh \
test-v2v-virtio-win-iso.sh \
test-v2v-fedora-conversion.sh \
- test-v2v-fedora-btrfs-conversion.sh \
test-v2v-fedora-luks-on-lvm-conversion.sh \
test-v2v-fedora-lvm-on-luks-conversion.sh \
test-v2v-fedora-md-conversion.sh \

@ -0,0 +1,65 @@
#!/bin/bash -
set -e
# Maintainer script to copy patches from the git repo to the current
# directory. Use it like this:
# ./copy-patches.sh
project=virt-v2v
rhel_version=9.2
# Check we're in the right directory.
if [ ! -f $project.spec ]; then
echo "$0: run this from the directory containing '$project.spec'"
exit 1
fi
case `id -un` in
rjones) git_checkout=$HOME/d/$project-rhel-$rhel_version ;;
lacos) git_checkout=$HOME/src/v2v/$project ;;
*) git_checkout=$HOME/d/$project-rhel-$rhel_version ;;
esac
if [ ! -d $git_checkout ]; then
echo "$0: $git_checkout does not exist"
echo "This script is only for use by the maintainer when preparing a"
echo "$project release on RHEL."
exit 1
fi
# Get the base version of the project.
version=`grep '^Version:' $project.spec | awk '{print $2}'`
tag="v$version"
# Remove any existing patches.
git rm -f [0-9]*.patch ||:
rm -f [0-9]*.patch
# Get the patches.
(
cd $git_checkout
rm -f [0-9]*.patch
git -c core.abbrev=8 format-patch -O/dev/null --subject-prefix=PATCH -N \
--submodule=diff --no-signature --patience $tag
)
mv $git_checkout/[0-9]*.patch .
# Remove any not to be applied.
rm -f *NOT-FOR-RPM*.patch
# Add the patches.
git add [0-9]*.patch
# Print out the patch lines.
echo
echo "--- Copy the following text into $project.spec file"
echo
echo "# Patches."
for f in [0-9]*.patch; do
n=`echo $f | awk -F- '{print $1}'`
echo "Patch$n: $f"
done
echo
echo "--- End of text"

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEE93dPsa0HSn6Mh2fqkXOPc+G3aKAFAmO9fDsRHHJpY2hAYW5u
ZXhpYS5vcmcACgkQkXOPc+G3aKAa2g//RQunlKur+nTvnmfpY7gYJJxuJqF0XAq0
aWoMF3GTGKbmgsKjvRMd3biVeNSeYRz8+cgy+ns7Ci7rlRw2fxG5INtZXX1rjVRN
9j5xQo+fYLHtp48OB2NIZ9qi5dAqSDgdgZ1oHFzzWJJ4dHw9zoMDUW77g8Hi74g4
jCXoxq61LMAfNpB8hFrN44xgDD3N15A8IWZEy81bBRQBER6yreZ4Ey1WrgCbF/ti
4RjUt98THxbQ1/fP5bDCXpagVSS3h70ZPyYl2gRFVNeEmPekUj4YZP4CvCEb74TF
HFJU6go2YzLah+UeG/z1ln8jl2BZdKd0K58tCHwsYvpOeQ1P0jopR6vtnKEAO9py
6YV2N5JOEA/EQsLDzyn8Hdk70WgceDjCo6Lkpukblk3sL8WfcnoGSysXWrRfQXnC
ktf2yE3vA5IOdd3Bs6yXKSvgp/vmfuLHjAlC7m4Si5MnVuhRWVcrdGmQEKuWb6hO
4GRFNiUWZOSDjxWo93M9U3Ur3iv5chb+i9wYLEceKysk4+IKjbqfutg195m1N3GU
Qn4sF6clXMRM5vzU9BUx4Y6kZLki8dWYgxNirw9/u/APfqHiycT08pCVZ7iCnExP
Q7MpgL6fFNgnwR1hEVHxO6a0kxK0jJh/cWBFHKx6Pkqv4GdXOpUcoKWmugbViLoE
gjRPHbHXzVM=
=bDBY
-----END PGP SIGNATURE-----

@ -0,0 +1,654 @@
%undefine _package_note_flags
# If we should verify tarball signature with GPGv2.
%global verify_tarball_signature 1
# If there are patches which touch autotools files, set this to 1.
%if !0%{?rhel}
%global patches_touch_autotools %{nil}
%else
# On RHEL the downstream patches always touch autotools files.
%global patches_touch_autotools 1
%endif
# The source directory.
%global source_directory 2.2-stable
Name: virt-v2v
Epoch: 1
Version: 2.2.0
Release: 5%{?dist}
Summary: Convert a virtual machine to run on KVM
License: GPLv2+
URL: https://github.com/libguestfs/virt-v2v
Source0: http://download.libguestfs.org/virt-v2v/%{source_directory}/%{name}-%{version}.tar.gz
%if 0%{verify_tarball_signature}
Source1: http://download.libguestfs.org/virt-v2v/%{source_directory}/%{name}-%{version}.tar.gz.sig
# Keyring used to verify tarball signature.
Source2: libguestfs.keyring
%endif
# Maintainer script which helps with handling patches.
Source3: copy-patches.sh
# Patches are maintained in the following repository:
# https://github.com/libguestfs/virt-v2v/commits/rhel-9.2
# Patches.
Patch0001: 0001-test-v2v-fedora-btrfs-conversion-spell-out-btrfs-fea.patch
Patch0002: 0002-test-v2v-i-ova-spell-out-ntfs-feature-group-dependen.patch
Patch0003: 0003-Translated-using-Weblate-Finnish.patch
Patch0004: 0004-Translated-using-Weblate-Georgian.patch
Patch0005: 0005-Update-translation-files.patch
Patch0006: 0006-Translated-using-Weblate-Ukrainian.patch
Patch0007: 0007-convert-windows-Remove-extraneous-blank-lines-in-sou.patch
Patch0008: 0008-convert-windows-Document-what-copy_qemu_ga-function-.patch
Patch0009: 0009-convert-windows-Remove-unused-open-Utils.patch
Patch0010: 0010-o-kubevirt-Fix-mistake-in-error-message.patch
Patch0011: 0011-o-kubevirt-Move-cpu-element-under-domain.patch
Patch0012: 0012-o-kubevirt-Error-on-invalid-output-guest-names.patch
Patch0013: 0013-Split-long-lines-in-messages.patch
Patch0014: 0014-o-kubevirt-Implement-oo-compressed-for-qcow2-files.patch
Patch0015: 0015-v2v-Remove-use-of-anchored.patch
Patch0016: 0016-o-kubevirt-Replace-PCRE-anchored-with.patch
Patch0017: 0017-o-libvirt-Add-correct-xmlns-libosinfo-for-Rocky-Linu.patch
Patch0018: 0018-convert-linux-Require-host-cpu-for-all-RHEL-alike-9.patch
Patch0019: 0019-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch
Patch0020: 0020-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch
Patch0021: 0021-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch
Patch0022: 0022-RHEL-Fixes-for-libguestfs-winsupport.patch
Patch0023: 0023-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch
Patch0024: 0024-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch
Patch0025: 0025-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch
Patch0026: 0026-RHEL-Disable-o-glance.patch
Patch0027: 0027-RHEL-Remove-the-in-place-option.patch
Patch0028: 0028-RHEL-9-oo-compressed-Remove-nbdcopy-version-check-an.patch
Patch0029: 0029-RHEL-9-tests-Remove-btrfs-test.patch
%if !0%{?rhel}
# libguestfs hasn't been built on i686 for a while since there is no
# kernel built for this architecture any longer and libguestfs rather
# fundamentally depends on the kernel. Therefore we must exclude this
# arch. Note there is no bug filed for this because we do not ever
# expect that libguestfs or virt-v2v will be available on i686 so
# there is nothing that needs fixing.
ExcludeArch: %{ix86}
%else
# Architectures where virt-v2v is shipped on RHEL:
#
# not on aarch64 because it is not useful there
# not on %%{power64} because of RHBZ#1287826
# not on s390x because it is not useful there
ExclusiveArch: x86_64
%endif
%if 0%{patches_touch_autotools}
BuildRequires: autoconf, automake, libtool
%endif
BuildRequires: make
BuildRequires: /usr/bin/pod2man
BuildRequires: gcc
BuildRequires: ocaml >= 4.04
BuildRequires: libguestfs-devel >= 1:1.44
BuildRequires: augeas-devel
BuildRequires: bash-completion
BuildRequires: file-devel
BuildRequires: gettext-devel
BuildRequires: jansson-devel
BuildRequires: libnbd-devel
BuildRequires: libosinfo-devel
BuildRequires: libvirt-daemon-kvm
BuildRequires: libvirt-devel
BuildRequires: libxml2-devel
BuildRequires: pcre2-devel
BuildRequires: perl(Sys::Guestfs)
BuildRequires: po4a
BuildRequires: /usr/bin/virsh
BuildRequires: xorriso
BuildRequires: ocaml-findlib-devel
BuildRequires: ocaml-libguestfs-devel
BuildRequires: ocaml-libvirt-devel
BuildRequires: ocaml-libnbd-devel
BuildRequires: ocaml-fileutils-devel
BuildRequires: ocaml-gettext-devel
%if !0%{?rhel}
BuildRequires: ocaml-ounit-devel
%endif
# These are for running our limited test.
BuildRequires: %{_bindir}/qemu-nbd
BuildRequires: %{_bindir}/nbdcopy
BuildRequires: %{_bindir}/nbdinfo
BuildRequires: nbdkit-file-plugin
BuildRequires: nbdkit-null-plugin
BuildRequires: nbdkit-python-plugin
BuildRequires: nbdkit-cow-filter >= 1.28.3-1.el9
%ifarch x86_64
BuildRequires: glibc-static
%endif
%if 0%{verify_tarball_signature}
BuildRequires: gnupg2
%endif
Requires: libguestfs%{?_isa} >= 1:1.48.4-4.el9
Requires: guestfs-tools >= 1.42
# XFS is the default filesystem in Fedora and RHEL.
Requires: libguestfs-xfs
%if 0%{?rhel}
# For Windows conversions on RHEL.
Requires: libguestfs-winsupport >= 7.2
%endif
Requires: gawk
Requires: gzip
Requires: unzip
Requires: curl
Requires: openssh-clients >= 8.7p1
Requires: %{_bindir}/virsh
# Ensure the UEFI firmware is available, to properly convert
# EFI guests (RHBZ#1429643).
%ifarch x86_64
Requires: edk2-ovmf
%endif
%ifarch aarch64
Requires: edk2-aarch64
%endif
%if !0%{?rhel}
Requires: python3
%else
Requires: platform-python
%endif
Requires: libnbd >= 1.12.4-2.el9
Requires: %{_bindir}/qemu-nbd
Requires: %{_bindir}/nbdcopy
Requires: %{_bindir}/nbdinfo
Requires: nbdkit-server >= 1.28.3-1.el9
Requires: nbdkit-curl-plugin
Requires: nbdkit-file-plugin
Requires: nbdkit-nbd-plugin
Requires: nbdkit-null-plugin
Requires: nbdkit-python-plugin
Requires: nbdkit-ssh-plugin
%ifarch x86_64
Requires: nbdkit-vddk-plugin
%endif
Requires: nbdkit-blocksize-filter
Requires: nbdkit-cacheextents-filter
Requires: nbdkit-cow-filter >= 1.28.3-1.el9
Requires: nbdkit-multi-conn-filter
Requires: nbdkit-rate-filter
Requires: nbdkit-retry-filter
# For rhsrvany.exe, used to install firstboot scripts in Windows guests.
Requires: mingw32-srvany >= 1.0-13
# On RHEL, virtio-win should be used to install virtio drivers
# and qemu-ga in converted guests. (RHBZ#1972644)
%if 0%{?rhel}
Recommends: virtio-win
%endif
%description
Virt-v2v converts a single guest from a foreign hypervisor to run on
KVM. It can read Linux and Windows guests running on VMware, Xen,
Hyper-V and some other hypervisors, and convert them to KVM managed by
libvirt, OpenStack, oVirt, Red Hat Virtualisation (RHV) or several
other targets. It can modify the guest to make it bootable on KVM and
install virtio drivers so it will run quickly.
%package bash-completion
Summary: Bash tab-completion for %{name}
BuildArch: noarch
Requires: bash-completion >= 2.0
Requires: %{name} = %{epoch}:%{version}-%{release}
%description bash-completion
Install this package if you want intelligent bash tab-completion
for %{name}.
%package man-pages-ja
Summary: Japanese (ja) man pages for %{name}
BuildArch: noarch
Requires: %{name} = %{epoch}:%{version}-%{release}
%description man-pages-ja
%{name}-man-pages-ja contains Japanese (ja) man pages
for %{name}.
%package man-pages-uk
Summary: Ukrainian (uk) man pages for %{name}
BuildArch: noarch
Requires: %{name} = %{epoch}:%{version}-%{release}
%description man-pages-uk
%{name}-man-pages-uk contains Ukrainian (uk) man pages
for %{name}.
%prep
%if 0%{verify_tarball_signature}
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%endif
%autosetup -p1
%if 0%{patches_touch_autotools}
autoreconf -i
%endif
%build
%configure \
%if !0%{?rhel}
--with-extra="fedora=%{fedora},release=%{release}" \
%else
--with-extra="rhel=%{rhel},release=%{release}" \
%endif
make V=1 %{?_smp_mflags}
%install
%make_install
# Delete libtool crap.
find $RPM_BUILD_ROOT -name '*.la' -delete
# Virt-tools data directory. This contains symlinks to rhsrvany.exe
# and pnp_wait.exe which are satisfied by the dependency on
# mingw32-srvany.
mkdir -p $RPM_BUILD_ROOT%{_datadir}/virt-tools
pushd $RPM_BUILD_ROOT%{_datadir}/virt-tools
ln -sf ../../i686-w64-mingw32/sys-root/mingw/bin/rhsrvany.exe
ln -sf ../../i686-w64-mingw32/sys-root/mingw/bin/pnp_wait.exe
popd
%if 0%{?rhel}
# On RHEL remove virt-v2v-in-place.
rm $RPM_BUILD_ROOT%{_bindir}/virt-v2v-in-place
rm $RPM_BUILD_ROOT%{_mandir}/man1/virt-v2v-in-place.1*
%endif
# Find locale files.
%find_lang %{name}
%check
%ifarch x86_64
# Only run the tests with non-debug (ie. non-Rawhide) kernels.
# XXX This tests for any debug kernel installed.
if grep CONFIG_DEBUG_MUTEXES=y /lib/modules/*/config ; then
echo "Skipping tests because debug kernel is installed"
exit 0
fi
# Make sure we can see the debug messages (RHBZ#1230160).
export LIBGUESTFS_DEBUG=1
export LIBGUESTFS_TRACE=1
# The built in tests take a very long time to run under TCG (in Koji),
# so just perform a very simple conversion to check things are
# working.
for f in windows.img fedora.img; do
make -C test-data/phony-guests $f
if -s test-data/phony-guests/$f; then
./run virt-v2v -v -x -i disk test-data/phony-guests/$f -o null
fi
done
%endif
%files -f %{name}.lang
%license COPYING
%doc README
%{_bindir}/virt-v2v
%if !0%{?rhel}
%{_bindir}/virt-v2v-in-place
%endif
%{_bindir}/virt-v2v-inspector
%{_mandir}/man1/virt-v2v.1*
%{_mandir}/man1/virt-v2v-hacking.1*
%{_mandir}/man1/virt-v2v-input-vmware.1*
%{_mandir}/man1/virt-v2v-input-xen.1*
%if !0%{?rhel}
%{_mandir}/man1/virt-v2v-in-place.1*
%endif
%{_mandir}/man1/virt-v2v-inspector.1*
%{_mandir}/man1/virt-v2v-output-local.1*
%{_mandir}/man1/virt-v2v-output-openstack.1*
%{_mandir}/man1/virt-v2v-output-rhv.1*
%{_mandir}/man1/virt-v2v-release-notes-1.42.1*
%{_mandir}/man1/virt-v2v-release-notes-2.0.1*
%{_mandir}/man1/virt-v2v-release-notes-2.2.1*
%{_mandir}/man1/virt-v2v-support.1*
%{_datadir}/virt-tools
%files bash-completion
%license COPYING
%{_datadir}/bash-completion/completions/virt-v2v
%files man-pages-ja
%license COPYING
%lang(ja) %{_mandir}/ja/man1/*.1*
%files man-pages-uk
%license COPYING
%lang(uk) %{_mandir}/uk/man1/*.1*
%changelog
* Fri Apr 14 2023 MSVSphere Packaging Team <packager@msvsphere.ru> - 2.2.0-5
- Rebuilt for MSVSphere 9.2 beta
* Mon Feb 06 2023 Richard W.M. Jones <rjones@redhat.com> - 1:2.2.0-5
- Rebase to virt-v2v 2.2.0
resolves: rhbz#2135762
- Copy drivers for Windows 11, Windows 2019 & Windows 2022
resolves: rhbz#2149811
- Fix Description field for Windows >= 10 in -o rhv/vdsm modes
resolves: rhbz#2149863
- Fix UEFI fallback boot loader if broken
resolves: rhbz#2149629
- Document Windows system on Dynamic Disk is not supported (2140548 comment 5)
- Include the BOCHS DRM driver in the initial ram disk
resolves: rhbz#2131123
- windows_virtio: favor "fwcfg" over "qemufwcfg"
resolves: rhbz#2151752
- -o rhv-upload: set ovirt:id correctly
resolves: rhbz#2152465
- Enable the %%check tests
- -o kubevirt: Fix position of cpu field
resolves: rhbz#2162331
- -o kubevirt: Fix incorrect error message
resolves: rhbz#2162441
- -o kubevirt: Error if invalid guest name on target
resolves: rhbz#2162332
- -o kubevirt: Enable -oo compressed option
resolves: rhbz#2162444
- Remove -oo qemu-boot option completely
resolves: rhbz#2166565
- Remove warning when converting Rocky Linux
resolves: rhbz#2166618
- Fix kernel panic after converting Rocky Linux 9
resolves: rhbz#2166619
* Thu Aug 18 2022 Laszlo Ersek <lersek@redhat.com> - 1:2.0.7-6
- Install qemu-ga package during conversion
resolves: rhbz#2028764
* Wed Aug 10 2022 Richard W.M. Jones <rjones@redhat.com> - 1:2.0.7-5
- Remove LVM2 "devices file" during conversion
resolves: rhbz#2112801
- Add support for Zstandard compressed kernel modules
resolves: rhbz#2116811
* Fri Jul 29 2022 Laszlo Ersek <lersek@redhat.com> - 1:2.0.7-4
- Remove legacy crypto advice and replace with targeted mechanism
resolves: rhbz#2062360
* Mon Jul 25 2022 Laszlo Ersek <lersek@redhat.com> - 1:2.0.7-3
- relax qemu64 VCPU feature checking in the libvirt output
resolves rhbz#2107503
* Fri Jul 15 2022 Richard W.M. Jones <rjones@redhat.com> - 1:2.0.7-2
- Rebase to stable branch version 2.0.7
resolves: rhbz#2059287, rhbz#1658126, rhbz#1788823, rhbz#1854275
- Fix openssh-clients dependency
resolves: rhbz#2064178
- Fix security issue when running virt-v2v as root
resolves: rhbz#2066773
- Remove -o json mode
resolves: rhbz#2074026
- Allow conversion of guests with NVMe drives from VMX files
resolves: rhbz#2070530
- Cleanly reject guests with snapshots when using -it ssh
resolves: rhbz#1774386
- Document that vmx+ssh "-ip" auth doesn't cover ssh / scp shell commands
resolves: rhbz#1854275
- Fix conversion if swap partition isn't encrypted with root directory
resolves: rhbz#1658128
- Document permissions when importing OVA using RHV UI
resolves: rhbz#2039597
- Multiple fixes for -o qemu mode
resolves: rhbz#2074805
- Work around blocking bug in OpenStack
resolves: rhbz#2074801
- If multiple open-vm-tools packages are installed, remove all (2076436)
- For -o rhv-upload wait for VM creation task
resolves: rhbz#1985830
- For -i vmx add full support for SATA hard disks
resolves: rhbz#1883802
- Fix booting of RHEL 9.1 guests after conversion
resolves: rhbz#2076013
- Fix -o qemu warning
resolves: rhbz#2082603
- If listing RPM applications fails, rebuild DB and retry (2089623)
- Document -i vmx -it ssh percent encoding in ssh URIs
resolves: rhbz#1938954
- Document extra permissions needed for VMware 7 (1817050)
- Remove osprober devices left around by grub2
resolves: rhbz#2003503
- Add Requires python3 / platform-python
resolves: rhbz#2094779
- Fix CVE-2022-2211 Denial of Service in --key parameter
resolves: rhbz#2102719
- Add -oo compressed support
resolves: rhbz#2047660
- Limit the maximum of disks per guest
resolves: rhbz#2051564
- Add support for LUKS encrypted guests using Clevis & Tang
resolves: rhbz#1809453
- Fix remapping of nvme devices in /boot/grub2/device.map
resolves: rhbz#2101665
- Improve documentation of vmx+ssh and -ip option
resolves: rhbz#1854275
- Fix race condition when unmounting in -o rhv mode (1953286#c26)
* Tue Feb 15 2022 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.99-1
- Rebase to upstream 1.45.99.
- Add check for sufficient free space in the host
resolves: rhbz#2051394
- Update documentation of -ip for conversions from VMware over HTTPS
related: rhbz#1960087
- -o rhv-upload: Keep connections alive
resolves: rhbz#2032324
- -o rhv-upload: Improve conversion performance
resolves: rhbz#2039255
- -o rhv-upload: Replace -oo rhv-direct with -oo rhv-proxy
resolves: rhbz#2033096
- Fix log line wrapping making log parsing difficult (1820221)
* Wed Feb 2 2022 Laszlo Ersek <lersek@redhat.com> - 1:1.45.97-4
- v2v import from vCenter fails when using interactive password because
cookie-script tries to be interactive
(pick commit 8abc07a8589a)
resolves: rhbz#1960087
- model='virtio-transitional' is wrongly added when converting windows
guest to local by rhel9 v2v
(pick commit range commit range 8abc07a8589a..cacedec64072)
resolves: rhbz#2043333
* Wed Jan 26 2022 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.97-3
- Rebase to upstream 1.45.97.
resolves: rhbz#2011713
- Add virtio-transitional for older guests when converting to q35
resolves: rhbz#1942325
- Fix -o rhv mode
resolves: rhbz#2027598
- input: xen: Fix assertion error when importing from remote block device
resolves: rhbz#2041852
- output: -o json: Allow -oo (output options) to work
resolves: rhbz#2041850
- Fix virt-v2v hang when given incorrect vpx:// URL
resolves: rhbz#2041886
- Fix hang when converting with virt-p2v
resolves: rhbz#2044911
- Send nbdinfo debugging information to stderr
resolves: rhbz#2044922
- Explicitly require platform-python
resolves: rhbz#2046178
* Thu Dec 23 2021 Laszlo Ersek <lersek@redhat.com> - 1:1.45.95-3
- output_rhv: restrict block status collection to the old RHV output
- Rebase from upstream commit 702a511b7f33 to direct child commit 07b12fe99fb9
resolves: rhbz#2034240
* Sat Dec 18 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.95-2
- Rebase to upstream 1.45.95.
- Change video type to VGA (instead of QXL).
- Remove --in-place support properly.
- Remove -o glance support properly.
- Fix quoting with openssh >= 8.7 (RHEL) / 8.8
- Fix q35 error "IDE controllers are unsupported"
- Add virt-v2v and libvirt version in debug output
- Fix -o rhv output mode showing no guests listed
resolves: rhbz#2011713, rhbz#1961107, rhbz#2027673,
rhbz#1637857, rhbz#2032112, rhbz#2027598
* Wed Aug 18 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.3-3
- Fix conversion of Windows BitLocker guests
resolves: rhbz#1994984
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 1:1.45.3-2
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Fri Aug 06 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.3-1
- New upstream development version 1.45.3.
- Rebase RHEL patches.
resolves: rhbz#1950634
* Wed Jun 30 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.2-1
- New upstream development version 1.45.2.
- Remove --debug-overlays and --print-estimate options.
- Remove -o glance option on RHEL 9 (RHBZ#1977539).
- Remove support for RHEV-APT (RHBZ#1945549).
* Wed Jun 16 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.1-1.el9.1
- New upstream development version 1.45.1.
- Require virtio-win on RHEL (RHBZ#1972644).
- v2v-test-harness, virt-v2v-copy-to-local have been removed upstream.
* Thu Jun 10 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.44.0-2
- nbdkit-vddk-plugin dep only exists on x86-64.
* Mon May 10 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.44.0-1.el9.1
- Rebuild in RHEL 9 against libguestfs 1.45.5
resolves: rhbz#1959042
* Fri Apr 30 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.44.0-1
- New upstream stable branch version 1.44.0.
* Wed Apr 14 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.43.5-1
- New upstream version 1.43.5.
* Thu Apr 01 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.43.4-5
- Add upstream patch to depend on xorriso.
- Change libguestfs-tools-c -> guestfs-tools.
* Tue Mar 30 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.43.4-3
- Add downstream (RHEL-only) patches (RHBZ#1931724).
* Mon Mar 8 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.43.4-2
- Bump and rebuild for ocaml-gettext update.
* Wed Mar 3 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.43.4-1
- New upstream version 1.43.4.
* Tue Mar 2 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.43.3-4
- OCaml 4.12.0 build
* Tue Mar 2 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.43.3-3
- Add fix for OCaml 4.12.
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.43.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jan 05 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.43.3-1
- New upstream version 1.43.3.
* Thu Dec 03 2020 Richard W.M. Jones <rjones@redhat.com> - 1:1.43.2-3
- Drop obsolete virt-v2v-copy-to-local tool for Fedora 34 and RHEL 9.
* Wed Dec 02 2020 Richard W.M. Jones <rjones@redhat.com> - 1:1.43.2-2
- Unify Fedora and RHEL spec files.
* Tue Dec 01 2020 Richard W.M. Jones <rjones@redhat.com> - 1:1.43.2-1
- New upstream version 1.43.2.
* Tue Sep 01 2020 Richard W.M. Jones <rjones@redhat.com> - 1:1.43.1-5
- OCaml 4.11.1 rebuild
* Fri Aug 21 2020 Richard W.M. Jones <rjones@redhat.com> - 1:1.43.1-4
- OCaml 4.11.0 rebuild
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.43.1-3
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.43.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 06 2020 Richard W.M. Jones <rjones@redhat.com> - 1.43.1-1
- New development branch 1.43.
* Wed May 06 2020 Richard W.M. Jones <rjones@redhat.com> - 1.42.0-4
- Re-add Epoch. Forgotten when we split this package from libguestfs.
* Tue May 05 2020 Richard W.M. Jones <rjones@redhat.com> - 1.42.0-2
- OCaml 4.11.0+dev2-2020-04-22 rebuild
* Thu Apr 16 2020 Richard W.M. Jones <rjones@redhat.com> - 1.42.0-1
- New upstream stable version 1.42.0.
* Sat Apr 04 2020 Richard W.M. Jones <rjones@redhat.com> - 1.41.8-11
- Update all OCaml dependencies for RPM 4.16.
* Thu Feb 27 2020 Richard W.M. Jones <rjones@redhat.com> - 1.41.8-10
- OCaml 4.10.0 final.
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.41.8-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sun Jan 19 2020 Richard W.M. Jones <rjones@redhat.com> - 1.41.8-8
- Bump release and rebuild.
* Sun Jan 19 2020 Richard W.M. Jones <rjones@redhat.com> - 1.41.8-7
- Bump release and rebuild.
* Sun Jan 19 2020 Richard W.M. Jones <rjones@redhat.com> - 1.41.8-6
- Bump release and rebuild.
* Sun Jan 19 2020 Richard W.M. Jones <rjones@redhat.com> - 1.41.8-5
- OCaml 4.10.0+beta1 rebuild.
- Use nbdkit-python-plugin (now all Python 3 in Rawhide).
* Wed Nov 27 2019 Richard W.M. Jones <rjones@redhat.com> - 1.41.8-4
- Use license instead of doc for COPYING file.
- Include license in all subpackages.
- Use gpgverify macro.
- Don't own bash-completion directory because we Require the
bash-completion package which owns it already.
* Tue Nov 26 2019 Richard W.M. Jones <rjones@redhat.com> - 1.41.8-2
- Fix permissions on .sig file.
- Disable -oa preallocated test since it fails in reviewers mock environment.
* Fri Nov 15 2019 Richard W.M. Jones <rjones@redhat.com> - 1.41.8-1
- Initial release of separate virt-v2v program, was part of libguestfs.
Loading…
Cancel
Save