Compare commits

..

17 commits

Author SHA1 Message Date
Richard W.M. Jones
86f63972e2 New upstream stable branch version 1.44.2 2021-11-25 17:56:08 +00:00
Richard W.M. Jones
ec03e356f9 New upstream stable branch version 1.44.1. 2021-11-23 10:56:38 +00:00
Richard W.M. Jones
50834669e6 nbdkit-vddk-plugin dep only exists on x86-64
(cherry picked from commit 41e9bece4c)
2021-06-10 09:06:00 +01:00
Richard W.M. Jones
0624448439 Change Recommends -> Requires for libguestfs-xfs.
Just using Recommends is insufficient to get RHEL to pull in
libguestfs-xfs as a dependency.

Thanks: Josh Boyer
(cherry picked from commit 7599291a16)
2021-06-10 09:05:57 +01:00
Richard W.M. Jones
7ad78afc40 Recommend libguestfs-xfs
It is the default filesystem on Fedora and RHEL so usually required in
order to convert those guests.

(cherry picked from commit 6e9ced10a5)
2021-06-10 09:05:52 +01:00
Richard W.M. Jones
241e33463d New upstream stable branch version 1.44.0.
(cherry picked from commit 7dd7c798f3)
2021-04-30 15:54:32 +01:00
Richard W.M. Jones
3be3fed23d Update RHEL patches.
(cherry picked from commit 4ba366e0fb)
2021-04-30 15:54:27 +01:00
Richard W.M. Jones
392ac337b6 New upstream version 1.43.5.
(cherry picked from commit 989dd6b636)
2021-04-30 15:54:22 +01:00
Richard W.M. Jones
02d88ce8e3 Fix incorrect versions in some %changelog entries. 2021-04-01 14:36:00 +01:00
Richard W.M. Jones
3dd2f548a0 Change libguestfs-tools-c -> guestfs-tools.
Thanks: Ming Xie
(cherry picked from commit d81b7720bf)
2021-04-01 14:35:29 +01:00
Richard W.M. Jones
ed8b8dfab4 Previous patch touches autotools.
(cherry picked from commit 3b8b4a2357)
2021-04-01 09:53:26 +01:00
Richard W.M. Jones
f6d223fb64 Add upstream patch to depend on xorriso.
(cherry picked from commit 4c68cfae20)
2021-04-01 09:41:41 +01:00
Richard W.M. Jones
e602b312d3 Add BR xorriso.
This will be required by virt-v2v >= 1.43.5.  Previously genisoimage
was being implicitly pulled in (via libguestfs) but recent changes to
libguestfs mean that this will no longer happen.

(cherry picked from commit bed8938b69)
2021-04-01 09:40:53 +01:00
Richard W.M. Jones
cf9d64fbf6 Add downstream (RHEL-only) patches (RHBZ#1931724).
(cherry picked from commit 6be9aa8e5f)
2021-04-01 09:40:46 +01:00
Richard W.M. Jones
6d77fcae47 Make ocaml-ounit dependency conditional on !RHEL. 2021-03-18 13:28:29 +00:00
Richard W.M. Jones
35c632ec40 Make ocaml-ounit dependency conditional on !RHEL.
It's only needed to run some unit tests.

(cherry picked from commit 65fcab520f)
2021-03-18 13:26:28 +00:00
Richard W.M. Jones
151741d8c0 Bump and rebuild for ocaml-gettext update. 2021-03-08 12:25:36 +00:00
15 changed files with 925 additions and 611 deletions

2
.gitignore vendored
View file

@ -1,5 +1,3 @@
*~
# RPM target directories
/x86_64

View file

@ -0,0 +1,33 @@
From 21781d79e323f7eaee7deb6981ecb783e35a39af 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 1/9] RHEL: v2v: Select correct qemu binary for -o qemu mode
(RHBZ#1147313).
RHEL does not have qemu-system-x86_64 (etc), and in addition the
qemu binary is located in /usr/libexec. Encode the path to this
binary directly in the script.
Note that we don't support people running qemu directly like this.
It's just for quick testing of converted VMs, and to help us with
support cases.
---
v2v/output_qemu.ml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/v2v/output_qemu.ml b/v2v/output_qemu.ml
index d6d70c23..490576e9 100644
--- a/v2v/output_qemu.ml
+++ b/v2v/output_qemu.ml
@@ -81,7 +81,7 @@ object
* module deals with shell and qemu comma quoting.
*)
let cmd = Qemuopts.create () in
- Qemuopts.set_binary_by_arch cmd (Some guestcaps.gcaps_arch);
+ Qemuopts.set_binary cmd "/usr/libexec/qemu-kvm";
let flag = Qemuopts.flag cmd
and arg = Qemuopts.arg cmd
--
2.30.1

View file

@ -0,0 +1,105 @@
From 05de88f9fe2415664adff793351f916cc6a01485 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 2/9] RHEL: v2v: Disable the --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 | 13 -------------
v2v/cmdline.ml | 3 ++-
3 files changed, 4 insertions(+), 18 deletions(-)
diff --git a/docs/virt-v2v-output-local.pod b/docs/virt-v2v-output-local.pod
index a5f155cb..3a2e6238 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 json -os DIRECTORY
[-oo json-disks-pattern=PATTERN]
@@ -50,12 +50,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 json -os> C<DIRECTORY>
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
index fb8b6a5d..924e1d2d 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 --qemu-boot
-
=head1 OPTIONS
=over 4
@@ -537,9 +532,6 @@ This is similar to I<-o local>, except that a shell script is written
which you can use to boot the guest in qemu. The converted disks and
shell script are written to the directory specified by I<-os>.
-When using this output mode, you can also specify the I<--qemu-boot>
-option which boots the guest under qemu immediately.
-
=item B<-o> B<rhev>
This is the same as I<-o rhv>.
@@ -815,11 +807,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>
-
-When using I<-o qemu> only, this boots the guest immediately after
-virt-v2v finishes.
-
=item B<-q>
=item B<--quiet>
diff --git a/v2v/cmdline.ml b/v2v/cmdline.ml
index 3b74f307..df69e2e0 100644
--- a/v2v/cmdline.ml
+++ b/v2v/cmdline.ml
@@ -284,7 +284,6 @@ let parse_cmdline () =
s_"Estimate size of source and stop";
[ L"print-source" ], Getopt.Set print_source,
s_"Print source and stop";
- [ L"qemu-boot" ], Getopt.Set qemu_boot, s_"Boot in qemu (-o qemu only)";
[ L"root" ], Getopt.String ("ask|... ", set_root_choice),
s_"How to choose root filesystem";
[ L"vddk-config" ], Getopt.String ("filename", set_input_option_compat "vddk-config"),
@@ -668,6 +667,8 @@ read the man page virt-v2v(1).
| Some d when not (is_directory d) ->
error (f_"-os %s: output directory does not exist or is not a directory") d
| Some d -> d in
+ if qemu_boot then
+ error (f_"-o qemu: the --qemu-boot option cannot be used in RHEL");
Output_qemu.output_qemu os qemu_boot,
output_format, output_alloc
--
2.30.1

View file

@ -0,0 +1,34 @@
From f3c0c18b122b55e3f94b3bb757addaf18c2c5b6f 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 3/9] RHEL: Fix list of supported sound cards to match RHEL
qemu (RHBZ#1176493).
---
v2v/utils.ml | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/v2v/utils.ml b/v2v/utils.ml
index 7136e4be..a6c359f0 100644
--- a/v2v/utils.ml
+++ b/v2v/utils.ml
@@ -59,13 +59,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 =
--
2.30.1

View file

@ -0,0 +1,79 @@
From 2a4386e45aa52ebfdd501a8189458e2a6bad4708 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 4/9] RHEL: Fix tests for libguestfs-winsupport.
It doesn't let us use guestfish for arbitrary Windows edits.
---
test-data/phony-guests/make-windows-img.sh | 1 +
tests/test-v2v-virtio-win-iso.sh | 8 +++++++-
tests/test-v2v-windows-conversion.sh | 8 +++++++-
3 files changed, 15 insertions(+), 2 deletions(-)
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 6e99f0f1..a8e572c5 100755
--- a/tests/test-v2v-virtio-win-iso.sh
+++ b/tests/test-v2v-virtio-win-iso.sh
@@ -79,6 +79,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
@@ -91,7 +97,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"
rm -r $d
diff --git a/tests/test-v2v-windows-conversion.sh b/tests/test-v2v-windows-conversion.sh
index f1da222a..ff94fe39 100755
--- a/tests/test-v2v-windows-conversion.sh
+++ b/tests/test-v2v-windows-conversion.sh
@@ -73,6 +73,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
@@ -85,7 +91,7 @@ for drv in netkvm qxl 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
--
2.30.1

View file

@ -0,0 +1,288 @@
From 1d74df726204bb9c6220ccd0505c8b63db10f833 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 14 Jan 2016 11:53:42 -0500
Subject: [PATCH 5/9] RHEL: v2v: Disable the virt-v2v --in-place option.
This disables the virt-v2v --in-place option which we do not
wish to support in RHEL.
(See commit d0069559a939e47e5f29973ed9a69a13f0b58301).
---
docs/test-v2v-docs.sh | 1 +
docs/virt-v2v.pod | 50 +----------------
tests/Makefile.am | 2 -
tests/test-v2v-in-place.sh | 108 -------------------------------------
v2v/cmdline.ml | 8 +--
5 files changed, 8 insertions(+), 161 deletions(-)
delete mode 100755 tests/test-v2v-in-place.sh
diff --git a/docs/test-v2v-docs.sh b/docs/test-v2v-docs.sh
index dd2b1233..8fef46cc 100755
--- a/docs/test-v2v-docs.sh
+++ b/docs/test-v2v-docs.sh
@@ -27,6 +27,7 @@ $top_srcdir/podcheck.pl virt-v2v.pod virt-v2v \
--debug-overlay,\
--ic,\
--if,\
+--in-place,\
--io,\
--ip,\
--it,\
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
index 924e1d2d..4016c724 100644
--- a/docs/virt-v2v.pod
+++ b/docs/virt-v2v.pod
@@ -8,10 +8,6 @@ virt-v2v - Convert a guest to use KVM
[-o mode] [other -o* options]
[guest|filename]
- virt-v2v --in-place
- [-i mode] [other -i* options]
- [guest|filename]
-
=head1 DESCRIPTION
Virt-v2v converts a single guest from a foreign hypervisor to run on
@@ -39,9 +35,6 @@ these sides of virt-v2v are documented separately in this manual.
Virt-v2v normally copies from the input to the output, called "copying
mode". In this case the source guest is always left unchanged.
-In-place conversion (I<--in-place>) only uses the I<-i*> options and
-modifies the source guest in-place. (See L</In-place conversion>
-below.)
=head2 Other virt-v2v topics
@@ -301,20 +294,6 @@ For I<-i disk> only, this specifies the format of the input disk
image. For other input methods you should specify the input
format in the metadata.
-=item B<--in-place>
-
-Do not create an output virtual machine in the target hypervisor.
-Instead, adjust the guest OS in the source VM to run in the input
-hypervisor.
-
-This mode is meant for integration with other toolsets, which take the
-responsibility of converting the VM configuration, providing for
-rollback in case of errors, transforming the storage, etc.
-
-See L</In-place conversion> below.
-
-Conflicts with all I<-o *> options.
-
=item B<-io> OPTION=VALUE
Set input option(s) related to the current input mode or transport.
@@ -1338,8 +1317,8 @@ have at least 100 available inodes.
=head3 Minimum free space check in the host
You must have sufficient free space in the host directory used to
-store large temporary overlays (except in I<--in-place> mode). To
-find out which directory this is, use:
+store large temporary overlays. To find out
+which directory this is, use:
$ df -h "`guestfish get-cachedir`"
Filesystem Size Used Avail Use% Mounted on
@@ -1477,31 +1456,6 @@ that instead.
</devices>
</domain>
-=head2 In-place conversion
-
-It is also possible to use virt-v2v in scenarios where a foreign VM
-has already been imported into a KVM-based hypervisor, but still needs
-adjustments in the guest to make it run in the new virtual hardware.
-
-In that case it is assumed that a third-party tool has created the
-target VM in the supported KVM-based hypervisor based on the source VM
-configuration and contents, but using virtual devices more appropriate
-for KVM (e.g. virtio storage and network, etc.).
-
-Then, to make the guest OS boot and run in the changed environment,
-one can use:
-
- virt-v2v -ic qemu:///system converted_vm --in-place
-
-Virt-v2v will analyze the configuration of C<converted_vm> in the
-C<qemu:///system> libvirt instance, and apply various fixups to the
-guest OS configuration to make it match the VM configuration. This
-may include installing virtio drivers, configuring the bootloader, the
-mountpoints, the network interfaces, and so on.
-
-Should an error occur during the operation, virt-v2v exits with an
-error code leaving the VM in an undefined state.
-
=head2 Machine readable output
The I<--machine-readable> option can be used to make the output more
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 871dc3c9..eee4e1af 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -76,7 +76,6 @@ TESTS = \
test-v2v-floppy.sh \
test-v2v-i-disk.sh \
test-v2v-i-ova.sh \
- test-v2v-in-place.sh \
test-v2v-mac.sh \
test-v2v-machine-readable.sh \
test-v2v-networks-and-bridges.sh \
@@ -225,7 +224,6 @@ EXTRA_DIST += \
test-v2v-i-vmx-3.vmx \
test-v2v-i-vmx-4.vmx \
test-v2v-i-vmx-5.vmx \
- test-v2v-in-place.sh \
test-v2v-it-vddk-io-query.sh \
test-v2v-machine-readable.sh \
test-v2v-mac-expected.xml \
diff --git a/tests/test-v2v-in-place.sh b/tests/test-v2v-in-place.sh
deleted file mode 100755
index 6f7d78f3..00000000
--- a/tests/test-v2v-in-place.sh
+++ /dev/null
@@ -1,108 +0,0 @@
-#!/bin/bash -
-# libguestfs virt-v2v test script
-# Copyright (C) 2014 Red Hat Inc.
-# Copyright (C) 2015 Parallels IP Holdings GmbH.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-# Test --in-place.
-
-unset CDPATH
-export LANG=C
-set -e
-
-$TEST_FUNCTIONS
-skip_if_skipped
-skip_if_backend uml
-skip_unless_phony_guest windows.img
-
-img_base="$abs_top_builddir/test-data/phony-guests/windows.img"
-
-export VIRT_TOOLS_DATA_DIR="$top_srcdir/test-data/fake-virt-tools"
-export VIRTIO_WIN="$top_srcdir/test-data/fake-virtio-win"
-
-d=$PWD/test-v2v-in-place.d
-rm -rf $d
-mkdir $d
-
-img="$d/test.qcow2"
-rm -f $img
-qemu-img create -f qcow2 -b $img_base -o compat=1.1,backing_fmt=raw $img
-md5="$(do_md5 $img_base)"
-
-libvirt_xml="$d/test.xml"
-rm -f $libvirt_xml
-n=windows-overlay
-cat > $libvirt_xml <<EOF
-<node>
- <domain type='test'>
- <name>$n</name>
- <memory>1048576</memory>
- <os>
- <type>hvm</type>
- <boot dev='hd'/>
- </os>
- <devices>
- <disk type='file' device='disk'>
- <driver name='qemu' type='qcow2'/>
- <source file='$img'/>
- <target dev='vda' bus='virtio'/>
- </disk>
- </devices>
- </domain>
-</node>
-EOF
-
-$VG virt-v2v --debug-gc -i libvirt -ic "test://$libvirt_xml" $n --in-place
-
-# Test that the drivers have been copied over into the guest
-script="$d/test.fish"
-expected="$d/expected"
-response="$d/response"
-
-mktest ()
-{
- local cmd="$1" exp="$2"
-
- echo "echo '$cmd'" >> "$script"
- echo "$cmd" >> "$expected"
-
- echo "$cmd" >> "$script"
- echo "$exp" >> "$expected"
-}
-
-:> "$script"
-:> "$expected"
-
-firstboot_dir="/Program Files/Guestfs/Firstboot"
-mktest "is-dir \"$firstboot_dir\"" true
-mktest "is-file \"$firstboot_dir/firstboot.bat\"" true
-mktest "is-dir \"$firstboot_dir/scripts\"" true
-virtio_dir="/Windows/Drivers/VirtIO"
-mktest "is-dir \"$virtio_dir\"" true
-for drv in netkvm qxl vioscsi viostor; do
- for sfx in cat inf sys; do
- mktest "is-file \"$virtio_dir/$drv.$sfx\"" true
- done
-done
-
-guestfish --ro -a "$img" -i < "$script" > "$response"
-diff -u "$expected" "$response"
-
-# Test the base image remained untouched
-test "$md5" = "$(do_md5 $img_base)"
-
-# Clean up.
-rm -r $d
diff --git a/v2v/cmdline.ml b/v2v/cmdline.ml
index df69e2e0..7b79d462 100644
--- a/v2v/cmdline.ml
+++ b/v2v/cmdline.ml
@@ -252,8 +252,7 @@ let parse_cmdline () =
s_"Use password from file to connect to input hypervisor";
[ M"it" ], Getopt.String ("transport", set_string_option_once "-it" input_transport),
s_"Input transport";
- [ L"in-place" ], Getopt.Set in_place,
- s_"Only tune the guest in the input VM";
+ [ L"in-place" ], Getopt.Set in_place, Getopt.hidden_option_description;
[ L"mac" ], Getopt.String ("mac:network|bridge|ip:out", add_mac),
s_"Map NIC to network or bridge or assign static IP";
[ S 'n'; L"network" ], Getopt.String ("in:out", add_network),
@@ -396,7 +395,6 @@ read the man page virt-v2v(1).
pr "vddk\n";
pr "colours-option\n";
pr "vdsm-compat-option\n";
- pr "in-place\n";
pr "io/oo\n";
pr "mac-option\n";
pr "bandwidth-option\n";
@@ -572,6 +570,10 @@ read the man page virt-v2v(1).
error (f_"only -it ssh can be used here") in
Input_vmx.input_vmx input_password input_transport arg in
+ (* Prevent use of --in-place option in RHEL. *)
+ if in_place then
+ error (f_"--in-place cannot be used in RHEL");
+
(* Common error message. *)
let error_option_cannot_be_used_in_output_mode mode opt =
error (f_"-o %s: %s option cannot be used in this output mode") mode opt
--
2.30.1

View file

@ -0,0 +1,26 @@
From bf5b711b261a6a577a441235db68ad58b20711bd 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 6/9] RHEL: v2v: -i disk: force VNC as display (RHBZ#1372671)
The SDL output mode is not supported in RHEL's qemu-kvm.
---
v2v/input_disk.ml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/v2v/input_disk.ml b/v2v/input_disk.ml
index d146e84c..4e403003 100644
--- a/v2v/input_disk.ml
+++ b/v2v/input_disk.ml
@@ -89,7 +89,7 @@ class input_disk input_format disk = object
s_features = [ "acpi"; "apic"; "pae" ];
s_firmware = UnknownFirmware; (* causes virt-v2v to autodetect *)
s_display =
- Some { s_display_type = Window; s_keymap = None; s_password = None;
+ Some { s_display_type = VNC; s_keymap = None; s_password = None;
s_listen = LNoListen; s_port = None };
s_video = None;
s_sound = None;
--
2.30.1

View file

@ -0,0 +1,26 @@
From d3eece67059c836c88f6001a5a928a3063a1aaa2 Mon Sep 17 00:00:00 2001
From: Pino Toscano <ptoscano@redhat.com>
Date: Wed, 8 Mar 2017 11:03:40 +0100
Subject: [PATCH 7/9] 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 3b3cf0f0..32da2848 100644
--- a/docs/virt-v2v-input-xen.pod
+++ b/docs/virt-v2v-input-xen.pod
@@ -12,7 +12,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
--
2.30.1

View file

@ -0,0 +1,89 @@
From fba7d8bf5dad6fce2a0122570f6b69e0db9ce697 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 14 May 2018 10:16:58 +0100
Subject: [PATCH 8/9] RHEL: v2v: rhv-upload: Remove restriction on -oa sparse.
See: https://bugzilla.redhat.com/show_bug.cgi?id=1565681
and the v2v-devel private thread "Do we already support migration using FC?"
---
docs/virt-v2v-output-rhv.pod | 8 +-------
v2v/output_rhv_upload.ml | 10 +---------
v2v/rhv-upload-plugin.py | 4 +---
3 files changed, 3 insertions(+), 19 deletions(-)
diff --git a/docs/virt-v2v-output-rhv.pod b/docs/virt-v2v-output-rhv.pod
index 7c9b478a..36c3676f 100644
--- a/docs/virt-v2v-output-rhv.pod
+++ b/docs/virt-v2v-output-rhv.pod
@@ -5,7 +5,7 @@ virt-v2v-output-rhv - Using virt-v2v to convert guests to oVirt or RHV
=head1 SYNOPSIS
virt-v2v [-i* options] -o rhv-upload [-oc ENGINE_URL] -os STORAGE
- [-op PASSWORD] [-of raw]
+ [-op PASSWORD]
[-oo rhv-cafile=FILE]
[-oo rhv-cluster=CLUSTER]
[-oo rhv-direct]
@@ -79,12 +79,6 @@ username is not specified then virt-v2v defaults to using
C<admin@internal> which is the typical superuser account for oVirt
instances.
-=item I<-of raw>
-
-Currently you must use I<-of raw> and you cannot use I<-oa preallocated>.
-
-These restrictions will be loosened in a future version.
-
=item I<-op> F<password-file>
A file containing a password to be used when connecting to the oVirt
diff --git a/v2v/output_rhv_upload.ml b/v2v/output_rhv_upload.ml
index dbef7011..27925d7d 100644
--- a/v2v/output_rhv_upload.ml
+++ b/v2v/output_rhv_upload.ml
@@ -135,17 +135,10 @@ let error_unless_nbdkit_compiled_with_selinux config =
error (f_"nbdkit was compiled without SELinux support. You will have to recompile nbdkit with libselinux-devel installed, or else set SELinux to Permissive mode while doing the conversion.")
)
-(* Output sparse must be sparse. We may be able to
- * lift this limitation in future, but it requires changes on the
- * RHV side. See TODO file for details. XXX
- *)
+(* Output format must be raw. *)
let error_current_limitation required_param =
error (f_"rhv-upload: currently you must use %s. This restriction will be loosened in a future version.") required_param
-let error_unless_output_alloc_sparse output_alloc =
- if output_alloc <> Sparse then
- error_current_limitation "-oa sparse"
-
let json_optstring = function
| Some s -> JSON.String s
| None -> JSON.Null
@@ -253,7 +246,6 @@ object
error_unless_nbdkit_min_version config;
error_unless_nbdkit_python_plugin_working plugin_script;
error_unless_nbdkit_compiled_with_selinux config;
- error_unless_output_alloc_sparse output_alloc;
(* Python code prechecks. *)
let precheck_fn = tmpdir // "v2vprecheck.json" in
diff --git a/v2v/rhv-upload-plugin.py b/v2v/rhv-upload-plugin.py
index 2b0178a9..d817d915 100644
--- a/v2v/rhv-upload-plugin.py
+++ b/v2v/rhv-upload-plugin.py
@@ -491,10 +491,8 @@ def create_disk(connection):
# size, based on qemu-img measure of the overlay.
initial_size=params['disk_size'],
provisioned_size=params['disk_size'],
- # XXX Ignores params['output_sparse'].
- # Handling this properly will be complex, see:
# https://www.redhat.com/archives/libguestfs/2018-March/msg00177.html
- sparse=True,
+ sparse=params['output_sparse'],
storage_domains=[
types.StorageDomain(
name=params['output_storage'],
--
2.30.1

View file

@ -0,0 +1,127 @@
From b003d781dacf76572e11fad17ea699a99a324f54 Mon Sep 17 00:00:00 2001
From: Pino Toscano <ptoscano@redhat.com>
Date: Tue, 26 Mar 2019 09:42:25 +0100
Subject: [PATCH 9/9] 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
--
2.30.1

View file

@ -1,7 +0,0 @@
--- !Policy
product_versions:
- rhel-*
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
- !PassingTestCaseRule {test_case_name: libvirt-ci.v2v.brew-build.gating.x86_64.tier1.functional}

View file

@ -1,2 +1,2 @@
SHA512 (virt-v2v-2.10.0.tar.gz) = 035f2181c1cc5f482e96d3e21b513b95939ca224d71ac6ad938842d5af5d60ef07db1600d2ccb609dc2042b1c74088f6f39ffbe595cb51e80278ecb50c314515
SHA512 (virt-v2v-2.10.0.tar.gz.sig) = cb6301224ef00577a9cd0fc8fa504e583eb447341bd3849e6854f2d78ae72ca39bca68b70f30efd3d1d64480acf161c5e4bc9ba943595ef4dd2a654c3268aa66
SHA512 (virt-v2v-1.44.2.tar.gz) = 60c8f6cb137de4bf9133342498278e95678cbab2881d514ef37b77a220daaf861cf1d68c8f33e36b0c815b6ac0876357a3ea776aa87399093bd2fc478b4c8b73
SHA512 (virt-v2v-1.44.2.tar.gz.sig) = 12766b2484d6d2b2ff5ddb5379b3681befc14ecd6a6eb1bb7d24466be72c9fd3a24e996493c88797ed676c396855a94d254e5f4f5c77319d3cd97b874e009b5b

View file

@ -1,13 +0,0 @@
#!/bin/bash -
set -e
set -x
# This only makes sure that virt-v2v isn't totally broken.
# virt-v2v is extensively tested on real guests by the QE
# team using a mix of automated and manual testing.
# Fix libvirt.
systemctl restart virtqemud virtsecretd virtstoraged virtnetworkd
virt-builder fedora-30
virt-v2v -i disk fedora-30.img -o null

View file

@ -1,13 +0,0 @@
- hosts: localhost
roles:
- role: standard-test-basic
tags:
- classic
required_packages:
- virt-v2v
- guestfs-tools
- libvirt-daemon-kvm
tests:
- simple:
dir: .
run: ./basic-test.sh

View file

@ -1,54 +1,24 @@
# If we should verify tarball signature with GPGv2.
%global verify_tarball_signature 1
# The source directory.
%global source_directory 2.10-stable
# If there are patches which touch autotools files, set this to 1.
%if !0%{?rhel}
# Optional features enabled in this build for Fedora.
%global with_block_driver 1
%global with_glance 1
%global with_ovirt 1
%global with_xen 1
# 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}
# Version extra string for Fedora.
%global version_extra fedora=%{fedora},release=%{release}
%global patches_touch_autotools %{nil}
%else
# Optional features enabled in this build for RHEL.
%global with_block_driver 0
%global with_glance 0
%global with_ovirt 0
%global with_xen 0
# 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
# Version extra string for RHEL.
%global version_extra rhel=%{rhel},release=%{release}
# On RHEL the downstream patches always touch autotools files.
%global patches_touch_autotools 1
%endif
# The source directory.
%global source_directory 1.44-stable
Name: virt-v2v
Epoch: 1
Version: 2.10.0
Version: 1.44.2
Release: 1%{?dist}
Summary: Convert a virtual machine to run on KVM
License: GPL-2.0-or-later AND LGPL-2.0-or-later
License: GPLv2+
URL: https://github.com/libguestfs/virt-v2v
Source0: http://download.libguestfs.org/virt-v2v/%{source_directory}/%{name}-%{version}.tar.gz
@ -61,31 +31,56 @@ Source2: libguestfs.keyring
# Maintainer script which helps with handling patches.
Source3: copy-patches.sh
%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
# Downstream (RHEL-only) patches.
%if 0%{?rhel}
Patch9001: 0001-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch
Patch9002: 0002-RHEL-v2v-Disable-the-qemu-boot-option-RHBZ-1147313.patch
Patch9003: 0003-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch
Patch9004: 0004-RHEL-Fix-tests-for-libguestfs-winsupport.patch
Patch9005: 0005-RHEL-v2v-Disable-the-virt-v2v-in-place-option.patch
Patch9006: 0006-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch
Patch9007: 0007-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch
Patch9008: 0008-RHEL-v2v-rhv-upload-Remove-restriction-on-oa-sparse.patch
Patch9009: 0009-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch
%endif
%if 0%{patches_touch_autotools}
BuildRequires: autoconf, automake, libtool
%endif
BuildRequires: make
BuildRequires: /usr/bin/pod2man
BuildRequires: perl(Pod::Usage)
BuildRequires: perl(Getopt::Long)
BuildRequires: perl(IPC::Run3)
BuildRequires: gcc
BuildRequires: ocaml >= 4.08
BuildRequires: ocaml >= 4.01
BuildRequires: libguestfs-devel >= 1:1.42
BuildRequires: libguestfs-devel >= 1:1.58.0-1
BuildRequires: augeas-devel
BuildRequires: bash-completion
%if 0%{?fedora} || 0%{?rhel} >= 11
BuildRequires: bash-completion-devel
%endif
BuildRequires: file
BuildRequires: file-devel
BuildRequires: gettext-devel
BuildRequires: json-c-devel
BuildRequires: libnbd-devel >= 1.24
BuildRequires: jansson-devel
BuildRequires: libosinfo-devel
BuildRequires: libvirt-daemon-kvm
BuildRequires: libvirt-devel
BuildRequires: libxcrypt-devel
BuildRequires: libvirt-daemon-kvm
BuildRequires: libxml2-devel
BuildRequires: pcre2-devel
BuildRequires: pcre-devel
BuildRequires: perl(Sys::Guestfs)
BuildRequires: po4a
BuildRequires: /usr/bin/virsh
@ -93,36 +88,25 @@ 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
# These are for running our limited test.
BuildRequires: glibc-utils
BuildRequires: %{_bindir}/qemu-nbd
BuildRequires: %{_bindir}/nbdcopy
BuildRequires: %{_bindir}/nbdinfo
BuildRequires: nbdkit-server >= 1.46.1
BuildRequires: nbdkit-file-plugin
BuildRequires: nbdkit-null-plugin
BuildRequires: nbdkit-cow-filter
BuildRequires: mingw-srvany-redistributable >= 1.1-6
%ifarch x86_64
BuildRequires: glibc-static
%if !0%{?rhel}
BuildRequires: ocaml-ounit-devel
%endif
BuildRequires: nbdkit-python-plugin
%if 0%{verify_tarball_signature}
BuildRequires: gnupg2
%endif
Requires: libguestfs%{?_isa} >= 1:1.58.0-1
Requires: guestfs-tools >= 1.54
Requires: libguestfs%{?_isa} >= 1:1.42
Requires: guestfs-tools >= 1.42
# XFS is the default filesystem in Fedora and RHEL.
Requires: libguestfs-xfs
%if 0%{?rhel} && ! 0%{?eln}
%if 0%{?rhel}
# For Windows conversions on RHEL.
Requires: libguestfs-winsupport >= 7.2
%endif
@ -131,8 +115,7 @@ Requires: gawk
Requires: gzip
Requires: unzip
Requires: curl
Requires: openssh-clients >= 8.8p1
Requires: %{_bindir}/virsh
Requires: /usr/bin/virsh
# Ensure the UEFI firmware is available, to properly convert
# EFI guests (RHBZ#1429643).
@ -143,40 +126,17 @@ Requires: edk2-ovmf
Requires: edk2-aarch64
%endif
%if !%{with_ovirt}
Requires: /usr/bin/python3
%endif
Requires: libnbd >= 1.24
Requires: %{_bindir}/qemu-nbd
Requires: %{_bindir}/nbdcopy
Requires: %{_bindir}/nbdinfo
Requires: nbdkit-server >= 1.46.1
# Needed for -it vddk, and -o rhv-upload.
Requires: nbdkit
Requires: nbdkit-curl-plugin
Requires: nbdkit-file-plugin
Requires: nbdkit-nbd-plugin
Requires: nbdkit-null-plugin
%if !%{with_ovirt}
Requires: nbdkit-python-plugin
%endif
Requires: nbdkit-ssh-plugin
%ifarch x86_64
Requires: nbdkit-vddk-plugin
%endif
Requires: nbdkit-blocksize-filter
Requires: nbdkit-count-filter
Requires: nbdkit-cow-filter
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: mingw-srvany-redistributable >= 1.1-6
# 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
Requires: mingw32-srvany >= 1.0-13
%description
@ -226,35 +186,18 @@ for %{name}.
%endif
%autosetup -p1
# ACLOCAL_PATH is temporarily required to work around
# https://bugzilla.redhat.com/show_bug.cgi?id=2366708
export ACLOCAL_PATH=/usr/share/gettext/m4/
autoreconf -fiv
%if 0%{patches_touch_autotools}
autoreconf -i
%endif
%build
%configure \
%if %{with_block_driver}
--enable-block-driver \
%if !0%{?rhel}
--with-extra="fedora=%{fedora},release=%{release}" \
%else
--disable-block-driver \
--with-extra="rhel=%{rhel},release=%{release}" \
%endif
%if %{with_glance}
--enable-glance \
%else
--disable-glance \
%endif
%if %{with_ovirt}
--enable-ovirt \
%else
--disable-ovirt \
%endif
%if %{with_xen}
--enable-xen \
%else
--disable-xen \
%endif
--with-extra="%{version_extra}"
make V=1 %{?_smp_mflags}
@ -265,95 +208,74 @@ make V=1 %{?_smp_mflags}
# Delete libtool crap.
find $RPM_BUILD_ROOT -name '*.la' -delete
%if 0%{?rhel}
# On RHEL move virt-v2v-in-place to libexec since it is not supported,
# and remove the documentation.
mkdir -p $RPM_BUILD_ROOT%{_libexecdir}
mv $RPM_BUILD_ROOT%{_bindir}/virt-v2v-in-place $RPM_BUILD_ROOT%{_libexecdir}/
rm $RPM_BUILD_ROOT%{_mandir}/man1/virt-v2v-in-place.1*
%endif
# Virt-tools data directory. This contains a symlink to rhsrvany.exe
# which is satisfied by the dependency on mingw32-srvany.
mkdir -p $RPM_BUILD_ROOT%{_datadir}/virt-tools
pushd $RPM_BUILD_ROOT%{_datadir}/virt-tools
ln -sf /usr/i686-w64-mingw32/sys-root/mingw/bin/rhsrvany.exe
popd
# Delete the v2v test harness.
rm -r $RPM_BUILD_ROOT%{_libdir}/ocaml/v2v_test_harness
rm -r $RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs/dllv2v_test_harness*
rm $RPM_BUILD_ROOT%{_mandir}/man1/virt-v2v-test-harness.1*
# Delete copy-to-local tool.
rm $RPM_BUILD_ROOT%{_bindir}/virt-v2v-copy-to-local
rm $RPM_BUILD_ROOT%{_mandir}/man1/virt-v2v-copy-to-local.1*
rm $RPM_BUILD_ROOT%{_datadir}/bash-completion/completions/virt-v2v-copy-to-local
# Find locale files.
%find_lang %{name}
%check
# Check that the binary runs and the features match those configured.
./run virt-v2v --version
./run virt-v2v --machine-readable | tee machine-readable.out
grep "virt-v2v-2.0" machine-readable.out
grep "input:disk" machine-readable.out
%if %{with_block_driver}
grep "block-driver-option" machine-readable.out
%endif
%if %{with_glance}
grep "output:glance" machine-readable.out
%endif
%if %{with_ovirt}
grep "output:ovirt$" machine-readable.out
grep "output:ovirt-upload" machine-readable.out
grep "output:vdsm" machine-readable.out
%endif
# All tests fail at the moment because of bugs in libvirt blockdev.
# # Tests fail on both armv7 and ppc64le in Fedora 31 because the kernel
# # cannot boot on qemu.
# %ifnarch %{arm} ppc64le
%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
# # On x86_64 this single test fails with: "virt-v2v: warning: the
# # target hypervisor does not support a x86_64 KVM guest". Missing
# # BuildRequires?
# %ifarch x86_64
# truncate -s 0 tests/test-v2v-o-libvirt.sh
# %endif
# Make sure we can see the debug messages (RHBZ#1230160).
export LIBGUESTFS_DEBUG=1
export LIBGUESTFS_TRACE=1
# # This test fails in mock.
# truncate -s 0 tests/test-v2v-oa-option.sh
# 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 test -s test-data/phony-guests/$f; then
./run virt-v2v -v -x -i disk test-data/phony-guests/$f -o null
fi
done
%endif
# # Make sure we can see the debug messages (RHBZ#1230160).
# export LIBGUESTFS_DEBUG=1
# export LIBGUESTFS_TRACE=1
# make %{?_smp_mflags} check || {
# cat tests/test-suite.log
# exit 1
# }
# %endif
%files -f %{name}.lang
%license COPYING
%doc README
%{_bindir}/virt-v2v
%if !0%{?rhel}
%{_bindir}/virt-v2v-in-place
%else
%{_libexecdir}/virt-v2v-in-place
%endif
%{_bindir}/virt-v2v-inspector
%{_bindir}/virt-v2v-open
%{_mandir}/man1/virt-v2v.1*
%{_mandir}/man1/virt-v2v-hacking.1*
%{_mandir}/man1/virt-v2v-input-vmware.1*
%if %{with_xen}
%{_mandir}/man1/virt-v2v-input-xen.1*
%endif
%if !0%{?rhel}
%{_mandir}/man1/virt-v2v-in-place.1*
%endif
%{_mandir}/man1/virt-v2v-inspector.1*
%{_mandir}/man1/virt-v2v-open.1*
%{_mandir}/man1/virt-v2v-output-local.1*
%{_mandir}/man1/virt-v2v-output-openstack.1*
%if %{with_ovirt}
%{_mandir}/man1/virt-v2v-output-ovirt.1*
%endif
%{_mandir}/man1/virt-v2v-output-rhv.1*
%{_mandir}/man1/virt-v2v-release-notes-1.42.1*
%{_mandir}/man1/virt-v2v-release-notes-2.*.1*
%{_mandir}/man1/virt-v2v-support.1*
%{_datadir}/virt-tools
%files bash-completion
%license COPYING
%{bash_completions_dir}/virt-v2v
%{_datadir}/bash-completion/completions/virt-v2v
%files man-pages-ja
@ -367,385 +289,11 @@ done
%changelog
* Tue Jan 06 2026 Richard W.M. Jones <rjones@redhat.com> - 1:2.10.0-1
- New upstream stable branch version 2.10.0
- Requires libguestfs >= 1.58.0 and nbdkit >= 1.46.
* Thu Nov 25 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.44.2-1
- New upstream stable branch version 1.44.2
* Tue Nov 4 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.9.10-1
- New upstream development version 2.9.10
- Requires libguestfs 1.57.6 for new inspection APIs.
* Thu Oct 16 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.9.9-1
- New upstream development version 2.9.9
* Tue Oct 14 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.9.8-2
- OCaml 5.4.0 rebuild
* Mon Sep 22 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.9.8-1
- New upstream development version 2.9.8
- Remove Windows conversion patch which is now upstream.
* Sat Sep 20 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.9.7-1
- New upstream development version 2.9.7
- Backport non-upstream patch to improve Windows conversions
* Tue Sep 9 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.9.6-1
- New upstream development version 2.9.6
* Fri Aug 29 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.9.5-1
- New upstream development version 2.9.5
- Use new ./configure --disable/--enable flags for excluding RHEL features
* Wed Aug 27 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.9.4-1
- New upstream development version 2.9.4
* Fri Aug 15 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.9.3-1
- New upstream development version 2.9.3
- Ensure minimum libguestfs is 1.57.1 (for guestfs_setfiles)
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.9.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Sat Jul 19 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.9.2-2
- Bump minimum version of nbdkit to 1.45.1, matching current Rawhide
- Bump minimum version of nbdcopy to 1.22, matching current Fedora 42
- Bump minimum version of libguestfs to 1.56
- Bump minimum version of guestfs-tools to 1.54
- Remove nbdkit-noextents-filter, option removed from virt-v2v 2.9.1
- Add nbdkit-count-filter, added in nbdkit 1.45
- Drop BR nbdkit-python-plugin, as it is not needed by our test
* Wed Jul 16 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.9.2-1
- New upstream development version 2.9.2
* Sun Jul 13 2025 Jerry James <loganjerry@gmail.com> - 1:2.9.1-2
- Rebuild to fix OCaml dependencies again
* Sun Jul 13 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.9.1-1
- New upstream development version 2.9.1
* Sat Jul 12 2025 Jerry James <loganjerry@gmail.com> - 1:2.8.1-2
- Rebuild to fix OCaml dependencies
* Thu Jun 26 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.8.1-1
- New upstream stable version 2.8.1
* Wed Jun 11 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.8.0-1
- New upstream stable version 2.8.0
- Finetune BRs to match upstream.
* Tue Jun 03 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.17-1
- New upstream development version 2.7.17
* Mon May 19 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.16-1
- New upstream development version 2.7.16
* Mon May 12 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.15-1
- New upstream development version 2.7.15
* Wed May 07 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.14-1
- New upstream development version 2.7.14
- New tool: virt-v2v-open
* Tue Apr 29 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.13-1
- New upstream development version 2.7.13
* Tue Apr 15 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.12-1
- New upstream development version 2.7.12
* Thu Apr 03 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.11-1
- New upstream development version 2.7.11
- Enable ocaml-gettext again
- Remove oUnit
* Sat Mar 22 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.10-1
- New upstream development version 2.7.10
* Tue Mar 11 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.8-1
- New upstream development version 2.7.8
* Thu Feb 27 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.7-1
- New upstream development version 2.7.7
- Disable gettext support in Fedora Rawhide
* Thu Feb 27 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.6-2
- Bump and rebuild for ocaml-gettext 0.5.0
* Thu Feb 13 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.6-1
- New upstream development version 2.7.6
* Wed Feb 05 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.5-1
- New upstream development version 2.7.5
* Tue Feb 04 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.4-5
- Bump and rebuild (RHBZ#2341511)
* Sat Feb 01 2025 Björn Esser <besser82@fedoraproject.org> - 1:2.7.4-4
- Add explicit BR: libxcrypt-devel
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.7.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Fri Jan 10 2025 Jerry James <loganjerry@gmail.com> - 1:2.7.4-2
- OCaml 5.3.0 rebuild for Fedora 42
* Mon Dec 09 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.4-1
- New upstream development version 2.7.4
* Mon Dec 02 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.3-1
- New upstream development version 2.7.3
* Mon Nov 18 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.2-1
- New upstream development version 2.7.2
* Tue Oct 22 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.1-1
- New upstream development version 2.7.1
- Replace jansson with json-c
* Tue Oct 22 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.6.0-2
- Rebuild for Jansson 2.14
(https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/3PYINSQGKQ4BB25NQUI2A2UCGGLAG5ND/)
* Tue Oct 08 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.6.0-1
- New upstream stable version 2.6.0
* Thu Oct 03 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.5.11-1
- New upstream development version 2.5.11
* Tue Sep 10 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.5.10-1
- New upstream development version 2.5.10
* Thu Aug 29 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.5.9-1
- New upstream development version 2.5.9
* Tue Aug 20 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.5.8-1
- New upstream development version 2.5.8
* Tue Aug 13 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.5.7-1
- New upstream development version 2.5.7
* Tue Jul 30 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.5.6-1
- New upstream development version 2.5.6
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.5.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Jul 11 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.5.5-1
- New upstream development version 2.5.5
* Wed Jun 19 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.5.4-3
- OCaml 5.2.0 ppc64le fix
* Wed May 29 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.5.4-2
- OCaml 5.2.0 for Fedora 41
* Thu Apr 25 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.5.4-1
- New upstream development version 2.5.4
* Fri Apr 12 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.5.3-2
- Fix bytecode compilation (RHBZ#2274708)
* Thu Apr 11 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.5.3-1
- New development branch version 2.5.3
- Unconditionally run autoreconf.
* Mon Mar 25 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.5.2-2
- Use %%{bash_completions_dir} macro
* Tue Mar 12 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.5.2-1
- New development branch version 2.5.2
- BR bash-completion-devel (new in Rawhide)
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.5.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jan 18 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.5.1-1
- New development branch version 2.5.1
* Thu Jan 4 2024 Richard W.M. Jones <rjones@redhat.com> - 1:2.4.0-1
- New stable branch version 2.4.0
* Tue Dec 19 2023 Richard W.M. Jones <rjones@redhat.com> - 1:2.3.8-1
- New development branch version 2.3.8
* Mon Dec 18 2023 Richard W.M. Jones <rjones@redhat.com> - 1:2.3.7-4
- OCaml 5.1.1 + s390x code gen fix for Fedora 40
* Tue Dec 12 2023 Richard W.M. Jones <rjones@redhat.com> - 1:2.3.7-3
- OCaml 5.1.1 rebuild for Fedora 40
* Sat Dec 09 2023 Richard W.M. Jones <rjones@redhat.com> - 1:2.3.7-2
- New development branch version 2.3.7
* Mon Nov 27 2023 Richard W.M. Jones <rjones@redhat.com> - 1:2.3.6-2
- Fix build for libxml2 2.12.1
* Thu Nov 02 2023 Richard W.M. Jones <rjones@redhat.com> - 1:2.3.6-1
- New development branch version 2.3.6
* Fri Oct 20 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1:2.3.5-4
- Use mingw-srvany-redistributable
* Thu Oct 05 2023 Richard W.M. Jones <rjones@redhat.com> - 1:2.3.5-3
- OCaml 5.1 rebuild for Fedora 40
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.3.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Fri Jul 14 2023 Richard W.M. Jones <rjones@redhat.com> - 1:2.3.5-1
- New development branch version 2.3.5
* Wed Jul 12 2023 Richard W.M. Jones <rjones@redhat.com> - 1:2.3.4-4
- OCaml 5.0 rebuild for Fedora 39
* Mon Jul 10 2023 Jerry James <loganjerry@gmail.com> - 1:2.3.4-3
- OCaml 5.0.0 rebuild
* Mon Jun 05 2023 Richard W.M. Jones <rjones@redhat.com> - 1:2.3.4-2
- Migrated to SPDX license
- Fix installation on newer RHEL
* Wed Apr 19 2023 Richard W.M. Jones <rjones@redhat.com> - 1:2.3.4-1
- New development branch version 2.3.4
* Mon Feb 06 2023 Richard W.M. Jones <rjones@redhat.com> - 1:2.3.3-1
- New development branch version 2.3.3
* Tue Jan 24 2023 Richard W.M. Jones <rjones@redhat.com> - 1:2.3.2-2
- Rebuild OCaml packages for F38
* Thu Jan 19 2023 Richard W.M. Jones <rjones@redhat.com> - 1:2.3.2-1
- New development branch version 2.3.2
* Tue Jan 17 2023 Richard W.M. Jones <rjones@redhat.com> - 1:2.3.1-1
- New development branch version 2.3.1
* Tue Jan 10 2023 Richard W.M. Jones <rjones@redhat.com> - 1:2.2.0-1
- New stable branch version 2.2.0
* Fri Jan 06 2023 Richard W.M. Jones <rjones@redhat.com> - 1:2.1.12-1
- New upstream development version 2.1.12
- Add release notes for future virt-v2v 2.2
* Sat Dec 10 2022 Richard W.M. Jones <rjones@redhat.com> - 1:2.1.11-2
- New upstream development version 2.1.11
* Sat Nov 26 2022 Richard W.M. Jones <rjones@redhat.com> - 1:2.1.10-1
- New upstream development version 2.1.10
- New tool: virt-v2v-inspector
* Tue Oct 11 2022 Richard W.M. Jones <rjones@redhat.com> - 1:2.1.9-1
- New upstream development version 2.1.9
* Tue Aug 23 2022 Richard W.M. Jones <rjones@redhat.com> - 1:2.1.8-2
- Add BR glibc-static for tests on x86_64.
* Mon Aug 01 2022 Richard W.M. Jones <rjones@redhat.com> - 1:2.1.8-1
- New upstream development version 2.1.8
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.1.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Jul 05 2022 Richard W.M. Jones <rjones@redhat.com> - 1:2.1.7-1
- New upstream development version 2.1.7
* Sun Jun 19 2022 Richard W.M. Jones <rjones@redhat.com> - 1:2.1.6-2
- OCaml 4.14.0 rebuild
* Fri Jun 17 2022 Richard W.M. Jones <rjones@redhat.com> - 1:2.1.6-1
- New upstream development version 2.1.6
* Sat Jun 11 2022 Richard W.M. Jones <rjones@redhat.com> - 1:2.1.5-1
- New upstream development version 2.1.5
- Add Requires python3 / platform-python (RHBZ#2094779)
- Remove nbdkit-readahead-filter as it is no longer used
- Enable the tests
* Thu May 26 2022 Richard W.M. Jones <rjones@redhat.com> - 1:2.1.4-1
- New upstream development version 2.1.4
* Thu May 12 2022 Richard W.M. Jones <rjones@redhat.com> - 1:2.1.3-1
- New upstream development version 2.1.3
* Tue Apr 26 2022 Richard W.M. Jones <rjones@redhat.com> - 1:2.1.2-1
- New upstream development version 2.1.2
* Tue Apr 12 2022 Richard W.M. Jones <rjones@redhat.com> - 1:2.1.1-1
- New upstream development version 2.1.1
* Mon Apr 04 2022 Richard W.M. Jones <rjones@redhat.com> - 1:2.0.2-1
- New upstream stable branch version 2.0.2
* Wed Mar 23 2022 Richard W.M. Jones <rjones@redhat.com> - 1:2.0.1-1
- New upstream stable branch version 2.0.1
- Fixes security issue when running virt-v2v as root (RHBZ#2066773).
* Mon Mar 14 2022 Richard W.M. Jones <rjones@redhat.com> - 1:2.0.0-1
- New upstream stable branch version 2.0.0
- New virt-v2v-in-place and release notes man pages.
- Remove the RHEL (downstream) patches which are out of date.
- Don't use absolute symlinks.
* Tue Feb 15 2022 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.99-1
- New upstream development version 1.45.99 (preview of 2.0)
- Requires nbdkit-blocksize-filter.
* Thu Feb 10 2022 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.98-1
- New upstream development version 1.45.98 (preview of 2.0)
* Fri Feb 04 2022 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.97-3
- OCaml 4.13.1 rebuild to remove package notes
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.45.97-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Jan 17 2022 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.97-1
- New upstream development version 1.45.97 (preview of 2.0)
* Thu Jan 06 2022 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.96-1
- New upstream development version 1.45.96 (preview of 2.0)
* Sat Dec 18 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.95-1
- New upstream development version 1.45.95 (preview of 2.0)
* Tue Dec 07 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.94-1
- New upstream development version 1.45.94 (preview of 2.0)
* Fri Dec 03 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.93-1
- New upstream development version 1.45.93 (preview of 2.0)
* Thu Dec 02 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.92-1
- New upstream development version 1.45.92 (preview of 2.0)
* Thu Nov 25 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.91-2
- Bump release and rebuild
* Tue Nov 23 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.91-1
- New upstream development version 1.45.91 (preview of 2.0)
* Tue Oct 05 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.90-2
- OCaml 4.13.1 build
* Tue Sep 21 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.90-1
- New upstream development version 1.45.90 (preview of 2.0)
* 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.
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.45.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* 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
- 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.
* Tue Nov 23 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.44.1-1
- New upstream stable branch version 1.44.1.
* 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.
@ -756,25 +304,19 @@ done
* 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
* Thu Apr 01 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.43.3-4.fc34.3
- 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
* Tue Mar 30 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.43.3-4.fc34.1
- Add downstream (RHEL-only) patches (RHBZ#1931724).
* Mon Mar 8 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.43.4-2
* Thu Mar 18 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.43.3-4
- Make ocaml-ounit dependency conditional on !RHEL.
* Mon Mar 8 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.43.3-3
- 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