File virt-manager.spec of Package virt-manager

#
# spec file for package virt-manager
#
# Copyright (c) 2011 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/
#

# norootforbuild

%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 500
%define virtinst_rel 4
%define virtinst_name virtinst-%{virtinst_maj}.%{virtinst_min}.%{virtinst_rel}

%define pysite %(python -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib()")

Name:           virt-manager
Summary:        Virtual Machine Manager
Version:        0.8.5
Release:        4
Group:          System/Monitoring
License:        LGPLv2.1+
Url:            http://virt-manager.et.redhat.com
Source0:        virt-manager-%{version}.tar.bz2
Source1:        %{virtinst_name}.tar.bz2
# see https://bugzilla.redhat.com/show_bug.cgi?id=620216,
#     https://bugzilla.novell.com/show_bug.cgi?id=641981
Patch1:         virt-manager-fix-python27.diff
Patch50:        virtman-desktop.diff
Patch51:        virtman-vminstall.diff
Patch52:        virtman-pointer.diff
Patch53:        virtman-cdrom.diff
Patch54:        virtman-kvm.diff
Patch55:        virtman-bridge.diff
Patch56:        virtman-manager.diff
Patch57:        virtman-help.diff
Patch58:        virtman-keycombo.diff
Patch59:        virtman-autoconnect.diff
Patch60:        virtman-device-flags.diff
Patch61:        virtman-autorestart.diff
Patch62:        virtman-storage-pool.diff
Patch81:        virtinst-cdrom.diff
Patch82:        virtinst-storage-ocfs2.diff
ExclusiveArch:  %{ix86} x86_64
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%gconf_schemas_prereq
#
#rpmlint BuildRequires:  python
BuildRequires:  gtk2-devel
BuildRequires:  python-devel
BuildRequires:  gettext
BuildRequires:  scrollkeeper
BuildRequires:  intltool
#rpmlint BuildRequires:  python-gtk
BuildRequires:  python-gtk-devel
BuildRequires:  python-gobject2-devel
BuildRequires:  gconf2-devel
BuildRequires:  desktop-file-utils
BuildRequires:  update-desktop-files
# virtinst BuildRequires
BuildRequires:  libxml2-python
BuildRequires:  python-urlgrabber
#BuildRequires:  libvirt-python
#
# 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.5.0
Requires:       vm-install
# Definitely does not work with earlier due to python API changes
# Requires:       dbus-python >= 0.61
Requires:       dbus-1-python
Requires:       dbus-1-x11
#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
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
%ifarch x86_64
Requires:       vtemodule.so()(64bit)
%else
Requires:       vtemodule.so
%endif
# For online help
Requires:       scrollkeeper
# For console widget
# Requires:       gtk-vnc-python
Requires:       python-gtk-vnc
# Requires:     librsvg added to avoid problems with minimal template
Requires:       librsvg
Requires:       netcat-openbsd
# Add requires for non Xen installations
Requires:       python-urlgrabber
Requires:       vm-install

%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
%patch1 -p1
%patch50 -p1
%patch51 -p1
#%patch52 -p1
%patch53 -p1
%patch54 -p1
#%patch55 -p1
#%patch56 -p1
#%patch57 -p1
%patch58 -p1
%patch59 -p1
%patch60 -p1
%patch61 -p1
%patch62 -p1
pushd $RPM_BUILD_DIR/%{virtinst_name}
%patch81 -p1
%patch82 -p1
popd
# sed -i -e "s@sr\@Latn@sr\@latin@" configure
# mv po/sr@Latn.po po/sr@latin.po

%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=%{pysite}/
rm -rf $RPM_BUILD_ROOT/var/scrollkeeper
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
for lang_file in %{name} virtinst  
do  
   %find_lang $lang_file single_lang_file.lang  
done  
cat %{name}.schemas_list single_lang_file.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

%post
%run_suseconfig -m glib2
%run_suseconfig -m gtk2

%preun -f %{name}.schemas_preun

%posttrans -f %{name}.schemas_posttrans

%files -f %{name}.lst
%defattr(-,root,root,-)
%doc COPYING AUTHORS ChangeLog
%{_bindir}/%{name}
%{_bindir}/virt-clone  
%{_bindir}/virt-convert  
%{_bindir}/virt-image  
%{_bindir}/virt-install  
%{_libexecdir}/%{name}-launch
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/*.glade
%dir %{_datadir}/%{name}/pixmaps
%dir %{_datadir}/%{name}/pixmaps/hicolor/
%dir %{_datadir}/%{name}/pixmaps/hicolor/*/
%dir %{_datadir}/%{name}/pixmaps/hicolor/*/*/
%{_datadir}/%{name}/pixmaps/*.png
%{_datadir}/%{name}/pixmaps/*.svg
%{_datadir}/%{name}/pixmaps/hicolor/*/*/*.png
%{_datadir}/%{name}/*.py
%dir %{_datadir}/%{name}/virtManager
%{_datadir}/%{name}/virtManager/*.py
%dir %{pysite}/virtinst
%{pysite}/virtinst/*.py
%{pysite}/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
%{_mandir}/man1/%{name}.1*  
%{_mandir}/man1/virt-clone.1*  
%{_mandir}/man1/virt-convert.1*  
%{_mandir}/man1/virt-image.1*  
%{_mandir}/man1/virt-install.1*  
%{_mandir}/man5/virt-image.5*  
# new files for virt-manager-0.8.1
%dir %{pysite}/virtconv
%{pysite}/virtconv/*.py
%{pysite}/virtconv/*.pyc
%dir %{pysite}/virtconv/parsers
%{pysite}/virtconv/parsers/*.py
%{pysite}/virtconv/parsers/*.pyc
%{pysite}/%{virtinst_name}-py2.?.egg-info
#%doc %{_datadir}/gnome/help/%{name}/C/figures/*.png
#%doc %{_datadir}/gnome/help/%{name}/C/*.xml
# FIXME: autobuild complains that these are unowned (not true...)
%dir %{_datadir}/dbus-1
%dir %{_datadir}/dbus-1/services
%dir %{_datadir}/applications/YaST2

%changelog