# TODO:
+# - merge missing bits from qemu-kvm
+# - --enable-glusterfs when glusterfs 3.4 is out
# - qemu-system-ppc -hda ac-ppc.img says:
# qemu: could not open disk image ac-ppc.img: error "Success"
# qemu-0.12.2-2.x86_64.rpm - broken
%bcond_without sdl # SDL UI and audio support
%bcond_without opengl # OpenGL support
%bcond_without ceph # Ceph/RBD support
+%bcond_with glusterfs # GlusterFS backend
%bcond_without spice # SPICE support
%bcond_with esd # EsounD audio support
%bcond_without oss # OSS audio support
Summary: QEMU CPU Emulator
Summary(pl.UTF-8): QEMU - emulator procesora
Name: qemu
-Version: 1.2.0
-Release: 5
+Version: 1.4.0
+Release: 0.1
License: GPL v2+
Group: Applications/Emulators
-Source0: http://wiki.qemu.org/download/%{name}-%{version}.tar.bz2
-# Source0-md5: 78eb1e984f4532aa9f2bdd3c127b5b61
+Source0: http://wiki.qemu-project.org/download/%{name}-%{version}.tar.bz2
+# Source0-md5: 78f13b774814b6b7ebcaf4f9b9204318
Patch0: %{name}-cflags.patch
Patch1: vgabios-widescreens.patch
-Patch2: %{name}-usbredir.patch
-Patch3: %{name}-whitelist.patch
+Patch2: %{name}-whitelist.patch
+Patch3: %{name}-system-libcacard.patch
# Proof of concept, for reference, do not remove
Patch4: %{name}-kde_virtual_workspaces_hack.patch
URL: http://www.qemu-project.org/
%{?with_opengl:BuildRequires: OpenGL-GLX-devel}
%{?with_sdl:BuildRequires: SDL-devel >= 1.2.1}
BuildRequires: alsa-lib-devel
+BuildRequires: bcc
BuildRequires: bluez-libs-devel
BuildRequires: brlapi-devel
%{?with_ceph:BuildRequires: ceph-devel}
BuildRequires: cyrus-sasl-devel >= 2
%{?with_esd:BuildRequires: esound-devel}
BuildRequires: glib2-devel >= 1:2.12
+%{?with_glusterfs:BuildRequires: glusterfs-devel >= 3.4}
BuildRequires: gnutls-devel
BuildRequires: libaio-devel
+BuildRequires: libcacard-devel
BuildRequires: libcap-devel
BuildRequires: libcap-ng-devel
BuildRequires: libfdt-devel
BuildRequires: perl-tools-pod
BuildRequires: pkgconfig
%{?with_pulseaudio:BuildRequires: pulseaudio-devel}
+BuildRequires: rpmbuild(macros) >= 1.202
BuildRequires: sed >= 4.0
%if %{with spice}
-BuildRequires: spice-protocol >= 0.8.0
-BuildRequires: spice-server-devel >= 0.8.2
+BuildRequires: spice-protocol >= 0.12.0
+BuildRequires: spice-server-devel >= 0.12.0
%endif
BuildRequires: texi2html
BuildRequires: texinfo
-BuildRequires: usbredir-devel >= 0.3.4
+BuildRequires: usbredir-devel >= 0.5.3
BuildRequires: vde2-devel
BuildRequires: which
%{?with_xen:BuildRequires: xen-devel >= 3.4}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define systempkg_req \
-Requires: SDL >= 1.2.1
+Requires: SDL >= 1.2.1 \
+Requires: usbredir >= 0.5.3
# some PPC/SPARC boot image in ELF format
%define _noautostrip .*%{_datadir}/qemu/.*-.*
Summary(pl.UTF-8): Wspólne pliki QEMU wymagane przez wszystkie środowiska QEMU
Group: Development/Tools
Requires: glib2 >= 1:2.12
+Requires(postun): /usr/sbin/groupdel
+Requires(postun): /usr/sbin/userdel
+Requires(pre): /bin/id
+Requires(pre): /usr/bin/getgid
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
+Provides: group(qemu)
+Provides: user(qemu)
Conflicts: qemu < 1.0-2
%description common
%setup -q
%patch0 -p1
%patch1 -p1
-%patch2 -p1
-%patch3 -p0
-#patch4 -p1
+%patch2 -p0
+%patch3 -p1
+
+%{__mv} libcacard libcacard-use-system-lib
# workaround for conflict with alsa/error.h
ln -s ../error.h qapi/error.h
--enable-curses \
--enable-docs \
--enable-fdt \
+ %{__enable_disable glusterfs} \
--enable-libiscsi \
--enable-mixemu \
%{__enable_disable opengl} \
%{__enable_disable sdl} \
--enable-seccomp \
%{__enable_disable spice} \
- --enable-smartcard \
--enable-smartcard-nss \
--enable-usb-redir \
--enable-uuid \
%clean
rm -rf $RPM_BUILD_ROOT
+%pre common
+%groupadd -g 276 qemu
+%useradd -u 276 -g qemu -c "QEMU User" qemu
+
+%postun common
+if [ "$1" = "0" ]; then
+ %userremove qemu
+ %groupremove qemu
+fi
+
%files
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/qemu/target-*.conf
%dir %{_sysconfdir}/qemu
%attr(755,root,root) %{_bindir}/virtfs-proxy-helper
-%attr(755,root,root) %{_bindir}/vscclient
%attr(755,root,root) %{_bindir}/qemu-nbd
%attr(755,root,root) %{_libdir}/qemu-bridge-helper
%{_mandir}/man1/qemu.1*
%{_mandir}/man8/qemu-nbd.8*
%dir %{_datadir}/qemu
-%{_datadir}/%{name}/cpus-*.conf
%{_datadir}/%{name}/keymaps
%{_datadir}/%{name}/qemu-icon.bmp
# various bios images
+%{_datadir}/%{name}/*.aml
%{_datadir}/%{name}/*.bin
%{_datadir}/%{name}/*.rom
%{_datadir}/%{name}/*.dtb