]> TLD Linux GIT Repositories - packages/qemu.git/blobdiff - qemu.spec
- merged to much
[packages/qemu.git] / qemu.spec
index 9ba92b7f5ba36ca327184777d7671865c8fed6dc..06eb50297ef4082f4d7ae305841bbea8b7848d73 100644 (file)
--- a/qemu.spec
+++ b/qemu.spec
@@ -4,7 +4,8 @@
 # Conditional build:
 %bcond_without sdl             # SDL UI and audio support
 %bcond_without opengl          # Don't require GL deps
 # Conditional build:
 %bcond_without sdl             # SDL UI and audio support
 %bcond_without opengl          # Don't require GL deps
-%bcond_without ceph            # Ceph/RBD support
+%bcond_with    canokey         # CanoKey support
+%bcond_with    ceph            # Ceph/RBD support
 %bcond_without glusterfs       # GlusterFS backend
 %bcond_without rdma            # RDMA-based migration support
 %bcond_without gtk3            # Do not build GTK+ UI
 %bcond_without glusterfs       # GlusterFS backend
 %bcond_without rdma            # RDMA-based migration support
 %bcond_without gtk3            # Do not build GTK+ UI
 %bcond_without iscsi           # iscsi support
 %bcond_without libnfs          # NFS support
 %bcond_without multipath       # Multipath support
 %bcond_without iscsi           # iscsi support
 %bcond_without libnfs          # NFS support
 %bcond_without multipath       # Multipath support
+%bcond_with    pipewire        # pipewire 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
 %bcond_without snappy          # snappy compression library
 %bcond_without user_static     # build linux-user static packages
 %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
 %bcond_without snappy          # snappy compression library
 %bcond_without user_static     # build linux-user static packages
+%bcond_with    vfio_user       # vfio-user server support
 %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_without xkbcommon       # xkbcommon support
 
 %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_without xkbcommon       # xkbcommon support
 
-%if %{without gtk}
+%if %{without gtk3}
 %undefine      with_vte
 %endif
 %ifarch x32
 %undefine      with_vte
 %endif
 %ifarch x32
 Summary:       QEMU CPU Emulator
 Summary(pl.UTF-8):     QEMU - emulator procesora
 Name:          qemu
 Summary:       QEMU CPU Emulator
 Summary(pl.UTF-8):     QEMU - emulator procesora
 Name:          qemu
-Version:       5.2.0
+Version:       8.2.4
 Release:       1
 License:       GPL v2, BSD (edk2 firmware files)
 Group:         Applications/Emulators
 Source0:       https://download.qemu.org/%{name}-%{version}.tar.xz
 Release:       1
 License:       GPL v2, BSD (edk2 firmware files)
 Group:         Applications/Emulators
 Source0:       https://download.qemu.org/%{name}-%{version}.tar.xz
-# Source0-md5: 179f86928835da857c237b42f4b2df73
+# Source0-md5: aa5c2f004d513b746f25a00cfec8eaa5
 # Loads kvm kernel modules at boot
 Source3:       kvm-modules-load.conf
 # Creates /dev/kvm
 # Loads kvm kernel modules at boot
 Source3:       kvm-modules-load.conf
 # Creates /dev/kvm
@@ -62,10 +65,12 @@ Source12:   99-%{name}-guest-agent.rules
 Source13:      %{name}-guest-agent.init
 Source14:      %{name}-guest-agent.logrotate
 Patch0:                %{name}-cflags.patch
 Source13:      %{name}-guest-agent.init
 Source14:      %{name}-guest-agent.logrotate
 Patch0:                %{name}-cflags.patch
-Patch2:                %{name}-user-execve.patch
-Patch3:                %{name}-xattr.patch
-Patch4:                libjpeg-boolean.patch
-Patch5:                x32.patch
+Patch2:                %{name}-xattr.patch
+Patch3:                libjpeg-boolean.patch
+Patch5:                %{name}-u2f-emu.patch
+Patch6:                %{name}-linux-mount.patch
+Patch7:                libvfio-user-types.patch
+Patch8:                libvfio-user-alloca.patch
 URL:           https://www.qemu.org/
 %{?with_opengl:BuildRequires:  Mesa-libgbm-devel}
 %{?with_opengl:BuildRequires:  OpenGL-GLX-devel}
 URL:           https://www.qemu.org/
 %{?with_opengl:BuildRequires:  Mesa-libgbm-devel}
 %{?with_opengl:BuildRequires:  OpenGL-GLX-devel}
@@ -73,66 +78,88 @@ URL:                https://www.qemu.org/
 %{?with_sdl:BuildRequires:     SDL2-devel >= 2.0}
 %{?with_sdl:BuildRequires:     SDL2_image-devel >= 2.0}
 BuildRequires: alsa-lib-devel
 %{?with_sdl:BuildRequires:     SDL2-devel >= 2.0}
 %{?with_sdl:BuildRequires:     SDL2_image-devel >= 2.0}
 BuildRequires: alsa-lib-devel
-BuildRequires: bcc >= 0.16.21-2
+BuildRequires: bison
 %{?with_brlapi:BuildRequires:  brlapi-devel}
 BuildRequires: bzip2-devel
 %{?with_brlapi:BuildRequires:  brlapi-devel}
 BuildRequires: bzip2-devel
-BuildRequires: capstone-devel >= 3.0.5
-%{?with_ceph:BuildRequires:    ceph-devel}
-BuildRequires: curl-devel
+%{?with_canokey:BuildRequires: canokey-qemu-devel}
+BuildRequires: capstone-devel >= 4.0
+%{?with_ceph:BuildRequires:    ceph-devel >= 12}
+BuildRequires: curl-devel >= 7.29.0
 BuildRequires: cyrus-sasl-devel >= 2
 BuildRequires: cyrus-sasl-devel >= 2
-BuildRequires: glib2-devel >= 1:2.48
+BuildRequires: daxctl-devel >= 57
+BuildRequires: flex
+BuildRequires: gcc >= 6:7.4
+BuildRequires: gettext-tools
+BuildRequires: glib2-devel >= 1:2.75.3
 # minimal is 3.4 but new features are used up to 6
 %{?with_glusterfs:BuildRequires:       glusterfs-devel >= 6}
 # 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}
+BuildRequires: gnutls-devel >= 3.6.14
+%{?with_gtk3:BuildRequires:    gtk+3-devel >= 3.22.0}
+BuildRequires: jack-audio-connection-kit-devel
+%{?with_vfio_user:BuildRequires:       json-c-devel >= 0.11}
+BuildRequires: keyutils-devel
 BuildRequires: libaio-devel
 BuildRequires: libaio-devel
+BuildRequires: libblkio-devel >= 1.3.0
+BuildRequires: libbpf-devel
 %{?with_smartcard:BuildRequires:       libcacard-devel >= 2.5.1}
 BuildRequires: libcap-ng-devel
 %{?with_smartcard:BuildRequires:       libcacard-devel >= 2.5.1}
 BuildRequires: libcap-ng-devel
+BuildRequires: libdrm-devel
 %{?with_opengl:BuildRequires:  libepoxy-devel}
 %{?with_opengl:BuildRequires:  libepoxy-devel}
-BuildRequires: libfdt-devel >= 1.4.2
+BuildRequires: libfdt-devel >= 1.5.1
+BuildRequires: libfuse3-devel >= 3.8
 %{?with_rdma:BuildRequires:    libibverbs-devel}
 %{?with_iscsi:BuildRequires:   libiscsi-devel >= 1.9.0}
 %{?with_rdma:BuildRequires:    libibumad-devel}
 BuildRequires: libjpeg-devel
 %{?with_libnfs:BuildRequires:  libnfs-devel >= 1.9.3}
 %{?with_rdma:BuildRequires:    libibverbs-devel}
 %{?with_iscsi:BuildRequires:   libiscsi-devel >= 1.9.0}
 %{?with_rdma:BuildRequires:    libibumad-devel}
 BuildRequires: libjpeg-devel
 %{?with_libnfs:BuildRequires:  libnfs-devel >= 1.9.3}
-BuildRequires: libpng-devel
+BuildRequires: libpng-devel >= 2:1.6.34
 %{?with_rdma:BuildRequires:    librdmacm-devel}
 %{?with_seccomp:BuildRequires: libseccomp-devel >= 2.3.0}
 %{?with_rdma:BuildRequires:    librdmacm-devel}
 %{?with_seccomp:BuildRequires: libseccomp-devel >= 2.3.0}
-BuildRequires: libssh-devel >= 0.8
-BuildRequires: libslirp-devel >= 4.0.0
+BuildRequires: libselinux-devel
+BuildRequires: libssh-devel >= 0.8.7
+BuildRequires: libslirp-devel >= 4.7
+BuildRequires: libstdc++-devel >= 6:4.7
 # for tests only
 #BuildRequires:        libtasn1-devel
 # for tests only
 #BuildRequires:        libtasn1-devel
+BuildRequires: libu2f-emu-devel
 BuildRequires: libusb-devel >= 1.0.22
 BuildRequires: libusb-devel >= 1.0.22
-BuildRequires: liburing-devel
+BuildRequires: liburing-devel >= 0.3
 BuildRequires: libuuid-devel
 BuildRequires: libxml2-devel >= 2.0
 BuildRequires: libuuid-devel
 BuildRequires: libxml2-devel >= 2.0
-%{?with_lttng:BuildRequires:   lttng-ust-devel}
+%{?with_lttng:BuildRequires:   lttng-ust-devel >= 2.1}
 BuildRequires: lzfse-devel
 BuildRequires: lzo-devel >= 2
 BuildRequires: lzfse-devel
 BuildRequires: lzo-devel >= 2
+BuildRequires: meson >= 0.63.0
 %{?with_multipath:BuildRequires:       multipath-tools-devel}
 BuildRequires: ncurses-devel
 %{?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
+# also libgcrypt-devel >= 1.8 possible, but gnutls already pulls nettle
+BuildRequires: nettle-devel >= 3.4
+BuildRequires: ninja >= 1.5
 %{?with_smartcard:BuildRequires:       nss-devel >= 1:3.12.8}
 BuildRequires: numactl-devel
 BuildRequires: pam-devel
 BuildRequires: perl-Encode
 BuildRequires: perl-tools-pod
 %{?with_smartcard:BuildRequires:       nss-devel >= 1:3.12.8}
 BuildRequires: numactl-devel
 BuildRequires: pam-devel
 BuildRequires: perl-Encode
 BuildRequires: perl-tools-pod
+%{?with_pipewire:BuildRequires:        pipewire-devel >= 0.3.60}
 BuildRequires: pixman-devel >= 0.21.8
 BuildRequires: pkgconfig
 %{?with_pmem:BuildRequires:    pmdk-devel}
 %{?with_pulseaudio:BuildRequires:      pulseaudio-devel}
 BuildRequires: pixman-devel >= 0.21.8
 BuildRequires: pkgconfig
 %{?with_pmem:BuildRequires:    pmdk-devel}
 %{?with_pulseaudio:BuildRequires:      pulseaudio-devel}
-BuildRequires: python3 >= 1:3.5
+BuildRequires: python3 >= 1:3.7
+BuildRequires: python3-sphinx_rtd_theme >= 0.5
+BuildRequires: python3-tomli >= 1.2.0
+BuildRequires: rpm-build >= 4.6
 BuildRequires: rpmbuild(macros) >= 1.644
 %{?with_system_seabios:BuildRequires:  seabios}
 BuildRequires: sed >= 4.0
 %{?with_snappy:BuildRequires:  snappy-devel}
 BuildRequires: rpmbuild(macros) >= 1.644
 %{?with_system_seabios:BuildRequires:  seabios}
 BuildRequires: sed >= 4.0
 %{?with_snappy:BuildRequires:  snappy-devel}
-BuildRequires: sphinx-pdg
+BuildRequires: sphinx-pdg >= 1.6
 %if %{with spice}
 %if %{with spice}
-BuildRequires: spice-protocol >= 0.12.3
-BuildRequires: spice-server-devel >= 0.12.5
+BuildRequires: spice-protocol >= 0.14.0
+BuildRequires: spice-server-devel >= 0.14.0
 %endif
 %{?with_systemtap:BuildRequires:       systemtap-sdt-devel}
 %endif
 %{?with_systemtap:BuildRequires:       systemtap-sdt-devel}
+BuildRequires: tar >= 1:1.22
 BuildRequires: texi2html
 BuildRequires: texinfo
 %{?with_multipath:BuildRequires:       udev-devel}
 BuildRequires: texi2html
 BuildRequires: texinfo
 %{?with_multipath:BuildRequires:       udev-devel}
@@ -143,17 +170,22 @@ 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_virgl:BuildRequires:   virglrenderer-devel}
 %{?with_vte:BuildRequires:     vte-devel >= 0.32.0}
 # 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}
+# min version is 4.2, more features up to 4.11
+%{?with_xen:BuildRequires:     xen-devel >= 4.11}
 BuildRequires: xfsprogs-devel
 BuildRequires: xfsprogs-devel
-%{?with_xkbcommon:BuildRequires:       xorg-lib-libxkbcommon-devel}
+%if %{with xkbcommon}
+BuildRequires: xkeyboard-config
+BuildRequires: xorg-lib-libxkbcommon-devel
+%endif
 BuildRequires: xorg-lib-libX11-devel
 BuildRequires: xorg-lib-libX11-devel
+BuildRequires: xz
 BuildRequires: zlib-devel
 BuildRequires: zstd-devel >= 1.4.0
 %if %{with user_static}
 BuildRequires: zlib-devel
 BuildRequires: zstd-devel >= 1.4.0
 %if %{with user_static}
-BuildRequires: glib2-static >= 1:2.48
+BuildRequires: glib2-static >= 1:2.75.3
 BuildRequires: glibc-static
 BuildRequires: glibc-static
-BuildRequires: pcre-static
+BuildRequires: libstdc++-static >= 6:4.7
+BuildRequires: pcre2-8-static >= 10.32
 BuildRequires: zlib-static
 %endif
 Requires:      %{name}-img = %{version}-%{release}
 BuildRequires: zlib-static
 %endif
 Requires:      %{name}-img = %{version}-%{release}
@@ -166,7 +198,6 @@ Requires:   %{name}-system-hppa = %{version}-%{release}
 Requires:      %{name}-system-m68k = %{version}-%{release}
 Requires:      %{name}-system-microblaze = %{version}-%{release}
 Requires:      %{name}-system-mips = %{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-nios2 = %{version}-%{release}
 Requires:      %{name}-system-or1k = %{version}-%{release}
 Requires:      %{name}-system-ppc = %{version}-%{release}
 Requires:      %{name}-system-nios2 = %{version}-%{release}
 Requires:      %{name}-system-or1k = %{version}-%{release}
 Requires:      %{name}-system-ppc = %{version}-%{release}
@@ -180,27 +211,31 @@ Requires: %{name}-system-tricore = %{version}-%{release}
 Requires:      %{name}-system-x86 = %{version}-%{release}
 Requires:      %{name}-system-xtensa = %{version}-%{release}
 Requires:      %{name}-user = %{version}-%{release}
 Requires:      %{name}-system-x86 = %{version}-%{release}
 Requires:      %{name}-system-xtensa = %{version}-%{release}
 Requires:      %{name}-user = %{version}-%{release}
-Obsoletes:     qemu-kvm
+Obsoletes:     qemu-kvm < 2
 ExcludeArch:   i386
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define        systempkg_req \
 ExcludeArch:   i386
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define        systempkg_req \
-Requires:      capstone >= 3.0.5 \
+Requires:      capstone >= 4.0 \
+Requires:      daxctl-libs >= 57 \
 %{?with_smartcard:Requires:    libcacard >= 2.5.1} \
 %{?with_smartcard:Requires:    libcacard >= 2.5.1} \
-Requires:      libfdt >= 1.4.2 \
+Requires:      libfdt >= 1.5.1 \
+Requires:      libfuse3 >= 3.8 \
+%{?with_iscsi:Requires:        libiscsi >= 1.9.0} \
+Requires:      libpng >= 2:1.6.34 \
 %if %{with seccomp} \
 Requires:      libseccomp >= 2.3.0 \
 %endif \
 %if %{with seccomp} \
 Requires:      libseccomp >= 2.3.0 \
 %endif \
-Requires:      libslirp >= 4.0.0 \
+Requires:      libslirp >= 4.7 \
+Requires:      liburing >= 0.3 \
 Requires:      libusb >= 1.0.22 \
 Requires:      pixman >= 0.21.8 \
 %if %{with spice} \
 Requires:      libusb >= 1.0.22 \
 Requires:      pixman >= 0.21.8 \
 %if %{with spice} \
-Requires:      spice-server-libs >= 0.12.5 \
+Requires:      spice-server-libs >= 0.14.0 \
 %endif \
 %if %{with usbredir} \
 Requires:      usbredir >= 0.6 \
 %endif \
 %if %{with usbredir} \
 Requires:      usbredir >= 0.6 \
-%endif \
-Requires:      zstd >= 1.4.0
+%endif
 
 # don't strip/chrpath anything in there; these are boot images, roms etc
 %define                _noautostrip    .*%{_datadir}/qemu/.*
 
 # don't strip/chrpath anything in there; these are boot images, roms etc
 %define                _noautostrip    .*%{_datadir}/qemu/.*
@@ -247,17 +282,21 @@ Requires(pre):    /bin/id
 Requires(pre): /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
 Requires(pre): /usr/bin/getgid
 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}
-Requires:      nettle >= 2.7.1
+Requires:      glib2 >= 1:2.75.3
+Requires:      gnutls-libs >= 3.6.14
+%{?with_gtk3:Requires: gtk+3 >= 3.22.0}
+Requires:      libblkio >= 1.3.0
+Requires:      nettle >= 3.4
 %{?with_vte:Requires:  vte >= 0.32.0}
 %{?with_vte:Requires:  vte >= 0.32.0}
+Requires:      zstd >= 1.4.0
+Suggests:      virtiofsd
 Provides:      group(qemu)
 Provides:      user(qemu)
 Provides:      group(qemu)
 Provides:      user(qemu)
-Obsoletes:     qemu-kvm-common
+Obsoletes:     qemu-kvm-common < 2
 Obsoletes:     qemu-module-block-archipelago < 2.9.0
 Obsoletes:     qemu-module-block-archipelago < 2.9.0
-Obsoletes:     qemu-system-lm32
-Obsoletes:     qemu-system-unicore32
+Obsoletes:     qemu-system-lm32 < 5.2
+Obsoletes:     qemu-system-moxie < 6.1
+Obsoletes:     qemu-system-unicore32 < 5.2
 Conflicts:     qemu < 1.0-2
 
 %description common
 Conflicts:     qemu < 1.0-2
 
 %description common
@@ -273,11 +312,23 @@ dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
 Ten pakiet udostępnia wspólne pliki wymagane przez wszystkie
 środowiska QEMU.
 
 Ten pakiet udostępnia wspólne pliki wymagane przez wszystkie
 środowiska QEMU.
 
+%package devel
+Summary:       Header file for QEMU plugins development
+Summary(pl.UTF-8):     Plik nagłówkowy do tworzenia wtyczek QEMU
+Group:         Development/Libraries
+BuildArch:     noarch
+
+%description devel
+Header file for QEMU plugins development.
+
+%description devel -l pl.UTF-8
+Plik nagłówkowy do tworzenia wtyczek QEMU.
+
 %package img
 Summary:       QEMU command line tool for manipulating disk images
 Summary(pl.UTF-8):     Narzędzie QEMU do operacji na obrazach dysków
 Group:         Applications/Emulators
 %package img
 Summary:       QEMU command line tool for manipulating disk images
 Summary(pl.UTF-8):     Narzędzie QEMU do operacji na obrazach dysków
 Group:         Applications/Emulators
-Obsoletes:     qemu-kvm-img
+Obsoletes:     qemu-kvm-img < 2
 Conflicts:     qemu < 1.0-2
 
 %description img
 Conflicts:     qemu < 1.0-2
 
 %description img
@@ -288,12 +339,25 @@ images.
 Ten pakiet udostępnia działające z linii poleceń narzędzia do operacji
 na obrazach dysków.
 
 Ten pakiet udostępnia działające z linii poleceń narzędzia do operacji
 na obrazach dysków.
 
+%package ivshmem
+Summary:       Client and server for QEMU ivshmem device
+Summary(pl.UTF-8):     Klient i serwer dla urzÄ\85dzeia ivshmem QEMU
+Group:         Development/Tools
+
+%description ivshmem
+This package provides client and server tools for QEMU's ivshmem
+device.
+
+%description ivshmem -l pl.UTF-8
+Ten pakiet udostępnia działające z linii poleceń narzędzia dla
+urządzenia ivshmem QEMU.
+
 %package user
 Summary:       QEMU user mode emulation of qemu targets
 Summary(pl.UTF-8):     QEMU - emulacja trybu użytkownika środowisk qemu
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %package user
 Summary:       QEMU user mode emulation of qemu targets
 Summary(pl.UTF-8):     QEMU - emulacja trybu użytkownika środowisk qemu
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
-Obsoletes:     qemu-kvm-user
+Obsoletes:     qemu-kvm-user < 2
 
 %description user
 QEMU is a generic and open source processor emulator which achieves a
 
 %description user
 QEMU is a generic and open source processor emulator which achieves a
@@ -332,7 +396,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem AArch64
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-aarch64
+Obsoletes:     qemu-kvm-system-aarch64 < 2
 
 %description system-aarch64
 QEMU is a generic and open source processor emulator which achieves a
 
 %description system-aarch64
 QEMU is a generic and open source processor emulator which achieves a
@@ -352,7 +416,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem Alpha
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-alpha
+Obsoletes:     qemu-kvm-system-alpha < 2
 
 %description system-alpha
 QEMU is a generic and open source processor emulator which achieves a
 
 %description system-alpha
 QEMU is a generic and open source processor emulator which achieves a
@@ -372,7 +436,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z 32-bitowym procesorem ARM
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-arm
+Obsoletes:     qemu-kvm-system-arm < 2
 
 %description system-arm
 QEMU is a generic and open source processor emulator which achieves a
 
 %description system-arm
 QEMU is a generic and open source processor emulator which achieves a
@@ -392,7 +456,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem AVR
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-avr
+Obsoletes:     qemu-kvm-system-avr < 2
 
 %description system-avr
 QEMU is a generic and open source processor emulator which achieves a
 
 %description system-avr
 QEMU is a generic and open source processor emulator which achieves a
@@ -412,7 +476,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem CRIS
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-cris
+Obsoletes:     qemu-kvm-system-cris < 2
 
 %description system-cris
 QEMU is a generic and open source processor emulator which achieves a
 
 %description system-cris
 QEMU is a generic and open source processor emulator which achieves a
@@ -451,7 +515,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem m68k
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-m68k
+Obsoletes:     qemu-kvm-system-m68k < 2
 
 %description system-m68k
 QEMU is a generic and open source processor emulator which achieves a
 
 %description system-m68k
 QEMU is a generic and open source processor emulator which achieves a
@@ -473,7 +537,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem MicroBlaze
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-microblaze
+Obsoletes:     qemu-kvm-system-microblaze < 2
 
 %description system-microblaze
 QEMU is a generic and open source processor emulator which achieves a
 
 %description system-microblaze
 QEMU is a generic and open source processor emulator which achieves a
@@ -493,7 +557,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem MIPS
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-mips
+Obsoletes:     qemu-kvm-system-mips < 2
 
 %description system-mips
 QEMU is a generic and open source processor emulator which achieves a
 
 %description system-mips
 QEMU is a generic and open source processor emulator which achieves a
@@ -507,25 +571,6 @@ dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
 
 Ten pakiet zawiera emulator systemu z procesorem MIPS.
 
 
 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:         Applications/Emulators
-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-nios2
 Summary:       QEMU system emulator for Nios II
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem Nios II
 %package system-nios2
 Summary:       QEMU system emulator for Nios II
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem Nios II
@@ -551,8 +596,8 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem OpenRISC
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-or1k
-Obsoletes:     qemu-system-or32
+Obsoletes:     qemu-kvm-system-or1k < 2
+Obsoletes:     qemu-system-or32 < 2.9.0
 
 %description system-or1k
 QEMU is a generic and open source processor emulator which achieves a
 
 %description system-or1k
 QEMU is a generic and open source processor emulator which achieves a
@@ -572,7 +617,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem PowerPC
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-ppc
+Obsoletes:     qemu-kvm-system-ppc < 2
 
 %description system-ppc
 QEMU is a generic and open source processor emulator which achieves a
 
 %description system-ppc
 QEMU is a generic and open source processor emulator which achieves a
@@ -649,7 +694,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem S390x (IBM Z)
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-s390x
+Obsoletes:     qemu-kvm-system-s390x < 2
 
 %description system-s390x
 QEMU is a generic and open source processor emulator which achieves a
 
 %description system-s390x
 QEMU is a generic and open source processor emulator which achieves a
@@ -669,7 +714,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem SH4
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-sh4
+Obsoletes:     qemu-kvm-system-sh4 < 2
 
 %description system-sh4
 QEMU is a generic and open source processor emulator which achieves a
 
 %description system-sh4
 QEMU is a generic and open source processor emulator which achieves a
@@ -689,7 +734,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem SPARC
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-sparc
+Obsoletes:     qemu-kvm-system-sparc < 2
 
 %description system-sparc
 QEMU is a generic and open source processor emulator which achieves a
 
 %description system-sparc
 QEMU is a generic and open source processor emulator which achieves a
@@ -716,7 +761,7 @@ 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
+%description system-tricore -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.
 
 QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
 dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
 
@@ -727,10 +772,11 @@ Summary:  QEMU system emulator for x86
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem x86
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem x86
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
-%{?with_system_seabios:Requires:       seabios}
+%{?with_vfio_user:Requires:    libvfio-user = %{version}-%{release}}
+%{?with_system_seabios:Requires:       seabios >= 1.11.0}
 %systempkg_req
 %systempkg_req
-Obsoletes:     kvm
-Obsoletes:     qemu-kvm-system-x86
+Obsoletes:     kvm < 89
+Obsoletes:     qemu-kvm-system-x86 < 2
 
 %description system-x86
 QEMU is a generic and open source processor emulator which achieves a
 
 %description system-x86
 QEMU is a generic and open source processor emulator which achieves a
@@ -750,7 +796,7 @@ Summary(pl.UTF-8):  QEMU - emulator systemu z procesorem Xtensa
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
-Obsoletes:     qemu-kvm-system-xtensa
+Obsoletes:     qemu-kvm-system-xtensa < 2
 
 %description system-xtensa
 QEMU is a generic and open source processor emulator which achieves a
 
 %description system-xtensa
 QEMU is a generic and open source processor emulator which achieves a
@@ -768,8 +814,9 @@ Ten pakiet zawiera emulator systemu z procesorem Xtensa.
 Summary:       QEMU guest agent
 Summary(pl.UTF-8):     Agent gościa QEMU
 Group:         Daemons
 Summary:       QEMU guest agent
 Summary(pl.UTF-8):     Agent gościa QEMU
 Group:         Daemons
-Requires:      glib2 >= 1:2.48
-Obsoletes:     qemu-kvm-guest-agent
+Requires:      glib2 >= 1:2.75.3
+Requires:      liburing >= 0.3
+Obsoletes:     qemu-kvm-guest-agent < 2
 Conflicts:     SysVinit < 2.96-2
 
 %description guest-agent
 Conflicts:     SysVinit < 2.96-2
 
 %description guest-agent
@@ -792,11 +839,37 @@ systemach-gościach, komunikującego się kanałem virtio-serial o nazwie
 
 Ten pakiet nie musi być zainstalowany w systemie hosta.
 
 
 Ten pakiet nie musi być zainstalowany w systemie hosta.
 
+%package module-audio-jack
+Summary:       QEMU module for JACK audio output
+Summary(pl.UTF-8):     Moduł QEMU z wyjściem dźwięku JACK
+Group:         Applications/Emulators
+Requires:      %{name}-common = %{version}-%{release}
+
+%description module-audio-jack
+QEMU module for JACK audio output.
+
+%description module-audio-jack -l pl.UTF-8
+Moduł QEMU z wyjściem dźwięku JACK.
+
+%package module-audio-pipewire
+Summary:       QEMU module for PipeWire audio output
+Summary(pl.UTF-8):     Moduł QEMU z wyjściem dźwięku PipeWire
+Group:         Applications/Emulators
+Requires:      %{name}-common = %{version}-%{release}
+Requires:      pipewire-libs >= 0.3.60
+
+%description module-audio-pipewire
+QEMU module for PipeWire audio output.
+
+%description module-audio-pipewire -l pl.UTF-8
+Moduł QEMU z wyjściem dźwięku PipeWire.
+
 %package module-block-curl
 Summary:       QEMU module for 'curl' block devices
 Summary(pl.UTF-8):     Moduł QEMU dla urządeń blokowych typu 'curl'
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %package module-block-curl
 Summary:       QEMU module for 'curl' block devices
 Summary(pl.UTF-8):     Moduł QEMU dla urządeń blokowych typu 'curl'
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
+Requires:      curl-libs >= 7.29.0
 
 %description module-block-curl
 QEMU block device support for CURL. It allows to access remote disks
 
 %description module-block-curl
 QEMU block device support for CURL. It allows to access remote disks
@@ -854,6 +927,7 @@ Summary:    QEMU module for 'rbd' block devices
 Summary(pl.UTF-8):     Moduł QEMU dla urządeń blokowych typu 'rbd'
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 Summary(pl.UTF-8):     Moduł QEMU dla urządeń blokowych typu 'rbd'
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
+Requires:      ceph-libs >= 12
 
 %description module-block-rbd
 QEMU block device support for Ceph/RBD volumes.
 
 %description module-block-rbd
 QEMU block device support for Ceph/RBD volumes.
@@ -866,7 +940,7 @@ Summary:    QEMU module for 'ssh' block devices
 Summary(pl.UTF-8):     Moduł QEMU dla urządeń blokowych typu 'ssh'
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 Summary(pl.UTF-8):     Moduł QEMU dla urządeń blokowych typu 'ssh'
 Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
-Requires:      libssh >= 0.8
+Requires:      libssh >= 0.8.7
 
 %description module-block-ssh
 QEMU block device support for accessing remote disks using the Secure
 
 %description module-block-ssh
 QEMU block device support for accessing remote disks using the Secure
@@ -876,6 +950,18 @@ Shell (SSH) protocol.
 Moduł urządzeń blokowych QEMU do dostępu do zdalnych dysków poprzez
 protokół SSH (Secure Shell).
 
 Moduł urządzeń blokowych QEMU do dostępu do zdalnych dysków poprzez
 protokół SSH (Secure Shell).
 
+%package module-ui-dbus
+Summary:       QEMU DBus UI driver
+Summary(pl.UTF-8):     Sterownik interfejsu użytkownika DBus dla QEMU
+Group:         Applications/Emulators
+Requires:      %{name}-common = %{version}-%{release}
+
+%description module-ui-dbus
+QEMU DBus UI driver.
+
+%description module-ui-dbus -l pl.UTF-8
+Sterownik interfejsu użytkownika DBus dla QEMU.
+
 %package module-ui-gtk
 Summary:       QEMU GTK UI driver
 Summary(pl.UTF-8):     Sterownik interfejsu użytkownika GTK dla QEMU
 %package module-ui-gtk
 Summary:       QEMU GTK UI driver
 Summary(pl.UTF-8):     Sterownik interfejsu użytkownika GTK dla QEMU
@@ -913,20 +999,63 @@ systemtap/dtrace probes for QEMU.
 %description -n systemtap-qemu -l pl.UTF-8
 Sondy systemtap/dtrace dla QEMU.
 
 %description -n systemtap-qemu -l pl.UTF-8
 Sondy systemtap/dtrace dla QEMU.
 
+%package -n libvfio-user
+Summary:       vfio-user library
+Summary(pl.UTF-8):     Biblioteka vfio-user
+Group:         Libraries
+Requires:      json-c >= 0.11
+
+%description -n libvfio-user
+vfio-user is a framework that allows implementing PCI devices in
+userspace. Clients (such as qemu) talk the vfio-user protocol over a
+UNIX socket to a server. This library, libvfio-user, provides an API
+for implementing such servers.
+
+%description -n libvfio-user -l pl.UTF-8
+vfio-user to szkielet pozwalający implementować urządzenia PCI w
+przestrzeni użytkownika. Klienci (jak qemu) komunikują się z serwerem
+protokołem vfio-user przez gniazdo uniksowe.
+
+%package -n libvfio-user-devel
+Summary:       Header files for vfio-user library
+Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki vfio-user
+Group:         Development/Libraries
+Requires:      libvfio-user = %{version}-%{release}
+
+%description -n libvfio-user-devel
+Header files for vfio-user library.
+
+%description -n libvfio-user-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki vfio-user.
+
 %prep
 %setup -q
 %patch0 -p1
 %patch2 -p1
 %patch3 -p1
 %prep
 %setup -q
 %patch0 -p1
 %patch2 -p1
 %patch3 -p1
-%patch4 -p1
 %patch5 -p1
 %patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
 
 %{__sed} -i '1s,/usr/bin/env python3,%{__python3},' scripts/qemu-trace-stap
 
 %if %{with systemtap}
 # don't require stap binary during build
 
 %{__sed} -i '1s,/usr/bin/env python3,%{__python3},' scripts/qemu-trace-stap
 
 %if %{with systemtap}
 # don't require stap binary during build
-%{__sed} -i -e "s/has 'stap'/true/" configure
+%{__sed} -i -e "s/stap.found()/true/" meson.build docs/meson.build scripts/meson.build
+%endif
+
+%if %{without smartcard}
+%{__sed} -i -e '/^config USB_SMARTCARD/,/^$/ s/default y/default n/' hw/usb/Kconfig
+%endif
+%ifarch x32
+# xen-emu supports only LP64 __x86_64__ case
+%{__sed} -i -e '/^config XEN_EMU/,$ s/default y/default n/' hw/i386/Kconfig
+
+# plain x32 doesn't provide __sync_bool_compare_and_swap_16 - fail int128_t/ATOMIC128 tests earlier
+%{__sed} -i -e '/^has_int128_type = / s/$/FAILME/' meson.build
 %endif
 %endif
+
 %build
 
 build() {
 %build
 
 build() {
@@ -952,8 +1081,7 @@ build() {
        "$@"
 
        %{__make} \
        "$@"
 
        %{__make} \
-               V=1 \
-               %{!?with_smartcard:CONFIG_USB_SMARTCARD=n}
+               V=1
 
        cd ..
 }
 
        cd ..
 }
@@ -961,11 +1089,12 @@ build() {
 build dynamic \
        --extra-cflags="%{rpmcflags} %{rpmcppflags}" \
        --extra-ldflags="%{rpmldflags} -Wl,-z,relro -Wl,-z,now" \
 build dynamic \
        --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}" \
+       --audio-drv-list="alsa,jack%{?with_oss:,oss}%{?with_pulseaudio:,pa}%{?with_sdl:,sdl}" \
        --enable-attr \
        %{__enable_disable brlapi} \
        --enable-attr \
        %{__enable_disable brlapi} \
+       %{__enable_disable canokey} \
        --enable-cap-ng \
        --enable-cap-ng \
-       --enable-capstone=system \
+       --enable-capstone \
        --enable-curl \
        --enable-curses \
        --enable-docs \
        --enable-curl \
        --enable-curses \
        --enable-docs \
@@ -974,6 +1103,7 @@ build dynamic \
        %{!?with_gtk3:--disable-gtk} \
        %{__enable_disable iscsi libiscsi} \
        %{__enable_disable libnfs} \
        %{!?with_gtk3:--disable-gtk} \
        %{__enable_disable iscsi libiscsi} \
        %{__enable_disable libnfs} \
+       %{__enable_disable pipewire} \
        %{__enable_disable pmem libpmem} \
        --enable-lzo \
        %{__enable_disable multipath mpath} \
        %{__enable_disable pmem libpmem} \
        --enable-lzo \
        %{__enable_disable multipath mpath} \
@@ -984,17 +1114,17 @@ build dynamic \
        %{__enable_disable rdma} \
        %{__enable_disable sdl} \
        %{__enable_disable seccomp} \
        %{__enable_disable rdma} \
        %{__enable_disable sdl} \
        %{__enable_disable seccomp} \
-       --enable-slirp=system \
+       --enable-slirp \
        %{__enable_disable spice} \
        %{__enable_disable smartcard} \
        %{__enable_disable snappy} \
        --enable-tpm \
        %{__enable_disable usbredir usb-redir} \
        --enable-vde \
        %{__enable_disable spice} \
        %{__enable_disable smartcard} \
        %{__enable_disable snappy} \
        --enable-tpm \
        %{__enable_disable usbredir usb-redir} \
        --enable-vde \
+       %{?with_vfio_user:--enable-vfio-user-server} \
        %{__enable_disable virgl virglrenderer} \
        --enable-virtfs \
        --enable-vnc-jpeg \
        %{__enable_disable virgl virglrenderer} \
        --enable-virtfs \
        --enable-vnc-jpeg \
-       --enable-vnc-png \
        --enable-vnc-sasl \
        %{!?with_vte:--disable-vte} \
        %{__enable_disable xen} \
        --enable-vnc-sasl \
        %{!?with_vte:--disable-vte} \
        %{__enable_disable xen} \
@@ -1003,6 +1133,7 @@ build dynamic \
 %if %{with user_static}
 build static \
        --disable-brlapi \
 %if %{with user_static}
 build static \
        --disable-brlapi \
+       --disable-canokey \
        --disable-cap-ng \
        --disable-capstone \
        --disable-curl \
        --disable-cap-ng \
        --disable-capstone \
        --disable-curl \
@@ -1021,7 +1152,6 @@ build static \
        --disable-slirp \
        --disable-spice \
        --disable-system \
        --disable-slirp \
        --disable-spice \
        --disable-system \
-       --disable-tcmalloc \
        --disable-tools \
        --enable-user \
        --disable-xkbcommon \
        --disable-tools \
        --enable-user \
        --disable-xkbcommon \
@@ -1039,7 +1169,6 @@ install -d \
 
 %if %{with user_static}
 %{__make} -C build-static install \
 
 %if %{with user_static}
 %{__make} -C build-static install \
-       %{!?with_smartcard:CONFIG_USB_SMARTCARD=n} \
        DESTDIR=$RPM_BUILD_ROOT
 
 # Give all QEMU user emulators a -static suffix
        DESTDIR=$RPM_BUILD_ROOT
 
 # Give all QEMU user emulators a -static suffix
@@ -1050,7 +1179,6 @@ done
 %endif
 
 %{__make} -C build-dynamic install \
 %endif
 
 %{__make} -C build-dynamic install \
-       %{!?with_smartcard:CONFIG_USB_SMARTCARD=n} \
        DESTDIR=$RPM_BUILD_ROOT
 
 # let rpm generate dependencies
        DESTDIR=$RPM_BUILD_ROOT
 
 # let rpm generate dependencies
@@ -1077,7 +1205,6 @@ install -p ksmctl $RPM_BUILD_ROOT%{_sbindir}
 install -p %{SOURCE9} $RPM_BUILD_ROOT%{_sbindir}/ksmtuned
 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/ksmtuned.conf
 
 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 udev rules.
 install -p %{SOURCE12} $RPM_BUILD_ROOT/lib/udev/rules.d
 
 install -p %{SOURCE13} $RPM_BUILD_ROOT/etc/rc.d/init.d/qemu-ga
 install -p %{SOURCE12} $RPM_BUILD_ROOT/lib/udev/rules.d
 
 install -p %{SOURCE13} $RPM_BUILD_ROOT/etc/rc.d/init.d/qemu-ga
@@ -1086,12 +1213,6 @@ install -p %{SOURCE14} $RPM_BUILD_ROOT/etc/logrotate.d/qemu-ga
 %if %{with system_seabios}
 ln -sf /usr/share/seabios/bios.bin $RPM_BUILD_ROOT%{_datadir}/%{name}/bios-256k.bin
 # bios.bin provided by qemu is stripped to 128k, with no Xen support, keep it
 %if %{with system_seabios}
 ln -sf /usr/share/seabios/bios.bin $RPM_BUILD_ROOT%{_datadir}/%{name}/bios-256k.bin
 # bios.bin provided by qemu is stripped to 128k, with no Xen support, keep it
-for f in $RPM_BUILD_ROOT%{_datadir}/%{name}/*.aml ; do
-       bn="$(basename $f)"
-       if [ -e "/usr/share/seabios/$bn" ] ; then
-               ln -sf "/usr/share/seabios/$bn" "$f"
-       fi
-done
 %endif
 
 %if %{with gtk3}
 %endif
 
 %if %{with gtk3}
@@ -1102,13 +1223,19 @@ done
 : > qemu.lang
 %endif
 
 : > qemu.lang
 %endif
 
+for t in client server; do
+       cp -p build-dynamic/contrib/ivshmem-$t/ivshmem-$t $RPM_BUILD_ROOT%{_bindir}
+done
+
+# test modules
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/accel-qtest-*.so
 # Windows installer icon, not used
 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/qemu-nsis.bmp
 # packaged as %doc
 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/edk2-licenses.txt
 
 # cleanup Sphinx files
 # Windows installer icon, not used
 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/qemu-nsis.bmp
 # packaged as %doc
 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/edk2-licenses.txt
 
 # cleanup Sphinx files
-%{__rm} $RPM_BUILD_ROOT%{_docdir}/qemu/{interop,specs,system,tools,user}/{.buildinfo,objects.inv}
+%{__rm} $RPM_BUILD_ROOT%{_docdir}/qemu/{.buildinfo,objects.inv}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -1135,6 +1262,9 @@ if [ "$1" = "0" ]; then
        /sbin/chkconfig --del qemu-ga
 fi
 
        /sbin/chkconfig --del qemu-ga
 fi
 
+%post  -n libvfio-user -p /sbin/ldconfig
+%postun        -n libvfio-user -p /sbin/ldconfig
+
 %files
 %defattr(644,root,root,755)
 
 %files
 %defattr(644,root,root,755)
 
@@ -1162,11 +1292,13 @@ fi
 %attr(755,root,root) %{_libexecdir}/vhost-user-gpu
 %endif
 %attr(755,root,root) %{_libexecdir}/virtfs-proxy-helper
 %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
 %dir %{_libdir}/%{name}
 # modules without too many external dependencies
+%attr(755,root,root) %{_libdir}/%{name}/block-blkio.so
 %attr(755,root,root) %{_libdir}/%{name}/block-dmg-bz2.so
 %attr(755,root,root) %{_libdir}/%{name}/block-dmg-lzfse.so
 %attr(755,root,root) %{_libdir}/%{name}/block-dmg-bz2.so
 %attr(755,root,root) %{_libdir}/%{name}/block-dmg-lzfse.so
+%attr(755,root,root) %{_libdir}/%{name}/accel-tcg-i386.so
+%attr(755,root,root) %{_libdir}/%{name}/accel-tcg-x86_64.so
 %attr(755,root,root) %{_libdir}/%{name}/audio-alsa.so
 %if %{with oss}
 %attr(755,root,root) %{_libdir}/%{name}/audio-oss.so
 %attr(755,root,root) %{_libdir}/%{name}/audio-alsa.so
 %if %{with oss}
 %attr(755,root,root) %{_libdir}/%{name}/audio-oss.so
@@ -1174,22 +1306,32 @@ fi
 %if %{with pulseaudio}
 %attr(755,root,root) %{_libdir}/%{name}/audio-pa.so
 %endif
 %if %{with pulseaudio}
 %attr(755,root,root) %{_libdir}/%{name}/audio-pa.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}/hw-display-qxl.so
+%if %{with brlapi}
+%attr(755,root,root) %{_libdir}/%{name}/chardev-baum.so
 %endif
 %endif
-%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu-pci.so
+%attr(755,root,root) %{_libdir}/%{name}/hw-display-qxl.so
 %attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu.so
 %attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu.so
+%{?with_virgl:%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu-gl.so}
+%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu-pci.so
+%{?with_virgl:%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu-pci-gl.so}
 %attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-vga.so
 %attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-vga.so
+%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-vga-gl.so
+%attr(755,root,root) %{_libdir}/%{name}/hw-s390x-virtio-gpu-ccw.so
+%attr(755,root,root) %{_libdir}/%{name}/hw-usb-host.so
+%attr(755,root,root) %{_libdir}/%{name}/ui-curses.so
+%if %{with usbredir}
 %attr(755,root,root) %{_libdir}/%{name}/hw-usb-redirect.so
 %attr(755,root,root) %{_libdir}/%{name}/hw-usb-redirect.so
+%endif
+%if %{with smartcard}
 %attr(755,root,root) %{_libdir}/%{name}/hw-usb-smartcard.so
 %attr(755,root,root) %{_libdir}/%{name}/hw-usb-smartcard.so
-%attr(755,root,root) %{_libdir}/%{name}/ui-curses.so
-%attr(755,root,root) %{_libdir}/%{name}/ui-egl-headless.so
+%endif
 %if %{with opengl}
 %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}/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
 %attr(755,root,root) %{_libdir}/%{name}/ui-spice-app.so
 %attr(755,root,root) %{_libdir}/%{name}/ui-spice-core.so
 %endif
@@ -1197,30 +1339,39 @@ fi
 %dir %{_datadir}/%{name}/firmware
 %{_datadir}/%{name}/keymaps
 %{_datadir}/%{name}/trace-events-all
 %dir %{_datadir}/%{name}/firmware
 %{_datadir}/%{name}/keymaps
 %{_datadir}/%{name}/trace-events-all
-%dir %{_datadir}/%{name}/vhost-user
 %if %{with virgl}
 %if %{with virgl}
+%dir %{_datadir}/%{name}/vhost-user
 %{_datadir}/%{name}/vhost-user/50-qemu-gpu.json
 %endif
 %{_datadir}/%{name}/vhost-user/50-qemu-gpu.json
 %endif
-%{_datadir}/%{name}/vhost-user/50-qemu-virtiofsd.json
 %{_desktopdir}/qemu.desktop
 %{_iconsdir}/hicolor/*x*/apps/qemu.png
 %{_iconsdir}/hicolor/32x32/apps/qemu.bmp
 %{_iconsdir}/hicolor/scalable/apps/qemu.svg
 %{_mandir}/man1/qemu.1*
 %{_desktopdir}/qemu.desktop
 %{_iconsdir}/hicolor/*x*/apps/qemu.png
 %{_iconsdir}/hicolor/32x32/apps/qemu.bmp
 %{_iconsdir}/hicolor/scalable/apps/qemu.svg
 %{_mandir}/man1/qemu.1*
+%{_mandir}/man1/qemu-storage-daemon.1*
 %{_mandir}/man1/virtfs-proxy-helper.1*
 %{_mandir}/man1/virtfs-proxy-helper.1*
-%{_mandir}/man1/virtiofsd.1*
 %{_mandir}/man7/qemu-block-drivers.7*
 %{_mandir}/man7/qemu-cpu-models.7*
 %{_mandir}/man7/qemu-qmp-ref.7*
 %{_mandir}/man7/qemu-block-drivers.7*
 %{_mandir}/man7/qemu-cpu-models.7*
 %{_mandir}/man7/qemu-qmp-ref.7*
+%{_mandir}/man7/qemu-storage-daemon-qmp-ref.7*
 %{_mandir}/man8/qemu-nbd.8*
 %{_mandir}/man8/qemu-pr-helper.8*
 %{_docdir}/qemu
 
 %{_mandir}/man8/qemu-nbd.8*
 %{_mandir}/man8/qemu-pr-helper.8*
 %{_docdir}/qemu
 
+%files devel
+%defattr(644,root,root,755)
+%{_includedir}/qemu-plugin.h
+
 %files img
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-img
 %{_mandir}/man1/qemu-img.1*
 
 %files img
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-img
 %{_mandir}/man1/qemu-img.1*
 
+%files ivshmem
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/ivshmem-client
+%attr(755,root,root) %{_bindir}/ivshmem-server
+
 %files user
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-aarch64
 %files user
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-aarch64
@@ -1229,9 +1380,11 @@ fi
 %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-arm
 %attr(755,root,root) %{_bindir}/qemu-armeb
 %attr(755,root,root) %{_bindir}/qemu-cris
+%attr(755,root,root) %{_bindir}/qemu-hexagon
 %attr(755,root,root) %{_bindir}/qemu-hppa
 %attr(755,root,root) %{_bindir}/qemu-i386
 %attr(755,root,root) %{_bindir}/qemu-io
 %attr(755,root,root) %{_bindir}/qemu-hppa
 %attr(755,root,root) %{_bindir}/qemu-i386
 %attr(755,root,root) %{_bindir}/qemu-io
+%attr(755,root,root) %{_bindir}/qemu-loongarch64
 %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-m68k
 %attr(755,root,root) %{_bindir}/qemu-microblaze
 %attr(755,root,root) %{_bindir}/qemu-microblazeel
@@ -1267,8 +1420,10 @@ fi
 %attr(755,root,root) %{_bindir}/qemu-arm-static
 %attr(755,root,root) %{_bindir}/qemu-armeb-static
 %attr(755,root,root) %{_bindir}/qemu-cris-static
 %attr(755,root,root) %{_bindir}/qemu-arm-static
 %attr(755,root,root) %{_bindir}/qemu-armeb-static
 %attr(755,root,root) %{_bindir}/qemu-cris-static
+%attr(755,root,root) %{_bindir}/qemu-hexagon-static
 %attr(755,root,root) %{_bindir}/qemu-hppa-static
 %attr(755,root,root) %{_bindir}/qemu-i386-static
 %attr(755,root,root) %{_bindir}/qemu-hppa-static
 %attr(755,root,root) %{_bindir}/qemu-i386-static
+%attr(755,root,root) %{_bindir}/qemu-loongarch64-static
 %attr(755,root,root) %{_bindir}/qemu-m68k-static
 %attr(755,root,root) %{_bindir}/qemu-microblaze-static
 %attr(755,root,root) %{_bindir}/qemu-microblazeel-static
 %attr(755,root,root) %{_bindir}/qemu-m68k-static
 %attr(755,root,root) %{_bindir}/qemu-microblaze-static
 %attr(755,root,root) %{_bindir}/qemu-microblazeel-static
@@ -1294,7 +1449,7 @@ fi
 %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-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
+%{?with_systemtap:%attr(755,root,root) %{_bindir}/qemu-trace-stap-static}
 %endif
 
 %files system-aarch64
 %endif
 
 %files system-aarch64
@@ -1340,15 +1495,12 @@ fi
 
 %files system-mips
 %defattr(644,root,root,755)
 
 %files system-mips
 %defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/qemu-system-loongarch64
 %attr(755,root,root) %{_bindir}/qemu-system-mips
 %attr(755,root,root) %{_bindir}/qemu-system-mipsel
 %attr(755,root,root) %{_bindir}/qemu-system-mips64
 %attr(755,root,root) %{_bindir}/qemu-system-mips64el
 
 %attr(755,root,root) %{_bindir}/qemu-system-mips
 %attr(755,root,root) %{_bindir}/qemu-system-mipsel
 %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-nios2
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-nios2
 %files system-nios2
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-nios2
@@ -1371,18 +1523,18 @@ fi
 %{_datadir}/%{name}/slof.bin
 %{_datadir}/%{name}/u-boot.e500
 %{_datadir}/%{name}/u-boot-sam460-20100605.bin
 %{_datadir}/%{name}/slof.bin
 %{_datadir}/%{name}/u-boot.e500
 %{_datadir}/%{name}/u-boot-sam460-20100605.bin
+%{_datadir}/%{name}/vof.bin
+%{_datadir}/%{name}/vof-nvram.bin
 
 %files system-riscv32
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-riscv32
 %{_datadir}/%{name}/opensbi-riscv32-generic-fw_dynamic.bin
 
 %files system-riscv32
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-riscv32
 %{_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-generic-fw_dynamic.bin
 
 %files system-riscv64
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-riscv64
 %{_datadir}/%{name}/opensbi-riscv64-generic-fw_dynamic.bin
-%{_datadir}/%{name}/opensbi-riscv64-generic-fw_dynamic.elf
 
 %files system-rx
 %defattr(644,root,root,755)
 
 %files system-rx
 %defattr(644,root,root,755)
@@ -1440,6 +1592,7 @@ fi
 %{_datadir}/%{name}/linuxboot.bin
 %{_datadir}/%{name}/linuxboot_dma.bin
 %{_datadir}/%{name}/multiboot.bin
 %{_datadir}/%{name}/linuxboot.bin
 %{_datadir}/%{name}/linuxboot_dma.bin
 %{_datadir}/%{name}/multiboot.bin
+%{_datadir}/%{name}/multiboot_dma.bin
 %{_datadir}/%{name}/pvh.bin
 %{_datadir}/%{name}/pxe-e1000.rom
 %{_datadir}/%{name}/pxe-eepro100.rom
 %{_datadir}/%{name}/pvh.bin
 %{_datadir}/%{name}/pxe-e1000.rom
 %{_datadir}/%{name}/pxe-eepro100.rom
@@ -1448,7 +1601,6 @@ fi
 %{_datadir}/%{name}/pxe-rtl8139.rom
 %{_datadir}/%{name}/pxe-virtio.rom
 %{_datadir}/%{name}/qboot.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
 %{_datadir}/%{name}/vgabios-bochs-display.bin
 %{_datadir}/%{name}/vgabios.bin
 %{_datadir}/%{name}/vgabios-ati.bin
 %{_datadir}/%{name}/vgabios-bochs-display.bin
@@ -1477,6 +1629,16 @@ fi
 %{_mandir}/man7/qemu-ga-ref.7*
 %{_mandir}/man8/qemu-ga.8*
 
 %{_mandir}/man7/qemu-ga-ref.7*
 %{_mandir}/man8/qemu-ga.8*
 
+%files module-audio-jack
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/audio-jack.so
+
+%if %{with pipewire}
+%files module-audio-pipewire
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/audio-pipewire.so
+%endif
+
 %files module-block-curl
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/%{name}/block-curl.so
 %files module-block-curl
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/%{name}/block-curl.so
@@ -1509,6 +1671,11 @@ fi
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/%{name}/block-ssh.so
 
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/%{name}/block-ssh.so
 
+%files module-ui-dbus
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/audio-dbus.so
+%attr(755,root,root) %{_libdir}/%{name}/ui-dbus.so
+
 %if %{with gtk3}
 %files module-ui-gtk
 %defattr(644,root,root,755)
 %if %{with gtk3}
 %files module-ui-gtk
 %defattr(644,root,root,755)
@@ -1529,3 +1696,15 @@ fi
 %{_datadir}/systemtap/tapset/qemu-*.stp
 %{_mandir}/man1/qemu-trace-stap.1*
 %endif
 %{_datadir}/systemtap/tapset/qemu-*.stp
 %{_mandir}/man1/qemu-trace-stap.1*
 %endif
+
+%if %{with vfio_user}
+%files -n libvfio-user
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libvfio-user.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libvfio-user.so.0
+
+%files -n libvfio-user-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libvfio-user.so
+%{_includedir}/vfio-user
+%endif