diff --git a/sources b/sources index c15d1c4..8fc8fc9 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (virt-v2v-2.7.4.tar.gz) = b59df1d26929ef6ed1e2599e044d3fd6e05df4c37f2854f2c567554918e0b106ffbd535be50b9bc32dbfc9d3fc5feadf157e51d394f5989449f6eb18b0a3d8dc -SHA512 (virt-v2v-2.7.4.tar.gz.sig) = a28b5c6c6ff7599bfb771ee649101745dcfff9b9e51846b7c057764565dbb5c0c80ac22e2167f875df88e466a251f760e951ee7b92672fca6b49c4d3bd8db143 +SHA512 (virt-v2v-2.10.0.tar.gz) = 035f2181c1cc5f482e96d3e21b513b95939ca224d71ac6ad938842d5af5d60ef07db1600d2ccb609dc2042b1c74088f6f39ffbe595cb51e80278ecb50c314515 +SHA512 (virt-v2v-2.10.0.tar.gz.sig) = cb6301224ef00577a9cd0fc8fa504e583eb447341bd3849e6854f2d78ae72ca39bca68b70f30efd3d1d64480acf161c5e4bc9ba943595ef4dd2a654c3268aa66 diff --git a/virt-v2v.spec b/virt-v2v.spec index c217851..9309b31 100644 --- a/virt-v2v.spec +++ b/virt-v2v.spec @@ -2,11 +2,49 @@ %global verify_tarball_signature 1 # The source directory. -%global source_directory 2.7-development +%global source_directory 2.10-stable + +%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} + +%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} + +%endif Name: virt-v2v Epoch: 1 -Version: 2.7.4 +Version: 2.10.0 Release: 1%{?dist} Summary: Convert a virtual machine to run on KVM @@ -23,39 +61,29 @@ 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 - BuildRequires: autoconf, automake, libtool BuildRequires: make BuildRequires: /usr/bin/pod2man +BuildRequires: perl(Pod::Usage) +BuildRequires: perl(Getopt::Long) +BuildRequires: perl(IPC::Run3) BuildRequires: gcc -BuildRequires: ocaml >= 4.04 +BuildRequires: ocaml >= 4.08 -BuildRequires: libguestfs-devel >= 1:1.49.8-1 +BuildRequires: libguestfs-devel >= 1:1.58.0-1 BuildRequires: augeas-devel -BuildRequires: bash-completion, bash-completion-devel -BuildRequires: file-devel +BuildRequires: bash-completion +%if 0%{?fedora} || 0%{?rhel} >= 11 +BuildRequires: bash-completion-devel +%endif +BuildRequires: file BuildRequires: gettext-devel BuildRequires: json-c-devel -BuildRequires: libnbd-devel +BuildRequires: libnbd-devel >= 1.24 BuildRequires: libosinfo-devel BuildRequires: libvirt-daemon-kvm BuildRequires: libvirt-devel +BuildRequires: libxcrypt-devel BuildRequires: libxml2-devel BuildRequires: pcre2-devel BuildRequires: perl(Sys::Guestfs) @@ -69,21 +97,16 @@ 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: 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 -%if !0%{?rhel} -BuildRequires: nbdkit-python-plugin -%endif -BuildRequires: nbdkit-cow-filter >= 1.28.3-1.el9 +BuildRequires: nbdkit-cow-filter BuildRequires: mingw-srvany-redistributable >= 1.1-6 %ifarch x86_64 BuildRequires: glibc-static @@ -93,8 +116,8 @@ BuildRequires: glibc-static BuildRequires: gnupg2 %endif -Requires: libguestfs%{?_isa} >= 1:1.49.8-1 -Requires: guestfs-tools >= 1.49.7-1 +Requires: libguestfs%{?_isa} >= 1:1.58.0-1 +Requires: guestfs-tools >= 1.54 # XFS is the default filesystem in Fedora and RHEL. Requires: libguestfs-xfs @@ -120,22 +143,19 @@ Requires: edk2-ovmf Requires: edk2-aarch64 %endif -%if !0%{?rhel} +%if !%{with_ovirt} Requires: /usr/bin/python3 -%elif %{?rhel} == 9 -Requires: platform-python -# Python is not needed by RHEL 10. %endif -Requires: libnbd >= 1.10 +Requires: libnbd >= 1.24 Requires: %{_bindir}/qemu-nbd Requires: %{_bindir}/nbdcopy Requires: %{_bindir}/nbdinfo -Requires: nbdkit-server >= 1.28.3-1.el9 +Requires: nbdkit-server >= 1.46.1 Requires: nbdkit-curl-plugin Requires: nbdkit-file-plugin Requires: nbdkit-nbd-plugin Requires: nbdkit-null-plugin -%if !0%{?rhel} +%if !%{with_ovirt} Requires: nbdkit-python-plugin %endif Requires: nbdkit-ssh-plugin @@ -143,8 +163,8 @@ Requires: nbdkit-ssh-plugin Requires: nbdkit-vddk-plugin %endif Requires: nbdkit-blocksize-filter -Requires: nbdkit-cacheextents-filter -Requires: nbdkit-cow-filter >= 1.28.3-1.el9 +Requires: nbdkit-count-filter +Requires: nbdkit-cow-filter Requires: nbdkit-multi-conn-filter Requires: nbdkit-rate-filter Requires: nbdkit-retry-filter @@ -206,16 +226,35 @@ 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 %build %configure \ -%if !0%{?rhel} - --with-extra="fedora=%{fedora},release=%{release}" \ +%if %{with_block_driver} + --enable-block-driver \ %else - --with-extra="rhel=%{rhel},release=%{release}" \ + --disable-block-driver \ %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} @@ -232,9 +271,6 @@ find $RPM_BUILD_ROOT -name '*.la' -delete 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* -# these are also not supported on RHEL -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/virt-v2v-input-xen.1* -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/virt-v2v-output-rhv.1* %endif # Find locale files. @@ -242,6 +278,23 @@ rm -f $RPM_BUILD_ROOT%{_mandir}/man1/virt-v2v-output-rhv.1* %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 + %ifarch x86_64 # Only run the tests with non-debug (ie. non-Rawhide) kernels. # XXX This tests for any debug kernel installed. @@ -276,18 +329,22 @@ done %{_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 !0%{?rhel} +%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 !0%{?rhel} -%{_mandir}/man1/virt-v2v-output-rhv.1* +%if %{with_ovirt} +%{_mandir}/man1/virt-v2v-output-ovirt.1* %endif %{_mandir}/man1/virt-v2v-release-notes-1.42.1* %{_mandir}/man1/virt-v2v-release-notes-2.*.1* @@ -310,6 +367,128 @@ done %changelog +* Tue Jan 06 2026 Richard W.M. Jones - 1:2.10.0-1 +- New upstream stable branch version 2.10.0 +- Requires libguestfs >= 1.58.0 and nbdkit >= 1.46. + +* Tue Nov 4 2025 Richard W.M. Jones - 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 - 1:2.9.9-1 +- New upstream development version 2.9.9 + +* Tue Oct 14 2025 Richard W.M. Jones - 1:2.9.8-2 +- OCaml 5.4.0 rebuild + +* Mon Sep 22 2025 Richard W.M. Jones - 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 - 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 - 1:2.9.6-1 +- New upstream development version 2.9.6 + +* Fri Aug 29 2025 Richard W.M. Jones - 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 - 1:2.9.4-1 +- New upstream development version 2.9.4 + +* Fri Aug 15 2025 Richard W.M. Jones - 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 - 1:2.9.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sat Jul 19 2025 Richard W.M. Jones - 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 - 1:2.9.2-1 +- New upstream development version 2.9.2 + +* Sun Jul 13 2025 Jerry James - 1:2.9.1-2 +- Rebuild to fix OCaml dependencies again + +* Sun Jul 13 2025 Richard W.M. Jones - 1:2.9.1-1 +- New upstream development version 2.9.1 + +* Sat Jul 12 2025 Jerry James - 1:2.8.1-2 +- Rebuild to fix OCaml dependencies + +* Thu Jun 26 2025 Richard W.M. Jones - 1:2.8.1-1 +- New upstream stable version 2.8.1 + +* Wed Jun 11 2025 Richard W.M. Jones - 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 - 1:2.7.17-1 +- New upstream development version 2.7.17 + +* Mon May 19 2025 Richard W.M. Jones - 1:2.7.16-1 +- New upstream development version 2.7.16 + +* Mon May 12 2025 Richard W.M. Jones - 1:2.7.15-1 +- New upstream development version 2.7.15 + +* Wed May 07 2025 Richard W.M. Jones - 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 - 1:2.7.13-1 +- New upstream development version 2.7.13 + +* Tue Apr 15 2025 Richard W.M. Jones - 1:2.7.12-1 +- New upstream development version 2.7.12 + +* Thu Apr 03 2025 Richard W.M. Jones - 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 - 1:2.7.10-1 +- New upstream development version 2.7.10 + +* Tue Mar 11 2025 Richard W.M. Jones - 1:2.7.8-1 +- New upstream development version 2.7.8 + +* Thu Feb 27 2025 Richard W.M. Jones - 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 - 1:2.7.6-2 +- Bump and rebuild for ocaml-gettext 0.5.0 + +* Thu Feb 13 2025 Richard W.M. Jones - 1:2.7.6-1 +- New upstream development version 2.7.6 + +* Wed Feb 05 2025 Richard W.M. Jones - 1:2.7.5-1 +- New upstream development version 2.7.5 + +* Tue Feb 04 2025 Richard W.M. Jones - 1:2.7.4-5 +- Bump and rebuild (RHBZ#2341511) + +* Sat Feb 01 2025 Björn Esser - 1:2.7.4-4 +- Add explicit BR: libxcrypt-devel + +* Sun Jan 19 2025 Fedora Release Engineering - 1:2.7.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Fri Jan 10 2025 Jerry James - 1:2.7.4-2 +- OCaml 5.3.0 rebuild for Fedora 42 + * Mon Dec 09 2024 Richard W.M. Jones - 1:2.7.4-1 - New upstream development version 2.7.4