X-Git-Url: https://git.tld-linux.org/?a=blobdiff_plain;f=qemu.spec;h=ec8c547dd02a35757da5eb406ecd0060188ea68b;hb=788ce17f143480ddefe3b82d8bfdfd1fb70e22f8;hp=23c31881e2a504a4647a251194ad98c0a98a95b5;hpb=3b84a1de8cb0948b8052d70b75a8387538f6bdda;p=packages%2Fqemu.git diff --git a/qemu.spec b/qemu.spec index 23c3188..ec8c547 100644 --- a/qemu.spec +++ b/qemu.spec @@ -1,19 +1,20 @@ +# 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 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 %bcond_without pulseaudio # PulseAudio audio support %bcond_without xen # Xen backend driver support %bcond_without bluetooth # bluetooth support -%bcond_without brlapi # brlapi support +%bcond_with brlapi # brlapi support %bcond_without smartcard # smartcard-nss support %bcond_without iscsi # iscsi support %bcond_without libnfs # NFS support @@ -21,6 +22,8 @@ %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 @@ -29,41 +32,39 @@ Summary: QEMU CPU Emulator Summary(pl.UTF-8): QEMU - emulator procesora Name: qemu -Version: 2.1.2 +Version: 2.3.0 Release: 2 -License: GPL v2+ +License: GPL v2 Group: Applications/Emulators Source0: http://wiki.qemu-project.org/download/%{name}-%{version}.tar.bz2 -# Source0-md5: 0ff197c4ed4b695620bc4734e77c888f +# Source0-md5: 2fab3ea4460de9b57192e5b8b311f221 Source2: %{name}.binfmt # Loads kvm kernel modules at boot Source3: kvm-modules-load.conf # Creates /dev/kvm Source4: 80-kvm.rules # KSM control scripts -Source5: ksm.service Source6: ksm.sysconfig Source7: ksmctl.c -Source8: ksmtuned.service Source9: ksmtuned Source10: ksmtuned.conf -Source11: %{name}-guest-agent.service -Source12: 99-%{name}-guest-agent.rules Patch0: %{name}-cflags.patch Patch1: vgabios-widescreens.patch Patch2: %{name}-whitelist.patch Patch3: %{name}-system-libcacard.patch Patch4: %{name}-xattr.patch Patch5: libjpeg-boolean.patch +Patch6: CVE-2015-3456.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} -%{?with_sdl:BuildRequires: SDL2-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 @@ -82,15 +83,18 @@ 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_lttng:BuildRequires: lttng-ust-devel} BuildRequires: lzo-devel >= 2 BuildRequires: ncurses-devel %{?with_smartcard:BuildRequires: nss-devel >= 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 +105,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 +118,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} @@ -133,6 +139,7 @@ Requires: %{name}-system-ppc = %{version}-%{release} Requires: %{name}-system-s390x = %{version}-%{release} Requires: %{name}-system-sh4 = %{version}-%{release} Requires: %{name}-system-sparc = %{version}-%{release} +Requires: %{name}-system-tricore = %{version}-%{release} Requires: %{name}-system-unicore32 = %{version}-%{release} Requires: %{name}-system-x86 = %{version}-%{release} Requires: %{name}-system-xtensa = %{version}-%{release} @@ -148,20 +155,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 @@ -198,7 +207,6 @@ 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(post,preun,postun): systemd-units >= 38 Requires(postun): /usr/sbin/groupdel Requires(postun): /usr/sbin/userdel Requires(pre): /bin/id @@ -208,7 +216,6 @@ Requires(pre): /usr/sbin/useradd Requires: glib2 >= 1:2.12 %{?with_libnfs:Requires: libnfs >= 1.9.3} Requires: libssh2 >= 1.2.8 -Requires: systemd-units >= 38 Provides: group(qemu) Provides: user(qemu) Obsoletes: qemu-kvm-common @@ -247,8 +254,6 @@ 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} -Requires(post,postun): systemd-units >= 38 -Requires: systemd-units >= 38 Obsoletes: qemu-kvm-user %description user @@ -542,6 +547,25 @@ 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 +Group: Development/Tools +Requires: %{name}-common = %{version}-%{release} +%systempkg_req + +%description system-tricore +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. + +%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 TriCore. + %package system-unicore32 Summary: QEMU system emulator for UniCore32 Summary(pl.UTF-8): QEMU - emulator systemu z procesorem UniCore32 @@ -604,9 +628,7 @@ Ten pakiet zawiera emulator systemu z procesorem Xtensa. 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: systemd-units >= 38 Obsoletes: qemu-kvm-guest-agent %description guest-agent @@ -659,7 +681,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. @@ -699,6 +721,7 @@ Moduł QEMU dla urządeń blokowych typu 'ssh'. %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 %{__mv} libcacard libcacard-use-system-lib @@ -707,8 +730,8 @@ ln -s ../error.h qapi/error.h %build ./configure \ - --extra-cflags="%{rpmcflags} -I/usr/include/ncurses" \ - --extra-ldflags="%{rpmldflags}" \ + --extra-cflags="%{rpmcflags} %{rpmcppflags} -fPIE -DPIE" \ + --extra-ldflags="%{rpmldflags} -pie -Wl,-z,relro -Wl,-z,now" \ --prefix=%{_prefix} \ --libdir=%{_libdir} \ --libexecdir=%{_libexecdir} \ @@ -726,7 +749,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} \ @@ -735,6 +757,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 \ @@ -743,6 +766,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 \ @@ -756,7 +780,6 @@ ln -s ../error.h qapi/error.h %if %{without gtk2} && %{without gtk3} --disable-gtk %else - --enable-gtk \ --with-gtkabi="%{?with_gtk2:2.0}%{!?with_gtk2:3.0}" %endif @@ -771,7 +794,7 @@ ln -s ../error.h qapi/error.h %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{%{systemdunitdir},/usr/lib/binfmt.d} \ +install -d $RPM_BUILD_ROOT/usr/lib/binfmt.d \ $RPM_BUILD_ROOT/etc/{sysconfig,udev/rules.d,modules-load.d} \ $RPM_BUILD_ROOT{%{_sysconfdir}/sasl,%{_sbindir}} @@ -793,19 +816,12 @@ install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/modules-load.d/kvm.conf install -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d %endif -install -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdunitdir}/ksm.service install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/ksm install -p ksmctl $RPM_BUILD_ROOT%{_sbindir} -install -p %{SOURCE8} $RPM_BUILD_ROOT%{systemdunitdir}/ksmtuned.service install -p %{SOURCE9} $RPM_BUILD_ROOT%{_sbindir}/ksmtuned install -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/ksmtuned.conf -# For the qemu-guest-agent subpackage install the systemd -# service and udev rules. -install -p %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir} -install -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d - for i in dummy \ %ifnarch %{ix86} %{x8664} qemu-i386 \ @@ -861,54 +877,24 @@ rm -rf $RPM_BUILD_ROOT %groupadd -g 276 qemu %useradd -u 276 -g qemu -G kvm -c "QEMU User" qemu -%post common -%systemd_post ksm.service -%systemd_post ksmtuned.service - -%preun common -%systemd_preun ksm.service -%systemd_preun ksmtuned.service - %postun common if [ "$1" = "0" ]; then %userremove qemu %groupremove qemu %groupremove kvm fi -%systemd_reload - -%triggerpostun common -- qemu-common < 1.6.1-4 -%systemd_trigger ksm.service -%systemd_trigger ksmtuned.service - -%post user -%systemd_service_restart systemd-binfmt.service - -%postun user -%systemd_service_restart systemd-binfmt.service - -%post guest-agent -%systemd_reload - -%preun guest-agent -%systemd_preun qemu-guest-agent.service - -%postun guest-agent -%systemd_reload %files %defattr(644,root,root,755) %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 @@ -922,6 +908,7 @@ fi %dir %{_datadir}/qemu %{_datadir}/%{name}/keymaps %{_datadir}/%{name}/qemu-icon.bmp +%{_datadir}/%{name}/trace-events # various bios images # all should be probably moved to the right system subpackage @@ -955,7 +942,6 @@ fi %{_datadir}/%{name}/sgabios.bin %{_datadir}/%{name}/slof.bin %{_datadir}/%{name}/spapr-rtas.bin -%{_datadir}/%{name}/u-boot.e500 %{_datadir}/%{name}/vgabios-cirrus.bin %{_datadir}/%{name}/vgabios-qxl.bin %{_datadir}/%{name}/vgabios-stdvga.bin @@ -1050,7 +1036,9 @@ fi %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/qemu-system-ppc %attr(755,root,root) %{_bindir}/qemu-system-ppc64 +#%attr(755,root,root) %{_bindir}/qemu-system-ppc64le %attr(755,root,root) %{_bindir}/qemu-system-ppcemb +%{_datadir}/%{name}/u-boot.e500 %files system-s390x %defattr(644,root,root,755) @@ -1066,6 +1054,10 @@ fi %attr(755,root,root) %{_bindir}/qemu-system-sparc %attr(755,root,root) %{_bindir}/qemu-system-sparc64 +%files system-tricore +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/qemu-system-tricore + %files system-unicore32 %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/qemu-system-unicore32 @@ -1091,8 +1083,6 @@ fi %files guest-agent %defattr(644,root,root,755) -%config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/99-qemu-guest-agent.rules -%{systemdunitdir}/qemu-guest-agent.service %attr(755,root,root) %{_bindir}/qemu-ga %files module-block-curl