X-Git-Url: http://git.pld-linux.org/?p=packages%2Fqemu.git;a=blobdiff_plain;f=qemu.spec;h=771383150f2b26bb6e912b68b2c40e3c35832e19;hp=aede3b794200c0e1975ecf512cb51b77eedecb54;hb=bce8b8b47fb94b7c89d22fc564cc7af98fae8d98;hpb=81e9a72067759c740b6e4029c05fb9aec62e626a diff --git a/qemu.spec b/qemu.spec index aede3b7..7713831 100644 --- a/qemu.spec +++ b/qemu.spec @@ -1,8 +1,5 @@ # TODO: -# libvxhs/libqnio (Veritas HyperScale block driver VxHS) -# capstone=system -# libpmem (x86_64 only?) -# plugins? +# plugins? (probes) # # Conditional build: %bcond_without sdl # SDL UI and audio support @@ -16,35 +13,42 @@ %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_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 +%ifnarch %{x8664} aarch64 +%undefine with_pmem +%endif Summary: QEMU CPU Emulator Summary(pl.UTF-8): QEMU - emulator procesora Name: qemu -Version: 4.2.0 -Release: 2 +Version: 5.0.0 +Release: 3 License: GPL v2, BSD (edk2 firmware files) Group: Applications/Emulators -Source0: http://wiki.qemu-project.org/download/%{name}-%{version}.tar.xz -# Source0-md5: 278eeb294e4b497e79af7a57e660cb9a +Source0: https://download.qemu.org/%{name}-%{version}.tar.xz +# Source0-md5: ede6005d7143fe994dd089d31dc2cf6c # Loads kvm kernel modules at boot Source3: kvm-modules-load.conf # Creates /dev/kvm @@ -60,13 +64,16 @@ 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/ +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} @@ -74,9 +81,9 @@ URL: http://www.qemu-project.org/ %{?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 @@ -84,9 +91,9 @@ BuildRequires: glib2-devel >= 1:2.48 # minimal is 3.4 but new features are used up to 6 %{?with_glusterfs:BuildRequires: glusterfs-devel >= 6} BuildRequires: gnutls-devel >= 3.1.18 +%{?with_gtk3:BuildRequires: gtk+3-devel >= 3.16} BuildRequires: libaio-devel %{?with_smartcard:BuildRequires: libcacard-devel >= 2.5.1} -BuildRequires: libcap-devel BuildRequires: libcap-ng-devel %{?with_opengl:BuildRequires: libepoxy-devel} BuildRequires: libfdt-devel >= 1.4.2 @@ -102,8 +109,10 @@ BuildRequires: libssh-devel >= 0.8 BuildRequires: libslirp-devel >= 4.0.0 # for tests only #BuildRequires: libtasn1-devel -BuildRequires: libusb-devel >= 1.0.13 +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 @@ -119,7 +128,9 @@ 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 @@ -138,16 +149,15 @@ BuildRequires: texinfo BuildRequires: vde2-devel BuildRequires: which %{?with_virgl:BuildRequires: virglrenderer-devel} -# xencontrol xenstore xenguest xenforeignmemory xengnttab xenevtchn xendevicemodel [xentoolcore for xen 4.10+] -%{?with_xen:BuildRequires: xen-devel >= 4.2} +%{?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 -%if %{with gtk3} -BuildRequires: gtk+3-devel >= 3.16 -%{?with_vte:BuildRequires: vte-devel >= 0.32.0} -%endif +BuildRequires: zstd-devel >= 1.4.0 %if %{with user_static} BuildRequires: glib2-static >= 1:2.48 BuildRequires: glibc-static @@ -170,6 +180,7 @@ 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} @@ -183,9 +194,7 @@ 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} \ @@ -194,13 +203,13 @@ Requires: libseccomp >= 2.3.0 \ 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.16 \ -%{?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/.* @@ -240,7 +249,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 @@ -249,12 +258,15 @@ Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd Requires: glib2 >= 1:2.48 -%{?with_libnfs:Requires: libnfs >= 1.9.3} -Requires: libssh >= 0.8 +Requires: gnutls-libs >= 3.1.18 +%{?with_gtk3:Requires: gtk+3 >= 3.16} +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 @@ -273,7 +285,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 @@ -288,7 +300,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 @@ -308,7 +320,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 @@ -317,12 +330,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 @@ -331,18 +351,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 @@ -360,9 +380,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 @@ -371,18 +391,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 @@ -402,7 +422,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 @@ -410,18 +430,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 @@ -441,7 +461,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 @@ -450,18 +470,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 @@ -481,7 +503,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 @@ -501,7 +523,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 @@ -520,7 +542,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 @@ -539,7 +561,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 @@ -560,7 +582,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 @@ -580,7 +602,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 @@ -598,8 +620,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 @@ -613,12 +635,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 @@ -627,18 +668,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 @@ -658,7 +699,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 @@ -678,7 +719,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 @@ -697,7 +738,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 @@ -717,7 +758,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 @@ -739,7 +780,7 @@ 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 @@ -789,64 +830,123 @@ 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 >= 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 @@ -856,10 +956,14 @@ Moduł QEMU dla urządeń blokowych typu 'ssh'. %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() { @@ -877,6 +981,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}" \ @@ -895,9 +1000,9 @@ build dynamic \ --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 bluetooth bluez} \ %{__enable_disable brlapi} \ --enable-cap-ng \ + --enable-capstone=system \ --enable-curl \ --enable-curses \ --enable-docs \ @@ -906,6 +1011,7 @@ build dynamic \ %{!?with_gtk3:--disable-gtk} \ %{__enable_disable iscsi libiscsi} \ %{__enable_disable libnfs} \ + %{__enable_disable pmem libpmem} \ --enable-lzo \ %{__enable_disable multipath mpath} \ --enable-modules \ @@ -917,7 +1023,7 @@ build dynamic \ %{__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} \ @@ -927,6 +1033,7 @@ build dynamic \ --enable-vnc-jpeg \ --enable-vnc-png \ --enable-vnc-sasl \ + %{__enable_disable vxhs} \ %{!?with_vte:--disable-vte} \ %{__enable_disable xen} \ %{__enable_disable xkbcommon} @@ -935,6 +1042,7 @@ build dynamic \ build static \ --disable-brlapi \ --disable-cap-ng \ + --disable-capstone \ --disable-curl \ --disable-curses \ --disable-gcrypt \ @@ -943,17 +1051,20 @@ build static \ --disable-guest-agent \ --disable-guest-agent-msi \ --disable-libnfs \ + --disable-linux-io-uring \ --disable-mpath \ --disable-nettle \ --disable-pie \ --disable-sdl \ - --enable-slirp=internal \ + --disable-slirp \ --disable-spice \ --disable-system \ --disable-tcmalloc \ --disable-tools \ + --disable-vxhs \ --enable-user \ --disable-xkbcommon \ + --disable-zstd \ --static %endif @@ -962,8 +1073,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 \ @@ -996,7 +1107,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 @@ -1010,11 +1121,13 @@ 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 BINFMT_CPUS=" \ %ifnarch %{ix86} %{x8664} x32 @@ -1066,8 +1179,8 @@ 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 + for i in $RPM_BUILD_ROOT/usr/lib/binfmt.d/*.conf; do + %{__mv} $i ${i%.conf}-dynamic.conf done %if %{with user_static} @@ -1078,9 +1191,6 @@ if [ -n "$BINFMT_CPUS" ]; then %endif fi -# packaged as %doc -%{__rm} $RPM_BUILD_ROOT%{_docdir}/qemu/qemu-doc.html - %if %{with system_seabios} ln -sf /usr/share/seabios/bios.bin $RPM_BUILD_ROOT%{_datadir}/%{name}/bios-256k.bin # bios.bin provided by qemu is stripped to 128k, with no Xen support, keep it @@ -1100,11 +1210,15 @@ done : > qemu.lang %endif -# Windows installed icon, not used +# 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 -%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/qemu + +# 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 @@ -1133,6 +1247,7 @@ 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 @@ -1166,7 +1281,7 @@ fi %files common -f %{name}.lang %defattr(644,root,root,755) -%doc LICENSE README.rst build-dynamic/qemu-doc.html pc-bios/edk2-licenses.txt +%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 @@ -1175,45 +1290,30 @@ 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 %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) %{_bindir}/qemu-storage-daemon +%attr(755,root,root) %{_bindir}/virtfs-proxy-helper %attr(755,root,root) %{_sbindir}/ksmctl %attr(755,root,root) %{_sbindir}/ksmtuned %attr(755,root,root) %{_libexecdir}/qemu-bridge-helper -%{_mandir}/man1/qemu.1* -%{_mandir}/man1/virtfs-proxy-helper.1* -%{_mandir}/man7/qemu-cpu-models.7* -%{_mandir}/man7/qemu-block-drivers.7* -%{_mandir}/man7/qemu-qmp-ref.7* -%{_mandir}/man8/qemu-nbd.8* - -%dir %{_datadir}/%{name} -%dir %{_datadir}/%{name}/firmware -%{_datadir}/%{name}/keymaps -%{_datadir}/%{name}/trace-events-all -%{_desktopdir}/qemu.desktop -%{_iconsdir}/hicolor/*x*/apps/qemu.png -%{_iconsdir}/hicolor/32x32/apps/qemu.bmp -%{_iconsdir}/hicolor/scalable/apps/qemu.svg - +%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 %attr(755,root,root) %{_libdir}/%{name}/block-dmg-lzfse.so -%if %{with libnfs} -%attr(755,root,root) %{_libdir}/%{name}/block-nfs.so -%endif - %attr(755,root,root) %{_libdir}/%{name}/audio-alsa.so %if %{with oss} %attr(755,root,root) %{_libdir}/%{name}/audio-oss.so @@ -1221,18 +1321,31 @@ fi %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 -%endif -%if %{with sdl} -%attr(755,root,root) %{_libdir}/%{name}/audio-sdl.so -%attr(755,root,root) %{_libdir}/%{name}/ui-sdl.so -%endif %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 +%{_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) @@ -1274,6 +1387,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 @@ -1317,6 +1431,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 @@ -1387,7 +1502,6 @@ fi %{_datadir}/%{name}/openbios-ppc %{_datadir}/%{name}/petalogix-ml605.dtb %{_datadir}/%{name}/petalogix-s3adsp1800.dtb -%{_datadir}/%{name}/ppc_rom.bin %{_datadir}/%{name}/qemu_vga.ndrv %{_datadir}/%{name}/skiboot.lid %{_datadir}/%{name}/slof.bin @@ -1397,6 +1511,7 @@ fi %files system-riscv32 %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/qemu-system-riscv32 +%{_datadir}/%{name}/opensbi-riscv32-sifive_u-fw_jump.bin %{_datadir}/%{name}/opensbi-riscv32-virt-fw_jump.bin %files system-riscv64 @@ -1405,6 +1520,10 @@ fi %{_datadir}/%{name}/opensbi-riscv64-sifive_u-fw_jump.bin %{_datadir}/%{name}/opensbi-riscv64-virt-fw_jump.bin +%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 @@ -1439,7 +1558,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 @@ -1490,11 +1609,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* @@ -1514,6 +1633,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) @@ -1523,3 +1648,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