Sync from SUSE:SLFO:Main qemu revision 5855eef8ddf935f2535bc57e89e9358c

This commit is contained in:
Adrian Schröter 2024-10-18 15:45:48 +02:00
parent 1eb16dbd3c
commit 0ac9f652a5
9 changed files with 394 additions and 396 deletions

View File

@ -1,8 +1,8 @@
<services>
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://gitlab.suse.de/virtualization/qemu.git</param>
<param name="revision">v8.2-sle15sp6</param>
<param name="url">https://github.com/opensuse/qemu.git</param>
<param name="revision">factory</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">[v]?([^-+a-z]+)(.*)</param>
<param name="versionrewrite-replacement">\1</param>

View File

@ -1,6 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/opensuse/qemu.git</param>
<param name="changesrevision">3d43249322bfbd34777557b4b29fbafa72983928</param></service><service name="tar_scm">
<param name="url">https://gitlab.suse.de/virtualization/qemu.git</param>
<param name="changesrevision">e83e6402af51931a2baa4eb623eadefd589ea833</param></service></servicedata>
<param name="changesrevision">0dbd22c0dd1c7781582a94bc4d4f55daaab27158</param></service></servicedata>

View File

@ -1,6 +1,6 @@
%define _buildshell /bin/bash
%define sbver 1.16.3_3_ga95067eb
%define sbver 1.16.3_3_gc13ff2cd
%define srcdir %{_builddir}/%buildsubdir
%define blddir %srcdir/build
@ -46,6 +46,12 @@
%bcond_with xdp
%endif
%ifarch %ix86 x86_64
%bcond_without vmsr_helper
%else
%define vmsr_helper 0
%endif
# Make it possible to build without spice (for SLE/Leap Micro)
%bcond_without spice
@ -100,3 +106,152 @@ Many options are available for defining the emulated environment, including\
traditional devices, direct host device access, and interfaces specific to\
virtualization.
%define disable_everything \\\
--audio-drv-list= \\\
--disable-af-xdp \\\
--disable-alsa \\\
--disable-attr \\\
--disable-auth-pam \\\
--disable-avx2 \\\
--disable-avx512bw \\\
--disable-blkio \\\
--disable-block-drv-whitelist-in-tools \\\
--disable-bochs \\\
--disable-bpf \\\
--disable-brlapi \\\
--disable-bsd-user \\\
--disable-bzip2 \\\
--disable-cap-ng \\\
--disable-capstone \\\
--disable-cfi \\\
--disable-cfi-debug \\\
--disable-cloop \\\
--disable-cocoa \\\
--disable-colo-proxy \\\
--disable-coreaudio \\\
--disable-coroutine-pool \\\
--disable-crypto-afalg \\\
--disable-curl \\\
--disable-curses \\\
--disable-dbus-display \\\
--disable-debug-graph-lock \\\
--disable-debug-info \\\
--disable-debug-mutex \\\
--disable-debug-remap \\\
--disable-debug-tcg \\\
--disable-dmg \\\
--disable-docs \\\
--disable-download \\\
--disable-dsound \\\
--disable-fdt \\\
--disable-fuse \\\
--disable-fuse-lseek \\\
--disable-gcrypt \\\
--disable-gettext \\\
--disable-gio \\\
--disable-glusterfs \\\
--disable-gnutls \\\
--disable-gtk \\\
--disable-gtk-clipboard \\\
--disable-guest-agent \\\
--disable-guest-agent-msi \\\
--disable-hv-balloon \\\
--disable-hvf \\\
--disable-iconv \\\
--disable-jack \\\
--disable-kvm \\\
--disable-l2tpv3 \\\
--disable-libdaxctl \\\
--disable-libdw \\\
--disable-libiscsi \\\
--disable-libkeyutils \\\
--disable-libkeyutils \\\
--disable-libnfs \\\
--disable-libpmem \\\
--disable-libssh \\\
--disable-libudev \\\
--disable-libusb \\\
--disable-linux-aio \\\
--disable-linux-io-uring \\\
--disable-linux-user \\\
--disable-lto \\\
--disable-lzfse \\\
--disable-lzo \\\
--disable-malloc-trim \\\
--disable-membarrier \\\
--disable-module-upgrades \\\
--disable-modules \\\
--disable-mpath \\\
--disable-multiprocess \\\
--disable-netmap \\\
--disable-nettle \\\
--disable-numa \\\
--disable-nvmm \\\
--disable-opengl \\\
--disable-oss \\\
--disable-pa \\\
--disable-parallels \\\
--disable-pie \\\
--disable-pipewire \\\
--disable-pixman \\\
--disable-plugins \\\
--disable-png \\\
--disable-qcow1 \\\
--disable-qed \\\
--disable-qom-cast-debug \\\
--disable-qpl \\\
--disable-rbd \\\
--disable-rdma \\\
--disable-relocatable \\\
--disable-replication \\\
--disable-rng-none \\\
--disable-rutabaga-gfx \\\
--disable-safe-stack \\\
--disable-sanitizers \\\
--disable-sdl \\\
--disable-sdl-image \\\
--disable-seccomp \\\
--disable-selinux \\\
--disable-slirp \\\
--disable-slirp-smbd \\\
--disable-smartcard \\\
--disable-snappy \\\
--disable-sndio \\\
--disable-sparse \\\
--disable-spice \\\
--disable-spice-protocol \\\
--disable-strip \\\
--disable-system \\\
--disable-tcg \\\
--disable-tcg-interpreter \\\
--disable-tools \\\
--disable-tpm \\\
--disable-tsan \\\
--disable-u2f \\\
--disable-uadk \\\
--disable-usb-redir \\\
--disable-user \\\
--disable-vde \\\
--disable-vdi \\\
--disable-vhdx \\\
--disable-vhost-crypto \\\
--disable-vhost-kernel \\\
--disable-vhost-net \\\
--disable-vhost-user \\\
--disable-vhost-user-blk-server \\\
--disable-vhost-vdpa \\\
--disable-virglrenderer \\\
--disable-virtfs \\\
--disable-vnc \\\
--disable-vnc-jpeg \\\
--disable-vnc-sasl \\\
--disable-vpc \\\
--disable-vte \\\
--disable-vvfat \\\
--disable-werror \\\
--disable-whpx \\\
--disable-xen \\\
--disable-xen-pci-passthrough \\\
--disable-xkbcommon \\\
--disable-zstd \\\
--without-default-devices

BIN
qemu-8.2.6.obscpio (Stored with Git LFS)

Binary file not shown.

BIN
qemu-9.1.0.obscpio (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -27,7 +27,7 @@ URL: https://www.qemu.org/
Summary: CPU emulator for user space
License: BSD-2-Clause AND BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT
Group: System/Emulators/PC
Version: 8.2.6
Version: 9.1.0
Release: 0
Source0: qemu-%{version}.tar.xz
Source1: common.inc
@ -88,7 +88,6 @@ syscall layer occurs on the native hardware and operating system.
%_bindir/qemu-mipsel
%_bindir/qemu-mipsn32
%_bindir/qemu-mipsn32el
%_bindir/qemu-nios2
%_bindir/qemu-or1k
%_bindir/qemu-ppc
%_bindir/qemu-ppc64
@ -137,7 +136,6 @@ cd %blddir
# for them.
# TODO: Check whether we want to enable the followings:
# * avx512f
# * debug-info
# * fuse
# * malloc-trim
@ -167,142 +165,7 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g
--prefix=%_prefix \
--sysconfdir=%_sysconfdir \
--with-pkgversion="%(echo '%{distro}' | sed 's/ (.*)//')" \
--disable-af-xdp \
--disable-alsa \
--disable-attr \
--disable-auth-pam \
--disable-avx2 \
--disable-avx512f \
--disable-block-drv-whitelist-in-tools \
--disable-bochs \
--disable-bpf \
--disable-brlapi \
--disable-bsd-user \
--disable-bzip2 \
--disable-cap-ng \
--disable-capstone \
--disable-cfi \
--disable-cfi-debug \
--disable-cloop \
--disable-cocoa \
--disable-coreaudio \
--disable-coroutine-pool \
--disable-crypto-afalg \
--disable-curl \
--disable-curses \
--disable-dbus-display \
--disable-debug-info \
--disable-debug-mutex \
--disable-debug-tcg \
--disable-dmg \
--disable-docs \
--disable-download \
--disable-dsound \
--disable-fdt \
--disable-fuse \
--disable-fuse-lseek \
--disable-gcrypt \
--disable-gettext \
--disable-gio \
--disable-glusterfs \
--disable-gnutls \
--disable-gtk \
--disable-guest-agent \
--disable-guest-agent-msi \
--disable-hv-balloon \
--disable-hvf \
--disable-iconv \
--disable-jack \
--disable-kvm \
--disable-l2tpv3 \
--disable-libdaxctl \
--disable-libiscsi \
--disable-libkeyutils \
--disable-libnfs \
--disable-libpmem \
--disable-libssh \
--disable-libudev \
--disable-libusb \
--disable-linux-aio \
--disable-linux-io-uring \
--disable-linux-user \
--disable-live-block-migration \
--disable-lto \
--disable-lzfse \
--disable-lzo \
--disable-malloc-trim \
--disable-membarrier \
--disable-module-upgrades \
--disable-modules \
--disable-mpath \
--disable-multiprocess \
--disable-netmap \
--disable-nettle \
--disable-numa \
--disable-nvmm \
--disable-opengl \
--disable-oss \
--disable-pa \
--disable-parallels \
--disable-pie \
--disable-pipewire \
--disable-pixman \
--disable-plugins \
--disable-png \
--disable-pvrdma \
--disable-qcow1 \
--disable-qed \
--disable-qom-cast-debug \
--disable-rbd \
--disable-rdma \
--disable-relocatable \
--disable-replication \
--disable-rng-none \
--disable-rutabaga-gfx \
--disable-safe-stack \
--disable-sanitizers \
--disable-sdl \
--disable-sdl-image \
--disable-seccomp \
--disable-selinux \
--disable-slirp \
--disable-slirp-smbd \
--disable-smartcard \
--disable-snappy \
--disable-sparse \
--disable-spice \
--disable-spice-protocol \
--disable-strip \
--disable-system \
--disable-tcg \
--disable-tcg-interpreter \
--disable-tools \
--disable-tpm \
--disable-u2f \
--disable-usb-redir \
--disable-user \
--disable-vde \
--disable-vdi \
--disable-vhost-crypto \
--disable-vhost-kernel \
--disable-vhost-net \
--disable-vhost-user \
--disable-vhost-user-blk-server \
--disable-vhost-vdpa \
--disable-virglrenderer \
--disable-virtfs \
--disable-vnc \
--disable-vnc-jpeg \
--disable-vnc-sasl \
--disable-vte \
--disable-vvfat \
--disable-werror \
--disable-whpx \
--disable-xen \
--disable-xen-pci-passthrough \
--disable-xkbcommon \
--disable-zstd \
--without-default-devices \
%{disable_everything} \
%if %{with system_membarrier}
--enable-membarrier \
%endif
@ -344,7 +207,7 @@ scripts/qemu-binfmt-conf.sh --systemd ALL --persistent yes --preserve-argv0 yes
cd %blddir
%ifarch aarch64 %ix86 ppc ppc64 ppc64le riscv64 s390x x86_64
%{qemu_arch}-linux-user/qemu-%{qemu_arch} %_bindir/ls > /dev/null
./qemu-%{qemu_arch} %_bindir/ls > /dev/null
%endif
%make_build check-softfloat

View File

@ -1,75 +1,130 @@
-------------------------------------------------------------------
Tue Sep 17 10:00:55 UTC 2024 - dfaggioli@suse.com
Wed Oct 16 14:39:46 UTC 2024 - dfaggioli@suse.com
- Fix bsc#1229929 (patch already submitted upstream):
* [openSUSE] target/ppc: Fix lxvx/stxvx facility check (bsc#1229929)
- Bug and CVE fixes:
* softmmu/physmem: fix memory leak in dirty_memory_extend()
* softmmu: Support concurrent bounce buffers (bsc#1230915, CVE-2024-8612)
* accel/kvm: check for KVM_CAP_READONLY_MEM on VM (bsc#1231519)
-------------------------------------------------------------------
Tue Aug 27 16:38:53 UTC 2024 - dfaggioli@suse.com
Tue Oct 15 17:02:49 UTC 2024 - dfaggioli@suse.com
- Fix bsc#1231519 and bsc#1230140:
* accel/kvm: check for KVM_CAP_READONLY_MEM on VM
* target/ppc: Fix lxvx/stxvx facility check
-------------------------------------------------------------------
Wed Sep 11 17:42:03 UTC 2024 - dfaggioli@suse.com
- Re-enable vhdx support in qemu-img:
* [openSUSE][RPM] explicitly enable qemu-img support for vhdx and vpc
-------------------------------------------------------------------
Thu Sep 05 16:22:44 UTC 2024 - dfaggioli@suse.com
- Spec file fixing (for properly building 9.1) and improvements:
* [openSUSE][RPM] Consolidate disabling all features during 'configure' in a macro
* [openSUSE][RPM] Consolidate handling of conditional features
* [openSUSE][RPM] (commented out) services for qemu-pr-helper
* [openSUSE][RPM] package qemu-vmsr-helper
* [openSUSE][RPM] configure: Fix with-pkgversion option
* [openSUSE][RPM] Exclude riscv edk2 files
* [openSUSE][RPM] Remove nios2
* [openSUSE][RPM] Update tests acpi path
* [openSUSE][RPM] configure: remove options for removed features
-------------------------------------------------------------------
Thu Sep 05 15:16:09 UTC 2024 - dfaggioli@suse.com
- Update to version 9.1.0:
Full changelog here: https://wiki.qemu.org/ChangeLog/9.1
Some of the most notable features:
* migration: compression offload support via Intel In-Memory Analytics
Accelerator (IAA) or User Space Accelerator Development Kit (UADK),
along with enhanced support for postcopy failure recovery
* virtio: support for VIRTIO_F_NOTIFICATION_DATA, allowing guest
drivers to provide additional data as part of sending device notifications
for performance/debug purposes
* guest-agent: support for guest-network-get-route command on linux,
guest-ssh-* commands on Windows, and enhanced CLI support for
configuring allowed/blocked commands
* block: security fixes for QEMU NBD server and NBD TLS encryption
* ARM: emulation support for FEAT_NMI, FEAT_CSV2_3, FEAT_ETS2,
FEAT_Spec_FPACC, FEAT_WFxT, FEAT_Debugv8p8 architecture features
* ARM: nested/two-stage page table support for emulated SMMUv3
* ARM: xilinx_zynq board support for cache controller and multiple
CPUs, and B-L475E-IOT01A board support for a DM163 display
* LoongArch: support for directly booting an ELF kernel and for running
up to 256 vCPUs via extioi virt extension
* LoongArch: enhanced debug/GDB support
* RISC-V: support for version 1.13 of privileged architecture specification
* RISC-V: support for Zve32x, Zve64x, Zimop, Zcmop, Zama16b, Zabha,
Zawrs, and Smcntrpmf extensions
* RISC-V: enhanced debug/GDB support and general fixes
* SPARC: emulation support for FMAF, IMA, VIS3, and VIS4 architecture
features
* x86: KVM support for running AMD SEV-SNP guests
* x86: CPU emulation support for Icelake-Server-v7, SapphireRapids-v3,
and SierraForest
The following bugs/CVEs were solved (in 9.0.x) with backports that are
now included in 9.1 upstream:
- CVE-2024-4467 (bsc#1227322)
- CVE-2024-7409 (bsc#1229007)
-------------------------------------------------------------------
Tue Aug 27 17:15:25 UTC 2024 - dfaggioli@suse.com
- Fix bsc#1221812:
* [openSUSE] block: Reschedule query-block during qcow2 invalidation (bsc#1221812)
- Fixup old patches and infra issues:
- Fixup a previous patch (cure a build warning):
* [openSUSE] fixup patch "pc: q35: Allow 1024 cpus for old machine types"
* [openSUSE] Point submodule branches to gitlab
-------------------------------------------------------------------
Tue Aug 13 15:58:46 UTC 2024 - dfaggioli@suse.com
Tue Aug 27 16:45:36 UTC 2024 - dfaggioli@suse.com
- Fix bsc#1229007, CVE-2024-7409:
* nbd/server: CVE-2024-7409: Close stray clients at server-stop (bsc#1229007)
* nbd/server: CVE-2024-7409: Drop non-negotiating clients (bsc#1229007)
* nbd/server: CVE-2024-7409: Cap default max-connections to 100 (bsc#1229007)
* nbd/server: Plumb in new args to nbd_client_add() (bsc#1229007, CVE-2024-7409)
* nbd: Minor style and typo fixes (bsc#1229007, CVE-2024-7409)
- Infra improvement:
* [openSUSE] Workflows for Virtualization:Staging:TDX
-------------------------------------------------------------------
Mon Aug 12 16:47:31 UTC 2024 - dfaggioli@suse.com
Wed Jul 24 10:00:54 UTC 2024 - dfaggioli@suse.com
- Update to version 8.2.6:
- roms: Build ipxe with NO_WERROR=1 (bsc#1227960)
- Update to version 9.0.2:
Full list of backports here:
https://lore.kernel.org/qemu-devel/1718081053.366429.1238758.nullmailer@tls.msk.ru/
Full backport lists (from the various releases) here:
https://lore.kernel.org/qemu-devel/1721203806.547734.831464.nullmailer@tls.msk.ru/
Some of the upstream backports are:
A selection of them is reported here too:
hw/nvme: fix number of PIDs for FDP RUH update
sphinx/qapidoc: Fix to generate doc for explicit, unboxed arguments
char-stdio: Restore blocking mode of stdout on exit
virtio: remove virtio_tswap16s() call in vring_packed_event_read()
virtio-pci: Fix the failure process in kvm_virtio_pci_vector_use_one()
tcg/optimize: Fix TCG_COND_TST* simplification of setcond2
block: Parse filenames only when explicitly requested
iotests/270: Don't store data-file with json: prefix in image
iotests/244: Don't store data-file with protocol in image
qcow2: Don't open data_file with BDRV_O_NO_IO (bsc#1227322, CVE-2024-4467)
target/arm: Fix FJCVTZS vs flush-to-zero
target/arm: Fix VCMLA Dd, Dn, Dm[idx]
i386/cpu: fixup number of addressable IDs for processor cores in the physical package
tests: Update our CI to use CentOS Stream 9 instead of 8
migration: Fix file migration with fdset
tcg/loongarch64: Fix tcg_out_movi vs some pcrel pointers
target/sparc: use signed denominator in sdiv helper
linux-user: Make TARGET_NR_setgroups affect only the current thread
accel/tcg: Fix typo causing tb->page_addr[1] to not be recorded
stdvga: fix screen blanking
hw/audio/virtio-snd: Always use little endian audio format
ui/gtk: Draw guest frame at refresh cycle
virtio-net: drop too short packets early
target/i386: fix size of EBP writeback in gen_enter()
qcow2: Don't open data_file with BDRV_O_NO_IO
tests: add testing of parameter=3D1 for SMP topology (bsc#1228169)
hw/core: allow parameter=3D1 for SMP topology on any machine
...
-------------------------------------------------------------------
Fri Jun 28 14:40:26 UTC 2024 - dfaggioli@suse.com
Fri Jun 28 14:39:13 UTC 2024 - dfaggioli@suse.com
- Update to version 8.2.5:
- Update to latest stable release (9.0.1).
Full list of backports here:
https://lore.kernel.org/qemu-devel/1718081053.366429.1238758.nullmailer@tls.msk.ru/
Full backport lists (from the various releases) here:
https://lore.kernel.org/qemu-devel/1718081047.648425.1238605.nullmailer@tls.msk.ru/
Some of the upstream backports are:
A selection of them is reported here too:
Update version for 9.0.1 release
target/loongarch: fix a wrong print in cpu dump
ui/sdl2: Allow host to power down screen
virtio-gpu: fix v2 migration
target/i386: fix SSE and SSE2 feature check
target/i386: fix xsave.flat from kvm-unit-tests
disas/riscv: Decode all of the pmpcfg and pmpaddr CSRs
riscv, gdbstub.c: fix reg_width in ricsv_gen_dynamic_vector_feature()
target/riscv/kvm.c: Fix the hart bit setting of AIA
target/riscv: rvzicbo: Fixup CBO extension register calculation
target/riscv: do not set mtval2 for non guest-page faults
@ -81,19 +136,46 @@ Fri Jun 28 14:40:26 UTC 2024 - dfaggioli@suse.com
target/riscv/cpu.c: fix Zvkb extension config
target/riscv: Fix the element agnostic function problem
target/riscv/kvm: tolerate KVM disable ext errors
target/riscv/kvm: Fix exposure of Zkr
hw/intc/riscv_aplic: APLICs should add child earlier than realize
iotests: test NBD+TLS+iothread
qio: Inherit follow_coroutine_ctx across TLS
target/arm: Disable SVE extensions when SVE is disabled
hw/intc/arm_gic: Fix handling of NS view of GICC_APR<n>
hvf: arm: Fix encodings for ID_AA64PFR1_EL1 and debug System registers
gitlab: use 'setarch -R' to workaround tsan bug
gitlab: use $MAKE instead of 'make'
dockerfiles: add 'MAKE' env variable to remaining containers
gitlab: Update msys2-64bit runner tags
target/i386: no single-step exception after MOV or POP SS
...
-------------------------------------------------------------------
Fri May 17 11:44:56 UTC 2024 - dfaggioli@suse.com
- Update to version 9.0.0:
Full changelog here:
https://wiki.qemu.org/ChangeLog/9.0
Highlights include:
* block: virtio-blk now supports multiqueue where different queues of a
single disk can be processed by different I/O threads
* gdbstub: various improvements such as catching syscalls in user-mode,
support for fork-follow modes, and support for siginfo:read
* memory: preallocation of memory backends can now be handled
concurrently using multiple threads in some cases
* migration: support for "mapped-ram" capability allowing for more
efficient VM snapshots, improved support for zero-page detection, and
checkpoint-restart support for VFIO
* ARM: architectural feature support for ECV (Enhanced Counter Virtualization),
NV (Nested Virtualization), and NV2 (Enhanced Nested
Virtualization)
* ARM: board support for B-L475E-IOT01A IoT node, mp3-an536 (MPS3 dev board
+ AN536 firmware), and raspi4b (Raspberry Pi 4 Model B)
* ARM: additional IO/disk/USB/SPI/ethernet controller and timer support for
Freescale i.MX6, Allwinner R40, Banana Pi, npcm7xxx, and virt boards
* HPPA: numerous bug fixes and SeaBIOS-hppa firmware updated to version 16
* LoongArch: KVM acceleration support, including LSX/LASX vector
extensions
* RISC-V: ISA/extension support for Zacas, amocas, RVA22 profiles,
Zaamo, Zalrsc, Ztso, and more
* RISC-V: SMBIOS support for RISC-V virt machine, ACPI support for
SRAT, SLIT, AIA, PLIC and updated RHCT table support, and numerous fixes
* s390x: Emulation support for CVDG, CVB, CVBY and CVBG instructions,
and fixes for LAE (Load Address Extended) emulation
* and lots more...
-------------------------------------------------------------------
Thu May 16 14:43:38 UTC 2024 - dfaggioli@suse.com

View File

@ -1,4 +1,4 @@
name: qemu
version: 8.2.6
mtime: 1726566496
commit: e83e6402af51931a2baa4eb623eadefd589ea833
version: 9.1.0
mtime: 1729087038
commit: 0dbd22c0dd1c7781582a94bc4d4f55daaab27158

252
qemu.spec
View File

@ -53,7 +53,7 @@
%ifarch %ix86 x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64 riscv64
%define kvm_available 1
%define with_uring 1
%bcond_without uring
%define liburing_min_version 1.0
%endif
@ -62,11 +62,11 @@
%endif
%ifarch x86_64 aarch64 ppc64le s390x
%define with_rbd 1
%bcond_without rbd
%endif
%ifarch x86_64 ppc64le
%define with_daxctl 1
%bcond_without daxctl
%endif
# enforce pxe rom sizes for migration compatability from SLE 11 SP3 forward
@ -82,7 +82,7 @@ URL: https://www.qemu.org/
Summary: Machine emulator and virtualizer
License: BSD-2-Clause AND BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT
Group: System/Emulators/PC
Version: 8.2.6
Version: 9.1.0
Release: 0
Source0: qemu-%{version}.tar.xz
Source1: common.inc
@ -127,20 +127,20 @@ BuildRequires: libnuma-devel
%if 0%{with canokey}
BuildRequires: canokey-qemu-devel
%endif
%if 0%{?with_daxctl}
%if 0%{with daxctl}
BuildRequires: pkgconfig(libndctl)
%endif
%if %{kvm_available}
BuildRequires: pkgconfig(udev)
%endif
%if 0%{?with_rbd}
%if 0%{with rbd}
BuildRequires: librbd-devel
%endif
%if 0%{with spice}
BuildRequires: pkgconfig(spice-protocol) >= 0.12.3
BuildRequires: pkgconfig(spice-server) >= 0.12.5
%endif
%if 0%{?with_uring}
%if 0%{with uring}
BuildRequires: pkgconfig(liburing) >= %liburing_min_version
%endif
%if 0%{with xdp}
@ -174,6 +174,11 @@ BuildRequires: multipath-tools-devel
BuildRequires: ninja >= 1.7
BuildRequires: pam-devel
BuildRequires: pkgconfig
BuildRequires: rdma-core-devel
BuildRequires: snappy-devel
BuildRequires: update-desktop-files
BuildRequires: usbredir-devel >= 0.6
BuildRequires: xfsprogs-devel
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(epoxy)
BuildRequires: pkgconfig(gbm)
@ -209,11 +214,6 @@ BuildRequires: pkgconfig(virglrenderer) >= 0.4.1
BuildRequires: pkgconfig(vte-2.91)
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(zlib)
BuildRequires: rdma-core-devel
BuildRequires: snappy-devel
BuildRequires: update-desktop-files
BuildRequires: usbredir-devel >= 0.6
BuildRequires: xfsprogs-devel
%{?systemd_ordering}
## Packages we will REQUIRE
%if %{kvm_available}
@ -252,7 +252,7 @@ Recommends: qemu-ksm = %{version}
Recommends: qemu-tools
Recommends: qemu-ui-curses
## Packages we will SUGGEST
%if 0%{?with_rbd}
%if 0%{with rbd}
Suggests: qemu-block-rbd
%endif
Suggests: qemu-accel-qtest
@ -401,8 +401,8 @@ meson subprojects packagefiles --apply berkeley-testfloat-3
meson subprojects packagefiles --apply berkeley-softfloat-3
# for the record, this set of firmware files is installed, but we don't
# build (yet): bamboo.dtb canyonlands.dtb hppa-firmware.img openbios-ppc
# openbios-sparc32 openbios-sparc64 palcode-clipper petalogix-ml605.dtb
# build (yet): bamboo.dtb canyonlands.dtb hppa-firmware.img hppa-firmware.img 64
# openbios-ppc openbios-sparc32 openbios-sparc64 palcode-clipper petalogix-ml605.dtb
# petalogix-s3adsp1800.dtb QEMU,cgthree.bin QEMU,tcx.bin qemu_vga.ndrv
# u-boot.e500 u-boot-sam460-20100605.bin opensbi-riscv32-generic-fw_dynamic.bin
# opensbi-riscv32-generic-fw_dynamic.elfnpcm7xx_bootrom.bin vof.bin
@ -490,8 +490,8 @@ sed -i '/^\ \ \ about\/index.*/i \ \ \ supported.rst' docs/index.rst
# from a git branch. We, therefore, assumed that the following commands
# have been run, and the result committed to the repository (with seabios
# and skiboot at the proper commit/tag/...):
# git -C roms/seabios describe --tags --long --dirty > rpm/seabios_version
# (cd roms/skiboot && ./make_version.sh > ../../rpm/skiboot_version)
# (pushd roms/seabios && git describe --tags --long --dirty > ../../rpm/seabios_version ; popd)
# (pushd roms/skiboot && ./make_version.sh > ../../rpm/skiboot_version ; popd)
cp %{rpmfilesdir}/seabios_version roms/seabios/.version
cp %{rpmfilesdir}/skiboot_version roms/skiboot/.version
find . -iname ".git" -exec rm -rf {} +
@ -507,7 +507,6 @@ export HOSTNAME=OBS # is used in roms/SLOF/Makefile.gen (boo#1084909)
# for them.
# TODO: Check whether we want to enable the followings:
# * avx512f
# * debug-info
# * fuse
# * malloc-trim
@ -536,143 +535,8 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g
--localstatedir=%_localstatedir \
--prefix=%_prefix \
--sysconfdir=%_sysconfdir \
--with-pkgversion="%(echo '%{distro}' | sed 's/ (.*)//')" \
--disable-af-xdp \
--disable-alsa \
--disable-attr \
--disable-auth-pam \
--disable-avx2 \
--disable-avx512f \
--disable-block-drv-whitelist-in-tools \
--disable-bochs \
--disable-bpf \
--disable-brlapi \
--disable-bsd-user \
--disable-bzip2 \
--disable-cap-ng \
--disable-capstone \
--disable-cfi \
--disable-cfi-debug \
--disable-cloop \
--disable-cocoa \
--disable-coreaudio \
--disable-coroutine-pool \
--disable-crypto-afalg \
--disable-curl \
--disable-curses \
--disable-dbus-display \
--disable-debug-info \
--disable-debug-mutex \
--disable-debug-tcg \
--disable-dmg \
--disable-docs \
--disable-download \
--disable-dsound \
--disable-fdt \
--disable-fuse \
--disable-fuse-lseek \
--disable-gcrypt \
--disable-gettext \
--disable-gio \
--disable-glusterfs \
--disable-gnutls \
--disable-gtk \
--disable-guest-agent \
--disable-guest-agent-msi \
--disable-hv-balloon \
--disable-hvf \
--disable-iconv \
--disable-jack \
--disable-kvm \
--disable-l2tpv3 \
--disable-libdaxctl \
--disable-libiscsi \
--disable-libkeyutils \
--disable-libnfs \
--disable-libpmem \
--disable-libssh \
--disable-libudev \
--disable-libusb \
--disable-linux-aio \
--disable-linux-io-uring \
--disable-linux-user \
--disable-live-block-migration \
--disable-lto \
--disable-lzfse \
--disable-lzo \
--disable-malloc-trim \
--disable-membarrier \
--disable-module-upgrades \
--disable-modules \
--disable-mpath \
--disable-multiprocess \
--disable-netmap \
--disable-nettle \
--disable-numa \
--disable-nvmm \
--disable-opengl \
--disable-oss \
--disable-pa \
--disable-parallels \
--disable-pie \
--disable-pipewire \
--disable-pixman \
--disable-plugins \
--disable-png \
--disable-pvrdma \
--disable-qcow1 \
--disable-qed \
--disable-qom-cast-debug \
--disable-rbd \
--disable-rdma \
--disable-relocatable \
--disable-replication \
--disable-rng-none \
--disable-rutabaga-gfx \
--disable-safe-stack \
--disable-sanitizers \
--disable-sdl \
--disable-sdl-image \
--disable-seccomp \
--disable-selinux \
--disable-slirp \
--disable-slirp-smbd \
--disable-smartcard \
--disable-snappy \
--disable-sparse \
--disable-spice \
--disable-spice-protocol \
--disable-strip \
--disable-system \
--disable-tcg \
--disable-tcg-interpreter \
--disable-tools \
--disable-tpm \
--disable-u2f \
--disable-usb-redir \
--disable-user \
--disable-vde \
--disable-vdi \
--disable-vhost-crypto \
--disable-vhost-kernel \
--disable-vhost-net \
--disable-vhost-user \
--disable-vhost-user-blk-server \
--disable-vhost-vdpa \
--disable-virglrenderer \
--disable-virtfs \
--disable-vnc \
--disable-vnc-jpeg \
--disable-vnc-sasl \
--disable-vte \
--disable-vvfat \
--disable-werror \
--disable-whpx \
--disable-xen \
--disable-xen-pci-passthrough \
--disable-xkbcommon \
--disable-zstd \
--without-default-devices \
--with-pkgversion="$(echo '%{distro}' | sed 's/ (.*)//')" \
%{disable_everything} \
%if 0%{?suse_version} >= 1600
--audio-drv-list=pipewire,pa,alsa,jack,oss \
%else
@ -692,31 +556,31 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g
%if 0%{with canokey}
--enable-canokey \
%endif
%if %{kvm_available}
%if 0%{kvm_available}
--enable-kvm \
%endif
%if 0%{?with_daxctl}
%if 0%{with daxctl}
--enable-libdaxctl \
%endif
%if 0%{?with_uring}
%if 0%{with uring}
--enable-linux-io-uring \
%endif
%if "%{_lto_cflags}" != "%{nil}"
--enable-lto \
%endif
%if %{with malloc_trim}
%if 0%{with malloc_trim}
--enable-malloc-trim \
%endif
%if %{with system_membarrier}
%if 0%{with system_membarrier}
--enable-membarrier \
%endif
%ifnarch %arm s390x
--enable-numa \
%endif
%if 0%{?with_rbd}
%if 0%{with rbd}
--enable-rbd \
%endif
%if %{has_rutabaga_gfx}
%if 0%{has_rutabaga_gfx}
--enable-rutabaga-gfx \
%endif
--enable-alsa \
@ -754,7 +618,6 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g
--enable-libudev \
--enable-libusb \
--enable-linux-aio \
--enable-live-block-migration \
--enable-lzfse \
--enable-lzo \
--enable-modules \
@ -767,7 +630,6 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g
--enable-pipewire \
--enable-pixman \
--enable-png \
--enable-pvrdma \
--enable-qcow1 \
--enable-qed \
--enable-rdma \
@ -790,6 +652,7 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g
--enable-usb-redir \
--enable-vde \
--enable-vdi \
--enable-vhdx \
--enable-vhost-crypto \
--enable-vhost-kernel \
--enable-vhost-net \
@ -801,6 +664,7 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g
--enable-vnc \
--enable-vnc-jpeg \
--enable-vnc-sasl \
--enable-vpc \
--enable-vte \
--enable-vvfat \
--enable-werror \
@ -875,16 +739,17 @@ popd
%make_build -C %srcdir/roms seavgabios-ati \
%make_build -C %srcdir/roms pxerom
%make_build -C %srcdir/roms pxerom NO_WERROR=1
%make_build -C %srcdir/roms edk2-basetools EXTRA_OPTFLAGS='-fPIE'
%make_build -C %srcdir/roms efirom
%make_build -C %srcdir/roms efirom NO_WERROR=1
%if %{force_fit_virtio_pxe_rom}
pushd %srcdir
patch -p1 < %{rpmfilesdir}/openSUSE-pcbios-stub-out-the-SAN-req-s-i.patch
popd
%make_build -C %srcdir/roms pxerom_variants=virtio pxerom_targets=1af41000 pxerom
%make_build -C %srcdir/roms NO_WERROR=1 pxerom_variants=virtio pxerom_targets=1af41000 pxerom
%endif
for i in %supported_nics_large %unsupported_nics
@ -977,6 +842,8 @@ unlink %{buildroot}%_datadir/%name/edk2-i386-secure-code.fd
unlink %{buildroot}%_datadir/%name/edk2-i386-vars.fd
unlink %{buildroot}%_datadir/%name/edk2-x86_64-code.fd
unlink %{buildroot}%_datadir/%name/edk2-x86_64-secure-code.fd
unlink %{buildroot}%_datadir/%name/edk2-riscv-code.fd
unlink %{buildroot}%_datadir/%name/edk2-riscv-vars.fd
# this was never meant for customer consumption - delete even though installed
unlink %{buildroot}%_bindir/elf2dmp
@ -1019,6 +886,21 @@ done
# End of "if build_x86_firmware"
%endif
# Upstream provides services for qemu-pr-helper. So far, we've not needed
# them, so let's continue not to ship them for now. If that changes, just
# uncomment these lines (and the ones in the %file pr-helper section)
#install -m 0644 contrib/systemd/qemu-pr-helper.service %{buildroot}%{_unitdir}
#install -m 0644 contrib/systemd/qemu-pr-helper.socket %{buildroot}%{_unitdir}
%if 0%{with vmsr_helper}
echo ""
# Upstream provides services for qemu-vmsr-helper. So far, we've not needed
# them, so let's continue not to ship them for now. If that changes, just
# uncomment these lines (and the ones in the %file vmsr-helper section)
#install -m 0644 contrib/systemd/qemu-vmsr-helper.service %{buildroot}%{_unitdir}
#install -m 0644 contrib/systemd/qemu-vmsr-helper.socket %{buildroot}%{_unitdir}
%endif
%suse_update_desktop_file qemu
# Common install steps for qemu and qemu-linux-user
@ -1032,11 +914,11 @@ cd %blddir
# do that in the patch itself. Instead, we keep a copy of the binary in the
# package sources, and put it in place now, before the tests themselves.
# If that patch is removed, the following line needs to go as well.
cp %{rpmfilesdir}/DSDT.pcie %{srcdir}/tests/data/acpi/microvm/
cp %{rpmfilesdir}/DSDT.pcie %{srcdir}/tests/data/acpi/x86/microvm/
# Patch 'tests/acpi: update tables for new core count test' requires some new
# binaries to be introcuded too. Let's copy them in place as well
cp %{rpmfilesdir}/APIC.core-count2 %{rpmfilesdir}/DSDT.core-count2 %{rpmfilesdir}/FACP.core-count2 %{srcdir}/tests/data/acpi/q35/
cp %{rpmfilesdir}/APIC.core-count2 %{rpmfilesdir}/DSDT.core-count2 %{rpmfilesdir}/FACP.core-count2 %{srcdir}/tests/data/acpi/x86/q35/
%if 0%{?qemu_user_space_build}
# Seccomp is not supported by linux-user emulation
@ -1305,7 +1187,6 @@ popular QEMU packages which are dedicated to a single architecture.)
%_bindir/qemu-system-mipsel
%_bindir/qemu-system-mips64
%_bindir/qemu-system-mips64el
%_bindir/qemu-system-nios2
%_bindir/qemu-system-or1k
%_bindir/qemu-system-riscv32
%_bindir/qemu-system-riscv64
@ -1318,6 +1199,7 @@ popular QEMU packages which are dedicated to a single architecture.)
%_bindir/qemu-system-xtensa
%_bindir/qemu-system-xtensaeb
%_datadir/%name/hppa-firmware.img
%_datadir/%name/hppa-firmware64.img
%_datadir/%name/openbios-sparc32
%_datadir/%name/openbios-sparc64
%_datadir/%name/opensbi-riscv32-generic-fw_dynamic.bin
@ -1697,8 +1579,24 @@ This package provides a helper utility for SCSI persistent reservations.
%files pr-helper
%_bindir/qemu-pr-helper
#%{_unitdir}/qemu-pr-helper.service
#%{_unitdir}/qemu-pr-helper.socket
%_mandir/man8/qemu-pr-helper.8.gz
%if 0%{with vmsr_helper}
%package vmsr-helper
Summary: QEMU virtual RAPL MSR helper
Group: System/Emulators/PC
%description vmsr-helper
This package provides a helper utility for letting VMs access the RAPL (Running Average Power Limit) MSR.
%files vmsr-helper
%_bindir/qemu-vmsr-helper
#%{_unitdir}/qemu-vmsr-helper.service
#%{_unitdir}/qemu-vmsr-helper.socket
%endif
%package tools
Summary: Tools for QEMU
Group: System/Emulators/PC
@ -1706,12 +1604,15 @@ Requires(pre): permissions
Requires: qemu-img
Requires: qemu-pr-helper
Requires: group(kvm)
%if 0%{with vmsr_helper}
Requires: qemu-vmsr-helper
%endif
%if %{has_virtiofsd}
Requires: virtiofsd
%endif
Recommends: multipath-tools
Recommends: qemu-block-curl
%if 0%{?with_rbd}
%if 0%{with rbd}
Recommends: qemu-block-rbd
%endif
@ -1867,7 +1768,6 @@ This package provides QTest accelerator for testing QEMU.
%_libdir/%name/accel-qtest-mips64.so
%_libdir/%name/accel-qtest-mips64el.so
%_libdir/%name/accel-qtest-mipsel.so
%_libdir/%name/accel-qtest-nios2.so
%_libdir/%name/accel-qtest-or1k.so
%_libdir/%name/accel-qtest-ppc.so
%_libdir/%name/accel-qtest-ppc64.so
@ -1884,7 +1784,7 @@ This package provides QTest accelerator for testing QEMU.
%_libdir/%name/accel-qtest-xtensa.so
%_libdir/%name/accel-qtest-xtensaeb.so
%if 0%{?with_rbd}
%if 0%{with rbd}
%package block-rbd
Summary: Rados Block Device (Ceph) support for QEMU
Group: System/Emulators/PC
@ -1962,7 +1862,7 @@ wider support than qboot, but still focuses on quick boot up.
%package seabios
Summary: x86 Legacy BIOS for QEMU
Group: System/Emulators/PC
Version: 8.2.6%{sbver}
Version: 9.1.0%{sbver}
Release: 0
BuildArch: noarch
Conflicts: %name < 1.6.0
@ -1983,7 +1883,7 @@ is the default and legacy BIOS for QEMU.
%package vgabios
Summary: VGA BIOSes for QEMU
Group: System/Emulators/PC
Version: 8.2.6%{sbver}
Version: 9.1.0%{sbver}
Release: 0
BuildArch: noarch
Conflicts: %name < 1.6.0
@ -2009,7 +1909,7 @@ video card. For use with QEMU.
%package ipxe
Summary: PXE ROMs for QEMU NICs
Group: System/Emulators/PC
Version: 8.2.6
Version: 9.1.0
Release: 0
BuildArch: noarch
Conflicts: %name < 1.6.0