Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qemu for openSUSE:Factory checked in at 2026-07-10 17:36:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qemu (Old) and /work/SRC/openSUSE:Factory/.qemu.new.1991 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qemu" Fri Jul 10 17:36:56 2026 rev:308 rq:1363032 version:11.0.2 Changes: -------- --- /work/SRC/openSUSE:Factory/qemu/qemu.changes 2026-03-19 17:30:11.235982014 +0100 +++ /work/SRC/openSUSE:Factory/.qemu.new.1991/qemu.changes 2026-07-10 17:39:22.373193900 +0200 @@ -1,0 +2,207 @@ +Tue Jun 30 17:43:26 UTC 2026 - Dario Faggioli <[email protected]> + +- Update to latest stable release (11.0.2) + Full backport list here: + https://lore.kernel.org/qemu-devel/[email protected]/ + Bugs and CVEs fixed: + - bsc#1268794 (CVE-2026-48914) + A selection of them is reported here below: + linux-user: Fix AT_PHDR when program headers are relocated into their own segment + hw/pci: Replace assert with bounds check and return + ppc/pnv_phb3: Error out on invalid config access + linux-user/xtensa: fix unlock of uninitialized frame pointer on sigreturn + linux-user/xtensa: save/restore FP registers across signal delivery + target/xtensa: add cpu_set_fcr/fsr helpers to sync fp_status + target/arm/hvf: Stop pre-allocating cpreg_vmstate arrays + ui/sdl2: Set GL ES profile before creating initial GL context + ui/sdl2: Explicitly specify EGL platform + hw/9pfs: reject . and .. in Twstat rename + hw/9pfs: fix abort due to illegal name with Twstat rename + gdbstub: Update x86 control register bits + target/i386: apply mod to immediate count of an RCL/RCR operation + hw/uefi: fix parse_hexstr + target/riscv: mask vxrm csrw write to the low 2 bits + disas/riscv.c: fix inst_length() + target/riscv/tcg: disable svnapot if satp_mode < sv39 + target/riscv/cpu_helper.c: add PMA access fault + target/riscv/cpu_helper.c: fault with reserved PTE.PBMT val + target/riscv/insn_trans/trans_rvzicbo.c.inc: save opcode before helpers + disas/riscv.c: add 'cbo' insns to disassembler + target/riscv/csr.c: fix mstatus.UXL reserved value + target/riscv/csr.c: do not allow mstatus MPV/GVA writes + target/riscv/tcg: disable svpbmt if satp_mode < sv39 + target/riscv/cpu_helper.c: allow LOAD_ADDR_MIS promotion to AMO fault + virtio: Allow to fill a whole virtqueue in order + amd_iommu: Reject non-decreasing NextLevel in fetch_pte() + amd_iommu: Follow root pointer before page walk and use 1-based levels + libvduse: fix buffer overflow in vduse_queue_read_indirect_desc() + libvhost-user: fix buffer overflow in virtqueue_read_indirect_desc() + tests/qtest: Add amd-iommu command buffer head wrap test + amd_iommu: Update command buffer head ptr in MMIO region after wraparound + amd_iommu: restrict command buffer head/tail ranges to ring size + linux-user: add preadv2/preadv2 + system/rtc: Fix a possible year-2038 integer overflow problem + linux-user/strace: add fsmount series of syscalls + linux-user: implement fsmount(2) series of syscalls + fpu: Handle all rounding modes in partsN_uncanon_normal + hw/usb/hcd-ohci: Clean up USBPacket before freeing ISO TD packet + qed: Don't try to flush during incoming migration + iotests: test shared mmap for fuse export + block/export/fuse: set FUSE_DIRECT_IO_ALLOW_MMAP flag to fix regression + block/export/fuse: use struct fuse_init_in + qcow2: Fix data loss on zero write with detect-zeroes=unmap + iotests/046: Test that discard/write_zeroes wait for dependencies + qcow2: Fix corruption on discard during write with COW + qemu-io: Add 'aio_discard' command + virtio-blk: add missing VIRTIO_BLK_T_SCSI_CMD size check (CVE-2026-48914) + block/io: fallback to bounce buffer if BLKZEROOUT is not supported because of alignment + hw/i3c: fix CMD/data FIFO depth reset values to match real silicon + s390x/pci: Fix interrupt forwarding disable for interpreted devices + target/s390x: Make container ids in SysIB_15x 1-based + lcitool: remove Cirrus CI support + gitlab: remove x64-freebsd-14-build Cirrus job + gitlab: add initial MacOS 15 on gitlab runner + ci: drop cirrus MacOS build + tests/unit: add test-envlist covering setenv/unsetenv name matching + util/envlist: fix prefix-match in envlist_unsetenv() name lookup + ... + +------------------------------------------------------------------- +Wed Jun 17 09:51:31 UTC 2026 - Dario Faggioli <[email protected]> + +- Fix bsc#1268279, bsc#1268245, bsc#1263098: + * [openSUSE][RPM] spec: fix post-build-checks failure for qemu-tools (bsc#1263098) + * [openSUSE][RPM] spec: fix missing unversioned ppc64 cross-compiler binaries (bsc#1268245) + * ppc/spapr: Skip system reset for quiesced CPUs (bsc#1268279) + +------------------------------------------------------------------- +Thu May 28 17:18:42 UTC 2026 - Dario Faggioli <[email protected]> + +- Update to latest stable release (11.0.1) + Full backport list here: + https://lore.kernel.org/qemu-devel/[email protected]/ + A selection of them is reported here below: + block/graph-lock: fix missed wakeup in bdrv_graph_co_rdunlock() + commit: Drain nodes across all of bdrv_commit() + block: Add more defaults to DEFAULT_BLOCK_CONF + block: Create DEFAULT_BLOCK_CONF macro + ide-test: Test reset during TRIM + ide-test: Factor out wait_dma_completion() + ide: Clean up ide_trim_co_entry() to be idiomatic coroutine code + ide: Minimal fix for deadlock between TRIM and drain + block: Add flags parameter to blk_*_pdiscard() + block: Add blk_co_start/end_request() and BDRV_REQ_NO_QUEUE + blkdebug: Add 'delay-ns' option + linux-user/sh4: Fix setup_sigtramp to match Linux kernel trampoline pattern + linux-user/sh4: Fix target_ucontext tuc_link field type + linux-user: Fix AT_EXECFN in AUXV for symlinked programs + hw/nvme: fix admin cq msix setup + target/arm/hvf: Fix WFI halting to stop idle vCPU spinning + tests/functional/qemu_test/asset.py: Don't use setxattr when it doesn't exist + hw/remote/machine.c: Mark x-remote machine as OK for AArch64 and AArch32 + meson.build: Add -fzero-init-padding-bits=all + tests/qtest/iommu-smmuv3-test: Skip if no TCG GICv3 device present + ati-vga: fix ati_set_dirty address calculation + hw/i2c/microbit_i2c: Don't index off end of twi_read_sequence[] + aspeed/hace: Prevent total_req_len overflow + aspeed/hace: Fix out-of-bounds read in has_padding() + hw/misc/aspeed_sbc: Add bounds checking for OTP write operations + hw/display/cirrus_vga: Fix packed-24 color-expansion transparent copies + hw/display/cirrus_vga: Fix packed-24 color-expansion transparent pattern fills + hw/ufs: Zero reserved bytes in REPORT LUNS response header + hw/ufs: Keep MCQ SQs alive while requests are outstanding + hw/ufs: Reject zero-depth MCQ queues + hw/ufs: Guard MCQ CQ accesses against missing queues + hw/ufs: Validate MCQ SQ references before use + tests/functional: Make socat wait longer in migration exec test + hw/uefi: check auth.hdr_length minimum size + hw/uefi: avoid possibly unaligned variable_auth_2 struct field access + hw/uefi: verify data size before accessing it in wrap_pkcs7 + hw/uefi: add name_size check to uefi_vars_mm_lock_variable() + hw/uefi: fix ucs2 string helper functions + hw/uefi: verify pio_xfer_offset before calculating buffer checksum + hw/uefi: fix buffer overruns + hw/misc/bcm2835_rng: Specify valid memory access sizes + ... + +- Fix bsc#1199023: + * [openSUSE] qemu-ga: fix service file against no-autostart (bsc#1199023) + +------------------------------------------------------------------- +Fri May 22 10:44:47 UTC 2026 - Dario Faggioli <[email protected]> + +- Package infra (service file): + * Move all the way back to tar_scm + +------------------------------------------------------------------- +Thu May 21 15:01:37 UTC 2026 - Dario Faggioli <[email protected]> + +- spec file and infrastructure (services) changes: + * [openSUSE][RPM] spec: move away from update-alternatives (jsc#PED-15661) + * Switch back to tar.xz archive, as obscio is not ideal in git + +------------------------------------------------------------------- +Sun Apr 26 22:41:44 UTC 2026 - Dario Faggioli <[email protected]> + +- Start hardening qemu-ga against arbitrary command execution: + * qemu-ga: start limiting the security sensitive capabilities of the guest-agent + +------------------------------------------------------------------- +Fri Apr 24 13:56:04 UTC 2026 - Dario Faggioli <[email protected]> + +- Fix missing dependencies in some SLE build: + * [openSUSE][RPM] spec: fix suse_version and is_opensuse macros handling (jsc#PED-15770) + +------------------------------------------------------------------- +Fri Apr 24 10:26:06 UTC 2026 - Dario Faggioli <[email protected]> + +- Update to version 11.0.0 (jsc#PED-14599) + The full list of changes are available at: + https://wiki.qemu.org/ChangeLog/11.0 + Highlights include: + * New "nitro" accelerator to run AWS Nitro Enclaves natively, and improved + support for MSHV and WHPX accelerators. + * KVM: Support for CET virtualization. + * KVM: Reset support for SEV-SNP and TDX confidential VMs. + * virtio-gpu support for native context drivers and specifying a unique + resolution for each output. + * TCG: in-tree support for C++ plugins. + * NFS block driver support for libnfs v6 and various improvements to + curl/FUSE block drivers. + * ARM: support for CPU features FEAT_ASID2 and FEAT_E2H0. + * ARM: TCG emulation support for SME (Scalable Matrix Extension), and HVF + accelation of SME2 on macos (if the host CPU supports it). + * HPPA: SeaBIOS-hppa v24 now implements the Astro PCI initializaiton + (allowing for PCI VGA on 64-bit systems), improves upcoming HP-UX + 64-bit support, and has initial support for multicell machines. + Prior versions also have fixes and updates for 64-bit/PAT support and + other areas as well. + * HPPA: Emulation support for 64-bit CPUs with 40 and 44 bit address + spaces, and 64-bit GDB support. + * LoongArch: KVM PMU migration support. + * LoongArch: TCG emulation support for LA v1.1, sc.q, llacq/screl/ and + estimated reciprocal instructions. + * PowerPC: snapshot support for several ppc devices. + * RISC-V: ISA extensions support for Zilsd, Zclsd, ZALASR, and Smpmpmt. + * RISV-V: CPU support for MIPS P8700 CPUs, better reporting of CSR + registers in 'info registers', and other fixes and improvements. + * s390: emulation support for "DIVIDE TO INTEGER" instruction. + * s390: support for booting from virtio-blk-pci devices. + * x86: CPU support for Diamond Rapids + * x86: support for a new "nitro" accelerator and machine type to run + Nitro Enclaves natively under QEMU. + * and lots more... + +- Enable FUSE support + * [openSUSE][RPM] spec: enable fuse support + +- Disable building on 32bit hosts + * [openSUSE][RPM] spec: disable build for 32bit hosts + +------------------------------------------------------------------- +Sat Apr 11 14:09:55 UTC 2026 - Dario Faggioli <[email protected]> + +- Build QEMU with support for passt + * [openSUSE][RPM] spec: enable passt support + +------------------------------------------------------------------- Old: ---- qemu-10.2.2.obscpio qemu.obsinfo New: ---- qemu-11.0.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qemu-linux-user.spec ++++++ --- /var/tmp/diff_new_pack.iEP5yh/_old 2026-07-10 17:39:27.729378781 +0200 +++ /var/tmp/diff_new_pack.iEP5yh/_new 2026-07-10 17:39:27.733378918 +0200 @@ -18,7 +18,7 @@ %include %{_sourcedir}/common.inc -%ifarch %ix86 x86_64 s390x +%ifarch x86_64 s390x %define legacy_qemu_kvm 1 %endif @@ -27,13 +27,15 @@ 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: 10.2.2 +Version: 11.0.2 Release: 0 Source0: qemu-%{version}.tar.xz Source1: common.inc Source200: qemu-rpmlintrc Source303: README.PACKAGING Source1000: qemu-rpmlintrc +# Starting from v11.0.0, 32 bit hosts are officially deprecated +ExcludeArch: %{ix86} %{arm} BuildRequires: bison BuildRequires: glib2-devel-static >= 2.56 BuildRequires: glibc-devel-static @@ -51,6 +53,9 @@ BuildRequires: gcc-c++ BuildRequires: meson BuildRequires: ninja >= 1.7 +BuildRequires: python3-pip +BuildRequires: python3-setuptools +BuildRequires: python3-wheel %if 0%{?suse_version} >= 1600 BuildRequires: python3-Sphinx BuildRequires: python3-base >= 3.8 @@ -68,7 +73,6 @@ %files %doc README.rst VERSION %license COPYING COPYING.LIB LICENSE -%ifnarch %ix86 armv7hl %_bindir/qemu-aarch64 %_bindir/qemu-aarch64_be %_bindir/qemu-alpha @@ -85,7 +89,6 @@ %_bindir/qemu-sparc32plus %_bindir/qemu-sparc64 %_bindir/qemu-x86_64 -%endif %_bindir/qemu-arm %_bindir/qemu-armeb %_bindir/qemu-hexagon @@ -143,14 +146,9 @@ # TODO: Check whether we want to enable the followings: # * debug-info -# * fuse # * malloc-trim -# * multiprocess # * qom-cast-debug # * trace-backends=dtrace -# -# Fedora has avx2 enabled for ix86, while we can't (I tried). Guess it's -# because, for them, ix86 == i686 (while for us it's i586). # Let's try to stick to _FORTIFY_SOURCE=2 for now EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g') -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wno-error" @@ -213,7 +211,7 @@ %check cd %blddir -%ifarch aarch64 %ix86 ppc ppc64 ppc64le riscv64 s390x x86_64 +%ifarch aarch64 ppc ppc64 ppc64le riscv64 s390x x86_64 ./qemu-%{qemu_arch} %_bindir/ls > /dev/null %endif ++++++ qemu.spec ++++++ --- /var/tmp/diff_new_pack.iEP5yh/_old 2026-07-10 17:39:27.765380024 +0200 +++ /var/tmp/diff_new_pack.iEP5yh/_new 2026-07-10 17:39:27.769380161 +0200 @@ -51,13 +51,13 @@ %define build_opensbi_firmware 1 %endif -%ifarch %ix86 x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64 riscv64 +%ifarch x86_64 ppc ppc64 ppc64le s390x aarch64 riscv64 %define kvm_available 1 %bcond_without uring %define liburing_min_version 1.0 %endif -%ifarch %ix86 x86_64 s390x +%ifarch x86_64 s390x %define legacy_qemu_kvm 1 %endif @@ -73,6 +73,17 @@ %bcond_without qatzip %endif +%ifarch x86_64 aarch64 +%bcond_without nitro +%else +%bcond_with nitro +%endif + +%bcond_without passt +%bcond_without slirp + +%bcond_without fuse + %global have_libcbor 1 %global have_block_gluster 0 @@ -89,15 +100,18 @@ 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: 10.2.2 +Version: 11.0.2 Release: 0 Source0: qemu-%{version}.tar.xz Source1: common.inc Source303: README.PACKAGING Source1000: qemu-rpmlintrc +# Starting from v11.0.0, 32 bit hosts are officially deprecated +ExcludeArch: %{ix86} %{arm} +#ExclusiveArch: $64bit ## Packages we REQUIRE during build %if %{build_x86_firmware} -%ifnarch %ix86 x86_64 +%ifnarch x86_64 # We must cross-compile on non-x86* BuildRequires: cross-x86_64-binutils BuildRequires: cross-x86_64-gcc%gcc_version @@ -122,12 +136,12 @@ %endif %ifarch x86_64 BuildRequires: gcc-32bit -%if %{with_xen} +%if 0%{with xen} BuildRequires: xen-devel >= 4.2 %endif BuildRequires: pkgconfig(libpmem) %endif -%ifnarch %arm s390x +%ifnarch s390x BuildRequires: libnuma-devel %endif %if 0%{with canokey} @@ -158,15 +172,15 @@ %if 0%{with igvm} #BuildRequires: igvm devel library here %endif -%if 0%{with passt} -#BuildRequires: passt devel library here -%endif %if 0%{with valgrind} BuildRequires: valgrind-devel %endif %if %{have_libcbor} BuildRequires: libcbor-devel %endif +%if 0%{with fuse} +BuildRequires: fuse3-devel +%endif %if 0%{?suse_version} >= 1600 BuildRequires: python3-Sphinx BuildRequires: python3-base >= 3.8 @@ -196,6 +210,9 @@ BuildRequires: ninja >= 1.7 BuildRequires: pam-devel BuildRequires: pkgconfig +BuildRequires: python3-pip +BuildRequires: python3-setuptools +BuildRequires: python3-wheel BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(epoxy) BuildRequires: pkgconfig(gbm) @@ -226,18 +243,20 @@ BuildRequires: pkgconfig(ncurses) BuildRequires: pkgconfig(openssl) >= 1.0.0 BuildRequires: pkgconfig(pixman-1) >= 0.21.8 -%if %{with_sdl} +%if 0%{with sdl} BuildRequires: pkgconfig(sdl2) -%if %{with_sdl_image} +%if 0%{with sdl_image} BuildRequires: pkgconfig(SDL2_image) %endif %endif +%if 0%{with slirp} +BuildRequires: pkgconfig(slirp) >= 4.2.0 +%endif BuildRequires: rdma-core-devel BuildRequires: snappy-devel BuildRequires: update-desktop-files BuildRequires: usbredir-devel >= 0.6 BuildRequires: xfsprogs-devel -BuildRequires: pkgconfig(slirp) >= 4.2.0 BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(vdeplug) BuildRequires: pkgconfig(virglrenderer) >= 0.4.1 @@ -250,6 +269,9 @@ Requires(post): acl Requires(post): udev %endif +%if 0%{with passt} +Requires: passt +%endif Requires(post): coreutils Requires: group(kvm) Requires: group(qemu) @@ -261,7 +283,7 @@ %ifarch s390x Requires: qemu-hw-s390x-virtio-gpu-ccw %else -%ifarch %{arm} %ix86 x86_64 +%ifarch x86_64 Requires: qemu-hw-display-virtio-gpu-pci %else Recommends: qemu-hw-display-virtio-gpu-pci @@ -317,7 +339,7 @@ Obsoletes: qemu-ui-sdl < %{version} ## What we do with the main emulator depends on the architecture we're on %if %{kvm_available} -%ifarch %ix86 x86_64 +%ifarch x86_64 Requires: qemu-x86 %else Suggests: qemu-x86 @@ -333,7 +355,7 @@ %else Suggests: qemu-s390x %endif -%ifarch %arm aarch64 +%ifarch aarch64 Requires: qemu-arm %else Suggests: qemu-arm @@ -442,6 +464,12 @@ meson subprojects packagefiles --apply berkeley-testfloat-3 meson subprojects packagefiles --apply berkeley-softfloat-3 +# We don't have python3-pygdbmi packaged in most OSes. But it's necessary +# only for functests, and we don't run that target anyway (as it would +# require network access). Let's, therefore, avoid the problem by just +# getting rid of the dependency. +sed -i '/pygdbmi/d' pythondeps.toml + # There (still) are some firmwares that are installed, but we don't build (yet). # Note that: # - default firmwares are built "by default", i.e., they're built automatically @@ -454,8 +482,7 @@ %define riscv64_extra_firmware {opensbi-riscv64-generic-fw_dynamic.bin} %define s390x_default_firmware {s390-ccw.img} %define s390x_extra_firmware %{nil} -%define x86_default_firmware {linuxboot.bin linuxboot_dma.bin multiboot.bin \ -multiboot_dma.bin kvmvapic.bin pvh.bin} +%define x86_default_firmware {linuxboot_dma.bin multiboot_dma.bin kvmvapic.bin pvh.bin} %define x86_extra_firmware {bios.bin bios-256k.bin bios-microvm.bin qboot.rom \ pxe-e1000.rom pxe-eepro100.rom pxe-ne2k_pci.rom pxe-pcnet.rom pxe-rtl8139.rom \ pxe-virtio.rom vgabios-ati.bin vgabios-bochs-display.bin \ @@ -485,7 +512,7 @@ %ifarch s390x %define s390x_default_built_firmware %{s390x_default_firmware} %endif -%ifarch %ix86 x86_64 +%ifarch x86_64 %define x86_default_built_firmware %{x86_default_firmware} %endif @@ -510,6 +537,16 @@ %define rpmfilesdir %{_builddir}/qemu-%{version}/rpm +# Workaround for GCC packages that only contain the versioned binaries +%if %{build_ppc_firmware} +mkdir -p %{_builddir}/cross-tools +PPC_GCC=$(ls /usr/bin/powerpc64-suse-linux-gcc-* 2>/dev/null | head -n1) +if [ -n "$PPC_GCC" ]; then + ln -sf "$PPC_GCC" %{_builddir}/cross-tools/powerpc64-suse-linux-gcc + export PATH=%{_builddir}/cross-tools:$PATH +fi +%endif + %if %{legacy_qemu_kvm} # FIXME: Why are we copying the s390 specific one? cp %{rpmfilesdir}/supported.s390.txt docs/supported.rst @@ -542,14 +579,9 @@ # TODO: Check whether we want to enable the followings: # * debug-info -# * fuse # * malloc-trim -# * multiprocess # * qom-cast-debug # * trace-backends=dtrace -# -# Fedora has avx2 enabled for ix86, while we can't (I tried). Guess it's -# because, for them, ix86 == i686 (while for us it's i586). # Let's try to stick to _FORTIFY_SOURCE=2 for now EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g') -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wno-error" @@ -577,7 +609,7 @@ --audio-drv-list=pa,pipewire,alsa,jack,oss \ %endif %ifarch x86_64 -%if %{with_xen} +%if 0%{with xen} --enable-xen \ --enable-xen-pci-passthrough \ %endif @@ -606,7 +638,7 @@ %if 0%{with system_membarrier} --enable-membarrier \ %endif -%ifnarch %arm s390x +%ifnarch s390x --enable-numa \ %endif %if 0%{with rbd} @@ -627,6 +659,13 @@ %if 0%{has_rutabaga_gfx} --enable-rutabaga-gfx \ %endif +%if 0%{with nitro} + --enable-nitro \ +%endif +%if 0%{with fuse} + --enable-fuse \ + --enable-fuse-lseek \ +%endif --enable-alsa \ --enable-attr \ --enable-auth-pam \ @@ -687,13 +726,15 @@ --enable-replication \ --enable-seccomp \ --enable-selinux \ +%if 0%{with slirp} --enable-slirp \ --enable-slirp-smbd \ +%endif --enable-smartcard \ --enable-snappy \ -%if %{with_sdl} +%if 0%{with sdl} --enable-sdl \ -%if %{with_sdl_image} +%if 0%{with sdl_image} --enable-sdl-image \ %endif %endif @@ -841,6 +882,7 @@ install -D -m 0644 %{rpmfilesdir}/bridge.conf %{buildroot}%_sysconfdir/%name/bridge.conf install -D -m 0755 %{rpmfilesdir}/qemu-ifup %{buildroot}%_datadir/%name/qemu-ifup install -D -p -m 0644 %{rpmfilesdir}/80-qemu-ga.rules %{buildroot}/usr/lib/udev/rules.d/80-qemu-ga.rules +install -D -p -m 0644 %{rpmfilesdir}/qemu-ga.sysconfig %{buildroot}%{_distconfdir}/sysconfig/qemu-ga install -D -m 0755 scripts/analyze-migration.py %{buildroot}%_bindir/analyze-migration.py install -D -m 0755 scripts/vmstate-static-checker.py %{buildroot}%_bindir/vmstate-static-checker.py install -D -m 0755 scripts/kvm/vmxcap %{buildroot}%_bindir/vmxcap @@ -848,9 +890,7 @@ install -D -m 0644 %{rpmfilesdir}/supported.arm.txt %{buildroot}%_docdir/qemu-arm/supported.txt install -D -m 0644 %{rpmfilesdir}/supported.ppc.txt %{buildroot}%_docdir/qemu-ppc/supported.txt install -D -m 0644 %{rpmfilesdir}/supported.x86.txt %{buildroot}%_docdir/qemu-x86/supported.txt -%ifnarch %ix86 armv7hl install -D -m 0644 %{rpmfilesdir}/supported.s390.txt %{buildroot}%_docdir/qemu-s390x/supported.txt -%endif %if %{legacy_qemu_kvm} install -D -m 0644 %{rpmfilesdir}/qemu-kvm.1.gz %{buildroot}%_mandir/man1/qemu-kvm.1.gz @@ -867,7 +907,7 @@ # End of "if legacy_qemu_kvm" %endif -%ifarch aarch64 %arm %ix86 ppc ppc64 ppc64le riscv64 s390x x86_64 +%ifarch aarch64 ppc ppc64 ppc64le riscv64 s390x x86_64 %ifarch ppc64le %define qemu_arch ppc64 %endif @@ -885,27 +925,9 @@ %endif # We rely on a separate project / package to provide edk2 firmware -unlink %{buildroot}%_datadir/%name/edk2-licenses.txt -unlink %{buildroot}%_datadir/%name/firmware/50-edk2-i386-secure.json -unlink %{buildroot}%_datadir/%name/firmware/50-edk2-x86_64-secure.json -unlink %{buildroot}%_datadir/%name/firmware/60-edk2-aarch64.json -unlink %{buildroot}%_datadir/%name/firmware/60-edk2-arm.json -unlink %{buildroot}%_datadir/%name/firmware/60-edk2-i386.json -unlink %{buildroot}%_datadir/%name/firmware/60-edk2-x86_64.json -unlink %{buildroot}%_datadir/%name/firmware/60-edk2-loongarch64.json -unlink %{buildroot}%_datadir/%name/firmware/60-edk2-riscv64.json -unlink %{buildroot}%_datadir/%name/edk2-aarch64-code.fd -unlink %{buildroot}%_datadir/%name/edk2-arm-code.fd -unlink %{buildroot}%_datadir/%name/edk2-arm-vars.fd -unlink %{buildroot}%_datadir/%name/edk2-i386-code.fd -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 -unlink %{buildroot}%_datadir/%name/edk2-loongarch64-code.fd -unlink %{buildroot}%_datadir/%name/edk2-loongarch64-vars.fd +rm -f %{buildroot}%_datadir/%name/edk2-*.fd +rm -f %{buildroot}%_datadir/%name/edk2-licenses.txt +rm -f %{buildroot}%_datadir/%name/firmware/*edk2*.json # this was never meant for customer consumption - delete even though installed unlink %{buildroot}%_bindir/elf2dmp @@ -915,18 +937,7 @@ # install base, as the one that we have there is the upstream binary, that got # copied there during `make install`. -%if %{build_ppc_firmware} -# In support of update-alternatives -# -# The reason why we do this, is because we have (only for PPC) an skiboot -# package, shipping an alternative version of skiboot.lid. That is, in fact, -# what's "on the other end" of us supporting update-alternatives for this -# particular firmware. -mv %{buildroot}%_datadir/%name/skiboot.lid %{buildroot}%_datadir/%name/skiboot.lid.qemu -# create a dummy target for /etc/alternatives/skiboot.lid -mkdir -p %{buildroot}%{_sysconfdir}/alternatives -ln -s -f %{_sysconfdir}/alternatives/skiboot.lid %{buildroot}%{_datadir}/%name/skiboot.lid -%else +%if ! %{build_ppc_firmware} for f in %{ppc_extra_firmware} ; do unlink %{buildroot}%_datadir/%name/$f done @@ -999,16 +1010,7 @@ # ... make comes in fresh and has lots of address space (needed for 32bit, bsc#957379) # FIXME: is this still a problem? -# Let's build everything first -%make_build check-build -# Let's now run the 'make check' component individually, so we have -# more control on the options (like -j, etc) - -%define timeout_multiplier 1 -# Particularly slow arch-es (on OBS) may benefit from this -%ifarch riscv64 %define timeout_multiplier 3 -%endif echo "######## unit tests ########" %make_build check-unit @@ -1035,7 +1037,7 @@ echo "######## Functional tests ########" # NB: ppc64le and arm32 hosts often fail one or more functional tests... -%ifnarch ppc64le %arm +%ifnarch ppc64le # 'check-func-quick' instead of 'check-functional' to avoid asset download %make_build check-func-quick TIMEOUT_MULTIPLIER=%{timeout_multiplier} %endif @@ -1180,13 +1182,9 @@ %files x86 %_bindir/qemu-system-i386 -%ifnarch %ix86 armv7hl %_bindir/qemu-system-x86_64 -%endif %_datadir/%name/kvmvapic.bin -%_datadir/%name/linuxboot.bin %_datadir/%name/linuxboot_dma.bin -%_datadir/%name/multiboot.bin %_datadir/%name/multiboot_dma.bin %_datadir/%name/pvh.bin %doc %_docdir/qemu-x86 @@ -1206,9 +1204,7 @@ %files ppc %_bindir/qemu-system-ppc -%ifnarch %ix86 armv7hl %_bindir/qemu-system-ppc64 -%endif %_datadir/%name/dtb/bamboo.dtb %_datadir/%name/dtb/canyonlands.dtb %_datadir/%name/dtb/pegasos1.dtb @@ -1223,7 +1219,6 @@ %_datadir/%name/vof*.bin %doc %_docdir/qemu-ppc -%ifnarch %ix86 armv7hl %package s390x Summary: Machine emulator and virtualizer for S/390 architectures Group: System/Emulators/PC @@ -1240,7 +1235,6 @@ %_bindir/qemu-system-s390x %_datadir/%name/s390-ccw.img %doc %_docdir/qemu-s390x -%endif %package arm Summary: Machine emulator and virtualizer for ARM architectures @@ -1258,9 +1252,7 @@ %files arm %_bindir/qemu-system-arm -%ifnarch %ix86 armv7hl %_bindir/qemu-system-aarch64 -%endif %_datadir/%name/ast27x0_bootrom.bin %_datadir/%name/npcm7xx_bootrom.bin %_datadir/%name/npcm8xx_bootrom.bin @@ -1273,12 +1265,6 @@ Recommends: qemu-ipxe Recommends: qemu-skiboot Recommends: qemu-vgabios -%ifarch %ix86 armv7hl -# The package is not built any longer for 32bits arch-es, but we're still -# providing the s390-ccw.img firmware, as part of this package (for those -# arch-es only, of course) -Obsoletes: qemu-s390x < %{version} -%endif %description extra %{generic_qemu_description} @@ -1288,21 +1274,16 @@ popular QEMU packages which are dedicated to a single architecture.) %files extra -%ifnarch %ix86 armv7hl %_bindir/qemu-system-alpha %_bindir/qemu-system-hppa %_bindir/qemu-system-loongarch64 -%_bindir/qemu-system-microblaze -%_bindir/qemu-system-microblazeel %_bindir/qemu-system-mips64 %_bindir/qemu-system-mips64el %_bindir/qemu-system-riscv64 %_bindir/qemu-system-sparc64 -%endif %_bindir/qemu-system-avr %_bindir/qemu-system-m68k %_bindir/qemu-system-microblaze -%_bindir/qemu-system-microblazeel %_bindir/qemu-system-mips %_bindir/qemu-system-mipsel %_bindir/qemu-system-or1k @@ -1314,9 +1295,6 @@ %_bindir/qemu-system-tricore %_bindir/qemu-system-xtensa %_bindir/qemu-system-xtensaeb -%ifarch %ix86 armv7hl -%_datadir/%name/s390-ccw.img -%endif %_datadir/%name/hppa-firmware.img %_datadir/%name/hppa-firmware64.img %_datadir/%name/openbios-sparc32 @@ -1401,7 +1379,7 @@ %dir %_libdir/%name %_libdir/%name/audio-pipewire.so -%if %{with_sdl} +%if 0%{with sdl} %package audio-sdl Summary: SDL based audio support for QEMU Group: System/Emulators/PC @@ -1663,7 +1641,7 @@ %_libdir/%name/ui-egl-headless.so %_libdir/%name/ui-opengl.so -%if %{with_sdl} +%if 0%{with sdl} %package ui-sdl Summary: SDL based UI support for QEMU Group: System/Emulators/PC @@ -1764,7 +1742,7 @@ %_bindir/qemu-keymap %_bindir/vmstate-static-checker.py %_bindir/vmxcap -%verify(not mode) %attr(4750,root,kvm) %_libexecdir/qemu-bridge-helper +%verify(not group mode) %attr(4750,root,kvm) %_libexecdir/qemu-bridge-helper %dir %_sysconfdir/%name %config(noreplace) %_sysconfdir/%name/bridge.conf @@ -1805,6 +1783,8 @@ %attr(0755,root,kvm) %_bindir/qemu-ga %_mandir/man8/qemu-ga.8.gz %{_unitdir}/qemu-guest-agent.service +%dir %{_distconfdir}/sysconfig +%{_distconfdir}/sysconfig/qemu-ga /usr/lib/udev/rules.d/80-qemu-ga.rules %pre guest-agent @@ -1870,38 +1850,8 @@ %files accel-qtest %dir %_datadir/%name %dir %_libdir/%name -%ifnarch %ix86 armv7hl -%_libdir/%name/accel-qtest-aarch64.so -%_libdir/%name/accel-qtest-alpha.so -%_libdir/%name/accel-qtest-hppa.so -%_libdir/%name/accel-qtest-loongarch64.so -%_libdir/%name/accel-qtest-mips64.so -%_libdir/%name/accel-qtest-mips64el.so -%_libdir/%name/accel-qtest-ppc64.so -%_libdir/%name/accel-qtest-riscv64.so -%_libdir/%name/accel-qtest-s390x.so -%_libdir/%name/accel-qtest-sparc64.so -%_libdir/%name/accel-qtest-x86_64.so -%endif - -%_libdir/%name/accel-qtest-arm.so -%_libdir/%name/accel-qtest-avr.so -%_libdir/%name/accel-qtest-i386.so -%_libdir/%name/accel-qtest-m68k.so -%_libdir/%name/accel-qtest-microblaze.so -%_libdir/%name/accel-qtest-microblazeel.so -%_libdir/%name/accel-qtest-mips.so -%_libdir/%name/accel-qtest-mipsel.so -%_libdir/%name/accel-qtest-or1k.so -%_libdir/%name/accel-qtest-ppc.so -%_libdir/%name/accel-qtest-riscv32.so -%_libdir/%name/accel-qtest-rx.so -%_libdir/%name/accel-qtest-sh4.so -%_libdir/%name/accel-qtest-sh4eb.so -%_libdir/%name/accel-qtest-sparc.so -%_libdir/%name/accel-qtest-tricore.so -%_libdir/%name/accel-qtest-xtensa.so -%_libdir/%name/accel-qtest-xtensaeb.so +%_libdir/%name/accel-qtest.so + %if 0%{with rbd} %package block-rbd Summary: Rados Block Device (Ceph) support for QEMU @@ -1936,8 +1886,7 @@ Summary: OPAL firmware (aka skiboot), used in booting OpenPOWER systems Group: System/Emulators/PC BuildArch: noarch -Requires(post): update-alternatives -Requires(postun): update-alternatives +Conflicts: opal-firmware %description skiboot Provides OPAL (OpenPower Abstraction Layer) firmware, aka skiboot, as @@ -1946,16 +1895,16 @@ %files skiboot %dir %_datadir/%name %_datadir/%name/skiboot.lid -%_datadir/%name/skiboot.lid.qemu -%ghost %_sysconfdir/alternatives/skiboot.lid -%post skiboot -update-alternatives --install \ - %{_datadir}/%name/skiboot.lid skiboot.lid %{_datadir}/%name/skiboot.lid.qemu 15 - -%preun skiboot -if [ ! -f %{_datadir}/%name/skiboot.lid.qemu ] ; then - update-alternatives --remove skiboot.lid %{_datadir}/%name/skiboot.lid.qemu +%pre skiboot +# Remove the symlink from where we were using update-alternatives. +if [ "$1" -ge 1 ]; then + if [ -x %{_sbindir}/update-alternatives ]; then + %{_sbindir}/update-alternatives --remove skiboot.lid %{_datadir}/%name/skiboot.lid.qemu || : + fi + if [ -L %{_datadir}/%name/skiboot.lid ]; then + rm -f %{_datadir}/%name/skiboot.lid + fi fi # End of "if build_ppc_firmware" %endif @@ -1980,7 +1929,7 @@ %package seabios Summary: x86 Legacy BIOS for QEMU Group: System/Emulators/PC -Version: 10.2.2%{sbver} +Version: 11.0.2%{sbver} Release: 0 BuildArch: noarch Conflicts: %name < 1.6.0 @@ -2001,7 +1950,7 @@ %package vgabios Summary: VGA BIOSes for QEMU Group: System/Emulators/PC -Version: 10.2.2%{sbver} +Version: 11.0.2%{sbver} Release: 0 BuildArch: noarch Conflicts: %name < 1.6.0 @@ -2027,7 +1976,7 @@ %package ipxe Summary: PXE ROMs for QEMU NICs Group: System/Emulators/PC -Version: 10.2.2 +Version: 11.0.2 Release: 0 BuildArch: noarch Conflicts: %name < 1.6.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.iEP5yh/_old 2026-07-10 17:39:27.837382509 +0200 +++ /var/tmp/diff_new_pack.iEP5yh/_new 2026-07-10 17:39:27.841382646 +0200 @@ -1,5 +1,5 @@ <services> - <service name="obs_scm" mode="manual"> + <service name="tar_scm" mode="manual"> <param name="scm">git</param> <param name="url">https://github.com/opensuse/qemu.git</param> <param name="revision">factory</param> @@ -14,8 +14,7 @@ <param name="extract">rpm/qemu-rpmlintrc</param> </service> <service name="set_version" mode="manual"/> - <service name="tar" mode="buildtime"/> - <service name="recompress" mode="buildtime"> + <service name="recompress" mode="manual"> <param name="file">*.tar</param> <param name="compression">xz</param> </service> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.iEP5yh/_old 2026-07-10 17:39:27.865383476 +0200 +++ /var/tmp/diff_new_pack.iEP5yh/_new 2026-07-10 17:39:27.869383613 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/opensuse/qemu.git</param> - <param name="changesrevision">d42623b38891e7fdeb81961bad524d444783eeb0</param></service></servicedata> + <param name="changesrevision">3fe1781194d903d2aad28532917c51f023b395e2</param></service></servicedata> (No newline at EOF) ++++++ common.inc ++++++ --- /var/tmp/diff_new_pack.iEP5yh/_old 2026-07-10 17:39:27.901384718 +0200 +++ /var/tmp/diff_new_pack.iEP5yh/_new 2026-07-10 17:39:27.905384856 +0200 @@ -12,20 +12,21 @@ %define legacy_qemu_kvm 0 %define force_fit_virtio_pxe_rom 1 -%define with_xen 0%{!?_without_xen:1} -%define with_sdl 0%{!?_without_sdl:1} -%define with_sdl_image 0%{!?_without_sdl_image:1} - %if "%{?distribution}" == "" %define distro private-build %else %define distro %{distribution} %endif +%bcond_without sdl + # Items to exclude in ALP-based products -%if 0%{?suse_version} == 1600 -%define with_xen 0 -%define with_sdl_image 0 +%if 0%{?is_opensuse} +%bcond_without xen +%bcond_without sdl_image +%else +%bcond_with xen +%bcond_with sdl_image %endif %bcond_with system_membarrier @@ -33,7 +34,7 @@ %bcond_with chkqtests -%if 0%{?suse_version} > 1600 +%if 0%{?is_opensuse} # canokey is an openSUSE thing, not a SLE one %ifarch x86_64 %bcond_without canokey @@ -42,7 +43,7 @@ %endif %endif -%if 0%{?suse_version} > 1600 +%if 0%{?is_opensuse} # XDP seems not to be there in SLE... %bcond_without xdp %else @@ -198,6 +199,7 @@ --disable-modules \\\ --disable-mpath \\\ --disable-multiprocess \\\ + --disable-nitro \\\ --disable-netmap \\\ --disable-nettle \\\ --disable-numa \\\
