Blob Blame History Raw
Name:           virt-v2v
Version:        0.3.2
Release:        1%{?dist}
Summary:        Convert a virtual machine to run on KVM

Group:          Applications/System
License:        GPLv2+ and LGPLv2+
URL:            http://people.redhat.com/mbooth/virt-v2v/
Source0:        http://people.redhat.com/mbooth/virt-v2v/%{name}-%{version}.tar.gz
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildArch:      noarch

# Build system direct requirements
BuildRequires:  gettext
BuildRequires:  perl(Module::Build)
BuildRequires:  perl(ExtUtils::Manifest)
BuildRequires:  perl(Test::More)
BuildRequires:  perl(Test::Pod)
BuildRequires:  perl(Test::Pod::Coverage)
BuildRequires:  perl(Module::Find)

# Runtime perl modules also required at build time for use_ok test
BuildRequires:  perl(Config::Tiny)
BuildRequires:  perl(Locale::TextDomain)
BuildRequires:  perl(Module::Pluggable)
BuildRequires:  perl(Sys::Guestfs)
BuildRequires:  perl(Sys::Guestfs::Lib)
BuildRequires:  perl(Sys::Virt)
BuildRequires:  perl(XML::DOM)
BuildRequires:  perl(XML::DOM::XPath)
BuildRequires:  perl(XML::Writer)

# Need an explicit package dependency for version requires
BuildRequires:  perl-libguestfs >= 1:1.0.68

Requires:  perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))

# Perl module requirements
Requires:       perl(Config::Tiny)
Requires:       perl(Locale::TextDomain)
Requires:       perl(Module::Pluggable)
Requires:       perl(Sys::Guestfs)
Requires:       perl(Sys::Guestfs::Lib)
Requires:       perl(Sys::Virt)
Requires:       perl(XML::DOM)
Requires:       perl(XML::DOM::XPath)
Requires:       perl(XML::Writer)

# Need an explicit package dependency for version requires
Requires:       perl-libguestfs >= 1:1.0.68

# For GuestOS transfer image
Requires:       /usr/bin/genisoimage

# For v2v-snapshot
Requires:       /usr/bin/qemu-img


%description
virt-v2v is a tool for converting virtual machines to use the KVM hypervisor.
It modifies both the virtual machine image and its associated libvirt metadata.
virt-v2v will also configure a guest to use VirtIO drivers if possible.

virt-v2v also includes the v2v-snapshot tool, which will modify a guest to use
snapshot storage, and later commit the snapshot back to the original storage if
desired.


%prep
%setup -q


%build
%{__perl} Build.PL
./Build


%install
rm -rf $RPM_BUILD_ROOT
./Build install \
    --destdir $RPM_BUILD_ROOT \
    --installdirs vendor \
    --install_path locale=%{_datadir}/locale \
    --install_path confdoc=%{_mandir}/man5

%find_lang %{name}

# Create v2v-snapshot directories
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/virt-v2v/{snapshots,xml}

%check
./Build test


%clean
rm -rf $RPM_BUILD_ROOT


%files -f %{name}.lang
%defattr(-,root,root,-)

%doc TODO
%doc META.yml
%doc ChangeLog
%doc COPYING COPYING.LIB
%doc v2v/virt-v2v.conf

# For noarch packages: vendorlib
%{perl_vendorlib}/*

# Man pages
%{_mandir}/man1/*.1*
%{_mandir}/man3/*.3*
%{_mandir}/man5/*.5*

# Executables
%attr(0755,root,root) %{_bindir}/*

%{_localstatedir}/lib/virt-v2v


%changelog
* Mon Nov 9 2009 Matthew Booth <mbooth@redhat.com> - 0.3.2-1
- Update to release 0.3.2
- Add BuildRequires gettext

* Mon Nov 9 2009 Matthew Booth <mbooth@redhat.com> - 0.3.0-1
- Update to release 0.3.0

* Tue Sep 15 2009 Matthew Booth <mbooth@redhat.com> - 0.2.0-1
- Update to release 0.2.0

* Tue Sep  4 2009 Matthew Booth <mbooth@redhat.com> - 0.1.0-1
- Initial specfile