]> git.pld-linux.org Git - packages/qemu.git/blobdiff - qemu.spec
- fixed -system-tricore description
[packages/qemu.git] / qemu.spec
index 91ca74acb77d45dc58e3f466159402919fc11d82..189a99501a5d22c3b43987df7db1e42e4e50932e 100644 (file)
--- a/qemu.spec
+++ b/qemu.spec
@@ -1,46 +1,53 @@
+# TODO:
+# plugins? (probes)
 #
 # Conditional build:
 %bcond_without sdl             # SDL UI and audio support
-%bcond_without gl              # Don't require gl deps
+%bcond_without opengl          # Don't require GL deps
 %bcond_without 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 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_without smartcard       # smartcard-nss support
 %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
 %bcond_without snappy          # snappy compression library
 %bcond_without user_static     # build linux-user static packages
-%bcond_with    lttng           # lttng-ust trace backend support
-%bcond_with    systemtap       # SystemTap/dtrace trace backend support
-%bcond_with    virgl           # build virgl 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}
+%undefine      with_vte
+%endif
 %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:       4.1.1
-Release:       1
+Version:       5.2.0
+Release:       6
 License:       GPL v2, BSD (edk2 firmware files)
 Group:         Applications/Emulators
-Source0:       http://wiki.qemu-project.org/download/%{name}-%{version}.tar.xz
-# Source0-md5: 53879f792ef2675c6c5e6cbf5cc1ac6c
-Source2:       %{name}.binfmt
+Source0:       https://download.qemu.org/%{name}-%{version}.tar.xz
+# Source0-md5: 179f86928835da857c237b42f4b2df73
 # Loads kvm kernel modules at boot
 Source3:       kvm-modules-load.conf
 # Creates /dev/kvm
@@ -56,33 +63,38 @@ Source11:   %{name}-guest-agent.service
 Source12:      99-%{name}-guest-agent.rules
 Source13:      %{name}-guest-agent.init
 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
-URL:           http://www.qemu-project.org/
-%{?with_gl:BuildRequires:      OpenGL-GLX-devel}
-%{?with_gl:BuildRequires:      OpenGL-devel}
+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}
+%{?with_opengl:BuildRequires:  OpenGL-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
-%{?with_bluetooth:BuildRequires:       bluez-libs-devel}
 %{?with_brlapi:BuildRequires:  brlapi-devel}
 BuildRequires: bzip2-devel
+BuildRequires: capstone-devel >= 3.0.5
 %{?with_ceph:BuildRequires:    ceph-devel}
 BuildRequires: curl-devel
 BuildRequires: cyrus-sasl-devel >= 2
-%{?with_esd:BuildRequires:     esound-devel}
-BuildRequires: glib2-devel >= 1:2.22
-%{?with_glusterfs:BuildRequires:       glusterfs-devel >= 3.4}
+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.22.0}
 BuildRequires: libaio-devel
-%{?with_smartcard:BuildRequires:       libcacard-devel}
-BuildRequires: libcap-devel
+%{?with_smartcard:BuildRequires:       libcacard-devel >= 2.5.1}
 BuildRequires: libcap-ng-devel
-%{?with_gl:BuildRequires:      libepoxy-devel}
+BuildRequires: libdrm-devel
+%{?with_opengl:BuildRequires:  libepoxy-devel}
 BuildRequires: libfdt-devel >= 1.4.2
 %{?with_rdma:BuildRequires:    libibverbs-devel}
 %{?with_iscsi:BuildRequires:   libiscsi-devel >= 1.9.0}
@@ -92,58 +104,78 @@ BuildRequires:     libjpeg-devel
 BuildRequires: libpng-devel
 %{?with_rdma:BuildRequires:    librdmacm-devel}
 %{?with_seccomp:BuildRequires: libseccomp-devel >= 2.3.0}
-BuildRequires: libssh2-devel >= 1.2.8
-BuildRequires: libusb-devel >= 1.0.13
+BuildRequires: libssh-devel >= 0.8
+BuildRequires: libslirp-devel >= 4.0.0
+# for tests only
+#BuildRequires:        libtasn1-devel
+BuildRequires: libusb-devel >= 1.0.22
+BuildRequires: liburing-devel
 BuildRequires: libuuid-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
 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
 %{?with_system_seabios:BuildRequires:  seabios}
 BuildRequires: sed >= 4.0
 %{?with_snappy:BuildRequires:  snappy-devel}
+BuildRequires: sphinx-pdg
 %if %{with spice}
 BuildRequires: spice-protocol >= 0.12.3
-BuildRequires: spice-server-devel >= 0.12.0
+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}
 %{?with_usbredir:BuildRequires:        usbredir-devel >= 0.6}
 %{?with_lttng:BuildRequires:   userspace-rcu-devel}
 BuildRequires: vde2-devel
 BuildRequires: which
 %{?with_virgl:BuildRequires:   virglrenderer-devel}
-%{?with_xen:BuildRequires:     xen-devel >= 3.4}
+%{?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}
 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: xz
 BuildRequires: zlib-devel
-%if %{with gtk3}
-BuildRequires: gtk+3-devel >= 3.14.0
-%{?with_vte:BuildRequires:     vte2.90-devel >= 0.32.0}
-%endif
+BuildRequires: zstd-devel >= 1.4.0
 %if %{with user_static}
-BuildRequires: glib2-static
+BuildRequires: glib2-static >= 1:2.48
 BuildRequires: glibc-static
 BuildRequires: pcre-static
 BuildRequires: zlib-static
 %endif
-BuildConflicts:        libslirp-devel
 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}
@@ -153,34 +185,35 @@ Requires: %{name}-system-or1k = %{version}-%{release}
 Requires:      %{name}-system-ppc = %{version}-%{release}
 Requires:      %{name}-system-riscv32 = %{version}-%{release}
 Requires:      %{name}-system-riscv64 = %{version}-%{release}
+Requires:      %{name}-system-rx = %{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}
 Requires:      %{name}-user = %{version}-%{release}
 Obsoletes:     qemu-kvm
+ExcludeArch:   i386
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define        systempkg_req \
-%if %{with sdl} \
-Requires:      SDL2 \
-%endif \
+Requires:      capstone >= 3.0.5 \
+%{?with_smartcard:Requires:    libcacard >= 2.5.1} \
 Requires:      libfdt >= 1.4.2 \
 %if %{with seccomp} \
 Requires:      libseccomp >= 2.3.0 \
 %endif \
-Requires:      libusb >= 1.0.13 \
+Requires:      libslirp >= 4.0.0 \
+Requires:      libusb >= 1.0.22 \
 Requires:      pixman >= 0.21.8 \
+%if %{with spice} \
+Requires:      spice-server-libs >= 0.12.5 \
+%endif \
 %if %{with usbredir} \
 Requires:      usbredir >= 0.6 \
 %endif \
-%if %{with gtk3} \
-Requires:      gtk+3 >= 3.14.0 \
-%{?with_vte:Requires:  vte2.90 >= 0.32.0} \
-%endif
+Requires:      zstd >= 1.4.0
 
 # don't strip/chrpath anything in there; these are boot images, roms etc
 %define                _noautostrip    .*%{_datadir}/qemu/.*
@@ -220,7 +253,7 @@ aby działał na kolejnych procesorach. QEMU ma dwa tryby pracy:
 %package common
 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
+Group:         Applications/Emulators
 Requires(post,preun,postun):   systemd-units >= 38
 Requires(postun):      /usr/sbin/groupdel
 Requires(postun):      /usr/sbin/userdel
@@ -228,13 +261,16 @@ Requires(pre):    /bin/id
 Requires(pre): /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
-Requires:      glib2 >= 1:2.22
-%{?with_libnfs:Requires:       libnfs >= 1.9.3}
-Requires:      libssh2 >= 1.2.8
+Requires:      glib2 >= 1:2.48
+Requires:      gnutls-libs >= 3.1.18
+%{?with_gtk3:Requires: gtk+3 >= 3.22.0}
+Requires:      nettle >= 2.7.1
 Requires:      systemd-units >= 38
+%{?with_vte:Requires:  vte >= 0.32.0}
 Provides:      group(qemu)
 Provides:      user(qemu)
 Obsoletes:     qemu-kvm-common
+Obsoletes:     qemu-module-block-archipelago < 2.9.0
 Conflicts:     qemu < 1.0-2
 
 %description common
@@ -253,7 +289,7 @@ Ten pakiet udostępnia wspólne pliki wymagane przez wszystkie
 %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:         Development/Tools
+Group:         Applications/Emulators
 Obsoletes:     qemu-kvm-img
 Conflicts:     qemu < 1.0-2
 
@@ -268,7 +304,7 @@ na obrazach dysków.
 %package user
 Summary:       QEMU user mode emulation of qemu targets
 Summary(pl.UTF-8):     QEMU - emulacja trybu użytkownika środowisk qemu
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 Requires(post,postun): systemd-units >= 38
 Requires:      systemd-units >= 38
@@ -288,7 +324,8 @@ Ten pakiet udostępnia emulację trybu użytkownika środowisk QEMU.
 
 %package user-static
 Summary:       QEMU user mode emulation of qemu targets static build
-Group:         Development/Tools
+Summary(pl.UTF-8):     QEMU - emulacja trybu użytkownika środowisk qemu - wersja statyczna
+Group:         Applications/Emulators
 Requires(post,postun): systemd-units >= 38
 Requires:      systemd-units >= 38
 
@@ -297,12 +334,19 @@ QEMU is a generic and open source processor emulator which achieves a
 good emulation speed by using dynamic translation.
 
 This package provides the user mode emulation of qemu targets built as
-static binaries
+static binaries.
+
+%description user-static -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 udostępnia emulację trybu użytkownika środowisk QEMU w
+oparciu o programy wykonywalne zbudowane statycznie.
 
 %package system-aarch64
 Summary:       QEMU system emulator for AArch64
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem AArch64
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Obsoletes:     qemu-kvm-system-aarch64
@@ -311,18 +355,18 @@ Obsoletes:        qemu-kvm-system-aarch64
 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 AArch64 CPU.
+This package provides the system emulator with AArch64 (ARM64) CPU.
 
 %description system-aarch64 -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 AArch64.
+Ten pakiet zawiera emulator systemu z procesorem AArch64 (ARM64).
 
 %package system-alpha
 Summary:       QEMU system emulator for Alpha
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem Alpha
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Obsoletes:     qemu-kvm-system-alpha
@@ -340,9 +384,9 @@ dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
 Ten pakiet zawiera emulator systemu z procesorem Alpha.
 
 %package system-arm
-Summary:       QEMU system emulator for ARM
-Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem ARM
-Group:         Development/Tools
+Summary:       QEMU system emulator for 32-bit ARM
+Summary(pl.UTF-8):     QEMU - emulator systemu z 32-bitowym procesorem ARM
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Obsoletes:     qemu-kvm-system-arm
@@ -351,18 +395,38 @@ Obsoletes:        qemu-kvm-system-arm
 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 ARM.
+This package provides the system emulator for 32-bit ARM.
 
 %description system-arm -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 ARM.
+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
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Obsoletes:     qemu-kvm-system-cris
@@ -382,7 +446,7 @@ Ten pakiet zawiera emulator systemu z procesorem CRIS.
 %package system-hppa
 Summary:       QEMU system emulator for HP/PA
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem HP/PA
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 
@@ -390,38 +454,18 @@ 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 HP/PA CPU.
+This package provides the system emulator with HP/PA (PA-RISC) CPU.
 
 %description system-hppa -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 HP/PA.
-
-%package system-lm32
-Summary:       QEMU system emulator for LM32
-Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem LM32
-Group:         Development/Tools
-Requires:      %{name}-common = %{version}-%{release}
-%systempkg_req
-Obsoletes:     qemu-kvm-system-lm32
-
-%description system-lm32
-QEMU is a generic and open source processor emulator which achieves a
-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.
+Ten pakiet zawiera emulator systemu z procesorem HP/PA (PA-RISC).
 
 %package system-m68k
 Summary:       QEMU system emulator for m68k
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem m68k
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Obsoletes:     qemu-kvm-system-m68k
@@ -430,18 +474,20 @@ Obsoletes:        qemu-kvm-system-m68k
 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 m68k CPU.
+This package provides the system emulator with m68k (Motorola 68xxx)
+CPU.
 
 %description system-m68k -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 m68k.
+Ten pakiet zawiera emulator systemu z procesorem m68k (Motorola
+68xxx).
 
 %package system-microblaze
 Summary:       QEMU system emulator for MicroBlaze
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem MicroBlaze
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Obsoletes:     qemu-kvm-system-microblaze
@@ -461,7 +507,7 @@ Ten pakiet zawiera emulator systemu z procesorem MicroBlaze.
 %package system-mips
 Summary:       QEMU system emulator for MIPS
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem MIPS
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Obsoletes:     qemu-kvm-system-mips
@@ -481,7 +527,7 @@ Ten pakiet zawiera emulator systemu z procesorem MIPS.
 %package system-moxie
 Summary:       QEMU system emulator for Moxie
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem Moxie
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 
@@ -500,7 +546,7 @@ 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
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 
@@ -519,7 +565,7 @@ Ten pakiet zawiera emulator systemu z procesorem Nios II.
 %package system-or1k
 Summary:       QEMU system emulator for OpenRISC
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem OpenRISC
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Obsoletes:     qemu-kvm-system-or1k
@@ -540,7 +586,7 @@ Ten pakiet zawiera emulator systemu z procesorem OpenRISC.
 %package system-ppc
 Summary:       QEMU system emulator for PowerPC
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem PowerPC
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Obsoletes:     qemu-kvm-system-ppc
@@ -560,7 +606,7 @@ Ten pakiet zawiera emulator systemu z procesorem PowerPC.
 %package system-riscv32
 Summary:       QEMU system emulator for RISC-V (32 bit)
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem RISC-V (32 bit)
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 
@@ -578,8 +624,8 @@ Ten pakiet zawiera emulator systemu z procesorem RISC-V (32 bit).
 
 %package system-riscv64
 Summary:       QEMU system emulator for RISC-V (64 bit)
-Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem RISC-V (64 bit)
-Group:         Development/Tools
+Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem RISC-V (64 bitowym)
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 
@@ -593,12 +639,31 @@ This package provides the system emulator with RISC-V (64 bit) CPU.
 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 RISC-V (64 bit).
+Ten pakiet zawiera emulator systemu z procesorem RISC-V (64-bitowym).
+
+%package system-rx
+Summary:       QEMU system emulator for Renesas RX
+Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem Renesas RX
+Group:         Applications/Emulators
+Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
+
+%description system-rx
+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 Renesas RX CPU.
+
+%description system-rx -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 Renesas RX.
 
 %package system-s390x
-Summary:       QEMU system emulator for S390
-Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem S390
-Group:         Development/Tools
+Summary:       QEMU system emulator for S390x (IBM Z)
+Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem S390x (IBM Z)
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Obsoletes:     qemu-kvm-system-s390x
@@ -607,18 +672,18 @@ Obsoletes:        qemu-kvm-system-s390x
 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 S390 CPU.
+This package provides the system emulator with S390x (IBM Z) CPU.
 
 %description system-s390x -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 S390.
+Ten pakiet zawiera emulator systemu z procesorem S390x (IBM Z).
 
 %package system-sh4
 Summary:       QEMU system emulator for SH4
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem SH4
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Obsoletes:     qemu-kvm-system-sh4
@@ -638,7 +703,7 @@ Ten pakiet zawiera emulator systemu z procesorem SH4.
 %package system-sparc
 Summary:       QEMU system emulator for SPARC
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem SPARC
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Obsoletes:     qemu-kvm-system-sparc
@@ -658,7 +723,7 @@ 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
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 
@@ -668,36 +733,16 @@ good emulation speed by using dynamic translation.
 
 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.
 
 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:         Development/Tools
-Requires:      %{name}-common = %{version}-%{release}
-%systempkg_req
-Obsoletes:     qemu-kvm-system-unicore32
-
-%description system-unicore32
-QEMU is a generic and open source processor emulator which achieves a
-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
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %{?with_system_seabios:Requires:       seabios}
 %systempkg_req
@@ -708,14 +753,18 @@ Obsoletes:        qemu-kvm-system-x86
 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 x86 CPU.
+
 %description system-x86 -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 x86.
+
 %package system-xtensa
 Summary:       QEMU system emulator for Xtensa
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem Xtensa
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Obsoletes:     qemu-kvm-system-xtensa
@@ -737,9 +786,10 @@ 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.22
+Requires:      glib2 >= 1:2.48
 Requires:      systemd-units >= 38
 Obsoletes:     qemu-kvm-guest-agent
+Conflicts:     SysVinit < 2.96-2
 
 %description guest-agent
 QEMU is a generic and open source processor emulator which achieves a
@@ -764,77 +814,139 @@ Ten pakiet nie musi być zainstalowany w systemie hosta.
 %package module-block-curl
 Summary:       QEMU module for 'curl' block devices
 Summary(pl.UTF-8):     Moduł QEMU dla urządeń blokowych typu 'curl'
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 
 %description module-block-curl
-'curl' block device support for QEMU.
+QEMU block device support for CURL. It allows to access remote disks
+over http, https, ftp and other transports provided by the CURL
+library.
 
 %description module-block-curl -l pl.UTF-8
-Moduł QEMU dla urządeń blokowych typu 'curl'.
+Moduł QEMU dla urządeń blokowych CURL. Pozwala na dostęp do zdalnych
+dysków poprzez http, https, ftp i inne protokoły obsługiwane przez
+bibliotekę CURL.
 
 %package module-block-gluster
 Summary:       QEMU module for 'gluster' block devices
 Summary(pl.UTF-8):     Moduł QEMU dla urządeń blokowych typu 'gluster'
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
-Requires:      glusterfs-libs >= 3.4
+Requires:      glusterfs-libs >= 6
 
 %description module-block-gluster
-'gluster' block device support for QEMU.
+QEMU block device support for remote Gluster storage.
 
 %description module-block-gluster -l pl.UTF-8
-Moduł QEMU dla urządeń blokowych typu 'gluster'.
+Moduł urządzeń blokowych QEMU do dostępu do zdalnej przestrzeni
+dyskowej Gluster.
 
 %package module-block-iscsi
 Summary:       QEMU module for 'iscsi' block devices
 Summary(pl.UTF-8):     Moduł QEMU dla urządeń blokowych typu 'iscsi'
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 Requires:      libiscsi >= 1.9.0
 
 %description module-block-iscsi
-'iscsi' block device support for QEMU.
+QEMU block device support for iSCSI volumes.
 
 %description module-block-iscsi -l pl.UTF-8
-Moduł QEMU dla urządeń blokowych typu 'iscsi'.
+Moduł urządzeń blokowych QEMU do dostępu do wolumenów iSCSI.
+
+%package module-block-nfs
+Summary:       QEMU module for 'nfs' block devices
+Summary(pl.UTF-8):     Moduł QEMU dla urządeń blokowych typu 'nfs'
+Group:         Applications/Emulators
+Requires:      %{name}-common = %{version}-%{release}
+Requires:      libnfs >= 1.9.3
+
+%description module-block-nfs
+QEMU block device support for remote NFS storage.
+
+%description module-block-nfs -l pl.UTF-8
+Moduł urządzeń blokowych QEMU do dostępu do zdalnej przestrzeni po
+NFS.
 
 %package module-block-rbd
 Summary:       QEMU module for 'rbd' block devices
 Summary(pl.UTF-8):     Moduł QEMU dla urządeń blokowych typu 'rbd'
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 
 %description module-block-rbd
-'rbd' block device support for QEMU.
+QEMU block device support for Ceph/RBD volumes.
 
 %description module-block-rbd -l pl.UTF-8
-Moduł QEMU dla urządeń blokowych typu 'rbd'.
+Moduł urządzeń blokowych QEMU do wolumenów Ceph/RBD.
 
 %package module-block-ssh
 Summary:       QEMU module for 'ssh' block devices
 Summary(pl.UTF-8):     Moduł QEMU dla urządeń blokowych typu 'ssh'
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
+Requires:      libssh >= 0.8
 
 %description module-block-ssh
-'ssh' block device support for QEMU.
+QEMU block device support for accessing remote disks using the Secure
+Shell (SSH) protocol.
 
 %description module-block-ssh -l pl.UTF-8
-Moduł QEMU dla urządeń blokowych typu 'ssh'.
+Moduł urządzeń blokowych QEMU do dostępu do zdalnych dysków poprzez
+protokół SSH (Secure Shell).
+
+%package module-ui-gtk
+Summary:       QEMU GTK UI driver
+Summary(pl.UTF-8):     Sterownik interfejsu użytkownika GTK dla QEMU
+Group:         Applications/Emulators
+Requires:      %{name}-common = %{version}-%{release}
+
+%description module-ui-gtk
+QEMU GTK UI driver.
+
+%description module-ui-gtk -l pl.UTF-8
+Sterownik interfejsu użytkownika GTK dla QEMU.
+
+%package module-ui-sdl
+Summary:       QEMU SDL UI and audio driver
+Summary(pl.UTF-8):     Sterownik interfejsu użytkownika i dźwięku SDL dla QEMU
+Group:         Applications/Emulators
+Requires:      %{name}-common = %{version}-%{release}
+
+%description module-ui-sdl
+QEMU SDL UI and audio driver.
+
+%description module-ui-sdl -l pl.UTF-8
+Sterownik interfejsu użytkownika i dźwięku SDL dla QEMU.
+
+%package -n systemtap-qemu
+Summary:       systemtap/dtrace probes for QEMU
+Summary(pl.UTF-8):     Sondy systemtap/dtrace dla QEMU
+Group:         Development/Tools
+Requires:      %{name}-common = %{version}-%{release}
+Requires:      systemtap-client
+
+%description -n systemtap-qemu
+systemtap/dtrace probes for QEMU.
+
+%description -n systemtap-qemu -l pl.UTF-8
+Sondy systemtap/dtrace dla QEMU.
 
 %prep
 %setup -q
 %patch0 -p1
-%patch1 -p0
+%patch1 -p1
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
 
-# workaround for conflict with alsa/error.h
-ln -s ../error.h qapi/error.h
+%{__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
+%endif
 %build
 
 build() {
@@ -852,6 +964,7 @@ build() {
        --localstatedir=%{_localstatedir} \
        --interp-prefix=%{_libdir}/qemu/lib-%%M \
        --cc="%{__cc}" \
+       --cxx="%{__cxx}" \
        --host-cc="%{__cc}" \
        --disable-strip \
        --enable-trace-backends="nop%{?with_systemtap:,dtrace}%{?with_lttng:,ust}" \
@@ -866,48 +979,52 @@ 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 bluetooth bluez} \
        %{__enable_disable brlapi} \
        --enable-cap-ng \
+       --enable-capstone=system \
        --enable-curl \
        --enable-curses \
        --enable-docs \
        --enable-fdt \
        %{__enable_disable glusterfs} \
+       %{!?with_gtk3:--disable-gtk} \
        %{__enable_disable iscsi libiscsi} \
+       %{__enable_disable libnfs} \
+       %{__enable_disable pmem libpmem} \
+       --enable-lzo \
+       %{__enable_disable multipath mpath} \
+       --enable-modules \
+       --disable-netmap \
+       --enable-nettle \
        %{__enable_disable ceph rbd} \
        %{__enable_disable rdma} \
        %{__enable_disable sdl} \
        %{__enable_disable seccomp} \
+       --enable-slirp=system \
        %{__enable_disable spice} \
-       %{__enable_disable smartcard smartcard} \
+       %{__enable_disable smartcard} \
+       %{__enable_disable snappy} \
        --enable-tpm \
        %{__enable_disable usbredir usb-redir} \
        --enable-vde \
+       %{__enable_disable virgl virglrenderer} \
        --enable-virtfs \
        --enable-vnc-jpeg \
        --enable-vnc-png \
        --enable-vnc-sasl \
        %{!?with_vte:--disable-vte} \
-       %{__enable_disable virgl virglrenderer} \
        %{__enable_disable xen} \
-       --enable-modules \
-       --disable-netmap \
-       %{__enable_disable libnfs} \
-       --enable-lzo \
-       %{__enable_disable snappy} \
-       --audio-drv-list="alsa%{?with_iss:,oss}%{?with_sdl:,sdl}%{?with_esd:,esd}%{?with_pulseaudio:,pa}" \
-%if %{without gtk3}
-       --disable-gtk
-%endif
+       %{__enable_disable xkbcommon}
 
 %if %{with user_static}
 build static \
        --disable-brlapi \
        --disable-cap-ng \
+       --disable-capstone \
        --disable-curl \
        --disable-curses \
        --disable-gcrypt \
@@ -916,16 +1033,20 @@ build static \
        --disable-guest-agent \
        --disable-guest-agent-msi \
        --disable-libnfs \
+       --disable-linux-io-uring \
+       --disable-mpath \
        --disable-nettle \
        --disable-pie \
        --disable-sdl \
+       --disable-slirp \
        --disable-spice \
+       --disable-system \
        --disable-tcmalloc \
        --disable-tools \
        --enable-user \
-       --disable-system \
+       --disable-xkbcommon \
+       --disable-zstd \
        --static
-
 %endif
 
 %{__cc} %{SOURCE7} %{rpmcflags} -o ksmctl
@@ -933,8 +1054,8 @@ build static \
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{%{systemdunitdir},/usr/lib/binfmt.d} \
-       $RPM_BUILD_ROOT/etc/{qemu,sysconfig,udev/rules.d,modules-load.d,rc.d/init.d,logrotate.d} \
-       $RPM_BUILD_ROOT{%{_sysconfdir}/sasl,%{_sbindir}}
+       $RPM_BUILD_ROOT/etc/{qemu,sysconfig,modules-load.d,rc.d/init.d,logrotate.d} \
+       $RPM_BUILD_ROOT{%{_sysconfdir}/sasl,/lib/udev/rules.d,%{_sbindir}}
 
 %if %{with user_static}
 %{__make} -C build-static install \
@@ -943,7 +1064,7 @@ install -d $RPM_BUILD_ROOT{%{systemdunitdir},/usr/lib/binfmt.d} \
 
 # Give all QEMU user emulators a -static suffix
 for src in $RPM_BUILD_ROOT%{_bindir}/qemu-*; do
-       mv $src $src-static
+       %{__mv} $src $src-static
 done
 
 %endif
@@ -952,6 +1073,9 @@ done
        %{!?with_smartcard:CONFIG_USB_SMARTCARD=n} \
        DESTDIR=$RPM_BUILD_ROOT
 
+# let rpm generate dependencies
+chmod 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/*.so
+
 echo "#allow br0" > $RPM_BUILD_ROOT/etc/qemu/bridge.conf
 
 install -d $RPM_BUILD_ROOT%{_sysconfdir}
@@ -964,7 +1088,7 @@ install -p qemu.sasl $RPM_BUILD_ROOT%{_sysconfdir}/sasl/qemu.conf
 
 %ifarch %{ix86} %{x8664} x32
 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/modules-load.d/kvm.conf
-install -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d
+install -p %{SOURCE4} $RPM_BUILD_ROOT/lib/udev/rules.d
 %endif
 
 install -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdunitdir}/ksm.service
@@ -978,65 +1102,75 @@ 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
+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 %{SOURCE14} $RPM_BUILD_ROOT/etc/logrotate.d/qemu-ga
 
+cp -p %{SOURCE15} %{SOURCE16} $RPM_BUILD_ROOT%{systemdunitdir}
+
 # Install binfmt
-for i in dummy \
+BINFMT_CPUS=" \
 %ifnarch %{ix86} %{x8664} x32
-       qemu-i386 \
+       i386 x86_64 \
+%endif
+%ifnarch aarch64
+       aarch64 \
 %endif
 %ifnarch alpha
-       qemu-alpha \
+       alpha \
 %endif
 %ifnarch %{arm}
-       qemu-arm \
+       arm \
 %endif
-       qemu-armeb \
-       qemu-cris \
-       qemu-microblaze qemu-microblazeel \
+       aarch64_be \
+       armeb \
+       microblaze microblazeel \
 %ifnarch mips64
-       qemu-mips64 \
+       mips64 \
 %ifnarch mips
-       qemu-mips \
+       mips \
 %endif
 %endif
 %ifnarch mips64el
-       qemu-mips64el \
+       mips64el \
 %ifnarch mipsel
-       qemu-mipsel \
+       mipsel \
 %endif
 %endif
 %ifnarch m68k
-       qemu-m68k \
+       m68k \
 %endif
 %ifnarch ppc ppc64 ppc64le
-       qemu-ppc qemu-ppc64abi32 qemu-ppc64 \
+       ppc ppc64 ppc64le \
 %endif
 %ifnarch sparc sparc64
-       qemu-sparc qemu-sparc32plus qemu-sparc64 \
+       sparc sparc32plus sparc64 \
 %endif
 %ifnarch s390 s390x
-       qemu-s390x \
+       s390x \
 %endif
 %ifnarch sh4
-       qemu-sh4 \
+       sh4 \
 %endif
-       qemu-sh4eb \
-; do
-       test $i = dummy && continue
-       grep /$i:\$ %{SOURCE2} > $RPM_BUILD_ROOT/usr/lib/binfmt.d/$i-dynamic.conf
+       sh4eb \
+"
+
+if [ -n "$BINFMT_CPUS" ]; then
+       for cpu in $BINFMT_CPUS; do
+               bash ./scripts/qemu-binfmt-conf.sh --systemd "$cpu" --exportdir $RPM_BUILD_ROOT/usr/lib/binfmt.d --qemu-path %{_bindir}
+       done
+       for i in $RPM_BUILD_ROOT/usr/lib/binfmt.d/*.conf; do
+               %{__mv} $i ${i%.conf}-dynamic.conf
+       done
 
        %if %{with user_static}
-       grep /$i:\$ %{SOURCE2} > $RPM_BUILD_ROOT/usr/lib/binfmt.d/$i-static.conf
-       %{__sed} -i -e "s/$i/$i-static/" $RPM_BUILD_ROOT/usr/lib/binfmt.d/$i-static.conf
+       for regularfmt in $RPM_BUILD_ROOT/usr/lib/binfmt.d/*; do
+               staticfmt="${regularfmt%\-dynamic.conf}-static.conf"
+               cat $regularfmt | tr -d '\n' | sed "s/:$/-static:F/" > $staticfmt
+       done
        %endif
-done < %{SOURCE2}
-
-# packaged as %doc
-%{__rm} $RPM_BUILD_ROOT%{_docdir}/qemu/qemu-doc.html
+fi
 
 %if %{with system_seabios}
 ln -sf /usr/share/seabios/bios.bin $RPM_BUILD_ROOT%{_datadir}/%{name}/bios-256k.bin
@@ -1057,7 +1191,17 @@ done
 : > qemu.lang
 %endif
 
-%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/qemu
+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
+%{__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}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -1086,18 +1230,19 @@ fi
 %triggerpostun common -- qemu-common < 1.6.1-4
 %systemd_trigger ksm.service
 %systemd_trigger ksmtuned.service
+%systemd_trigger qemu-pr-helper.service
 
 %post user
-%systemd_service_restart systemd-binfmt.service
+%systemd_post systemd-binfmt.service
 
 %postun user
-%systemd_service_restart systemd-binfmt.service
+%systemd_post systemd-binfmt.service
 
 %post user-static
-%systemd_service_restart systemd-binfmt.service
+%systemd_post systemd-binfmt.service
 
 %postun user-static
-%systemd_service_restart systemd-binfmt.service
+%systemd_post systemd-binfmt.service
 
 %post guest-agent
 /sbin/chkconfig --add qemu-ga
@@ -1106,8 +1251,8 @@ fi
 
 %preun guest-agent
 if [ "$1" = "0" ]; then
-  %service qemu-ga stop
-  /sbin/chkconfig --del qemu-ga
+       %service qemu-ga stop
+       /sbin/chkconfig --del qemu-ga
 fi
 %systemd_preun qemu-guest-agent.service
 
@@ -1119,8 +1264,7 @@ fi
 
 %files common -f %{name}.lang
 %defattr(644,root,root,755)
-%doc LICENSE README
-%doc build-dynamic/qemu-doc.html
+%doc LICENSE README.rst pc-bios/edk2-licenses.txt
 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/qemu-ifup
 %config(noreplace) %verify(not md5 mtime size) /etc/ksmtuned.conf
 %config(noreplace) %verify(not md5 mtime size) /etc/sasl/qemu.conf
@@ -1129,88 +1273,83 @@ fi
 %attr(640,root,qemu) %config(noreplace) %verify(not md5 mtime size) /etc/qemu/bridge.conf
 %{systemdunitdir}/ksm.service
 %{systemdunitdir}/ksmtuned.service
+%{systemdunitdir}/qemu-pr-helper.service
+%{systemdunitdir}/qemu-pr-helper.socket
 %attr(755,root,root) %{_bindir}/elf2dmp
 %attr(755,root,root) %{_bindir}/ivshmem-client
 %attr(755,root,root) %{_bindir}/ivshmem-server
-%attr(755,root,root) %{_bindir}/virtfs-proxy-helper
 %attr(755,root,root) %{_bindir}/qemu-edid
-%{?with_xkbcommon:%attr(755,root,root) %{_bindir}/qemu-keymap}
+%if %{with xkbcommon}
+%attr(755,root,root) %{_bindir}/qemu-keymap
+%endif
 %attr(755,root,root) %{_bindir}/qemu-nbd
 %attr(755,root,root) %{_bindir}/qemu-pr-helper
-%attr(755,root,root) %{_bindir}/qemu-tilegx
-%attr(755,root,root) %{_libexecdir}/qemu-bridge-helper
+%attr(755,root,root) %{_bindir}/qemu-storage-daemon
 %attr(755,root,root) %{_sbindir}/ksmctl
 %attr(755,root,root) %{_sbindir}/ksmtuned
-%{_mandir}/man1/qemu.1*
-%{_mandir}/man1/virtfs-proxy-helper.1*
-%{_mandir}/man7/qemu-cpu-models.7*
-%{_mandir}/man7/qemu-block-drivers.7*
-%{_mandir}/man8/qemu-nbd.8*
-
-%dir %{_datadir}/qemu
-%dir %{_datadir}/%{name}/firmware
-%{_datadir}/%{name}/keymaps
-%{_datadir}/%{name}/trace-events-all
-
-# various bios images
-# all should be probably moved to the right system subpackage
-%{_datadir}/%{name}/bamboo.dtb
-%{_datadir}/%{name}/efi-e1000e.rom
-%{_datadir}/%{name}/efi-e1000.rom
-%{_datadir}/%{name}/efi-eepro100.rom
-%{_datadir}/%{name}/efi-ne2k_pci.rom
-%{_datadir}/%{name}/efi-pcnet.rom
-%{_datadir}/%{name}/efi-rtl8139.rom
-%{_datadir}/%{name}/efi-virtio.rom
-%{_datadir}/%{name}/efi-vmxnet3.rom
-%{_datadir}/%{name}/kvmvapic.bin
-%{_datadir}/%{name}/linuxboot.bin
-%{_datadir}/%{name}/linuxboot_dma.bin
-%{_datadir}/%{name}/multiboot.bin
-%{_datadir}/%{name}/openbios-ppc
-%{_datadir}/%{name}/openbios-sparc*
-%{_datadir}/%{name}/palcode-clipper
-%{_datadir}/%{name}/petalogix-ml605.dtb
-%{_datadir}/%{name}/petalogix-s3adsp1800.dtb
-%{_datadir}/%{name}/ppc_rom.bin
-%{_datadir}/%{name}/pvh.bin
-%{_datadir}/%{name}/pxe-e1000.rom
-%{_datadir}/%{name}/pxe-eepro100.rom
-%{_datadir}/%{name}/pxe-ne2k_pci.rom
-%{_datadir}/%{name}/pxe-pcnet.rom
-%{_datadir}/%{name}/pxe-rtl8139.rom
-%{_datadir}/%{name}/pxe-virtio.rom
-%{_datadir}/%{name}/QEMU,cgthree.bin
-%{_datadir}/%{name}/QEMU,tcx.bin
-%{_datadir}/%{name}/s390-ccw.img
-%{_datadir}/%{name}/sgabios.bin
-%{_datadir}/%{name}/skiboot.lid
-%{_datadir}/%{name}/slof.bin
-%{_datadir}/%{name}/spapr-rtas.bin
-%{_datadir}/%{name}/vgabios.bin
-%{_datadir}/%{name}/vgabios-ati.bin
-%{_datadir}/%{name}/vgabios-bochs-display.bin
-%{_datadir}/%{name}/vgabios-cirrus.bin
-%{_datadir}/%{name}/vgabios-qxl.bin
-%{_datadir}/%{name}/vgabios-ramfb.bin
-%{_datadir}/%{name}/vgabios-stdvga.bin
-%{_datadir}/%{name}/vgabios-virtio.bin
-%{_datadir}/%{name}/vgabios-vmware.bin
-
+%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
 %attr(755,root,root) %{_libdir}/%{name}/block-dmg-bz2.so
-%{?with_libnfs:%attr(755,root,root) %{_libdir}/%{name}/block-nfs.so}
-
+%attr(755,root,root) %{_libdir}/%{name}/block-dmg-lzfse.so
 %attr(755,root,root) %{_libdir}/%{name}/audio-alsa.so
-%{?with_pulseaudio:%attr(755,root,root) %{_libdir}/%{name}/audio-pa.so}
-%{?with_sdl:%attr(755,root,root) %{_libdir}/%{name}/audio-sdl.so}
+%if %{with oss}
+%attr(755,root,root) %{_libdir}/%{name}/audio-oss.so
+%endif
+%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 gtk3}
-%attr(755,root,root) %{_libdir}/%{name}/ui-gtk.so
+%if %{with usbredir}
+%attr(755,root,root) %{_libdir}/%{name}/hw-usb-redirect.so
 %endif
-%{?with_sdl:%attr(755,root,root) %{_libdir}/%{name}/ui-sdl.so}
+%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
+%{_datadir}/%{name}/keymaps
+%{_datadir}/%{name}/trace-events-all
+%dir %{_datadir}/%{name}/vhost-user
+%if %{with virgl}
+%{_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*
+%{_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}/man8/qemu-nbd.8*
+%{_mandir}/man8/qemu-pr-helper.8*
+%{_docdir}/qemu
 
 %files img
 %defattr(644,root,root,755)
@@ -1242,7 +1381,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
@@ -1281,7 +1419,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
@@ -1291,10 +1428,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
+%{?with_systemtap:%attr(755,root,root) %{_bindir}/qemu-trace-stap-static}
 %endif
 
 %files system-aarch64
@@ -1306,6 +1443,7 @@ fi
 %files system-alpha
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-alpha
+%{_datadir}/%{name}/palcode-clipper
 
 %files system-arm
 %defattr(644,root,root,755)
@@ -1313,6 +1451,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)
@@ -1323,10 +1466,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
@@ -1359,25 +1498,37 @@ fi
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-ppc
 %attr(755,root,root) %{_bindir}/qemu-system-ppc64
+%{_datadir}/%{name}/bamboo.dtb
 %{_datadir}/%{name}/canyonlands.dtb
+%{_datadir}/%{name}/openbios-ppc
+%{_datadir}/%{name}/petalogix-ml605.dtb
+%{_datadir}/%{name}/petalogix-s3adsp1800.dtb
 %{_datadir}/%{name}/qemu_vga.ndrv
+%{_datadir}/%{name}/skiboot.lid
+%{_datadir}/%{name}/slof.bin
 %{_datadir}/%{name}/u-boot.e500
 %{_datadir}/%{name}/u-boot-sam460-20100605.bin
 
 %files system-riscv32
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-riscv32
-%{_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)
+%attr(755,root,root) %{_bindir}/qemu-system-rx
 
 %files system-s390x
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-s390x
+%{_datadir}/%{name}/s390-ccw.img
 %{_datadir}/%{name}/s390-netboot.img
 
 %files system-sh4
@@ -1389,30 +1540,61 @@ fi
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/qemu-system-sparc
 %attr(755,root,root) %{_bindir}/qemu-system-sparc64
+%{_datadir}/%{name}/QEMU,cgthree.bin
+%{_datadir}/%{name}/QEMU,tcx.bin
+%{_datadir}/%{name}/openbios-sparc32
+%{_datadir}/%{name}/openbios-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
-
 %files system-x86
 %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} 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
+/lib/udev/rules.d/80-kvm.rules
 %endif
 %{_datadir}/%{name}/bios.bin
 %{_datadir}/%{name}/bios-256k.bin
+%{_datadir}/%{name}/bios-microvm.bin
 %{_datadir}/%{name}/edk2-i386-code.fd
 %{_datadir}/%{name}/edk2-i386-secure-code.fd
 %{_datadir}/%{name}/edk2-i386-vars.fd
 %{_datadir}/%{name}/edk2-x86_64-code.fd
 %{_datadir}/%{name}/edk2-x86_64-secure-code.fd
+%{_datadir}/%{name}/efi-e1000e.rom
+%{_datadir}/%{name}/efi-e1000.rom
+%{_datadir}/%{name}/efi-eepro100.rom
+%{_datadir}/%{name}/efi-ne2k_pci.rom
+%{_datadir}/%{name}/efi-pcnet.rom
+%{_datadir}/%{name}/efi-rtl8139.rom
+%{_datadir}/%{name}/efi-virtio.rom
+%{_datadir}/%{name}/efi-vmxnet3.rom
+%{_datadir}/%{name}/kvmvapic.bin
+%{_datadir}/%{name}/linuxboot.bin
+%{_datadir}/%{name}/linuxboot_dma.bin
+%{_datadir}/%{name}/multiboot.bin
+%{_datadir}/%{name}/pvh.bin
+%{_datadir}/%{name}/pxe-e1000.rom
+%{_datadir}/%{name}/pxe-eepro100.rom
+%{_datadir}/%{name}/pxe-ne2k_pci.rom
+%{_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
+%{_datadir}/%{name}/vgabios-bochs-display.bin
+%{_datadir}/%{name}/vgabios-cirrus.bin
+%{_datadir}/%{name}/vgabios-qxl.bin
+%{_datadir}/%{name}/vgabios-ramfb.bin
+%{_datadir}/%{name}/vgabios-stdvga.bin
+%{_datadir}/%{name}/vgabios-virtio.bin
+%{_datadir}/%{name}/vgabios-vmware.bin
 %{_datadir}/%{name}/firmware/50-edk2-i386-secure.json
 %{_datadir}/%{name}/firmware/50-edk2-x86_64-secure.json
 %{_datadir}/%{name}/firmware/60-edk2-i386.json
@@ -1425,11 +1607,11 @@ 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
+%attr(755,root,root) %{_bindir}/qemu-ga
+/lib/udev/rules.d/99-qemu-guest-agent.rules
 %{systemdunitdir}/qemu-guest-agent.service
 %attr(754,root,root) /etc/rc.d/init.d/qemu-ga
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/qemu-ga
-%attr(755,root,root) %{_bindir}/qemu-ga
 %{_mandir}/man7/qemu-ga-ref.7*
 %{_mandir}/man8/qemu-ga.8*
 
@@ -1449,6 +1631,12 @@ fi
 %attr(755,root,root) %{_libdir}/%{name}/block-iscsi.so
 %endif
 
+%if %{with libnfs}
+%files module-block-nfs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/block-nfs.so
+%endif
+
 %if %{with ceph}
 %files module-block-rbd
 %defattr(644,root,root,755)
@@ -1458,3 +1646,24 @@ fi
 %files module-block-ssh
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/%{name}/block-ssh.so
+
+%if %{with gtk3}
+%files module-ui-gtk
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/ui-gtk.so
+%endif
+
+%if %{with sdl}
+%files module-ui-sdl
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/audio-sdl.so
+%attr(755,root,root) %{_libdir}/%{name}/ui-sdl.so
+%endif
+
+%if %{with systemtap}
+%files -n systemtap-qemu
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/qemu-trace-stap
+%{_datadir}/systemtap/tapset/qemu-*.stp
+%{_mandir}/man1/qemu-trace-stap.1*
+%endif
This page took 0.089994 seconds and 4 git commands to generate.