X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;ds=sidebyside;f=qemu.spec;h=d6436119e5b8db344ec709d3db27ac9567e24529;hb=f6b5cdb;hp=5797b7f6f7fb3b463c8ae2e9c141f8f2936c928a;hpb=d4835466d79bffa7ec75414bd2c5e62adc5ef154;p=packages%2Fqemu.git diff --git a/qemu.spec b/qemu.spec index 5797b7f..d643611 100644 --- a/qemu.spec +++ b/qemu.spec @@ -1,6 +1,5 @@ # TODO: -# libpmem (x86_64 only?) -# plugins? +# plugins? (probes) # # Conditional build: %bcond_without sdl # SDL UI and audio support @@ -28,10 +27,9 @@ %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} +%if %{without gtk3} %undefine with_vte %endif %ifarch x32 @@ -44,12 +42,12 @@ Summary: QEMU CPU Emulator Summary(pl.UTF-8): QEMU - emulator procesora Name: qemu -Version: 5.0.0 +Version: 6.2.0 Release: 1 License: GPL v2, BSD (edk2 firmware files) Group: Applications/Emulators Source0: https://download.qemu.org/%{name}-%{version}.tar.xz -# Source0-md5: ede6005d7143fe994dd089d31dc2cf6c +# Source0-md5: a077669ce58b6ee07ec355e54aad25be # Loads kvm kernel modules at boot Source3: kvm-modules-load.conf # Creates /dev/kvm @@ -68,12 +66,11 @@ Source14: %{name}-guest-agent.logrotate Source15: %{name}-pr-helper.service Source16: %{name}-pr-helper.socket Patch0: %{name}-cflags.patch -Patch1: %{name}-whitelist.patch -Patch2: %{name}-user-execve.patch -Patch3: %{name}-xattr.patch -Patch4: libjpeg-boolean.patch -Patch5: x32.patch -Patch6: %{name}-vxhs.patch +Patch1: %{name}-user-execve.patch +Patch2: %{name}-xattr.patch +Patch3: libjpeg-boolean.patch +Patch4: x32.patch +Patch5: %{name}-u2f-emu.patch URL: https://www.qemu.org/ %{?with_opengl:BuildRequires: Mesa-libgbm-devel} %{?with_opengl:BuildRequires: OpenGL-GLX-devel} @@ -81,23 +78,31 @@ URL: https://www.qemu.org/ %{?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: capstone-devel >= 4.0 +%{?with_ceph:BuildRequires: ceph-devel >= 12} +BuildRequires: curl-devel >= 7.29.0 BuildRequires: cyrus-sasl-devel >= 2 -BuildRequires: glib2-devel >= 1:2.48 +BuildRequires: daxctl-devel >= 57 +BuildRequires: gcc >= 6:7.4 +BuildRequires: gettext-tools +BuildRequires: glib2-devel >= 1:2.56 # minimal is 3.4 but new features are used up to 6 %{?with_glusterfs:BuildRequires: glusterfs-devel >= 6} -BuildRequires: gnutls-devel >= 3.1.18 -%{?with_gtk3:BuildRequires: gtk+3-devel >= 3.16} +BuildRequires: gnutls-devel >= 3.6.14 +%{?with_gtk3:BuildRequires: gtk+3-devel >= 3.22.0} +BuildRequires: jack-audio-connection-kit-devel +# for tests +#BuildRequires: keyutils-devel BuildRequires: libaio-devel +BuildRequires: libbpf-devel %{?with_smartcard:BuildRequires: libcacard-devel >= 2.5.1} BuildRequires: libcap-ng-devel +BuildRequires: libdrm-devel %{?with_opengl:BuildRequires: libepoxy-devel} -BuildRequires: libfdt-devel >= 1.4.2 +BuildRequires: libfdt-devel >= 1.5.1 +BuildRequires: libfuse3-devel >= 3.8 %{?with_rdma:BuildRequires: libibverbs-devel} %{?with_iscsi:BuildRequires: libiscsi-devel >= 1.9.0} %{?with_rdma:BuildRequires: libibumad-devel} @@ -106,22 +111,25 @@ BuildRequires: libjpeg-devel BuildRequires: libpng-devel %{?with_rdma:BuildRequires: librdmacm-devel} %{?with_seccomp:BuildRequires: libseccomp-devel >= 2.3.0} -BuildRequires: libssh-devel >= 0.8 +BuildRequires: libselinux-devel +BuildRequires: libssh-devel >= 0.8.7 BuildRequires: libslirp-devel >= 4.0.0 # for tests only #BuildRequires: libtasn1-devel +BuildRequires: libu2f-emu-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 +BuildRequires: meson >= 0.59.3 %{?with_multipath:BuildRequires: multipath-tools-devel} BuildRequires: ncurses-devel -# also libgcrypt-devel >= 1.5.0 possible, but gnutls already pulls nettle -BuildRequires: nettle-devel >= 2.7.1 +# also libgcrypt-devel >= 1.8 possible, but gnutls already pulls nettle +BuildRequires: nettle-devel >= 3.4 +BuildRequires: ninja %{?with_smartcard:BuildRequires: nss-devel >= 1:3.12.8} BuildRequires: numactl-devel BuildRequires: pam-devel @@ -131,7 +139,8 @@ BuildRequires: pixman-devel >= 0.21.8 BuildRequires: pkgconfig %{?with_pmem:BuildRequires: pmdk-devel} %{?with_pulseaudio:BuildRequires: pulseaudio-devel} -BuildRequires: python3 >= 1:3.5 +BuildRequires: python3 >= 1:3.6 +BuildRequires: rpm-build >= 4.6 BuildRequires: rpmbuild(macros) >= 1.644 %{?with_system_seabios:BuildRequires: seabios} BuildRequires: sed >= 4.0 @@ -142,6 +151,7 @@ BuildRequires: spice-protocol >= 0.12.3 BuildRequires: spice-server-devel >= 0.12.5 %endif %{?with_systemtap:BuildRequires: systemtap-sdt-devel} +BuildRequires: tar >= 1:1.22 BuildRequires: texi2html BuildRequires: texinfo %{?with_multipath:BuildRequires: udev-devel} @@ -151,15 +161,20 @@ BuildRequires: vde2-devel BuildRequires: which %{?with_virgl:BuildRequires: virglrenderer-devel} %{?with_vte:BuildRequires: vte-devel >= 0.32.0} -# xencontrol xenstore xenguest xenforeignmemory xengnttab xenevtchn xendevicemodel [xentoolcore for xen 4.10+] -%{?with_xen:BuildRequires: xen-devel >= 4.2} +# xencontrol xenstore xenguest xenforeignmemory xengnttab xenevtchn xendevicemodel; xentoolcore for xen 4.10+ +# min version is 4.2, more features up to 4.11 +%{?with_xen:BuildRequires: xen-devel >= 4.11} 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 BuildRequires: zstd-devel >= 1.4.0 %if %{with user_static} -BuildRequires: glib2-static >= 1:2.48 +BuildRequires: glib2-static >= 1:2.56 BuildRequires: glibc-static BuildRequires: pcre-static BuildRequires: zlib-static @@ -168,13 +183,12 @@ 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} -Requires: %{name}-system-moxie = %{version}-%{release} Requires: %{name}-system-nios2 = %{version}-%{release} Requires: %{name}-system-or1k = %{version}-%{release} Requires: %{name}-system-ppc = %{version}-%{release} @@ -185,18 +199,20 @@ 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 +Obsoletes: qemu-kvm < 2 ExcludeArch: i386 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define systempkg_req \ -Requires: capstone >= 3.0.5 \ +Requires: capstone >= 4.0 \ +Requires: daxctl-libs >= 57 \ %{?with_smartcard:Requires: libcacard >= 2.5.1} \ -Requires: libfdt >= 1.4.2 \ +Requires: libfdt >= 1.5.1 \ +Requires: libfuse3 >= 3.8 \ +%{?with_iscsi:Requires: libiscsi >= 1.9.0} \ %if %{with seccomp} \ Requires: libseccomp >= 2.3.0 \ %endif \ @@ -208,8 +224,7 @@ Requires: spice-server-libs >= 0.12.5 \ %endif \ %if %{with usbredir} \ Requires: usbredir >= 0.6 \ -%endif \ -Requires: zstd >= 1.4.0 +%endif # don't strip/chrpath anything in there; these are boot images, roms etc %define _noautostrip .*%{_datadir}/qemu/.* @@ -246,6 +261,18 @@ aby działał na kolejnych procesorach. QEMU ma dwa tryby pracy: używane do wirtualnego hostowania kilku wirtualnych pecetów na pojedynczym serwerze. +%package devel +Summary: Header file for QEMU plugins development +Summary(pl.UTF-8): Plik nagłówkowy do tworzenia wtyczek QEMU +Group: Development/Libraries +BuildArch: noarch + +%description devel +Header file for QEMU plugins development. + +%description devel -l pl.UTF-8 +Plik nagłówkowy do tworzenia wtyczek QEMU. + %package common Summary: QEMU common files needed by all QEMU targets Summary(pl.UTF-8): Wspólne pliki QEMU wymagane przez wszystkie środowiska QEMU @@ -257,16 +284,18 @@ Requires(pre): /bin/id Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd -Requires: glib2 >= 1:2.48 -Requires: gnutls-libs >= 3.1.18 -%{?with_gtk3:Requires: gtk+3 >= 3.16} -Requires: nettle >= 2.7.1 +Requires: glib2 >= 1:2.56 +Requires: gnutls-libs >= 3.6.14 +%{?with_gtk3:Requires: gtk+3 >= 3.22.0} +Requires: nettle >= 3.4 Requires: systemd-units >= 38 %{?with_vte:Requires: vte >= 0.32.0} +Requires: zstd >= 1.4.0 Provides: group(qemu) Provides: user(qemu) -Obsoletes: qemu-kvm-common +Obsoletes: qemu-kvm-common < 2 Obsoletes: qemu-module-block-archipelago < 2.9.0 +Obsoletes: qemu-system-moxie < 6.1 Conflicts: qemu < 1.0-2 %description common @@ -286,7 +315,7 @@ Ten pakiet udostępnia wspólne pliki wymagane przez wszystkie Summary: QEMU command line tool for manipulating disk images Summary(pl.UTF-8): Narzędzie QEMU do operacji na obrazach dysków Group: Applications/Emulators -Obsoletes: qemu-kvm-img +Obsoletes: qemu-kvm-img < 2 Conflicts: qemu < 1.0-2 %description img @@ -304,7 +333,7 @@ Group: Applications/Emulators Requires: %{name}-common = %{version}-%{release} Requires(post,postun): systemd-units >= 38 Requires: systemd-units >= 38 -Obsoletes: qemu-kvm-user +Obsoletes: qemu-kvm-user < 2 %description user QEMU is a generic and open source processor emulator which achieves a @@ -345,7 +374,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem AArch64 Group: Applications/Emulators Requires: %{name}-common = %{version}-%{release} %systempkg_req -Obsoletes: qemu-kvm-system-aarch64 +Obsoletes: qemu-kvm-system-aarch64 < 2 %description system-aarch64 QEMU is a generic and open source processor emulator which achieves a @@ -365,7 +394,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem Alpha Group: Applications/Emulators Requires: %{name}-common = %{version}-%{release} %systempkg_req -Obsoletes: qemu-kvm-system-alpha +Obsoletes: qemu-kvm-system-alpha < 2 %description system-alpha QEMU is a generic and open source processor emulator which achieves a @@ -385,7 +414,7 @@ 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 +Obsoletes: qemu-kvm-system-arm < 2 %description system-arm QEMU is a generic and open source processor emulator which achieves a @@ -399,13 +428,33 @@ dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. Ten pakiet zawiera emulator systemu z 32-bitowym procesorem ARM. +%package system-avr +Summary: QEMU system emulator for AVR +Summary(pl.UTF-8): QEMU - emulator systemu z procesorem AVR +Group: Applications/Emulators +Requires: %{name}-common = %{version}-%{release} +%systempkg_req +Obsoletes: qemu-kvm-system-avr < 2 + +%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: Applications/Emulators Requires: %{name}-common = %{version}-%{release} %systempkg_req -Obsoletes: qemu-kvm-system-cris +Obsoletes: qemu-kvm-system-cris < 2 %description system-cris QEMU is a generic and open source processor emulator which achieves a @@ -438,33 +487,13 @@ dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. Ten pakiet zawiera emulator systemu z procesorem HP/PA (PA-RISC). -%package system-lm32 -Summary: QEMU system emulator for LM32 -Summary(pl.UTF-8): QEMU - emulator systemu z procesorem LM32 -Group: Applications/Emulators -Requires: %{name}-common = %{version}-%{release} -%systempkg_req -Obsoletes: qemu-kvm-system-lm32 - -%description system-lm32 -QEMU is a generic and open source processor emulator which achieves a -good emulation speed by using dynamic translation. - -This package provides the system emulator with LM32 CPU. - -%description system-lm32 -l pl.UTF-8 -QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający -dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. - -Ten pakiet zawiera emulator systemu z procesorem LM32. - %package system-m68k Summary: QEMU system emulator for m68k Summary(pl.UTF-8): QEMU - emulator systemu z procesorem m68k Group: Applications/Emulators Requires: %{name}-common = %{version}-%{release} %systempkg_req -Obsoletes: qemu-kvm-system-m68k +Obsoletes: qemu-kvm-system-m68k < 2 %description system-m68k QEMU is a generic and open source processor emulator which achieves a @@ -486,7 +515,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem MicroBlaze Group: Applications/Emulators Requires: %{name}-common = %{version}-%{release} %systempkg_req -Obsoletes: qemu-kvm-system-microblaze +Obsoletes: qemu-kvm-system-microblaze < 2 %description system-microblaze QEMU is a generic and open source processor emulator which achieves a @@ -506,7 +535,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem MIPS Group: Applications/Emulators Requires: %{name}-common = %{version}-%{release} %systempkg_req -Obsoletes: qemu-kvm-system-mips +Obsoletes: qemu-kvm-system-mips < 2 %description system-mips QEMU is a generic and open source processor emulator which achieves a @@ -520,25 +549,6 @@ dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. Ten pakiet zawiera emulator systemu z procesorem MIPS. -%package system-moxie -Summary: QEMU system emulator for Moxie -Summary(pl.UTF-8): QEMU - emulator systemu z procesorem Moxie -Group: Applications/Emulators -Requires: %{name}-common = %{version}-%{release} -%systempkg_req - -%description system-moxie -QEMU is a generic and open source processor emulator which achieves a -good emulation speed by using dynamic translation. - -This package provides the system emulator with Moxie CPU. - -%description system-moxie -l pl.UTF-8 -QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający -dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. - -Ten pakiet zawiera emulator systemu z procesorem Moxie. - %package system-nios2 Summary: QEMU system emulator for Nios II Summary(pl.UTF-8): QEMU - emulator systemu z procesorem Nios II @@ -564,8 +574,8 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem OpenRISC Group: Applications/Emulators Requires: %{name}-common = %{version}-%{release} %systempkg_req -Obsoletes: qemu-kvm-system-or1k -Obsoletes: qemu-system-or32 +Obsoletes: qemu-kvm-system-or1k < 2 +Obsoletes: qemu-system-or32 < 2.9.0 %description system-or1k QEMU is a generic and open source processor emulator which achieves a @@ -585,7 +595,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem PowerPC Group: Applications/Emulators Requires: %{name}-common = %{version}-%{release} %systempkg_req -Obsoletes: qemu-kvm-system-ppc +Obsoletes: qemu-kvm-system-ppc < 2 %description system-ppc QEMU is a generic and open source processor emulator which achieves a @@ -662,7 +672,7 @@ 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 +Obsoletes: qemu-kvm-system-s390x < 2 %description system-s390x QEMU is a generic and open source processor emulator which achieves a @@ -682,7 +692,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem SH4 Group: Applications/Emulators Requires: %{name}-common = %{version}-%{release} %systempkg_req -Obsoletes: qemu-kvm-system-sh4 +Obsoletes: qemu-kvm-system-sh4 < 2 %description system-sh4 QEMU is a generic and open source processor emulator which achieves a @@ -702,7 +712,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem SPARC Group: Applications/Emulators Requires: %{name}-common = %{version}-%{release} %systempkg_req -Obsoletes: qemu-kvm-system-sparc +Obsoletes: qemu-kvm-system-sparc < 2 %description system-sparc QEMU is a generic and open source processor emulator which achieves a @@ -729,32 +739,12 @@ 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: Applications/Emulators -Requires: %{name}-common = %{version}-%{release} -%systempkg_req -Obsoletes: qemu-kvm-system-unicore32 - -%description system-unicore32 -QEMU is a generic and open source processor emulator which achieves a -good emulation speed by using dynamic translation. - -This package provides the system emulator with UniCore32 CPU. - -%description system-unicore32 -l pl.UTF-8 -QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający -dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. - -Ten pakiet zawiera emulator systemu z procesorem UniCore32. - %package system-x86 Summary: QEMU system emulator for x86 Summary(pl.UTF-8): QEMU - emulator systemu z procesorem x86 @@ -762,8 +752,8 @@ Group: Applications/Emulators Requires: %{name}-common = %{version}-%{release} %{?with_system_seabios:Requires: seabios} %systempkg_req -Obsoletes: kvm -Obsoletes: qemu-kvm-system-x86 +Obsoletes: kvm < 89 +Obsoletes: qemu-kvm-system-x86 < 2 %description system-x86 QEMU is a generic and open source processor emulator which achieves a @@ -783,7 +773,7 @@ Summary(pl.UTF-8): QEMU - emulator systemu z procesorem Xtensa Group: Applications/Emulators Requires: %{name}-common = %{version}-%{release} %systempkg_req -Obsoletes: qemu-kvm-system-xtensa +Obsoletes: qemu-kvm-system-xtensa < 2 %description system-xtensa QEMU is a generic and open source processor emulator which achieves a @@ -802,9 +792,9 @@ 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.48 +Requires: glib2 >= 1:2.56 Requires: systemd-units >= 38 -Obsoletes: qemu-kvm-guest-agent +Obsoletes: qemu-kvm-guest-agent < 2 Conflicts: SysVinit < 2.96-2 %description guest-agent @@ -827,11 +817,24 @@ systemach-gościach, komunikującego się kanałem virtio-serial o nazwie Ten pakiet nie musi być zainstalowany w systemie hosta. +%package module-audio-jack +Summary: QEMU module for JACK audio output +Summary(pl.UTF-8): Moduł QEMU z wyjściem dźwięku JACK +Group: Applications/Emulators +Requires: %{name}-common = %{version}-%{release} + +%description module-audio-jack +QEMU module for JACK audio output. + +%description module-audio-jack -l pl.UTF-8 +Moduł QEMU z wyjściem dźwięku JACK. + %package module-block-curl Summary: QEMU module for 'curl' block devices Summary(pl.UTF-8): Moduł QEMU dla urządeń blokowych typu 'curl' Group: Applications/Emulators Requires: %{name}-common = %{version}-%{release} +Requires: curl-libs >= 7.29.0 %description module-block-curl QEMU block device support for CURL. It allows to access remote disks @@ -889,6 +892,7 @@ Summary: QEMU module for 'rbd' block devices Summary(pl.UTF-8): Moduł QEMU dla urządeń blokowych typu 'rbd' Group: Applications/Emulators Requires: %{name}-common = %{version}-%{release} +Requires: ceph-libs >= 12 %description module-block-rbd QEMU block device support for Ceph/RBD volumes. @@ -901,7 +905,7 @@ Summary: QEMU module for 'ssh' block devices Summary(pl.UTF-8): Moduł QEMU dla urządeń blokowych typu 'ssh' Group: Applications/Emulators Requires: %{name}-common = %{version}-%{release} -Requires: libssh >= 0.8 +Requires: libssh >= 0.8.7 %description module-block-ssh QEMU block device support for accessing remote disks using the Secure @@ -951,19 +955,19 @@ Sondy systemtap/dtrace dla QEMU. %prep %setup -q %patch0 -p1 -%patch1 -p0 +%patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 -%patch6 -p1 %{__sed} -i '1s,/usr/bin/env python3,%{__python3},' scripts/qemu-trace-stap %if %{with systemtap} # don't require stap binary during build -%{__sed} -i -e "s/has 'stap'/true/" configure +%{__sed} -i -e "s/stap.found()/true/" meson.build docs/meson.build scripts/meson.build %endif + %build build() { @@ -996,9 +1000,9 @@ 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}" \ + --extra-cflags="%{rpmcflags} %{rpmcppflags}" \ + --extra-ldflags="%{rpmldflags} -Wl,-z,relro -Wl,-z,now" \ + --audio-drv-list="alsa,jack%{?with_oss:,oss}%{?with_pulseaudio:,pa}%{?with_sdl:,sdl}" \ --enable-attr \ %{__enable_disable brlapi} \ --enable-cap-ng \ @@ -1033,7 +1037,6 @@ build dynamic \ --enable-vnc-jpeg \ --enable-vnc-png \ --enable-vnc-sasl \ - %{__enable_disable vxhs} \ %{!?with_vte:--disable-vte} \ %{__enable_disable xen} \ %{__enable_disable xkbcommon} @@ -1061,7 +1064,6 @@ build static \ --disable-system \ --disable-tcmalloc \ --disable-tools \ - --disable-vxhs \ --enable-user \ --disable-xkbcommon \ --disable-zstd \ @@ -1194,12 +1196,6 @@ fi %if %{with system_seabios} ln -sf /usr/share/seabios/bios.bin $RPM_BUILD_ROOT%{_datadir}/%{name}/bios-256k.bin # bios.bin provided by qemu is stripped to 128k, with no Xen support, keep it -for f in $RPM_BUILD_ROOT%{_datadir}/%{name}/*.aml ; do - bn="$(basename $f)" - if [ -e "/usr/share/seabios/$bn" ] ; then - ln -sf "/usr/share/seabios/$bn" "$f" - fi -done %endif %if %{with gtk3} @@ -1210,15 +1206,19 @@ done : > qemu.lang %endif +for t in client server; do + cp -p build-dynamic/contrib/ivshmem-$t/ivshmem-$t $RPM_BUILD_ROOT%{_bindir} +done + +# test modules +%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/accel-qtest-*.so # Windows installer icon, not used %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/qemu-nsis.bmp # packaged as %doc %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/edk2-licenses.txt # cleanup Sphinx files -%{__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 +%{__rm} $RPM_BUILD_ROOT%{_docdir}/qemu/{.buildinfo,objects.inv} %clean rm -rf $RPM_BUILD_ROOT @@ -1250,16 +1250,16 @@ fi %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 @@ -1279,6 +1279,10 @@ fi %files %defattr(644,root,root,755) +%files devel +%defattr(644,root,root,755) +%{_includedir}/qemu-plugin.h + %files common -f %{name}.lang %defattr(644,root,root,755) %doc LICENSE README.rst pc-bios/edk2-licenses.txt @@ -1302,18 +1306,20 @@ fi %attr(755,root,root) %{_bindir}/qemu-nbd %attr(755,root,root) %{_bindir}/qemu-pr-helper %attr(755,root,root) %{_bindir}/qemu-storage-daemon -%attr(755,root,root) %{_bindir}/virtfs-proxy-helper %attr(755,root,root) %{_sbindir}/ksmctl %attr(755,root,root) %{_sbindir}/ksmtuned %attr(755,root,root) %{_libexecdir}/qemu-bridge-helper %if %{with virgl} %attr(755,root,root) %{_libexecdir}/vhost-user-gpu %endif +%attr(755,root,root) %{_libexecdir}/virtfs-proxy-helper %attr(755,root,root) %{_libexecdir}/virtiofsd %dir %{_libdir}/%{name} # modules without too many external dependencies %attr(755,root,root) %{_libdir}/%{name}/block-dmg-bz2.so %attr(755,root,root) %{_libdir}/%{name}/block-dmg-lzfse.so +%attr(755,root,root) %{_libdir}/%{name}/accel-tcg-i386.so +%attr(755,root,root) %{_libdir}/%{name}/accel-tcg-x86_64.so %attr(755,root,root) %{_libdir}/%{name}/audio-alsa.so %if %{with oss} %attr(755,root,root) %{_libdir}/%{name}/audio-oss.so @@ -1321,9 +1327,34 @@ fi %if %{with pulseaudio} %attr(755,root,root) %{_libdir}/%{name}/audio-pa.so %endif +%if %{with brlapi} +%attr(755,root,root) %{_libdir}/%{name}/chardev-baum.so +%endif +%attr(755,root,root) %{_libdir}/%{name}/hw-display-qxl.so +%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu.so +%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu-gl.so +%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu-pci.so +%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu-pci-gl.so +%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-vga.so +%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-vga-gl.so +%attr(755,root,root) %{_libdir}/%{name}/hw-s390x-virtio-gpu-ccw.so +%attr(755,root,root) %{_libdir}/%{name}/hw-usb-host.so %attr(755,root,root) %{_libdir}/%{name}/ui-curses.so +%if %{with usbredir} +%attr(755,root,root) %{_libdir}/%{name}/hw-usb-redirect.so +%endif +%if %{with smartcard} +%attr(755,root,root) %{_libdir}/%{name}/hw-usb-smartcard.so +%endif +%if %{with opengl} +%attr(755,root,root) %{_libdir}/%{name}/ui-egl-headless.so +%attr(755,root,root) %{_libdir}/%{name}/ui-opengl.so +%endif %if %{with spice} +%attr(755,root,root) %{_libdir}/%{name}/audio-spice.so +%attr(755,root,root) %{_libdir}/%{name}/chardev-spice.so %attr(755,root,root) %{_libdir}/%{name}/ui-spice-app.so +%attr(755,root,root) %{_libdir}/%{name}/ui-spice-core.so %endif %dir %{_datadir}/%{name} %dir %{_datadir}/%{name}/firmware @@ -1339,12 +1370,15 @@ fi %{_iconsdir}/hicolor/32x32/apps/qemu.bmp %{_iconsdir}/hicolor/scalable/apps/qemu.svg %{_mandir}/man1/qemu.1* +%{_mandir}/man1/qemu-storage-daemon.1* %{_mandir}/man1/virtfs-proxy-helper.1* %{_mandir}/man1/virtiofsd.1* %{_mandir}/man7/qemu-block-drivers.7* %{_mandir}/man7/qemu-cpu-models.7* %{_mandir}/man7/qemu-qmp-ref.7* +%{_mandir}/man7/qemu-storage-daemon-qmp-ref.7* %{_mandir}/man8/qemu-nbd.8* +%{_mandir}/man8/qemu-pr-helper.8* %{_docdir}/qemu %files img @@ -1361,6 +1395,7 @@ fi %attr(755,root,root) %{_bindir}/qemu-arm %attr(755,root,root) %{_bindir}/qemu-armeb %attr(755,root,root) %{_bindir}/qemu-cris +%attr(755,root,root) %{_bindir}/qemu-hexagon %attr(755,root,root) %{_bindir}/qemu-hppa %attr(755,root,root) %{_bindir}/qemu-i386 %attr(755,root,root) %{_bindir}/qemu-io @@ -1377,7 +1412,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 @@ -1387,7 +1421,6 @@ fi %attr(755,root,root) %{_bindir}/qemu-sparc %attr(755,root,root) %{_bindir}/qemu-sparc32plus %attr(755,root,root) %{_bindir}/qemu-sparc64 -%attr(755,root,root) %{_bindir}/qemu-tilegx %attr(755,root,root) %{_bindir}/qemu-x86_64 %attr(755,root,root) %{_bindir}/qemu-xtensa %attr(755,root,root) %{_bindir}/qemu-xtensaeb @@ -1402,6 +1435,7 @@ fi %attr(755,root,root) %{_bindir}/qemu-arm-static %attr(755,root,root) %{_bindir}/qemu-armeb-static %attr(755,root,root) %{_bindir}/qemu-cris-static +%attr(755,root,root) %{_bindir}/qemu-hexagon-static %attr(755,root,root) %{_bindir}/qemu-hppa-static %attr(755,root,root) %{_bindir}/qemu-i386-static %attr(755,root,root) %{_bindir}/qemu-m68k-static @@ -1417,7 +1451,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 @@ -1427,11 +1460,10 @@ fi %attr(755,root,root) %{_bindir}/qemu-sparc-static %attr(755,root,root) %{_bindir}/qemu-sparc32plus-static %attr(755,root,root) %{_bindir}/qemu-sparc64-static -%attr(755,root,root) %{_bindir}/qemu-tilegx-static %attr(755,root,root) %{_bindir}/qemu-x86_64-static %attr(755,root,root) %{_bindir}/qemu-xtensa-static %attr(755,root,root) %{_bindir}/qemu-xtensaeb-static -%attr(755,root,root) %{_bindir}/qemu-trace-stap-static +%{?with_systemtap:%attr(755,root,root) %{_bindir}/qemu-trace-stap-static} %endif %files system-aarch64 @@ -1451,6 +1483,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) @@ -1461,10 +1498,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 @@ -1481,10 +1514,6 @@ fi %attr(755,root,root) %{_bindir}/qemu-system-mips64 %attr(755,root,root) %{_bindir}/qemu-system-mips64el -%files system-moxie -%defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/qemu-system-moxie - %files system-nios2 %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/qemu-system-nios2 @@ -1511,14 +1540,14 @@ fi %files system-riscv32 %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/qemu-system-riscv32 -%{_datadir}/%{name}/opensbi-riscv32-sifive_u-fw_jump.bin -%{_datadir}/%{name}/opensbi-riscv32-virt-fw_jump.bin +%{_datadir}/%{name}/opensbi-riscv32-generic-fw_dynamic.bin +%{_datadir}/%{name}/opensbi-riscv32-generic-fw_dynamic.elf %files system-riscv64 %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/qemu-system-riscv64 -%{_datadir}/%{name}/opensbi-riscv64-sifive_u-fw_jump.bin -%{_datadir}/%{name}/opensbi-riscv64-virt-fw_jump.bin +%{_datadir}/%{name}/opensbi-riscv64-generic-fw_dynamic.bin +%{_datadir}/%{name}/opensbi-riscv64-generic-fw_dynamic.elf %files system-rx %defattr(644,root,root,755) @@ -1548,10 +1577,6 @@ fi %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/qemu-system-tricore -%files system-unicore32 -%defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/qemu-system-unicore32 - %files system-x86 %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/qemu-system-i386 @@ -1580,6 +1605,7 @@ fi %{_datadir}/%{name}/linuxboot.bin %{_datadir}/%{name}/linuxboot_dma.bin %{_datadir}/%{name}/multiboot.bin +%{_datadir}/%{name}/multiboot_dma.bin %{_datadir}/%{name}/pvh.bin %{_datadir}/%{name}/pxe-e1000.rom %{_datadir}/%{name}/pxe-eepro100.rom @@ -1587,6 +1613,7 @@ fi %{_datadir}/%{name}/pxe-pcnet.rom %{_datadir}/%{name}/pxe-rtl8139.rom %{_datadir}/%{name}/pxe-virtio.rom +%{_datadir}/%{name}/qboot.rom %{_datadir}/%{name}/sgabios.bin %{_datadir}/%{name}/vgabios.bin %{_datadir}/%{name}/vgabios-ati.bin @@ -1617,6 +1644,10 @@ fi %{_mandir}/man7/qemu-ga-ref.7* %{_mandir}/man8/qemu-ga.8* +%files module-audio-jack +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/%{name}/audio-jack.so + %files module-block-curl %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/%{name}/block-curl.so