]> TLD Linux GIT Repositories - packages/qemu.git/commitdiff
- merged PLD changes
authorMarcin Krol <hawk@tld-linux.org>
Sat, 2 Jan 2021 16:50:24 +0000 (17:50 +0100)
committerMarcin Krol <hawk@tld-linux.org>
Sat, 2 Jan 2021 16:50:24 +0000 (17:50 +0100)
qemu-cflags.patch
qemu-vxhs.patch [new file with mode: 0644]
qemu-whitelist.patch
qemu-xattr.patch
qemu.spec
x32.patch [new file with mode: 0644]

index 970fe4608865dc3b897883ebd6951299463fda74..ed5ce2a7a2e81a4f946a2450910d5e70e7812de0 100644 (file)
@@ -1,16 +1,6 @@
---- qemu-5.0.0./configure.orig 2020-05-09 00:48:28.237641000 +0200
-+++ qemu-5.0.0./configure      2020-05-09 00:50:39.164641000 +0200
-@@ -603,9 +603,6 @@
- QEMU_CFLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE $QEMU_CFLAGS"
- QEMU_INCLUDES="-iquote . -iquote \$(SRC_PATH) -iquote \$(SRC_PATH)/accel/tcg -iquote \$(SRC_PATH)/include"
- QEMU_INCLUDES="$QEMU_INCLUDES -iquote \$(SRC_PATH)/disas/libvixl"
--if test "$debug_info" = "yes"; then
--    CFLAGS="-g $CFLAGS"
--fi
- # running configure in the source tree?
- # we know that's the case if configure is there.
-@@ -6258,12 +6255,8 @@
+--- qemu-5.0.0/configure.orig  2020-05-25 07:18:02.653298508 +0200
++++ qemu-5.0.0/configure       2020-05-25 07:23:20.044912383 +0200
+@@ -6258,12 +6258,8 @@
  write_c_skeleton
  
  if test "$gcov" = "yes" ; then
diff --git a/qemu-vxhs.patch b/qemu-vxhs.patch
new file mode 100644 (file)
index 0000000..00a50b7
--- /dev/null
@@ -0,0 +1,10 @@
+--- qemu-4.2.0/block/vxhs.c.orig       2019-12-12 19:20:47.000000000 +0100
++++ qemu-4.2.0/block/vxhs.c    2020-05-23 22:56:39.361009319 +0200
+@@ -18,6 +18,7 @@
+ #include "qapi/qmp/qstring.h"
+ #include "trace.h"
+ #include "qemu/module.h"
++#include "qemu/option.h"
+ #include "qemu/uri.h"
+ #include "qapi/error.h"
+ #include "qemu/uuid.h"
index 7e04520aff76c2affd918b92ac429733890e05b8..318b9906fe3923ed186a27535526e2564863316c 100644 (file)
@@ -1,9 +1,8 @@
-diff -urp qemu-2.11.0.orig/scripts/create_config qemu-2.11.0/scripts/create_config
---- qemu-2.11.0.orig/scripts/create_config     2018-01-25 00:12:40.172909475 +0000
-+++ qemu-2.11.0/scripts/create_config  2018-01-25 00:13:00.521908262 +0000
-@@ -43,7 +43,9 @@ case $line in
-  CONFIG_BDRV_RW_WHITELIST=*)
-     echo "#define CONFIG_BDRV_RW_WHITELIST\\"
+--- scripts/create_config.org  2011-02-16 15:44:05.000000000 +0100
++++ scripts/create_config      2011-03-21 21:26:16.136615526 +0100
+@@ -33,7 +33,9 @@
+  CONFIG_BDRV_WHITELIST=*)
+     echo "#define CONFIG_BDRV_WHITELIST \\"
      for drv in ${line#*=}; do
 -      echo "    \"${drv}\",\\"
 +      if [ ! -z "$drv" ]; then
index 8820334ad8dc0e9d25f811d8ccecccf850af5f39..c137485ed33f6a0e027a3bcc69ebad5a5070b021 100644 (file)
@@ -1,14 +1,18 @@
-diff -urp qemu-2.6.1.orig/fsdev/virtfs-proxy-helper.c qemu-2.6.1/fsdev/virtfs-proxy-helper.c
---- qemu-2.6.1.orig/fsdev/virtfs-proxy-helper.c        2016-08-22 12:47:04.270554000 +0000
-+++ qemu-2.6.1/fsdev/virtfs-proxy-helper.c     2016-08-22 12:52:40.042554000 +0000
-@@ -9,6 +9,7 @@
-  * the COPYING file in the top-level directory.
+Workaround <linux/xattr.h> vs <sys/xattr.h> defines conflict:
+When including both, the latter must be included first.
+Move "qemu-xattr.h" (which includes <sys/xattr.h> to the front,
+before <sys/capability.h> (which includes <linux/xattr.h>.
+
+--- qemu-1.7.1/fsdev/virtfs-proxy-helper.c.orig        2014-03-25 15:01:10.000000000 +0100
++++ qemu-1.7.1/fsdev/virtfs-proxy-helper.c     2014-04-03 02:55:41.115547990 +0200
+@@ -10,6 +10,7 @@
   */
  
-+#include "qemu/xattr.h"
  #include "qemu/osdep.h"
++#include "qemu/xattr.h"
  #include <sys/resource.h>
  #include <getopt.h>
+ #include <syslog.h>
 @@ -23,7 +24,6 @@
  #endif
  #include "qemu-common.h"
@@ -17,3 +21,4 @@ diff -urp qemu-2.6.1.orig/fsdev/virtfs-proxy-helper.c qemu-2.6.1/fsdev/virtfs-pr
  #include "9p-iov-marshal.h"
  #include "hw/9pfs/9p-proxy.h"
  #include "fsdev/9p-iov-marshal.h"
+
index 4d1bfbc4e0277b83cf3abb85cd9679aaa15f8785..36a34cd5cdfefb645491e5aa44fbc4c0e8f836ae 100644 (file)
--- a/qemu.spec
+++ b/qemu.spec
@@ -1,14 +1,15 @@
+# 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 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_with    vxhs            # Veritas HyperScale vDisk backend support (builtin; module not supported)
 %bcond_without xkbcommon       # xkbcommon support
 
+%if %{without gtk}
+%undefine      with_vte
+%endif
 %ifarch x32
 %undefine      with_xen
 %endif
-
-# ceph >= 14.0 no longer support 32-bit archs
-%ifarch %{ix86}
+%ifnarch %{x8664} aarch64
 %undefine      with_ceph
+%undefine      with_pmem
 %endif
 
 Summary:       QEMU CPU Emulator
 Summary(pl.UTF-8):     QEMU - emulator procesora
 Name:          qemu
 Version:       5.0.0
-Release:       1
-License:       GPL v2
+Release:       4
+License:       GPL v2, BSD (edk2 firmware files)
 Group:         Applications/Emulators
-Source0:       http://wiki.qemu-project.org/download/%{name}-%{version}.tar.xz
+Source0:       https://download.qemu.org/%{name}-%{version}.tar.xz
 # Source0-md5: ede6005d7143fe994dd089d31dc2cf6c
 # Loads kvm kernel modules at boot
 Source3:       kvm-modules-load.conf
@@ -53,54 +59,64 @@ Source6:    ksm.sysconfig
 Source7:       ksmctl.c
 Source9:       ksmtuned
 Source10:      ksmtuned.conf
-Source12:       99-%{name}-guest-agent.rules
-Source13:       %{name}-guest-agent.init
-Source14:       %{name}-guest-agent.logrotate
+Source12:      99-%{name}-guest-agent.rules
+Source13:      %{name}-guest-agent.init
+Source14:      %{name}-guest-agent.logrotate
 Patch0:                %{name}-cflags.patch
 Patch1:                %{name}-whitelist.patch
 Patch2:                %{name}-user-execve.patch
 Patch3:                %{name}-xattr.patch
 Patch4:                libjpeg-boolean.patch
-URL:           http://www.qemu-project.org/
-%{?with_gl:BuildRequires:      OpenGL-GLX-devel}
-%{?with_gl:BuildRequires:      OpenGL-devel}
+Patch5:                x32.patch
+Patch6:                %{name}-vxhs.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_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: 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
-BuildRequires: gperftools-devel
-BuildRequires: jemalloc-devel
+%{?with_gtk3:BuildRequires:    gtk+3-devel >= 3.16}
 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}
+%{?with_opengl:BuildRequires:  libepoxy-devel}
 BuildRequires: libfdt-devel >= 1.4.2
-BuildRequires: libgcrypt-devel
 %{?with_rdma:BuildRequires:    libibverbs-devel}
 %{?with_iscsi:BuildRequires:   libiscsi-devel >= 1.9.0}
 %{?with_rdma:BuildRequires:    libibumad-devel}
-BuildRequires: liburing-devel
-BuildRequires: libjpeg-turbo-devel
+BuildRequires: libjpeg-devel
 %{?with_libnfs:BuildRequires:  libnfs-devel >= 1.9.3}
 BuildRequires: libpng-devel
 %{?with_rdma:BuildRequires:    librdmacm-devel}
 %{?with_seccomp:BuildRequires: libseccomp-devel >= 2.3.0}
-BuildRequires: libssh2-devel >= 1.2.8
+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
+%{?with_vxhs:BuildRequires:    libvxhs-devel}
+BuildRequires: libxml2-devel >= 2.0
 %{?with_lttng:BuildRequires:   lttng-ust-devel}
+BuildRequires: lzfse-devel
 BuildRequires: lzo-devel >= 2
+%{?with_multipath:BuildRequires:       multipath-tools-devel}
 BuildRequires: ncurses-devel
-BuildRequires: nettle-devel
+# also libgcrypt-devel >= 1.5.0 possible, but gnutls already pulls nettle
+BuildRequires: nettle-devel >= 2.7.1
 %{?with_smartcard:BuildRequires:       nss-devel >= 1:3.12.8}
 BuildRequires: numactl-devel
 BuildRequires: pam-devel
@@ -108,11 +124,14 @@ 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.5
@@ -120,30 +139,27 @@ BuildRequires:    spice-server-devel >= 0.12.5
 %{?with_systemtap:BuildRequires:       systemtap-sdt-devel}
 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}
 BuildRequires: xorg-lib-libX11-devel
 BuildRequires: zlib-devel
 BuildRequires: zstd-devel >= 1.4.0
-%if %{with gtk3}
-BuildRequires: gtk+3-devel >= 3.14.0
-%{?with_vte:BuildRequires:     vte-devel >= 0.32.0}
-%endif
 %if %{with user_static}
-BuildRequires: glib2-static
+BuildRequires: glib2-static >= 1:2.48
 BuildRequires: glibc-static
-BuildRequires: liburing-static
 BuildRequires: pcre-static
 BuildRequires: zlib-static
-BuildRequires: zstd-static
 %endif
-BuildConflicts:        libslirp-devel
 Requires:      %{name}-img = %{version}-%{release}
 Requires:      %{name}-system-aarch64 = %{version}-%{release}
 Requires:      %{name}-system-alpha = %{version}-%{release}
@@ -170,25 +186,26 @@ 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:      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:  vte >= 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/.*
@@ -228,19 +245,22 @@ 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(postun):      /usr/sbin/groupdel
 Requires(postun):      /usr/sbin/userdel
 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.16}
+Requires:      nettle >= 2.7.1
+%{?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
@@ -259,7 +279,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
 
@@ -287,7 +307,7 @@ 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:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 Obsoletes:     qemu-kvm-user
 
@@ -305,19 +325,27 @@ 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
 
 %description user-static
 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
@@ -326,18 +354,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
@@ -355,9 +383,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
@@ -366,18 +394,18 @@ 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-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
@@ -397,7 +425,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
 
@@ -405,18 +433,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.
+Ten pakiet zawiera emulator systemu z procesorem HP/PA (PA-RISC).
 
 %package system-lm32
 Summary:       QEMU system emulator for LM32
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem LM32
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Obsoletes:     qemu-kvm-system-lm32
@@ -436,7 +464,7 @@ Ten pakiet zawiera emulator systemu z procesorem LM32.
 %package system-m68k
 Summary:       QEMU system emulator for m68k
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem m68k
-Group:         Development/Tools
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Obsoletes:     qemu-kvm-system-m68k
@@ -445,18 +473,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
@@ -476,7 +506,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
@@ -496,7 +526,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
 
@@ -515,7 +545,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
 
@@ -534,7 +564,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
@@ -555,7 +585,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
@@ -575,7 +605,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
 
@@ -593,8 +623,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
 
@@ -608,32 +638,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 RX
-Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem RX
-Group:         Development/Tools
+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
-Obsoletes:     qemu-kvm-system-rx
 
 %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 RX CPU.
+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 RX.
+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
@@ -642,18 +671,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
@@ -673,7 +702,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
@@ -693,7 +722,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
 
@@ -712,7 +741,7 @@ 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
+Group:         Applications/Emulators
 Requires:      %{name}-common = %{version}-%{release}
 %systempkg_req
 Obsoletes:     qemu-kvm-system-unicore32
@@ -732,7 +761,7 @@ 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
@@ -743,14 +772,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
@@ -771,7 +804,7 @@ Ten pakiet zawiera emulator systemu z procesorem Xtensa.
 Summary:       QEMU guest agent
 Summary(pl.UTF-8):     Agent gościa QEMU
 Group:         Daemons
-Requires:      glib2 >= 1:2.22
+Requires:      glib2 >= 1:2.48
 Obsoletes:     qemu-kvm-guest-agent
 Conflicts:     SysVinit < 2.96-2
 
@@ -798,76 +831,140 @@ 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 -p1
+%patch1 -p0
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
+%patch6 -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() {
@@ -885,6 +982,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}" \
@@ -901,45 +999,51 @@ build() {
 build dynamic \
        --extra-cflags="%{rpmcflags} %{rpmcppflags} -fPIE -DPIE" \
        --extra-ldflags="%{rpmldflags} -pie -Wl,-z,relro -Wl,-z,now" \
+       --audio-drv-list="alsa%{?with_oss:,oss}%{?with_sdl:,sdl}%{?with_pulseaudio:,pa}" \
        --enable-attr \
        %{__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 \
+       %{__enable_disable vxhs} \
        %{!?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 \
@@ -948,16 +1052,21 @@ 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 \
+       --disable-vxhs \
        --enable-user \
-       --disable-system \
+       --disable-xkbcommon \
+       --disable-zstd \
        --static
-
 %endif
 
 %{__cc} %{SOURCE7} %{rpmcflags} -o ksmctl
@@ -965,8 +1074,8 @@ build static \
 %install
 rm -rf $RPM_BUILD_ROOT
 install -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 \
@@ -975,7 +1084,7 @@ install -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
@@ -984,6 +1093,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}
@@ -996,7 +1108,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 %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/ksm
@@ -1005,8 +1117,8 @@ install -p ksmctl $RPM_BUILD_ROOT%{_sbindir}
 install -p %{SOURCE9} $RPM_BUILD_ROOT%{_sbindir}/ksmtuned
 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/ksmtuned.conf
 
-# service and udev rules.
-install -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d
+# 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 %{SOURCE14} $RPM_BUILD_ROOT/etc/logrotate.d/qemu-ga
@@ -1030,7 +1142,15 @@ done
 : > qemu.lang
 %endif
 
-%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/qemu
+# 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}
+# leave just HTML version
+%{__rm} $RPM_BUILD_ROOT%{_docdir}/qemu/qemu-{ga,qmp}-ref.txt
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -1062,7 +1182,7 @@ fi
 
 %files common -f %{name}.lang
 %defattr(644,root,root,755)
-%doc LICENSE README.rst
+%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
@@ -1070,90 +1190,57 @@ fi
 %dir /etc/qemu
 %attr(640,root,qemu) %config(noreplace) %verify(not md5 mtime size) /etc/qemu/bridge.conf
 %attr(755,root,root) %{_bindir}/elf2dmp
-%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-storage-daemon
-%attr(755,root,root) %{_bindir}/qemu-tilegx
-%attr(755,root,root) %{_libexecdir}/qemu-bridge-helper
-%attr(755,root,root) %{_libexecdir}/virtiofsd
+%attr(755,root,root) %{_bindir}/virtfs-proxy-helper
 %attr(755,root,root) %{_sbindir}/ksmctl
 %attr(755,root,root) %{_sbindir}/ksmtuned
-%{_mandir}/man1/qemu.1*
-%{_mandir}/man1/virtfs-proxy-helper.1*
-%{_mandir}/man1/virtiofsd.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
-%dir %{_datadir}/%{name}/vhost-user
-%{_datadir}/%{name}/keymaps
-%{_datadir}/%{name}/trace-events-all
-%{_datadir}/%{name}/vhost-user/50-qemu-virtiofsd.json
-
-# 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}/opensbi-riscv32-sifive_u-fw_jump.bin
-%{_datadir}/%{name}/palcode-clipper
-%{_datadir}/%{name}/petalogix-ml605.dtb
-%{_datadir}/%{name}/petalogix-s3adsp1800.dtb
-%{_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}/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}/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
 %attr(755,root,root) %{_libdir}/%{name}/ui-curses.so
-%if %{with gtk3}
-%attr(755,root,root) %{_libdir}/%{name}/ui-gtk.so
+%if %{with spice}
+%attr(755,root,root) %{_libdir}/%{name}/ui-spice-app.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
-%{?with_sdl:%attr(755,root,root) %{_libdir}/%{name}/ui-sdl.so}
-%{?with_spice:%attr(755,root,root) %{_libdir}/%{name}/ui-spice-app.so}
+%{_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*
+%{_docdir}/qemu
 
 %files img
 %defattr(644,root,root,755)
@@ -1199,6 +1286,7 @@ fi
 %attr(755,root,root) %{_bindir}/qemu-sparc
 %attr(755,root,root) %{_bindir}/qemu-sparc32plus
 %attr(755,root,root) %{_bindir}/qemu-sparc64
+%attr(755,root,root) %{_bindir}/qemu-tilegx
 %attr(755,root,root) %{_bindir}/qemu-x86_64
 %attr(755,root,root) %{_bindir}/qemu-xtensa
 %attr(755,root,root) %{_bindir}/qemu-xtensaeb
@@ -1241,6 +1329,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-trace-stap-static
 %endif
 
 %files system-aarch64
@@ -1252,6 +1341,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)
@@ -1305,14 +1395,21 @@ 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-sifive_u-fw_jump.bin
 %{_datadir}/%{name}/opensbi-riscv32-virt-fw_jump.bin
 
 %files system-riscv64
@@ -1328,6 +1425,7 @@ fi
 %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
@@ -1339,6 +1437,10 @@ 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)
@@ -1354,7 +1456,7 @@ fi
 %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
@@ -1364,6 +1466,35 @@ fi
 %{_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}/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
@@ -1376,10 +1507,10 @@ 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
 %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*
 
@@ -1399,6 +1530,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)
@@ -1408,3 +1545,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
diff --git a/x32.patch b/x32.patch
new file mode 100644 (file)
index 0000000..54e6a61
--- /dev/null
+++ b/x32.patch
@@ -0,0 +1,22 @@
+--- qemu-2.2.0/configure~      2015-03-26 19:52:14.000000000 +0100
++++ qemu-2.2.0/configure       2015-03-26 19:56:34.255072716 +0100
+@@ -6148,7 +6148,7 @@
+ # Mac OS X ships with a broken assembler
+ roms=
+-if { test "$cpu" = "i386" || test "$cpu" = "x86_64"; } && \
++if { test "$cpu" = "i386" || test "$cpu" = "x86_64" || test "$cpu" = "x32"; } && \
+         test "$targetos" != "Darwin" && test "$targetos" != "SunOS" && \
+         test "$softmmu" = yes ; then
+     # Different host OS linkers have different ideas about the name of the ELF
+--- qemu-2.6.0/include/qemu/atomic.h~  2016-07-17 18:37:57.000000000 +0200
++++ qemu-2.6.0/include/qemu/atomic.h   2016-07-17 18:38:33.485893530 +0200
+@@ -20,7 +20,7 @@
+ /* Compiler barrier */
+ #define barrier()   ({ asm volatile("" ::: "memory"); (void)0; })
+-#ifdef __ATOMIC_RELAXED
++#if defined(__ATOMIC_RELAXED) && !defined(__ILP32__)
+ /* For C11 atomic ops */
+ /* Manual memory barriers