File virt-manager.spec of Package virt-manager

#
# spec file for package virt-manager (Version 0.5.3)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#



Name:           virt-manager
%define _extra_release %{?dist:%{dist}}%{!?dist:%{?extra_release:%{extra_release}}}
%define gsysconfdir /etc
%define gconftool /usr/bin/gconftool-2
%define virtinst_maj 0
%define virtinst_min 300
%define virtinst_rel 2
%define virtinst_name virtinst-%{virtinst_maj}.%{virtinst_min}.%{virtinst_rel}
Version:        0.5.3
Release:        64.<RELEASE26>
Summary:        Virtual Machine Manager
Group:          System/Monitoring
License:        LGPL v2.1 or later
Url:            http://virt-manager.et.redhat.com
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
ExclusiveArch:  %{ix86} x86_64
Source0:        virt-manager-%{version}.tar.gz
Source1:        %{virtinst_name}.tar.gz
Patch0:         virtman-desktop.diff
Patch1:         virtman-dbus-query.diff
Patch2:         virtman-xen-uri.diff
Patch3:         virtman-pointer.diff
Patch4:         virtman-detect.diff
Patch5:         virtman-timewatch.diff
Patch6:         virtman-vminstall.diff
Patch7:         virtman-vif.diff
Patch8:         virtman-hardware.diff
Patch9:         virtman-netcat.diff
Patch10:        virtman-viewer.diff
Patch50:        virtinst-vif.diff
Patch100:       virtman-misc.diff
Patch101:       virtman-cdrom.diff
Patch102:       virtman-keycombo.diff
# These two are just the oldest version tested
# Requires:       pygtk2 >= 1.99.12-6
Requires:       python-gtk
# Requires:       gnome-python2-gconf >= 1.99.11-7
Requires:       python-gnome
# Absolutely require this version or newer
Requires:       libvirt-python >= 0.3.0-1
Requires:       vm-install
# Definitely does not work with earlier due to python API changes
# Requires:       dbus-python >= 0.61
Requires:       dbus-1-python
# Might work with earlier, but this is what we've tested
#Requires:       gnome-keyring >= 0.4.9
Requires:       gnome-keyring
# Minimum we've tested with
# Although if you don't have this, comment it out and the app
# will work just fine - keyring functionality will simply be
# disabled
# Requires:       gnome-python2-gnomekeyring >= 2.15.4
# Requires:       gnome-python2-gnomevfs >= 2.15.4
# Minimum we've tested with
Requires:       libxml2-python >= 2.6.23
# Required to install Xen & QEMU guests
# Requires:       python-virtinst >= 0.300.2
# Required for loading the glade UI
# Requires:       pygtk2-libglade
# Required for our graphics which are currently SVG format
# Earlier vte had broken python binding module
# Requires:       vte >= 0.12.2
Requires:       vte
# For online help
Requires:       scrollkeeper
# For console widget
# Requires:       gtk-vnc-python
Requires:       python-gtk-vnc
Requires:       librsvg
Requires:       netcat
# Add requires for non Xen installations
Requires:       python-urlgrabber
BuildRequires:  python
BuildRequires:  gtk2-devel
BuildRequires:  python-devel
BuildRequires:  gettext
BuildRequires:  scrollkeeper
BuildRequires:  intltool
BuildRequires:  python-gtk
BuildRequires:  python-gtk-devel
BuildRequires:  python-gobject2-devel
BuildRequires:  gconf2
BuildRequires:  desktop-file-utils
BuildRequires:  update-desktop-files
# virtinst BuildRequires
BuildRequires:  libxml2-python
BuildRequires:  python-urlgrabber
BuildRequires:  libvirt-python
BuildRequires:  dbus-1-x11
%gconf_schemas_prereq

%description
Virtual Machine Manager provides a graphical tool for administering
virtual machines.



Authors:
--------
    Daniel Berrange <berrange@redhat.com>
    Hugh O. Brock <hbrock@redhat.com>
    Jeremy Katz <katzj@redhat.com>

%prep
%setup -q
%setup -b 1
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch100 -p1
%patch101 -p1
%patch102 -p1
pushd $RPM_BUILD_DIR/%{virtinst_name}
%patch50 -p1
popd

%build
# autoreconf -i
%configure --sysconfdir=%{gsysconfdir}
make %{?_smp_mflags}
pushd $RPM_BUILD_DIR/%{virtinst_name}
python setup.py build
popd

%install
make install  DESTDIR=$RPM_BUILD_ROOT
pushd $RPM_BUILD_DIR/%{virtinst_name}
python setup.py install --prefix=%{_prefix} --root=$RPM_BUILD_ROOT --install-lib=%{_datadir}/virt-manager
# remove unsued files
rm -f $RPM_BUILD_ROOT/usr/bin/virt-clone
rm -f $RPM_BUILD_ROOT/usr/bin/virt-image
rm -f $RPM_BUILD_ROOT/usr/bin/virt-install
rm -f $RPM_BUILD_ROOT/usr/share/locale/ja/LC_MESSAGES/virtinst.mo
rm -f $RPM_BUILD_ROOT/usr/share/locale/pl/LC_MESSAGES/virtinst.mo
rm -f $RPM_BUILD_ROOT/usr/share/man/man1/virt-clone.1
rm -f $RPM_BUILD_ROOT/usr/share/man/man1/virt-image.1
rm -f $RPM_BUILD_ROOT/usr/share/man/man1/virt-install.1
rm -f $RPM_BUILD_ROOT/usr/share/man/man5/virt-image.5
rm -f $RPM_BUILD_ROOT/usr/share/virt-manager/virtinst-0.300.2-py2.?.egg-info
popd
rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/sparkline.a
rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/sparkline.la
# Unsupport languages:
rm -rf $RPM_BUILD_ROOT/usr/share/locale/or
%find_gconf_schemas
%find_lang %{name}
cat %{name}.schemas_list %{name}.lang > %{name}.lst
sed -i '\^/usr/share/gnome/help/^d' %{name}.lst
%suse_update_desktop_file %{name} X-SuSE-YaST-Virtualization
sed -i -e 's/Categories=.*/Categories=Qt;X-SuSE-YaST;X-SuSE-YaST-Virtualization;/' $RPM_BUILD_ROOT/%{_datadir}/applications/YaST2/%{name}.desktop
# Nuking these because old version didnt have any
rm -rf $RPM_BUILD_ROOT/usr/share/gnome
# Also fixing the %{name}.lang file forcibly.
sed -i '\^/usr/share/gnome/help/^d' %{name}.lang

%clean
# rm -rf $RPM_BUILD_ROOT

%pre -f %{name}.schemas_pre

%preun -f %{name}.schemas_preun

%posttrans -f %{name}.schemas_posttrans

%files -f %{name}.lst
%defattr(-,root,root,-)
%doc COPYING AUTHORS ChangeLog
# %dir %attr(775,root,root) /etc/gconf
# %dir %attr(775,root,root) /etc/gconf/schemas
%{gsysconfdir}/gconf/schemas/%{name}.schemas
%{_bindir}/%{name}
%{_libexecdir}/%{name}-launch
%{_libdir}/%{name}
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/*.glade
%dir %{_datadir}/%{name}/pixmaps
%{_datadir}/%{name}/pixmaps/*.png
%{_datadir}/%{name}/pixmaps/*.svg
%{_datadir}/%{name}/*.py
%dir %{_datadir}/%{name}/virtManager
%{_datadir}/%{name}/virtManager/*.py
%dir %{_datadir}/%{name}/virtinst
%{_datadir}/%{name}/virtinst/*.py
%{_datadir}/%{name}/virtinst/*.pyc
# %dir %attr(775,root,root) %{_datadir}/locale/or
# %dir %attr(775,root,root) %{_datadir}/locale/or/LC_MESSAGES
# %{_datadir}/locale/or/LC_MESSAGES/*
%{_datadir}/omf/%{name}
# %dir %attr(775,root,root) %{_datadir}/gnome
# %{_datadir}/gnome/help
%{_datadir}/applications/YaST2/%{name}.desktop
%{_datadir}/dbus-1/services/%{name}.service
%{_datadir}/man/man1/%{name}.1*
# FIXME: autobuild complains that these are unowned (not true...)
%dir %{_datadir}/dbus-1
%dir %{_datadir}/dbus-1/services
%dir %{_datadir}/applications/YaST2

%changelog
openSUSE Build Service is sponsored by