]> git.pld-linux.org Git - packages/qemu.git/blobdiff - qemu.spec
rel 1
[packages/qemu.git] / qemu.spec
index 9f67f35008fc2bf96bc9813b368a9449660f4ce1..0541665b185d240c76971adc7160028af82ebb0d 100644 (file)
--- a/qemu.spec
+++ b/qemu.spec
@@ -1,6 +1,5 @@
 # TODO:
-# libpmem (x86_64 only?)
-# plugins?
+# plugins? (probes)
 #
 # Conditional build:
 %bcond_without sdl             # SDL UI and audio support
@@ -19,6 +18,7 @@
 %bcond_without iscsi           # iscsi support
 %bcond_without libnfs          # NFS support
 %bcond_without multipath       # Multipath support
+%bcond_without pmem            # libpmem (persistent memory) support
 %bcond_without seccomp         # seccomp support
 %bcond_without usbredir        # usb network redirection support
 %bcond_without system_seabios  # system seabios binary
@@ -27,7 +27,6 @@
 %bcond_with    lttng           # lttng-ust trace backend support [needs update]
 %bcond_without systemtap       # SystemTap/dtrace trace backend support
 %bcond_without virgl           # build virgl support
-%bcond_with    vxhs            # Veritas HyperScale vDisk backend support (builtin; module not supported)
 %bcond_without xkbcommon       # xkbcommon support
 
 %if %{without gtk}
 %ifarch x32
 %undefine      with_xen
 %endif
+%ifnarch %{x8664} aarch64
+%undefine      with_pmem
+%endif
 
 Summary:       QEMU CPU Emulator
 Summary(pl.UTF-8):     QEMU - emulator procesora
 Name:          qemu
-Version:       5.0.0
+Version:       5.2.0
 Release:       1
 License:       GPL v2, BSD (edk2 firmware files)
 Group:         Applications/Emulators
 Source0:       https://download.qemu.org/%{name}-%{version}.tar.xz
-# Source0-md5: ede6005d7143fe994dd089d31dc2cf6c
+# Source0-md5: 179f86928835da857c237b42f4b2df73
 # Loads kvm kernel modules at boot
 Source3:       kvm-modules-load.conf
 # Creates /dev/kvm
@@ -64,12 +66,11 @@ Source14:   %{name}-guest-agent.logrotate
 Source15:      %{name}-pr-helper.service
 Source16:      %{name}-pr-helper.socket
 Patch0:                %{name}-cflags.patch
-Patch1:                %{name}-whitelist.patch
-Patch2:                %{name}-user-execve.patch
-Patch3:                %{name}-xattr.patch
-Patch4:                libjpeg-boolean.patch
-Patch5:                x32.patch
-Patch6:                %{name}-vxhs.patch
+Patch1:                %{name}-user-execve.patch
+Patch2:                %{name}-xattr.patch
+Patch3:                libjpeg-boolean.patch
+Patch4:                x32.patch
+Patch5:                binutils-2.36.patch
 URL:           https://www.qemu.org/
 %{?with_opengl:BuildRequires:  Mesa-libgbm-devel}
 %{?with_opengl:BuildRequires:  OpenGL-GLX-devel}
@@ -84,14 +85,16 @@ BuildRequires:      capstone-devel >= 3.0.5
 %{?with_ceph:BuildRequires:    ceph-devel}
 BuildRequires: curl-devel
 BuildRequires: cyrus-sasl-devel >= 2
+BuildRequires: gettext-tools
 BuildRequires: glib2-devel >= 1:2.48
 # minimal is 3.4 but new features are used up to 6
 %{?with_glusterfs:BuildRequires:       glusterfs-devel >= 6}
 BuildRequires: gnutls-devel >= 3.1.18
-%{?with_gtk3:BuildRequires:    gtk+3-devel >= 3.16}
+%{?with_gtk3:BuildRequires:    gtk+3-devel >= 3.22.0}
 BuildRequires: libaio-devel
 %{?with_smartcard:BuildRequires:       libcacard-devel >= 2.5.1}
 BuildRequires: libcap-ng-devel
+BuildRequires: libdrm-devel
 %{?with_opengl:BuildRequires:  libepoxy-devel}
 BuildRequires: libfdt-devel >= 1.4.2
 %{?with_rdma:BuildRequires:    libibverbs-devel}
@@ -109,15 +112,16 @@ BuildRequires:    libslirp-devel >= 4.0.0
 BuildRequires: libusb-devel >= 1.0.22
 BuildRequires: liburing-devel
 BuildRequires: libuuid-devel
-%{?with_vxhs:BuildRequires:    libvxhs-devel}
 BuildRequires: libxml2-devel >= 2.0
 %{?with_lttng:BuildRequires:   lttng-ust-devel}
 BuildRequires: lzfse-devel
 BuildRequires: lzo-devel >= 2
+BuildRequires: meson >= 0.55.0
 %{?with_multipath:BuildRequires:       multipath-tools-devel}
 BuildRequires: ncurses-devel
 # also libgcrypt-devel >= 1.5.0 possible, but gnutls already pulls nettle
 BuildRequires: nettle-devel >= 2.7.1
+BuildRequires: ninja
 %{?with_smartcard:BuildRequires:       nss-devel >= 1:3.12.8}
 BuildRequires: numactl-devel
 BuildRequires: pam-devel
@@ -125,6 +129,7 @@ BuildRequires:      perl-Encode
 BuildRequires: perl-tools-pod
 BuildRequires: pixman-devel >= 0.21.8
 BuildRequires: pkgconfig
+%{?with_pmem:BuildRequires:    pmdk-devel}
 %{?with_pulseaudio:BuildRequires:      pulseaudio-devel}
 BuildRequires: python3 >= 1:3.5
 BuildRequires: rpmbuild(macros) >= 1.644
@@ -137,6 +142,7 @@ BuildRequires:      spice-protocol >= 0.12.3
 BuildRequires: spice-server-devel >= 0.12.5
 %endif
 %{?with_systemtap:BuildRequires:       systemtap-sdt-devel}
+BuildRequires: tar >= 1:1.22
 BuildRequires: texi2html
 BuildRequires: texinfo
 %{?with_multipath:BuildRequires:       udev-devel}
@@ -146,11 +152,13 @@ BuildRequires:    vde2-devel
 BuildRequires: which
 %{?with_virgl:BuildRequires:   virglrenderer-devel}
 %{?with_vte:BuildRequires:     vte-devel >= 0.32.0}
-# xencontrol xenstore xenguest xenforeignmemory xengnttab xenevtchn xendevicemodel [xentoolcore for xen 4.10+]
-%{?with_xen:BuildRequires:     xen-devel >= 4.2}
+# xencontrol xenstore xenguest xenforeignmemory xengnttab xenevtchn xendevicemodel; xentoolcore for xen 4.10+
+# min version is 4.2, more features up to 4.10
+%{?with_xen:BuildRequires:     xen-devel >= 4.10}
 BuildRequires: xfsprogs-devel
 %{?with_xkbcommon:BuildRequires:       xorg-lib-libxkbcommon-devel}
 BuildRequires: xorg-lib-libX11-devel
+BuildRequires: xz
 BuildRequires: zlib-devel
 BuildRequires: zstd-devel >= 1.4.0
 %if %{with user_static}
@@ -163,9 +171,9 @@ Requires:   %{name}-img = %{version}-%{release}
 Requires:      %{name}-system-aarch64 = %{version}-%{release}
 Requires:      %{name}-system-alpha = %{version}-%{release}
 Requires:      %{name}-system-arm = %{version}-%{release}
+Requires:      %{name}-system-avr = %{version}-%{release}
 Requires:      %{name}-system-cris = %{version}-%{release}
 Requires:      %{name}-system-hppa = %{version}-%{release}
-Requires:      %{name}-system-lm32 = %{version}-%{release}
 Requires:      %{name}-system-m68k = %{version}-%{release}
 Requires:      %{name}-system-microblaze = %{version}-%{release}
 Requires:      %{name}-system-mips = %{version}-%{release}
@@ -180,7 +188,6 @@ 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}
 Requires:      %{name}-user = %{version}-%{release}
@@ -254,7 +261,7 @@ Requires(pre):      /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
 Requires:      glib2 >= 1:2.48
 Requires:      gnutls-libs >= 3.1.18
-%{?with_gtk3:Requires: gtk+3 >= 3.16}
+%{?with_gtk3:Requires: gtk+3 >= 3.22.0}
 Requires:      nettle >= 2.7.1
 Requires:      systemd-units >= 38
 %{?with_vte:Requires:  vte >= 0.32.0}
@@ -394,6 +401,26 @@ dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
 
 Ten pakiet zawiera emulator systemu z 32-bitowym procesorem ARM.
 
+%package system-avr
+Summary:       QEMU system emulator for AVR
+Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem AVR
+Group:         Applications/Emulators
+Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
+Obsoletes:     qemu-kvm-system-avr
+
+%description system-avr
+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 for AVR.
+
+%description system-avr -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 AVR.
+
 %package system-cris
 Summary:       QEMU system emulator for CRIS
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem CRIS
@@ -433,26 +460,6 @@ dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
 
 Ten pakiet zawiera emulator systemu z procesorem HP/PA (PA-RISC).
 
-%package system-lm32
-Summary:       QEMU system emulator for LM32
-Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem LM32
-Group:         Applications/Emulators
-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
-good emulation speed by using dynamic translation.
-
-This package provides the system emulator with LM32 CPU.
-
-%description system-lm32 -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 LM32.
-
 %package system-m68k
 Summary:       QEMU system emulator for m68k
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem m68k
@@ -730,26 +737,6 @@ 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
-Group:         Applications/Emulators
-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
-good emulation speed by using dynamic translation.
-
-This package provides the system emulator with UniCore32 CPU.
-
-%description system-unicore32 -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 UniCore32.
-
 %package system-x86
 Summary:       QEMU system emulator for x86
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem x86
@@ -946,12 +933,11 @@ Sondy systemtap/dtrace dla QEMU.
 %prep
 %setup -q
 %patch0 -p1
-%patch1 -p0
+%patch1 -p1
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
-%patch6 -p1
 
 %{__sed} -i '1s,/usr/bin/env python3,%{__python3},' scripts/qemu-trace-stap
 
@@ -991,8 +977,8 @@ build() {
 }
 
 build dynamic \
-       --extra-cflags="%{rpmcflags} %{rpmcppflags} -fPIE -DPIE" \
-       --extra-ldflags="%{rpmldflags} -pie -Wl,-z,relro -Wl,-z,now" \
+       --extra-cflags="%{rpmcflags} %{rpmcppflags}" \
+       --extra-ldflags="%{rpmldflags} -Wl,-z,relro -Wl,-z,now" \
        --audio-drv-list="alsa%{?with_oss:,oss}%{?with_sdl:,sdl}%{?with_pulseaudio:,pa}" \
        --enable-attr \
        %{__enable_disable brlapi} \
@@ -1006,6 +992,7 @@ build dynamic \
        %{!?with_gtk3:--disable-gtk} \
        %{__enable_disable iscsi libiscsi} \
        %{__enable_disable libnfs} \
+       %{__enable_disable pmem libpmem} \
        --enable-lzo \
        %{__enable_disable multipath mpath} \
        --enable-modules \
@@ -1027,7 +1014,6 @@ build dynamic \
        --enable-vnc-jpeg \
        --enable-vnc-png \
        --enable-vnc-sasl \
-       %{__enable_disable vxhs} \
        %{!?with_vte:--disable-vte} \
        %{__enable_disable xen} \
        %{__enable_disable xkbcommon}
@@ -1045,6 +1031,7 @@ build static \
        --disable-guest-agent \
        --disable-guest-agent-msi \
        --disable-libnfs \
+       --disable-linux-io-uring \
        --disable-mpath \
        --disable-nettle \
        --disable-pie \
@@ -1054,9 +1041,9 @@ build static \
        --disable-system \
        --disable-tcmalloc \
        --disable-tools \
-       --disable-vxhs \
        --enable-user \
        --disable-xkbcommon \
+       --disable-zstd \
        --static
 %endif
 
@@ -1202,6 +1189,10 @@ done
 : > qemu.lang
 %endif
 
+for t in client server; do
+       cp -p build-dynamic/contrib/ivshmem-$t/ivshmem-$t $RPM_BUILD_ROOT%{_bindir}
+done
+
 # Windows installer icon, not used
 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/qemu-nsis.bmp
 # packaged as %doc
@@ -1209,8 +1200,6 @@ done
 
 # cleanup Sphinx files
 %{__rm} $RPM_BUILD_ROOT%{_docdir}/qemu/{interop,specs,system,tools,user}/{.buildinfo,objects.inv}
-# leave just HTML version
-%{__rm} $RPM_BUILD_ROOT%{_docdir}/qemu/qemu-{ga,qmp}-ref.txt
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -1294,13 +1283,13 @@ fi
 %attr(755,root,root) %{_bindir}/qemu-nbd
 %attr(755,root,root) %{_bindir}/qemu-pr-helper
 %attr(755,root,root) %{_bindir}/qemu-storage-daemon
-%attr(755,root,root) %{_bindir}/virtfs-proxy-helper
 %attr(755,root,root) %{_sbindir}/ksmctl
 %attr(755,root,root) %{_sbindir}/ksmtuned
 %attr(755,root,root) %{_libexecdir}/qemu-bridge-helper
 %if %{with virgl}
 %attr(755,root,root) %{_libexecdir}/vhost-user-gpu
 %endif
+%attr(755,root,root) %{_libexecdir}/virtfs-proxy-helper
 %attr(755,root,root) %{_libexecdir}/virtiofsd
 %dir %{_libdir}/%{name}
 # modules without too many external dependencies
@@ -1313,9 +1302,29 @@ fi
 %if %{with pulseaudio}
 %attr(755,root,root) %{_libdir}/%{name}/audio-pa.so
 %endif
+%if %{with brlapi}
+%attr(755,root,root) %{_libdir}/%{name}/chardev-baum.so
+%endif
+%attr(755,root,root) %{_libdir}/%{name}/hw-display-qxl.so
+%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu-pci.so
+%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu.so
+%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-vga.so
 %attr(755,root,root) %{_libdir}/%{name}/ui-curses.so
+%if %{with usbredir}
+%attr(755,root,root) %{_libdir}/%{name}/hw-usb-redirect.so
+%endif
+%if %{with smartcard}
+%attr(755,root,root) %{_libdir}/%{name}/hw-usb-smartcard.so
+%endif
+%if %{with opengl}
+%attr(755,root,root) %{_libdir}/%{name}/ui-egl-headless.so
+%attr(755,root,root) %{_libdir}/%{name}/ui-opengl.so
+%endif
 %if %{with spice}
+%attr(755,root,root) %{_libdir}/%{name}/audio-spice.so
+%attr(755,root,root) %{_libdir}/%{name}/chardev-spice.so
 %attr(755,root,root) %{_libdir}/%{name}/ui-spice-app.so
+%attr(755,root,root) %{_libdir}/%{name}/ui-spice-core.so
 %endif
 %dir %{_datadir}/%{name}
 %dir %{_datadir}/%{name}/firmware
@@ -1337,6 +1346,7 @@ fi
 %{_mandir}/man7/qemu-cpu-models.7*
 %{_mandir}/man7/qemu-qmp-ref.7*
 %{_mandir}/man8/qemu-nbd.8*
+%{_mandir}/man8/qemu-pr-helper.8*
 %{_docdir}/qemu
 
 %files img
@@ -1369,7 +1379,6 @@ fi
 %attr(755,root,root) %{_bindir}/qemu-or1k
 %attr(755,root,root) %{_bindir}/qemu-ppc
 %attr(755,root,root) %{_bindir}/qemu-ppc64
-%attr(755,root,root) %{_bindir}/qemu-ppc64abi32
 %attr(755,root,root) %{_bindir}/qemu-ppc64le
 %attr(755,root,root) %{_bindir}/qemu-riscv32
 %attr(755,root,root) %{_bindir}/qemu-riscv64
@@ -1379,7 +1388,6 @@ fi
 %attr(755,root,root) %{_bindir}/qemu-sparc
 %attr(755,root,root) %{_bindir}/qemu-sparc32plus
 %attr(755,root,root) %{_bindir}/qemu-sparc64
-%attr(755,root,root) %{_bindir}/qemu-tilegx
 %attr(755,root,root) %{_bindir}/qemu-x86_64
 %attr(755,root,root) %{_bindir}/qemu-xtensa
 %attr(755,root,root) %{_bindir}/qemu-xtensaeb
@@ -1409,7 +1417,6 @@ fi
 %attr(755,root,root) %{_bindir}/qemu-or1k-static
 %attr(755,root,root) %{_bindir}/qemu-ppc-static
 %attr(755,root,root) %{_bindir}/qemu-ppc64-static
-%attr(755,root,root) %{_bindir}/qemu-ppc64abi32-static
 %attr(755,root,root) %{_bindir}/qemu-ppc64le-static
 %attr(755,root,root) %{_bindir}/qemu-riscv32-static
 %attr(755,root,root) %{_bindir}/qemu-riscv64-static
@@ -1419,10 +1426,10 @@ fi
 %attr(755,root,root) %{_bindir}/qemu-sparc-static
 %attr(755,root,root) %{_bindir}/qemu-sparc32plus-static
 %attr(755,root,root) %{_bindir}/qemu-sparc64-static
-%attr(755,root,root) %{_bindir}/qemu-tilegx-static
 %attr(755,root,root) %{_bindir}/qemu-x86_64-static
 %attr(755,root,root) %{_bindir}/qemu-xtensa-static
 %attr(755,root,root) %{_bindir}/qemu-xtensaeb-static
+%attr(755,root,root) %{_bindir}/qemu-trace-stap-static
 %endif
 
 %files system-aarch64
@@ -1442,6 +1449,11 @@ fi
 %{_datadir}/%{name}/edk2-arm-code.fd
 %{_datadir}/%{name}/edk2-arm-vars.fd
 %{_datadir}/%{name}/firmware/60-edk2-arm.json
+%{_datadir}/%{name}/npcm7xx_bootrom.bin
+
+%files system-avr
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/qemu-system-avr
 
 %files system-cris
 %defattr(644,root,root,755)
@@ -1452,10 +1464,6 @@ fi
 %attr(755,root,root) %{_bindir}/qemu-system-hppa
 %{_datadir}/%{name}/hppa-firmware.img
 
-%files system-lm32
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/qemu-system-lm32
-
 %files system-m68k
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-m68k
@@ -1502,14 +1510,14 @@ fi
 %files system-riscv32
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-riscv32
-%{_datadir}/%{name}/opensbi-riscv32-sifive_u-fw_jump.bin
-%{_datadir}/%{name}/opensbi-riscv32-virt-fw_jump.bin
+%{_datadir}/%{name}/opensbi-riscv32-generic-fw_dynamic.bin
+%{_datadir}/%{name}/opensbi-riscv32-generic-fw_dynamic.elf
 
 %files system-riscv64
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-riscv64
-%{_datadir}/%{name}/opensbi-riscv64-sifive_u-fw_jump.bin
-%{_datadir}/%{name}/opensbi-riscv64-virt-fw_jump.bin
+%{_datadir}/%{name}/opensbi-riscv64-generic-fw_dynamic.bin
+%{_datadir}/%{name}/opensbi-riscv64-generic-fw_dynamic.elf
 
 %files system-rx
 %defattr(644,root,root,755)
@@ -1539,10 +1547,6 @@ fi
 %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
-
 %files system-x86
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-i386
@@ -1578,6 +1582,7 @@ fi
 %{_datadir}/%{name}/pxe-pcnet.rom
 %{_datadir}/%{name}/pxe-rtl8139.rom
 %{_datadir}/%{name}/pxe-virtio.rom
+%{_datadir}/%{name}/qboot.rom
 %{_datadir}/%{name}/sgabios.bin
 %{_datadir}/%{name}/vgabios.bin
 %{_datadir}/%{name}/vgabios-ati.bin
This page took 0.107687 seconds and 4 git commands to generate.