From 4d8664e67302741d8f98e7c3c2cdf51e1bf57fa4 Mon Sep 17 00:00:00 2001 From: Dario Faggioli Date: Thu, 5 Sep 2024 15:51:54 +0200 Subject: [PATCH] [openSUSE][RPM] Consolidate disabling all features during 'configure' in a macro When running configure, first of all we disable everything, and then we enable only the feature that we know we want (and, of course, system and user emulation use different sets of such features). Consolidate the first part in a macro, that can be share between the two spec files, making everything simpler and prettier. Signed-off-by: Dario Faggioli --- rpm/common.inc | 149 +++++++++++++++++++++++++++++++++++++++ rpm/qemu-linux-user.spec | 134 +---------------------------------- rpm/qemu.spec | 134 +---------------------------------- 3 files changed, 151 insertions(+), 266 deletions(-) diff --git a/rpm/common.inc b/rpm/common.inc index b2b4e40ccd4d6..985bb836eac08 100644 --- a/rpm/common.inc +++ b/rpm/common.inc @@ -106,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 diff --git a/rpm/qemu-linux-user.spec b/rpm/qemu-linux-user.spec index b82cf5df110a4..e7075a05d1775 100644 --- a/rpm/qemu-linux-user.spec +++ b/rpm/qemu-linux-user.spec @@ -165,139 +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-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-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-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 diff --git a/rpm/qemu.spec b/rpm/qemu.spec index f9636c661ecc5..1d9319e0fc497 100644 --- a/rpm/qemu.spec +++ b/rpm/qemu.spec @@ -536,139 +536,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-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-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-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 0%{?suse_version} >= 1600 --audio-drv-list=pipewire,pa,alsa,jack,oss \ %else