Created
August 7, 2020 13:30
-
-
Save c3d/d52fde5d1631293fba27b1e531518b4d to your computer and use it in GitHub Desktop.
Patch for qemu-mini for RHEL
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From 4291945bb7dadc29a4cfb8048e7c36e142bf1cd4 Mon Sep 17 00:00:00 2001 | |
From: "Danilo C. L. de Paula" <ddepaula@redhat.com> | |
Date: Thu, 30 Jul 2020 14:14:20 -0400 | |
Subject: [PATCH] Initial qemu-mini split | |
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com> | |
--- | |
redhat/qemu-kvm.spec.template | 271 +++++++++++++++++++++------------- | |
1 file changed, 171 insertions(+), 100 deletions(-) | |
diff --git a/redhat/qemu-kvm.spec.template b/redhat/qemu-kvm.spec.template | |
index 60be4f0dba..e92dd132e9 100644 | |
--- a/redhat/qemu-kvm.spec.template | |
+++ b/redhat/qemu-kvm.spec.template | |
@@ -395,6 +395,7 @@ rm -fr slirp | |
mkdir slirp | |
%autopatch -p1 | |
mkdir qemu-kvm-build | |
+mkdir qemu-kvm-mini-build | |
%build | |
%global buildarch %{kvm_target}-softmmu | |
@@ -408,173 +409,207 @@ buildldflags="VL_LDFLAGS=-Wl,--build-id" | |
%global block_drivers_list %{block_drivers_list},gluster | |
%endif | |
-cd qemu-kvm-build | |
-../configure \ | |
- --prefix="%{_prefix}" \ | |
- --libdir="%{_libdir}" \ | |
- --sysconfdir="%{_sysconfdir}" \ | |
- --interp-prefix=%{_prefix}/qemu-%M \ | |
- --localstatedir="%{_localstatedir}" \ | |
- --docdir="%{qemudocdir}" \ | |
- --libexecdir="%{_libexecdir}" \ | |
- --extra-ldflags="-Wl,--build-id -Wl,-z,relro -Wl,-z,now" \ | |
- --extra-cflags="%{optflags}" \ | |
- --with-pkgversion="%{name}-%{version}-%{release}" \ | |
- --with-confsuffix=/"%{name}" \ | |
- --firmwarepath=%{_prefix}/share/qemu-firmware \ | |
- --python=%{__python3} \ | |
- --target-list="%{buildarch}" \ | |
- --block-drv-rw-whitelist=%{block_drivers_list} \ | |
- --audio-drv-list= \ | |
- --block-drv-ro-whitelist=vmdk,vhdx,vpc,https,ssh \ | |
- --with-coroutine=ucontext \ | |
- --with-git=git \ | |
- --tls-priority=NORMAL \ | |
+pushd qemu-kvm-build | |
+ | |
+%define run_configure \\\ | |
+ --prefix="%{_prefix}" \\\ | |
+ --libdir="%{_libdir}" \\\ | |
+ --sysconfdir="%{_sysconfdir}" \\\ | |
+ --interp-prefix=%{_prefix}/qemu-%M \\\ | |
+ --localstatedir="%{_localstatedir}" \\\ | |
+ --docdir="%{qemudocdir}" \\\ | |
+ --libexecdir="%{_libexecdir}" \\\ | |
+ --extra-ldflags="-Wl,--build-id -Wl,-z,relro -Wl,-z,now" \\\ | |
+ --extra-cflags="%{optflags}" \\\ | |
+ --with-pkgversion="%{name}-%{version}-%{release}" \\\ | |
+ --with-confsuffix=/"%{name}" \\\ | |
+ --firmwarepath=%{_prefix}/share/qemu-firmware \\\ | |
+ --python=%{__python3} \\\ | |
+ --target-list="%{buildarch}" \\\ | |
+ --block-drv-rw-whitelist=%{block_drivers_list} \\\ | |
+ --audio-drv-list= \\\ | |
+ --block-drv-ro-whitelist=vmdk,vhdx,vpc,https,ssh \\\ | |
+ --with-coroutine=ucontext \\\ | |
+ --with-git=git \\\ | |
+ --tls-priority=NORMAL | |
+ | |
+%define disable_everything \\\ | |
+ --disable-attr \\\ | |
+ --disable-auth-pam \\\ | |
+ --disable-avx2 \\\ | |
+ --disable-avx512f \\\ | |
+ --disable-bochs \\\ | |
+ --disable-brlapi \\\ | |
+ --disable-bsd-user \\\ | |
+ --disable-bzip2 \\\ | |
+ --disable-cap-ng \\\ | |
+ --disable-capstone \\\ | |
+ --disable-cloop \\\ | |
+ --disable-cocoa \\\ | |
+ --disable-coroutine-pool \\\ | |
+ --disable-crypto-afalg \\\ | |
+ --disable-curl \\\ | |
+ --disable-curses \\\ | |
+ --disable-debug-info \\\ | |
+ --disable-debug-mutex \\\ | |
+ --disable-debug-tcg \\\ | |
+ --disable-dmg \\\ | |
+ --disable-docs \\\ | |
+ --disable-fdt \\\ | |
+ --disable-gcrypt \\\ | |
+ --disable-git-update \\\ | |
+ --disable-glusterfs \\\ | |
+ --disable-gnutls \\\ | |
+ --disable-gtk \\\ | |
+ --disable-guest-agent \\\ | |
+ --disable-guest-agent-msi \\\ | |
+ --disable-hax \\\ | |
+ --disable-hvf \\\ | |
+ --disable-iconv \\\ | |
+ --disable-jemalloc \\\ | |
+ --disable-kvm \\\ | |
+ --disable-libiscsi \\\ | |
+ --disable-libnfs \\\ | |
+ --disable-libpmem \\\ | |
+ --disable-libssh \\\ | |
+ --disable-libusb \\\ | |
+ --disable-libxml2 \\\ | |
+ --disable-linux-aio \\\ | |
+ --disable-linux-io-uring \\\ | |
+ --disable-linux-user \\\ | |
+ --disable-live-block-migration \\\ | |
+ --disable-lzfse \\\ | |
+ --disable-lzo \\\ | |
+ --disable-malloc-trim \\\ | |
+ --disable-membarrier \\\ | |
+ --disable-modules \\\ | |
+ --disable-module-upgrades \\\ | |
+ --disable-mpath \\\ | |
+ --disable-netmap \\\ | |
+ --disable-nettle \\\ | |
+ --disable-numa \\\ | |
+ --disable-opengl \\\ | |
+ --disable-parallels \\\ | |
+ --disable-pie \\\ | |
+ --disable-pvrdma \\\ | |
+ --disable-qcow1 \\\ | |
+ --disable-qed \\\ | |
+ --disable-qom-cast-debug \\\ | |
+ --disable-rbd \\\ | |
+ --disable-rdma \\\ | |
+ --disable-replication \\\ | |
+ --disable-sanitizers \\\ | |
+ --disable-sdl \\\ | |
+ --disable-sdl-image \\\ | |
+ --disable-seccomp \\\ | |
+ --disable-sheepdog \\\ | |
+ --disable-smartcard \\\ | |
+ --disable-snappy \\\ | |
+ --disable-sparse \\\ | |
+ --disable-spice \\\ | |
+ --disable-strip \\\ | |
+ --disable-system \\\ | |
+ --disable-tcg \\\ | |
+ --disable-tcmalloc \\\ | |
+ --disable-tools \\\ | |
+ --disable-tpm \\\ | |
+ --disable-usb-redir \\\ | |
+ --disable-user \\\ | |
+ --disable-vde \\\ | |
+ --disable-vdi \\\ | |
+ --disable-vhost-crypto \\\ | |
+ --disable-vhost-kernel \\\ | |
+ --disable-vhost-net \\\ | |
+ --disable-vhost-scsi \\\ | |
+ --disable-vhost-user \\\ | |
+ --disable-vhost-vsock \\\ | |
+ --disable-virglrenderer \\\ | |
+ --disable-virtfs \\\ | |
+ --disable-vnc \\\ | |
+ --disable-vnc-jpeg \\\ | |
+ --disable-vnc-png \\\ | |
+ --disable-vnc-sasl \\\ | |
+ --disable-vte \\\ | |
+ --disable-vvfat \\\ | |
+ --disable-vxhs \\\ | |
+ --disable-werror \\\ | |
+ --disable-whpx \\\ | |
+ --disable-xen \\\ | |
+ --disable-xen-pci-passthrough \\\ | |
+ --disable-xfsctl \\\ | |
+ --disable-xkbcommon | |
+ | |
+../configure \ | |
+ %{run_configure} \ | |
+ %{disable_everything} \ | |
--enable-attr \ | |
- --disable-auth-pam \ | |
%ifarch %{ix86} x86_64 | |
--enable-avx2 \ | |
-%else | |
- --disable-avx2 \ | |
%endif | |
- --disable-avx512f \ | |
- --disable-bochs \ | |
- --disable-brlapi \ | |
- --disable-bsd-user \ | |
- --disable-bzip2 \ | |
--enable-cap-ng \ | |
--enable-capstone \ | |
- --disable-cloop \ | |
- --disable-cocoa \ | |
--enable-coroutine-pool \ | |
- --disable-crypto-afalg \ | |
--enable-curl \ | |
- --disable-curses \ | |
--enable-debug-info \ | |
- --disable-debug-mutex \ | |
- --disable-debug-tcg \ | |
- --disable-dmg \ | |
--enable-docs \ | |
%if 0%{have_fdt} | |
--enable-fdt \ | |
-%else | |
- --disable-fdt \ | |
- %endif | |
+%endif | |
--enable-gcrypt \ | |
- --disable-git-update \ | |
%if 0%{have_gluster} | |
--enable-glusterfs \ | |
-%else | |
- --disable-glusterfs \ | |
%endif | |
--enable-gnutls \ | |
- --disable-gtk \ | |
--enable-guest-agent \ | |
- --disable-guest-agent-msi \ | |
- --disable-hax \ | |
- --disable-hvf \ | |
--enable-iconv \ | |
- --disable-jemalloc \ | |
--enable-kvm \ | |
--enable-libiscsi \ | |
- --disable-libnfs \ | |
%ifarch x86_64 | |
--enable-libpmem \ | |
-%else | |
- --disable-libpmem \ | |
%endif | |
--enable-libssh \ | |
--enable-libusb \ | |
- --disable-libxml2 \ | |
--enable-linux-aio \ | |
- --disable-linux-io-uring \ | |
- --disable-linux-user \ | |
- --disable-live-block-migration \ | |
- --disable-lzfse \ | |
--enable-lzo \ | |
--enable-malloc-trim \ | |
- --disable-membarrier \ | |
--enable-modules \ | |
- --disable-module-upgrades \ | |
--enable-mpath \ | |
- --disable-netmap \ | |
- --disable-nettle \ | |
%ifnarch s390x | |
--enable-numa \ | |
-%else | |
- --disable-numa \ | |
%endif | |
%if 0%{have_opengl} | |
--enable-opengl \ | |
-%else | |
- --disable-opengl \ | |
%endif | |
- --disable-parallels \ | |
--enable-pie \ | |
- --disable-pvrdma \ | |
- --disable-qcow1 \ | |
- --disable-qed \ | |
- --disable-qom-cast-debug \ | |
--enable-rbd \ | |
%if 0%{have_librdma} | |
--enable-rdma \ | |
-%else | |
- --disable-rdma \ | |
%endif | |
- --disable-replication \ | |
- --disable-sanitizers \ | |
- --disable-sdl \ | |
- --disable-sdl-image \ | |
--enable-seccomp \ | |
- --disable-sheepdog \ | |
--enable-snappy \ | |
- --disable-sparse \ | |
%if 0%{have_spice} | |
--enable-smartcard \ | |
--enable-spice \ | |
-%else | |
- --disable-smartcard \ | |
- --disable-spice \ | |
%endif | |
- --disable-strip \ | |
--enable-system \ | |
--enable-tcg \ | |
- --disable-tcmalloc \ | |
--enable-tools \ | |
--enable-tpm \ | |
--enable-trace-backend=dtrace \ | |
%if 0%{have_usbredir} | |
--enable-usb-redir \ | |
-%else | |
- --disable-usb-redir \ | |
%endif | |
- --disable-user \ | |
- --disable-vde \ | |
- --disable-vdi \ | |
- --disable-vhost-crypto \ | |
--enable-vhost-kernel \ | |
--enable-vhost-net \ | |
- --disable-vhost-scsi \ | |
--enable-vhost-user \ | |
--enable-vhost-vsock \ | |
%if 0%{have_spice} | |
--enable-virglrenderer \ | |
-%else | |
- --disable-virglrenderer \ | |
%endif | |
- --disable-virtfs \ | |
--enable-vnc \ | |
- --disable-vnc-jpeg \ | |
--enable-vnc-png \ | |
--enable-vnc-sasl \ | |
- --disable-vte \ | |
- --disable-vvfat \ | |
- --disable-vxhs \ | |
--enable-werror \ | |
- --disable-whpx \ | |
- --disable-xen \ | |
- --disable-xen-pci-passthrough \ | |
- --disable-xfsctl \ | |
--enable-xkbcommon \ | |
--without-default-devices | |
@@ -585,6 +620,7 @@ echo "===" | |
make V=1 %{?_smp_mflags} $buildldflags | |
+final_build_checks() { | |
# Setup back compat qemu-kvm binary | |
%{__python3} scripts/tracetool.py --backend dtrace --format stap \ | |
--group=all --binary %{_libexecdir}/qemu-kvm --probe-prefix qemu.kvm \ | |
@@ -602,6 +638,41 @@ cp -a %{kvm_target}-softmmu/qemu-system-%{kvm_target} qemu-kvm | |
gcc %{SOURCE6} $RPM_OPT_FLAGS $RPM_LD_FLAGS -o ksmctl | |
gcc %{SOURCE35} $RPM_OPT_FLAGS $RPM_LD_FLAGS -o udev-kvm-check | |
+} | |
+final_build_checks | |
+ | |
+# Generate qemu-kvm-mini | |
+popd | |
+pushd qemu-kvm-mini-build | |
+ | |
+../configure \ | |
+ %{run_configure} \ | |
+ %{disable_everything} \ | |
+ --target-list="%{kvm_target}-softmmu" \ | |
+ --enable-kvm \ | |
+ --enable-system \ | |
+ --enable-virtfs \ | |
+ --enable-cap-ng \ | |
+ --enable-attr \ | |
+ --enable-vhost-vsock \ | |
+ --enable-vhost-kernel \ | |
+ --enable-vhost-net \ | |
+ --enable-vhost-scsi \ | |
+ --enable-linux-aio \ | |
+ --enable-debug-info \ | |
+ --enable-virtio-mini \ | |
+%if 0%{have_fdt} | |
+ --enable-fdt \ | |
+%endif | |
+ | |
+echo "config-host.mak contents for qemu-kvm-mini:" | |
+echo "===" | |
+cat config-host.mak | |
+echo "===" | |
+ | |
+make V=1 %{?_smp_mflags} $buildldflags | |
+ | |
+final_build_checks | |
%install | |
cd qemu-kvm-build | |
-- | |
2.25.4 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment