# Since RHEL-5, QEMU is restricted to x86_64 only
# As Boxes don't really handle the !qemu case very well (untested, the 'box
# creation' UI would still be there but non-functional, ...), better to
# only build Boxes on platforms where qemu/qemu-kvm are available
%if 0%{?rhel}
ExclusiveArch: x86_64
%endif
# The following qemu_kvm_arches/with_qemu_kvm defines come from
# libvirt.spec
%if 0%{?fedora} >= 18
%define qemu_kvm_arches %{ix86} x86_64 ppc64 s390x
%else
%define qemu_kvm_arches %{ix86} x86_64
%endif
%if 0%{?rhel} >= 7
%define qemu_kvm_arches x86_64
%endif
%ifarch %{qemu_kvm_arches}
%define with_qemu_kvm 1
%else
%define with_qemu_kvm 0
%endif
#based on openSUSE spec file from dimstar, and on the Mageia .spec from bkor
%global url_ver %%(echo %{version}|cut -d. -f1,2)
Name: gnome-boxes
Version: 3.8.3
Release: 8%{?dist}
Summary: A simple GNOME 3 application to access remote or virtual systems
Group: Applications/Emulators
License: LGPLv2+
URL: https://live.gnome.org/Boxes
Source0: http://download.gnome.org/sources/%{name}/%{url_ver}/%{name}-%{version}.tar.xz
BuildRequires: libgovirt-devel
BuildRequires: intltool
BuildRequires: vala-devel >= 0.17.3
BuildRequires: vala-tools >= 0.17.3
BuildRequires: yelp-tools
BuildRequires: pkgconfig(clutter-gtk-1.0) >= 1.3.2
BuildRequires: pkgconfig(glib-2.0) => 2.32
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 0.9.6
BuildRequires: pkgconfig(gtk+-3.0) >= 3.5.5
BuildRequires: pkgconfig(gtk-vnc-2.0) >= 0.4.4
BuildRequires: pkgconfig(libvirt-gobject-1.0) >= 0.1.5
BuildRequires: pkgconfig(libvirt-gconfig-1.0) >= 0.1.5
BuildRequires: pkgconfig(libxml-2.0) >= 2.7.8
BuildRequires: pkgconfig(gudev-1.0) >= 167
BuildRequires: pkgconfig(libosinfo-1.0) >= 0.2.3
BuildRequires: pkgconfig(libsoup-2.4) >= 2.38
BuildRequires: spice-gtk3-vala >= 0.9
BuildRequires: libosinfo-vala >= 0.0.4
BuildRequires: desktop-file-utils
BuildRequires: tracker-devel
BuildRequires: libuuid-devel
#BuildRequires: autoconf automake libtool
# Pulls in libvirtd + KVM, but no NAT / firewall configs
%if %{with_qemu_kvm}
Requires: libvirt-daemon-kvm
%else
Requires: libvirt-daemon-qemu
%endif
# Needed for unattended installations
Requires: fuseiso
Requires: mtools
Requires: genisoimage
# gnome-boxes uses a dark theme
Requires: gnome-icon-theme
# https://bugzilla.redhat.com/show_bug.cgi?id=968285
# No keyboard shortcut to quit Boxes
Patch0: take-default-modifiers-into-account.patch
# https://bugzilla.gnome.org/show_bug.cgi?id=1030336
# [gnome-boxes] Translations incomplete
Patch1: complete-l10n.patch
# https://bugzilla.gnome.org/show_bug.cgi?id=846408
# Media list should watch for new/deleted ISOs
Patch2: rm-media-from-correct-widget.patch
# https://bugzilla.gnome.org/show_bug.cgi?id=1015079
# Need to click twice to get properties menu
Patch3: rm-existing-transition-before-adding-new-on.patch
# https://bugzilla.gnome.org/show_bug.cgi?id=1061216
# [abrt] gnome-boxes: boxes_installer_media_get_decoded_udev_property(): gnome-boxes killed by SIGABRT
Patch4: get_decoded_udev_property-Fix-sscanf-use.patch
# https://bugzilla.gnome.org/show_bug.cgi?id=1072611
# Should not propose to install/boot from CD/DVD in RHEL7
Patch5: don-t-register-for-x-content-bootable-media.patch
Patch6: ignore-CDROM-devices.patch
# https://bugzilla.gnome.org/show_bug.cgi?id=1043892
# Boxes can't handle ISO9660 USB devices
Patch7: ignore-non-readable-devices.patch
%description
gnome-boxes lets you easily create, setup, access, and use:
* remote machines
* remote virtual machines
* local virtual machines
* When technology permits, set up access for applications on
local virtual machines
%prep
%setup -q
%patch0 -p1 -b .take-default-modifiers-into-account
%patch1 -p2 -b .complete-l10n
%patch2 -p1 -b .rm-media-from-correct-widget
%patch3 -p1 -b .rm-existing-transition-before-adding-new-on
%patch4 -p1 -b .get_decoded_udev_property-Fix-sscanf-use
%patch5 -p1 -b .don-t-register-for-x-content-bootable-media
%patch6 -p1 -b .ignore-CDROM-devices
%patch7 -p1 -b .ignore-non-readable-devices
%build
#fedora-legal and the fedora board permit logos to be enabled
#http://lists.fedoraproject.org/pipermail/advisory-board/2012-February/011360.html
%configure --enable-logos --enable-vala --enable-usbredir --enable-smartcard
make %{?_smp_mflags} V=1
%install
make install DESTDIR=%{buildroot}
desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop
%find_lang %{name} --with-gnome
%post
update-desktop-database &> /dev/null || :
update-mime-database %{_datadir}/mime &> /dev/null || :
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
%postun
update-desktop-database &> /dev/null || :
update-mime-database %{_datadir}/mime &> /dev/null || :
if [ $1 -eq 0 ] ; then
touch --no-create %{_datadir}/icons/hicolor &>/dev/null
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
fi
%posttrans
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
%files -f %{name}.lang
%doc AUTHORS COPYING README NEWS TODO
%{_bindir}/%{name}
%{_datadir}/%{name}/
%{_datadir}/applications/%{name}.desktop
%{_datadir}/glib-2.0/schemas/org.gnome.boxes.gschema.xml
%{_datadir}/icons/hicolor/*/apps/gnome-boxes.*
%{_libexecdir}/gnome-boxes-search-provider
%{_datadir}/dbus-1/services/org.gnome.Boxes.SearchProvider.service
%dir %{_datadir}/gnome-shell
%dir %{_datadir}/gnome-shell/search-providers
%{_datadir}/gnome-shell/search-providers/gnome-boxes-search-provider.ini
%changelog
* Mon Mar 17 2014 Zeeshan Ali <zeenix@redhat.com> - 3.8.3-8
- Don't register for 'x-content/bootable-media' (related: #1072611).
- Ignore CDROM devices (related: #1072611).
- Ignore non-readable devices (related: #1043892)
* Wed Mar 12 2014 Zeeshan Ali <zeenix@redhat.com> - 3.8.3-7
- Fix a crash in get_decoded_udev_property (related: #1061216).
* Fri Feb 28 2014 Matthias Clasen <mclasen@redhat.com> - 3.8.3-6
- Rebuild
Resolves: #1070807
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 3.8.3-5
- Mass rebuild 2013-12-27
* Tue Dec 17 2013 Zeeshan Ali <zeenix@redhat.com> - 3.8.3-4
- Remove media from correct box (related: #846408).
- Remove existing transition before adding new one (related: #1015079).
* Wed Dec 4 2013 Zeeshan Ali <zeenix@redhat.com> - 3.8.3-3
- Complete translations (related: #1030336).
* Fri Nov 8 2013 Zeeshan Ali <zeenix@redhat.com> - 3.8.3-2
- Fix rhbz#968285
* Tue May 28 2013 Zeeshan Ali <zeenix@redhat.com> - 3.8.3-1
- Update to 3.8.3.
* Mon May 27 2013 Kalev Lember <kalevlember@gmail.com> 3.8.2-5
- Only pull in qemu on non-kvm arches
* Fri May 24 2013 Christophe Fergeau <cfergeau@redhat.com> 3.8.2-4
- ... and remove again the ExclusiveArch on fedora. If libvirt-daemon-qemu
is available, this means we can create (very slow) x86 boxes regardless
of the arch
* Thu May 23 2013 Christophe Fergeau <cfergeau@redhat.com> 3.8.2-3
- Readd ExclusiveArch as Boxes is not really functional on non-x86
arch even if it can be built. Also, libvirt-daemon-kvm is not
available on every arch, causing rhbz#962325
* Thu May 16 2013 Christophe Fergeau <cfergeau@redhat.com> 3.8.2-2
- Add upstream patch for rhbz#963464
* Tue May 14 2013 Zeeshan Ali <zeenix@redhat.com> - 3.8.2-1
- Update to 3.8.2.
* Thu Apr 18 2013 Christophe Fergeau <cfergeau@redhat.com> 3.8.1.2-1
- Update to 3.8.1.2
* Tue Apr 16 2013 Richard Hughes <rhughes@redhat.com> - 3.8.1-1
- Update to 3.8.1
* Tue Mar 26 2013 Richard Hughes <rhughes@redhat.com> - 3.8.0-1
- Update to 3.8.0
* Wed Mar 20 2013 Richard Hughes <rhughes@redhat.com> - 3.7.92-1
- Update to 3.7.92
* Fri Mar 8 2013 Matthias Clasen <mclasen@redhat.com> - 3.7.91-1
- Update to 3.7.91
* Thu Feb 21 2013 Kalev Lember <kalevlember@gmail.com> - 3.7.90-2
- Rebuilt for cogl soname bump
* Thu Feb 21 2013 Christophe Fergeau <cfergeau@redhat.com> 3.7.90-1
- Update do 3.7.90
* Wed Feb 06 2013 Richard Hughes <rhughes@redhat.com> - 3.7.5-1
- Update to 3.7.5
* Sun Jan 27 2013 Kalev Lember <kalevlember@gmail.com> - 3.7.4-3
- Rebuilt for tracker 0.16 ABI
* Fri Jan 25 2013 Peter Robinson <pbrobinson@fedoraproject.org> 3.7.4-2
- Rebuild for new cogl
* Tue Jan 15 2013 Zeeshan Ali <zeenix@redhat.com> - 3.7.4-1
- Update to 3.7.4.
* Thu Dec 20 2012 Christophe Fergeau <cfergeau@redhat.com> - 3.7.3-1
- Update to 3.7.3
* Tue Nov 20 2012 Christophe Fergeau <cfergeau@redhat.com> - 3.7.2-2
- Reenable USB redirection (it's disabled by default, packagers must
enable it if appropriate)
* Tue Nov 20 2012 Zeeshan Ali <zeenix@redhat.com> - 3.7.2-1
- Update to 3.7.2.
* Tue Nov 13 2012 Christophe Fergeau <cfergeau@redhat.com> - 3.6.2-2
- Update to 3.6.2
* Tue Oct 16 2012 Zeeshan Ali <zeenix@redhat.com> - 3.6.1.1-2
- Enable USB redirection in new domains.
* Tue Oct 16 2012 Zeeshan Ali <zeenix@redhat.com> - 3.6.1.1-1
- Update to 3.6.1.1
* Mon Oct 15 2012 Zeeshan Ali <zeenix@redhat.com> - 3.6.1-1
- Update to 3.6.1
* Tue Sep 25 2012 Christophe Fergeau <cfergeau@redhat.com> - 3.6.0-1
- Update to 3.6.0
* Wed Sep 19 2012 Richard Hughes <hughsient@gmail.com> - 3.5.92-1
- Update to 3.5.92
* Thu Sep 6 2012 Matthias Clasen <mclasen@redhat.com> - 3.5.91-2
- Rebuild against new spice
* Tue Sep 04 2012 Christophe Fergeau <cfergeau@redhat.com> - 3.5.91-1
- Update do 3.5.91
* Wed Aug 22 2012 Richard Hughes <hughsient@gmail.com> - 3.5.90-1
- Update to 3.5.90
* Tue Aug 07 2012 Richard Hughes <hughsient@gmail.com> - 3.5.5-1
- Update to 3.5.5
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.4.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Mon Jul 16 2012 Christophe Fergeau <cfergeau@redhat.com> - 3.5.4.1-1
- Update to 3.5.4.1
* Mon Jul 16 2012 Christophe Fergeau <cfergeau@redhat.com> - 3.5.4-1
- Update to 3.5.4
- Update some BuildRequires min version
* Tue Jun 26 2012 Richard Hughes <hughsient@gmail.com> - 3.5.3-1
- Update to 3.5.3
* Thu Jun 07 2012 Christophe Fergeau <cfergeau@redhat.com> - 3.5.2-2
- enable logos after getting confirmation this has been approved by
fedora-legal and the Fedora board
* Thu Jun 07 2012 Richard Hughes <hughsient@gmail.com> - 3.5.2-1
- Update to 3.5.2
* Wed May 16 2012 Christophe Fergeau <cfergeau@redhat.com> - 3.4.2-2
- Remove ExclusiveArch now that spice-gtk is built on all arch
* Tue May 15 2012 Zeeshan Ali <zeenix@redhat.com> - 3.4.2-1
- Update to 3.4.2
* Thu Apr 26 2012 Christophe Fergeau <cfergeau@redhat.com> - 3.4.1-2
- Backport a few upstream patches:
- asynchronously fetch domain information from libvirt, this makes Boxes
much more responsive
- make the file chooser dialog modal
- fix f17 unattended installation
* Tue Apr 17 2012 Richard Hughes <hughsient@gmail.com> - 3.4.1-1
- Update to 3.4.1
* Sat Mar 31 2012 Daniel P. Berrange <berrange@redhat.com> - 3.4.0.1-2
- Only pull in libvirtd + KVM drivers, without default configs (bug 802475)
* Sat Mar 31 2012 Zeeshan Ali <zeenix@redhat.com> - 3.4.0.1-1
- Update to 3.4.0.1
* Mon Mar 26 2012 Christophe Fergeau <cfergeau@redhat.com> - 3.4.0-1
- Update to 3.4.0
* Mon Mar 26 2012 Dan HorĂ¡k <dan[at]danny.cz> - 3.3.92-2
- set ExclusiveArch equal to spice-gtk
* Tue Mar 20 2012 Christophe Fergeau <cfergeau@redhat.com> - 3.3.92-1
- Update to 3.3.92
* Tue Mar 6 2012 Matthias Clasen <mclasen@redhat.com> - 3.3.91-1
- Update to 3.3.91
* Sun Feb 26 2012 Matthias Clasen <mclasen@redhat.com> - 3.3.90-1
- Update to 3.3.90
* Wed Feb 08 2012 Christophe Fergeau <cfergeau@redhat.com> - 3.3.5.1-1
- Update to 3.3.5.1
* Wed Jan 25 2012 Christophe Fergeau <cfergeau@redhat.com> - 3.3.4.1-1
- Update to minor 3.3.4.1 release
* Fri Jan 20 2012 Christophe Fergeau <cfergeau@redhat.com> - 3.3.4-4
- call desktop-file-validate in %%install. gnome-boxes upstream installs
a .desktop file on its own so desktop-file-validate is enough, no need
to call desktop-file-install.
* Fri Jan 20 2012 Christophe Fergeau <cfergeau@redhat.com> - 3.3.4-3
- Fix %%global use (%%url_ver got expanded to 3.3.4 instead of 3.3 in
-2)
* Tue Jan 17 2012 Christophe Fergeau <cfergeau@redhat.com> - 3.3.4-2
- Remove use of BuildRoot
- Remove use of defattr
- Use %%global instead of %%define
* Tue Jan 17 2012 Christophe Fergeau <cfergeau@redhat.com> - 3.3.4-1
- Update to 3.3.4 release
* Thu Jan 05 2012 Christophe Fergeau <cfergeau@redhat.com> - 3.3.3-3
- Escape %%{buildroot} in changelog
- Remove empty %%pre section
* Wed Jan 04 2012 Christophe Fergeau <cfergeau@redhat.com> - 3.3.3-2
- Use %%{buildroot} instead of $RPM_BUILD_ROOT
- Remove unneeded patch
- Add missing dependency on fuseiso
* Fri Dec 23 2011 Christophe Fergeau <cfergeau@redhat.com> - 3.3.3-1
- Initial import