qemu/common.inc
Dario Faggioli 59d36f89e8 - 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

- 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

OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=856
2024-09-06 11:25:28 +00:00

258 lines
5.9 KiB
PHP

%define _buildshell /bin/bash
%define sbver 1.16.3_3_gc13ff2cd
%define srcdir %{_builddir}/%buildsubdir
%define blddir %srcdir/build
%define build_x86_firmware 0
%define build_ppc_firmware 0
%define build_opensbi_firmware 0
%define kvm_available 0
%define legacy_qemu_kvm 0
%define force_fit_virtio_pxe_rom 1
%define with_xen 0%{!?_without_xen:1}
%if "%{?distribution}" == ""
%define distro private-build
%else
%define distro %{distribution}
%endif
# Items to exclude in ALP-based products
%if 0%{?suse_version} == 1600
%define with_xen 0
%endif
%bcond_with system_membarrier
%bcond_with malloc_trim
%bcond_with chkqtests
%if 0%{?suse_version} > 1600
# canokey is an openSUSE thing, not a SLE one
%ifarch x86_64
%bcond_without canokey
%else
%bcond_with canokey
%endif
%endif
%if 0%{?suse_version} > 1600
# XDP seems not to be there in SLE...
%bcond_without xdp
%else
%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
# We do not have the stuff needed to compile rutabaga support.
# If/when we want to do it, we can check how it's done here:
# https://src.fedoraproject.org/rpms/qemu/c/deeb9357cb751df21c566fd8408936cfb034d43b?branch=rawhide
%define has_rutabaga_gfx 0
%define has_virtiofsd 1
# Upstream virtiofsd does not even build on 32 bit systems
%ifarch %ix86 %arm
%define has_virtiofsd 0
%endif
# non-x86 archs still seem to have some issues with Link Time Optimization
%ifnarch %ix86 x86_64
%define _lto_cflags %{nil}
%endif
%ifarch aarch64
%define qemu_arch aarch64
%endif
%ifarch %arm
%define qemu_arch arm
%endif
%ifarch %ix86
%define qemu_arch i386
%endif
%ifarch ppc64
%define qemu_arch ppc64
%endif
%ifarch ppc
%define qemu_arch ppc
%endif
%ifarch ppc64le
%define qemu_arch ppc64le
%endif
%ifarch riscv64
%define qemu_arch riscv64
%endif
%ifarch s390x
%define qemu_arch s390x
%endif
%ifarch x86_64
%define qemu_arch x86_64
%endif
%define generic_qemu_description \
QEMU provides full machine emulation and cross architecture usage. It closely\
integrates with KVM and Xen virtualization, allowing for excellent performance.\
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