X-Git-Url: http://git.pld-linux.org/?p=packages%2Fqemu.git;a=blobdiff_plain;f=qemu.spec;h=dcd7c665ff27d9a879ed0cbcae70beca22256cf8;hp=ade84961855030203d59ac5b8e90f35c0545abfb;hb=e03112c2d4f955b0c393067956a07de07c9d3fda;hpb=abca2fbab309046db0adade0575417735cfd667b diff --git a/qemu.spec b/qemu.spec index ade8496..dcd7c66 100644 --- a/qemu.spec +++ b/qemu.spec @@ -1,4 +1,5 @@ # TODO: +# - merge missing bits from qemu-kvm # - 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,8 +9,11 @@ # # Conditional build: %bcond_without sdl # SDL UI and audio support -%bcond_without opengl # OpenGL support +%bcond_without glx # OpenGL/GLX support %bcond_without ceph # Ceph/RBD support +%bcond_without glusterfs # GlusterFS backend +%bcond_without rdma # RDMA-based migration support +%bcond_with gtk2 # GTK+ 2.x instead of 3.x %bcond_without spice # SPICE support %bcond_with esd # EsounD audio support %bcond_without oss # OSS audio support @@ -19,22 +23,23 @@ Summary: QEMU CPU Emulator Summary(pl.UTF-8): QEMU - emulator procesora Name: qemu -Version: 1.2.0 -Release: 6 +Version: 1.6.1 +Release: 3 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: 3a897d722457c5a895cd6ac79a28fda0 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} @@ -42,15 +47,22 @@ 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 +%{?with_rdma:BuildRequires: libibverbs-devel} BuildRequires: libiscsi-devel BuildRequires: libjpeg-devel BuildRequires: libpng-devel +%{?with_rdma:BuildRequires: librdmacm-devel} BuildRequires: libseccomp-devel +BuildRequires: libssh2-devel >= 1.2.8 +# for usb passthrough, when available +#BuildRequires: libusb-devel >= 1.0.13 BuildRequires: libuuid-devel BuildRequires: ncurses-devel BuildRequires: nss-devel >= 3.12.8 @@ -58,20 +70,28 @@ 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.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.6 BuildRequires: vde2-devel BuildRequires: which %{?with_xen:BuildRequires: xen-devel >= 3.4} BuildRequires: xfsprogs-devel BuildRequires: xorg-lib-libX11-devel BuildRequires: zlib-devel +%if %{with gtk2} +BuildRequires: gtk+2-devel >= 2:2.18.0 +BuildRequires: vte0-devel >= 0.24.0 +%else +BuildRequires: gtk+3-devel >= 3.0.0 +BuildRequires: vte-devel >= 0.32.0 +%endif Requires: %{name}-img = %{version}-%{release} Requires: %{name}-system-alpha = %{version}-%{release} Requires: %{name}-system-arm = %{version}-%{release} @@ -80,6 +100,7 @@ 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-moxie = %{version}-%{release} Requires: %{name}-system-or32 = %{version}-%{release} Requires: %{name}-system-ppc = %{version}-%{release} Requires: %{name}-system-s390x = %{version}-%{release} @@ -89,10 +110,19 @@ Requires: %{name}-system-unicore32 = %{version}-%{release} Requires: %{name}-system-x86 = %{version}-%{release} Requires: %{name}-system-xtensa = %{version}-%{release} Requires: %{name}-user = %{version}-%{release} +Obsoletes: qemu-kvm BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define systempkg_req \ -Requires: SDL >= 1.2.1 +Requires: SDL >= 1.2.1 \ +Requires: usbredir >= 0.6 \ +%if %{with gtk2} \ +Requires: gtk+2 >= 2:2.18.0 \ +Requires: vte0 >= 0.24.0 \ +%else \ +Requires: gtk+3 >= 3.0.0 \ +Requires: vte >= 0.32.0 \ +%endif # some PPC/SPARC boot image in ELF format %define _noautostrip .*%{_datadir}/qemu/.*-.* @@ -132,7 +162,17 @@ 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(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 Requires: glib2 >= 1:2.12 +Requires: libssh2 >= 1.2.8 +Provides: group(qemu) +Provides: user(qemu) +Obsoletes: qemu-kvm-common Conflicts: qemu < 1.0-2 %description common @@ -153,6 +193,7 @@ Summary: QEMU command line tool for manipulating disk images Summary(pl.UTF-8): Narzędzie QEMU do operacji na obrazach dysków Group: Development/Tools Conflicts: qemu < 1.0-2 +Obsoletes: qemu-kvm-img %description img This package provides a command line tool for manipulating disk @@ -167,6 +208,7 @@ Summary: QEMU user mode emulation of qemu targets Summary(pl.UTF-8): QEMU - emulacja trybu użytkownika środowisk qemu Group: Development/Tools Requires: %{name}-common = %{version}-%{release} +Obsoletes: qemu-kvm-user %description user QEMU is a generic and open source processor emulator which achieves a @@ -186,6 +228,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem Alpha Group: Development/Tools Requires: %{name}-common = %{version}-%{release} %systempkg_req +Obsoletes: qemu-kvm-system-alpha %description system-alpha QEMU is a generic and open source processor emulator which achieves a @@ -205,6 +248,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem ARM Group: Development/Tools Requires: %{name}-common = %{version}-%{release} %systempkg_req +Obsoletes: qemu-kvm-system-arm %description system-arm QEMU is a generic and open source processor emulator which achieves a @@ -224,6 +268,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem CRIS Group: Development/Tools Requires: %{name}-common = %{version}-%{release} %systempkg_req +Obsoletes: qemu-kvm-system-cris %description system-cris QEMU is a generic and open source processor emulator which achieves a @@ -243,6 +288,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem LM32 Group: Development/Tools Requires: %{name}-common = %{version}-%{release} %systempkg_req +Obsoletes: qemu-kvm-system-lm32 %description system-lm32 QEMU is a generic and open source processor emulator which achieves a @@ -262,6 +308,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem m68k Group: Development/Tools Requires: %{name}-common = %{version}-%{release} %systempkg_req +Obsoletes: qemu-kvm-system-m68k %description system-m68k QEMU is a generic and open source processor emulator which achieves a @@ -281,6 +328,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem MicroBlaze Group: Development/Tools Requires: %{name}-common = %{version}-%{release} %systempkg_req +Obsoletes: qemu-kvm-system-microblaze %description system-microblaze QEMU is a generic and open source processor emulator which achieves a @@ -300,6 +348,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem MIPS Group: Development/Tools Requires: %{name}-common = %{version}-%{release} %systempkg_req +Obsoletes: qemu-kvm-system-mips %description system-mips QEMU is a generic and open source processor emulator which achieves a @@ -313,12 +362,32 @@ 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 +Obsoletes: qemu-kvm-system-or32 %description system-or32 QEMU is a generic and open source processor emulator which achieves a @@ -338,6 +407,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem PowerPC Group: Development/Tools Requires: %{name}-common = %{version}-%{release} %systempkg_req +Obsoletes: qemu-kvm-system-ppc %description system-ppc QEMU is a generic and open source processor emulator which achieves a @@ -357,6 +427,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem S390 Group: Development/Tools Requires: %{name}-common = %{version}-%{release} %systempkg_req +Obsoletes: qemu-kvm-system-s390x %description system-s390x QEMU is a generic and open source processor emulator which achieves a @@ -376,6 +447,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem SH4 Group: Development/Tools Requires: %{name}-common = %{version}-%{release} %systempkg_req +Obsoletes: qemu-kvm-system-sh4 %description system-sh4 QEMU is a generic and open source processor emulator which achieves a @@ -395,6 +467,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem SPARC Group: Development/Tools Requires: %{name}-common = %{version}-%{release} %systempkg_req +Obsoletes: qemu-kvm-system-sparc %description system-sparc QEMU is a generic and open source processor emulator which achieves a @@ -414,6 +487,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem UniCore32 Group: Development/Tools Requires: %{name}-common = %{version}-%{release} %systempkg_req +Obsoletes: qemu-kvm-system-unicore32 %description system-unicore32 QEMU is a generic and open source processor emulator which achieves a @@ -433,6 +507,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem x86 Group: Development/Tools Requires: %{name}-common = %{version}-%{release} %systempkg_req +Obsoletes: qemu-kvm-system-x86 %description system-x86 QEMU is a generic and open source processor emulator which achieves a @@ -448,6 +523,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem Xtensa Group: Development/Tools Requires: %{name}-common = %{version}-%{release} %systempkg_req +Obsoletes: qemu-kvm-system-xtensa %description system-xtensa QEMU is a generic and open source processor emulator which achieves a @@ -465,9 +541,10 @@ Ten pakiet zawiera emulator systemu z procesorem Xtensa. %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 @@ -489,15 +566,17 @@ 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 glx} \ %{__enable_disable ceph rbd} \ + %{__enable_disable rdma} \ %{__enable_disable sdl} \ --enable-seccomp \ %{__enable_disable spice} \ - --enable-smartcard \ --enable-smartcard-nss \ + --enable-tpm \ --enable-usb-redir \ --enable-uuid \ --enable-vde \ @@ -507,9 +586,10 @@ ln -s ../error.h qapi/error.h --enable-vnc-sasl \ --enable-vnc-tls \ %{__enable_disable xen} \ - --audio-card-list="ac97,es1370,sb16,cs4231a,adlib,gus,hda" \ --audio-drv-list="alsa%{?with_iss:,oss}%{?with_sdl:,sdl}%{?with_esd:,esd}%{?with_pulseaudio:,pa}" \ - --interp-prefix=%{_libdir}/qemu/lib-%%M + --interp-prefix=%{_libdir}/qemu/lib-%%M \ + --with-gtkabi="%{?with_gtk2:2.0}%{!?with_gtk2:3.0}" + # note: CONFIG_QEMU_HELPERDIR is used when compiling, libexecdir when installing; # --libexecdir in configure is nop %{__make} \ @@ -539,20 +619,33 @@ EOF # install patched vesa tables with additional widescreen modes. 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* @@ -560,16 +653,18 @@ 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}/qemu_logo_no_text.svg %{_datadir}/%{name}/openbios-ppc %{_datadir}/%{name}/openbios-sparc* %{_datadir}/%{name}/palcode-clipper +%{_datadir}/%{name}/s390-ccw.img %files img %defattr(644,root,root,755) @@ -590,6 +685,10 @@ rm -rf $RPM_BUILD_ROOT %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 @@ -635,6 +734,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