]> git.pld-linux.org Git - packages/qemu.git/blobdiff - qemu.spec
- packaged remaining files, added -system-moxie subpackage
[packages/qemu.git] / qemu.spec
index 413721eb85996269558033e17327a491246687ac..cee340b665dbd150ab9c9cf6190d555ea9ce1a62 100644 (file)
--- a/qemu.spec
+++ b/qemu.spec
@@ -1,5 +1,6 @@
 # TODO:
-# - update patches
+# - 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
@@ -8,38 +9,76 @@
 #   qemu-0.11.1-*.x86_64.rpm - OK
 #
 # Conditional build:
-%bcond_with    nosdlgui                # do not use SDL gui (use X11 instead)
+%bcond_without sdl             # SDL UI and audio support
+%bcond_without glx             # 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
+%bcond_without pulseaudio      # PulseAudio audio support
+%bcond_without xen             # Xen backend driver support
 
 Summary:       QEMU CPU Emulator
 Summary(pl.UTF-8):     QEMU - emulator procesora
 Name:          qemu
-Version:       1.2.0
-Release:       4
-License:       GPL
+Version:       1.5.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: b6f3265b8ed39d77e8f354f35cc26e16
 Patch0:                %{name}-cflags.patch
 Patch1:                vgabios-widescreens.patch
-Patch6:                %{name}-nosdlgui.patch
+Patch2:                %{name}-whitelist.patch
+Patch3:                %{name}-system-libcacard.patch
 # Proof of concept, for reference, do not remove
-Patch8:                %{name}-kde_virtual_workspaces_hack.patch
-Patch17:       %{name}-whitelist.patch
-URL:           http://wiki.qemu.org/Index.html
-BuildRequires: SDL-devel >= 1.2.1
+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: curl-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: libiscsi-devel
+BuildRequires: libjpeg-devel
+BuildRequires: libpng-devel
+BuildRequires: libseccomp-devel
+BuildRequires: libuuid-devel
 BuildRequires: ncurses-devel
+BuildRequires: nss-devel >= 3.12.8
 BuildRequires: perl-Encode
 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.12.0
+BuildRequires: spice-server-devel >= 0.12.0
+%endif
 BuildRequires: texi2html
 BuildRequires: texinfo
+BuildRequires: usbredir-devel >= 0.6
+BuildRequires: vde2-devel
 BuildRequires: which
-BuildRequires: xen-devel
+%{?with_xen:BuildRequires:     xen-devel >= 3.4}
+BuildRequires: xfsprogs-devel
 BuildRequires: xorg-lib-libX11-devel
+BuildRequires: zlib-devel
 Requires:      %{name}-img = %{version}-%{release}
 Requires:      %{name}-system-alpha = %{version}-%{release}
 Requires:      %{name}-system-arm = %{version}-%{release}
@@ -48,8 +87,9 @@ Requires:     %{name}-system-lm32 = %{version}-%{release}
 Requires:      %{name}-system-m68k = %{version}-%{release}
 Requires:      %{name}-system-microblaze = %{version}-%{release}
 Requires:      %{name}-system-mips = %{version}-%{release}
-Requires:      %{name}-system-ppc = %{version}-%{release}
+Requires:      %{name}-system-moxie = %{version}-%{release}
 Requires:      %{name}-system-or32 = %{version}-%{release}
+Requires:      %{name}-system-ppc = %{version}-%{release}
 Requires:      %{name}-system-s390x = %{version}-%{release}
 Requires:      %{name}-system-sh4 = %{version}-%{release}
 Requires:      %{name}-system-sparc = %{version}-%{release}
@@ -57,10 +97,12 @@ Requires:   %{name}-system-unicore32 = %{version}-%{release}
 Requires:      %{name}-system-x86 = %{version}-%{release}
 Requires:      %{name}-system-xtensa = %{version}-%{release}
 Requires:      %{name}-user = %{version}-%{release}
-# sparc is currently unsupported (missing cpu_get_real_ticks() impl in vl.c)
-ExclusiveArch: %{ix86} %{x8664} %{?with_userspace:ppc}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define        systempkg_req \
+Requires:      SDL >= 1.2.1 \
+Requires:      usbredir >= 0.6
+
 # some PPC/SPARC boot image in ELF format
 %define                _noautostrip    .*%{_datadir}/qemu/.*-.*
 
@@ -99,7 +141,15 @@ aby działał na kolejnych procesorach. QEMU ma dwa tryby pracy:
 Summary:       QEMU common files needed by all QEMU targets
 Summary(pl.UTF-8):     Wspólne pliki QEMU wymagane przez wszystkie środowiska QEMU
 Group:         Development/Tools
-Requires:      SDL >= 1.2.1
+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
@@ -152,6 +202,7 @@ Summary:    QEMU system emulator for Alpha
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem Alpha
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-alpha
 QEMU is a generic and open source processor emulator which achieves a
@@ -170,6 +221,7 @@ Summary:    QEMU system emulator for ARM
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem ARM
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-arm
 QEMU is a generic and open source processor emulator which achieves a
@@ -184,10 +236,11 @@ dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
 Ten pakiet zawiera emulator systemu z procesorem ARM.
 
 %package system-cris
-Summary:       QEMU system emulator for cris
+Summary:       QEMU system emulator for CRIS
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem CRIS
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-cris
 QEMU is a generic and open source processor emulator which achieves a
@@ -206,6 +259,7 @@ Summary:    QEMU system emulator for LM32
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem LM32
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-lm32
 QEMU is a generic and open source processor emulator which achieves a
@@ -224,6 +278,7 @@ Summary:    QEMU system emulator for m68k
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem m68k
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-m68k
 QEMU is a generic and open source processor emulator which achieves a
@@ -242,6 +297,7 @@ Summary:    QEMU system emulator for MicroBlaze
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem MicroBlaze
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-microblaze
 QEMU is a generic and open source processor emulator which achieves a
@@ -260,6 +316,7 @@ Summary:    QEMU system emulator for MIPS
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem MIPS
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-mips
 QEMU is a generic and open source processor emulator which achieves a
@@ -273,11 +330,31 @@ dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
 
 Ten pakiet zawiera emulator systemu z procesorem MIPS.
 
+%package system-moxie
+Summary:       QEMU system emulator for Moxie
+Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem Moxie
+Group:         Development/Tools
+Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
+
+%description system-moxie
+QEMU is a generic and open source processor emulator which achieves a
+good emulation speed by using dynamic translation.
+
+This package provides the system emulator with Moxie CPU.
+
+%description system-moxie -l pl.UTF-8
+QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
+dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
+
+Ten pakiet zawiera emulator systemu z procesorem Moxie.
+
 %package system-or32
 Summary:       QEMU system emulator for OpenRISC
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem OpenRISC
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-or32
 QEMU is a generic and open source processor emulator which achieves a
@@ -296,6 +373,7 @@ Summary:    QEMU system emulator for PowerPC
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem PowerPC
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-ppc
 QEMU is a generic and open source processor emulator which achieves a
@@ -314,6 +392,7 @@ Summary:    QEMU system emulator for S390
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem S390
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-s390x
 QEMU is a generic and open source processor emulator which achieves a
@@ -332,6 +411,7 @@ Summary:    QEMU system emulator for SH4
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem SH4
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-sh4
 QEMU is a generic and open source processor emulator which achieves a
@@ -350,6 +430,7 @@ Summary:    QEMU system emulator for SPARC
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem SPARC
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-sparc
 QEMU is a generic and open source processor emulator which achieves a
@@ -368,6 +449,7 @@ Summary:    QEMU system emulator for UniCore32
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem UniCore32
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-unicore32
 QEMU is a generic and open source processor emulator which achieves a
@@ -386,28 +468,22 @@ Summary:  QEMU system emulator for x86
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem x86
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-x86
 QEMU is a generic and open source processor emulator which achieves a
 good emulation speed by using dynamic translation.
 
-This package provides the system emulator with x86 CPU. When being run
-in a x86 machine that supports it, this package also provides the KVM
-virtualization platform.
-
 %description system-x86 -l pl.UTF-8
 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
 
-Ten pakiet zawiera emulator systemu z procesorem x86. W przypadku
-uruchomienia na maszynie x86 pozwalającej na to, ten pakiet udostępnia
-także platformę wirtualizacji KVM.
-
 %package system-xtensa
 Summary:       QEMU system emulator for Xtensa
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem Xtensa
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-xtensa
 QEMU is a generic and open source processor emulator which achieves a
@@ -425,9 +501,10 @@ Ten pakiet zawiera emulator systemu z procesorem Xtensa.
 %setup -q
 %patch0 -p1
 %patch1 -p1
-%{?with_nosdlgui:%patch6 -p1}
-#patch8 -p1
-%patch17 -p0
+%patch2 -p0
+%patch3 -p1
+
+%{__mv} libcacard libcacard-use-system-lib
 
 # workaround for conflict with alsa/error.h
 ln -s ../error.h qapi/error.h
@@ -436,14 +513,39 @@ ln -s ../error.h qapi/error.h
 ./configure \
        --extra-cflags="%{rpmcflags} -I/usr/include/ncurses" \
        --extra-ldflags="%{rpmldflags}" \
-       --sysconfdir=%{_sysconfdir} \
        --prefix=%{_prefix} \
+       --sysconfdir=%{_sysconfdir} \
        --cc="%{__cc}" \
        --host-cc="%{__cc}" \
        --disable-strip \
+       --enable-attr \
+       --enable-bluez \
+       --enable-brlapi \
+       --enable-cap-ng \
+       --enable-curl \
+       --enable-curses \
+       --enable-docs \
+       --enable-fdt \
+       %{__enable_disable glusterfs} \
+       --enable-libiscsi \
        --enable-mixemu \
-       --audio-drv-list="alsa" \
-       --interp-prefix=%{_libdir}/%{name}
+       %{__enable_disable glx} \
+       %{__enable_disable ceph rbd} \
+       %{__enable_disable sdl} \
+       --enable-seccomp \
+       %{__enable_disable spice} \
+       --enable-smartcard-nss \
+       --enable-usb-redir \
+       --enable-uuid \
+       --enable-vde \
+       --enable-virtfs \
+       --enable-vnc-jpeg \
+       --enable-vnc-png \
+       --enable-vnc-sasl \
+       --enable-vnc-tls \
+       %{__enable_disable xen} \
+       --audio-drv-list="alsa%{?with_iss:,oss}%{?with_sdl:,sdl}%{?with_esd:,esd}%{?with_pulseaudio:,pa}" \
+       --interp-prefix=%{_libdir}/qemu/lib-%%M
 # note: CONFIG_QEMU_HELPERDIR is used when compiling, libexecdir when installing;
 # --libexecdir in configure is nop
 %{__make} \
@@ -471,22 +573,35 @@ EOF
 %{__rm} $RPM_BUILD_ROOT%{_docdir}/qemu/qmp-commands.txt
 
 # install patched vesa tables with additional widescreen modes.
-install -m 644 roms/vgabios/VGABIOS-lgpl-latest.stdvga.bin $RPM_BUILD_ROOT%{_datadir}/%{name}/vgabios-stdvga.bin
+cp -p roms/vgabios/VGABIOS-lgpl-latest.stdvga.bin $RPM_BUILD_ROOT%{_datadir}/%{name}/vgabios-stdvga.bin
+
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/locale/{de_DE,de}
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/locale/{fr_FR,fr}
+%find_lang %{name}
 
 %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)
 
-%files common
+%files common -f %{name}.lang
 %defattr(644,root,root,755)
 %doc README qemu-doc.html qemu-tech.html QMP/qmp-commands.txt
 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/qemu-ifup
 %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*
@@ -494,16 +609,17 @@ rm -rf $RPM_BUILD_ROOT
 %{_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
 %{_datadir}/%{name}/openbios-ppc
 %{_datadir}/%{name}/openbios-sparc*
 %{_datadir}/%{name}/palcode-clipper
+%{_datadir}/%{name}/s390-ccw.img
 
 %files img
 %defattr(644,root,root,755)
@@ -512,19 +628,22 @@ rm -rf $RPM_BUILD_ROOT
 
 %files user
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/qemu-x86_64
-%attr(755,root,root) %{_bindir}/qemu-i386
 %attr(755,root,root) %{_bindir}/qemu-alpha
 %attr(755,root,root) %{_bindir}/qemu-arm
 %attr(755,root,root) %{_bindir}/qemu-armeb
 %attr(755,root,root) %{_bindir}/qemu-cris
 %attr(755,root,root) %{_bindir}/qemu-ga
+%attr(755,root,root) %{_bindir}/qemu-i386
 %attr(755,root,root) %{_bindir}/qemu-io
 %attr(755,root,root) %{_bindir}/qemu-m68k
 %attr(755,root,root) %{_bindir}/qemu-microblaze
 %attr(755,root,root) %{_bindir}/qemu-microblazeel
 %attr(755,root,root) %{_bindir}/qemu-mips
 %attr(755,root,root) %{_bindir}/qemu-mipsel
+%attr(755,root,root) %{_bindir}/qemu-mips64
+%attr(755,root,root) %{_bindir}/qemu-mips64el
+%attr(755,root,root) %{_bindir}/qemu-mipsn32
+%attr(755,root,root) %{_bindir}/qemu-mipsn32el
 %attr(755,root,root) %{_bindir}/qemu-or32
 %attr(755,root,root) %{_bindir}/qemu-ppc
 %attr(755,root,root) %{_bindir}/qemu-ppc64
@@ -536,6 +655,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/qemu-sparc32plus
 %attr(755,root,root) %{_bindir}/qemu-sparc64
 %attr(755,root,root) %{_bindir}/qemu-unicore32
+%attr(755,root,root) %{_bindir}/qemu-x86_64
 
 %files system-alpha
 %defattr(644,root,root,755)
@@ -569,6 +689,10 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/qemu-system-mips64
 %attr(755,root,root) %{_bindir}/qemu-system-mips64el
 
+%files system-moxie
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/qemu-system-moxie
+
 %files system-or32
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-or32
This page took 0.077091 seconds and 4 git commands to generate.