X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=qemu.spec;h=070660ca3214571249be9ce825de15f63e12f8d6;hb=0655cee4cc3a80fedeb1de5863e90f0e2c05a0e1;hp=982ca704b4f07f97d521fcc237ade922068e6757;hpb=112b8450b7709738acb2979e9c70672f3157d895;p=packages%2Fqemu.git diff --git a/qemu.spec b/qemu.spec index 982ca70..070660c 100644 --- a/qemu.spec +++ b/qemu.spec @@ -1,12 +1,14 @@ +# TODO: archipelago (libxseg) on bcond (GPL v3 vs v2-only conflict) # # Conditional build: %bcond_without sdl # SDL UI and audio 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 xseg # Archipelago backend [non-distributable: GPLv3+ vs GPLv2-only] %bcond_with gtk2 # GTK+ 2.x instead of 3.x -%bcond_without gtk3 # Do not build GTK UI +%bcond_without gtk3 # Do not build GTK+ UI +%bcond_without vte # VTE support in GTK+ UI %bcond_without spice # SPICE support %bcond_with esd # EsounD audio support %bcond_without oss # OSS audio support @@ -21,20 +23,26 @@ %bcond_without usbredir # usb network redirection support %bcond_without system_seabios # system seabios binary %bcond_without snappy # snappy compression library +%bcond_with lttng # lttng-ust trace backend support +%bcond_with systemtap # SystemTap/dtrace trace backend support %if %{with gtk2} %undefine with_gtk3 %endif +%ifarch x32 +%undefine with_xen +%endif + Summary: QEMU CPU Emulator Summary(pl.UTF-8): QEMU - emulator procesora Name: qemu -Version: 2.2.0 +Version: 2.4.0.1 Release: 1 -License: GPL v2+ +License: GPL v2 Group: Applications/Emulators Source0: http://wiki.qemu-project.org/download/%{name}-%{version}.tar.bz2 -# Source0-md5: f7a5e2da22d057eb838a91da7aff43c8 +# Source0-md5: c99445164e77184a9ba2e7dbf7ed5c29 Source2: %{name}.binfmt # Loads kvm kernel modules at boot Source3: kvm-modules-load.conf @@ -55,42 +63,51 @@ Patch2: %{name}-whitelist.patch Patch3: %{name}-system-libcacard.patch Patch4: %{name}-xattr.patch Patch5: libjpeg-boolean.patch +Patch6: x32.patch +Patch7: %{name}-sh.patch # Proof of concept, for reference, do not remove Patch400: %{name}-kde_virtual_workspaces_hack.patch URL: http://www.qemu-project.org/ -%{?with_opengl:BuildRequires: OpenGL-GLX-devel} +BuildRequires: OpenGL-devel +BuildRequires: OpenGL-GLX-devel %{?with_sdl:BuildRequires: SDL2-devel >= 2.0} BuildRequires: alsa-lib-devel -BuildRequires: bcc +BuildRequires: bcc >= 0.16.21-2 %{?with_bluetooth:BuildRequires: bluez-libs-devel} %{?with_brlapi:BuildRequires: brlapi-devel} +BuildRequires: bzip2-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 +BuildRequires: glib2-devel >= 1:2.22 %{?with_glusterfs:BuildRequires: glusterfs-devel >= 3.4} BuildRequires: gnutls-devel > 2.10.0 BuildRequires: libaio-devel %{?with_smartcard:BuildRequires: libcacard-devel} BuildRequires: libcap-devel BuildRequires: libcap-ng-devel +BuildRequires: libepoxy-devel BuildRequires: libfdt-devel %{?with_rdma:BuildRequires: libibverbs-devel} -%{?with_iscsi:BuildRequires: libiscsi-devel >= 1.4.0} +%{?with_iscsi:BuildRequires: libiscsi-devel >= 1.9.0} BuildRequires: libjpeg-devel %{?with_libnfs:BuildRequires: libnfs-devel >= 1.9.3} BuildRequires: libpng-devel %{?with_rdma:BuildRequires: librdmacm-devel} -%{?with_seccomp:BuildRequires: libseccomp-devel >= 2.1.0} +%{?with_seccomp:BuildRequires: libseccomp-devel >= 2.1.1} BuildRequires: libssh2-devel >= 1.2.8 BuildRequires: libusb-devel >= 1.0.13 BuildRequires: libuuid-devel +%{?with_xseg:BuildRequires: libxseg-devel} +%{?with_lttng:BuildRequires: lttng-ust-devel} BuildRequires: lzo-devel >= 2 BuildRequires: ncurses-devel -%{?with_smartcard:BuildRequires: nss-devel >= 3.12.8} +%{?with_smartcard:BuildRequires: nss-devel >= 1:3.12.8} +BuildRequires: numactl-devel BuildRequires: perl-Encode BuildRequires: perl-tools-pod +BuildRequires: pixman-devel >= 0.21.8 BuildRequires: pkgconfig %{?with_pulseaudio:BuildRequires: pulseaudio-devel} BuildRequires: rpmbuild(macros) >= 1.644 @@ -101,9 +118,11 @@ BuildRequires: sed >= 4.0 BuildRequires: spice-protocol >= 0.12.3 BuildRequires: spice-server-devel >= 0.12.0 %endif +%{?with_systemtap:BuildRequires: systemtap-sdt-devel} BuildRequires: texi2html BuildRequires: texinfo %{?with_usbredir:BuildRequires: usbredir-devel >= 0.6} +%{?with_lttng:BuildRequires: userspace-rcu-devel} BuildRequires: vde2-devel BuildRequires: which %{?with_xen:BuildRequires: xen-devel >= 3.4} @@ -112,11 +131,11 @@ 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 +%{?with_vte:BuildRequires: vte0-devel >= 0.24.0} %endif %if %{with gtk3} BuildRequires: gtk+3-devel >= 3.0.0 -BuildRequires: vte-devel >= 0.32.0 +%{?with_vte:BuildRequires: vte2.90-devel >= 0.32.0} %endif Requires: %{name}-img = %{version}-%{release} Requires: %{name}-system-aarch64 = %{version}-%{release} @@ -149,20 +168,22 @@ Requires: SDL2 \ Requires: libseccomp >= 2.1.0 \ %endif \ Requires: libusb >= 1.0.13 \ +Requires: pixman >= 0.21.8 \ %if %{with usbredir} \ Requires: usbredir >= 0.6 \ %endif \ %if %{with gtk2} \ Requires: gtk+2 >= 2:2.18.0 \ -Requires: vte0 >= 0.24.0 \ +%{?with_vte:Requires: vte0 >= 0.24.0} \ %endif \ %if %{with gtk3} \ Requires: gtk+3 >= 3.0.0 \ -Requires: vte >= 0.32.0 \ +%{?with_vte:Requires: vte2.90 >= 0.32.0} \ %endif -# some PPC/SPARC boot image in ELF format -%define _noautostrip .*%{_datadir}/qemu/.*-.* +# don't strip/chrpath anything in there; these are boot images, roms etc +%define _noautostrip .*%{_datadir}/qemu/.* +%define _noautochrpath .*%{_datadir}/qemu/.* %description QEMU is a FAST! processor emulator. By using dynamic translation it @@ -206,7 +227,7 @@ 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: glib2 >= 1:2.22 %{?with_libnfs:Requires: libnfs >= 1.9.3} Requires: libssh2 >= 1.2.8 Requires: systemd-units >= 38 @@ -544,8 +565,8 @@ dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. Ten pakiet zawiera emulator systemu z procesorem SPARC/SPARC64. %package system-tricore -Summary: QEMU system emulator for Tricore -Summary(pl.UTF-8): QEMU - emulator systemu z procesorem Tricore +Summary: QEMU system emulator for TriCore +Summary(pl.UTF-8): QEMU - emulator systemu z procesorem TriCore Group: Development/Tools Requires: %{name}-common = %{version}-%{release} %systempkg_req @@ -554,14 +575,13 @@ Requires: %{name}-common = %{version}-%{release} 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 Tricore CPU. +This package provides the system emulator with TriCore CPU. %description system-sparc -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 SPARC/SPARC64. - +Ten pakiet zawiera emulator systemu z procesorem TriCore. %package system-unicore32 Summary: QEMU system emulator for UniCore32 @@ -626,7 +646,7 @@ Summary: QEMU guest agent Summary(pl.UTF-8): Agent gościa QEMU Group: Daemons Requires(post,preun,postun): systemd-units >= 38 -Requires: glib2 >= 1:2.12 +Requires: glib2 >= 1:2.22 Requires: systemd-units >= 38 Obsoletes: qemu-kvm-guest-agent @@ -650,6 +670,18 @@ systemach-gościach, komunikującego się kanałem virtio-serial o nazwie Ten pakiet nie musi być zainstalowany w systemie hosta. +%package module-block-archipelago +Summary: QEMU module for Archipelago block devices +Summary(pl.UTF-8): Moduł QEMU dla urządeń blokowych Archipelago +Group: Development/Tools +Requires: %{name}-common = %{version}-%{release} + +%description module-block-archipelago +Archipelago block device support for QEMU. + +%description module-block-archipelago -l pl.UTF-8 +Moduł QEMU dla urządeń blokowych Archipelago. + %package module-block-curl Summary: QEMU module for 'curl' block devices Summary(pl.UTF-8): Moduł QEMU dla urządeń blokowych typu 'curl' @@ -680,7 +712,7 @@ Summary: QEMU module for 'iscsi' block devices Summary(pl.UTF-8): Moduł QEMU dla urządeń blokowych typu 'iscsi' Group: Development/Tools Requires: %{name}-common = %{version}-%{release} -Requires: libiscsi >= 1.4.0 +Requires: libiscsi >= 1.9.0 %description module-block-iscsi 'iscsi' block device support for QEMU. @@ -720,6 +752,8 @@ Moduł QEMU dla urządeń blokowych typu 'ssh'. %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 +%patch7 -p1 %{__mv} libcacard libcacard-use-system-lib @@ -737,6 +771,7 @@ ln -s ../error.h qapi/error.h --cc="%{__cc}" \ --host-cc="%{__cc}" \ --disable-strip \ + %{__enable_disable xseg archipelago} \ --enable-attr \ %{__enable_disable bluetooth bluez} \ %{__enable_disable brlapi} \ @@ -747,7 +782,6 @@ ln -s ../error.h qapi/error.h --enable-fdt \ %{__enable_disable glusterfs} \ %{__enable_disable iscsi libiscsi} \ - %{__enable_disable glx} \ %{__enable_disable ceph rbd} \ %{__enable_disable rdma} \ %{__enable_disable sdl} \ @@ -756,6 +790,7 @@ ln -s ../error.h qapi/error.h %{__enable_disable spice} \ %{__enable_disable smartcard smartcard-nss} \ --enable-tpm \ + --enable-trace-backends="nop%{?with_systemtap:,dtrace}%{?with_lttng:,ust}" \ %{__enable_disable usbredir usb-redir} \ --enable-uuid \ --enable-vde \ @@ -764,6 +799,7 @@ ln -s ../error.h qapi/error.h --enable-vnc-png \ --enable-vnc-sasl \ --enable-vnc-tls \ + %{!?with_vte:--disable-vte} \ --enable-kvm \ %{__enable_disable xen} \ --enable-modules \ @@ -771,7 +807,6 @@ ln -s ../error.h qapi/error.h %{__enable_disable libnfs} \ --enable-lzo \ %{__enable_disable snappy} \ - --enable-quorum \ --audio-drv-list="alsa%{?with_iss:,oss}%{?with_sdl:,sdl}%{?with_esd:,esd}%{?with_pulseaudio:,pa}" \ --interp-prefix=%{_libdir}/qemu/lib-%%M \ %if %{without gtk2} && %{without gtk3} @@ -807,7 +842,7 @@ EOF install -p qemu.sasl $RPM_BUILD_ROOT%{_sysconfdir}/sasl/qemu.conf -%ifarch %{ix86} %{x8664} +%ifarch %{ix86} %{x8664} x32 install -p scripts/kvm/kvm_stat $RPM_BUILD_ROOT%{_bindir} install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/modules-load.d/kvm.conf install -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d @@ -827,7 +862,7 @@ install -p %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir} install -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d for i in dummy \ -%ifnarch %{ix86} %{x8664} +%ifnarch %{ix86} %{x8664} x32 qemu-i386 \ %endif %ifnarch arm @@ -921,15 +956,13 @@ fi %files common -f %{name}.lang %defattr(644,root,root,755) -%doc README qemu-doc.html qemu-tech.html qmp-commands.txt +%doc LICENSE README qemu-doc.html qemu-tech.html 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 %config(noreplace) %verify(not md5 mtime size) /etc/ksmtuned.conf %config(noreplace) %verify(not md5 mtime size) /etc/sasl/qemu.conf %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ksm %{systemdunitdir}/ksm.service %{systemdunitdir}/ksmtuned.service -%dir %{_sysconfdir}/qemu %attr(755,root,root) %{_bindir}/virtfs-proxy-helper %attr(755,root,root) %{_bindir}/qemu-nbd %attr(755,root,root) %{_libdir}/qemu-bridge-helper @@ -979,11 +1012,15 @@ fi %{_datadir}/%{name}/vgabios-cirrus.bin %{_datadir}/%{name}/vgabios-qxl.bin %{_datadir}/%{name}/vgabios-stdvga.bin +%{_datadir}/%{name}/vgabios-virtio.bin %{_datadir}/%{name}/vgabios-vmware.bin %{_datadir}/%{name}/vgabios.bin %dir %{_libdir}/%{name} +# modules without too many external dependencies +%attr(755,root,root) %{_libdir}/%{name}/block-dmg.so + %files img %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/qemu-img @@ -1100,7 +1137,7 @@ fi %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/qemu-system-i386 %attr(755,root,root) %{_bindir}/qemu-system-x86_64 -%ifarch %{ix86} %{x8664} +%ifarch %{ix86} %{x8664} x32 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/kvm.conf %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/80-kvm.rules %attr(755,root,root) %{_bindir}/kvm_stat @@ -1121,6 +1158,12 @@ fi %{systemdunitdir}/qemu-guest-agent.service %attr(755,root,root) %{_bindir}/qemu-ga +%if %{with xseg} +%files module-block-archipelago +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/%{name}/block-archipelago.so +%endif + %files module-block-curl %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/%{name}/block-curl.so