virt-manager/virt-manager.spec

255 lines
7.8 KiB
RPMSpec

#
# spec file for package virt-manager (Version 0.8.5)
#
# 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/
#
# 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: 1
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
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
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