Blob Blame History Raw
# 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