You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
264 lines
8.5 KiB
Diff
264 lines
8.5 KiB
Diff
--- qemu-kvm.spec.orig 2020-11-09 23:41:03.000000000 +0000
|
|
+++ qemu-kvm.spec 2021-12-01 21:53:30.895747529 +0000
|
|
@@ -2,7 +2,7 @@
|
|
%global SLOF_gittagcommit 899d9883
|
|
|
|
%global have_usbredir 1
|
|
-%global have_spice 1
|
|
+%global have_spice 0
|
|
%global have_opengl 1
|
|
%global have_fdt 0
|
|
%global have_gluster 1
|
|
@@ -57,6 +57,7 @@ Requires: %{name}-block-gluster = %{epoc
|
|
%endif \
|
|
Requires: %{name}-block-iscsi = %{epoch}:%{version}-%{release} \
|
|
Requires: %{name}-block-rbd = %{epoch}:%{version}-%{release} \
|
|
+Requires: %{name}-block-vitastor = %{epoch}:%{version}-%{release}\
|
|
Requires: %{name}-block-ssh = %{epoch}:%{version}-%{release}
|
|
|
|
# Macro to properly setup RHEL/RHEV conflict handling
|
|
@@ -67,7 +68,7 @@ Obsoletes: %1-rhev
|
|
Summary: QEMU is a machine emulator and virtualizer
|
|
Name: qemu-kvm
|
|
Version: 4.2.0
|
|
-Release: 29.vitastor%{?dist}.6
|
|
+Release: 32.vitastor%{?dist}.6
|
|
# Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped
|
|
Epoch: 15
|
|
License: GPLv2 and GPLv2+ and CC-BY
|
|
@@ -99,9 +100,10 @@ Source30: kvm-s390x.conf
|
|
Source31: kvm-x86.conf
|
|
Source32: qemu-pr-helper.service
|
|
Source33: qemu-pr-helper.socket
|
|
-Source34: 81-kvm-rhel.rules
|
|
-Source35: udev-kvm-check.c
|
|
+#Source34: 81-kvm-rhel.rules
|
|
+#Source35: udev-kvm-check.c
|
|
Source36: README.tests
|
|
+Source37: qemu-vitastor.c
|
|
|
|
|
|
Patch0005: 0005-Initial-redhat-build.patch
|
|
@@ -825,7 +827,9 @@ Patch331: kvm-Drop-bogus-IPv6-messages.p
|
|
Patch333: kvm-virtiofsd-Whitelist-fchmod.patch
|
|
# For bz#1883869 - virtiofsd core dump in KATA Container [rhel-8.2.1.z]
|
|
Patch334: kvm-virtiofsd-avoid-proc-self-fd-tempdir.patch
|
|
-Patch335: qemu-4.2-vitastor.patch
|
|
+Patch335: qemu-use-sphinx-1.2.patch
|
|
+Patch336: qemu-config-tcmalloc-warning.patch
|
|
+Patch337: qemu-4.2-vitastor.patch
|
|
|
|
BuildRequires: wget
|
|
BuildRequires: rpm-build
|
|
@@ -842,7 +846,8 @@ BuildRequires: pciutils-devel
|
|
BuildRequires: libiscsi-devel
|
|
BuildRequires: ncurses-devel
|
|
BuildRequires: libattr-devel
|
|
-BuildRequires: libusbx-devel >= 1.0.22
|
|
+BuildRequires: gperftools-devel
|
|
+BuildRequires: libusbx-devel >= 1.0.21
|
|
%if %{have_usbredir}
|
|
BuildRequires: usbredir-devel >= 0.7.1
|
|
%endif
|
|
@@ -856,12 +861,13 @@ BuildRequires: virglrenderer-devel
|
|
# For smartcard NSS support
|
|
BuildRequires: nss-devel
|
|
%endif
|
|
-BuildRequires: libseccomp-devel >= 2.4.0
|
|
+#Requires: libseccomp >= 2.4.0
|
|
# For network block driver
|
|
BuildRequires: libcurl-devel
|
|
BuildRequires: libssh-devel
|
|
-BuildRequires: librados-devel
|
|
-BuildRequires: librbd-devel
|
|
+BuildRequires: librados2-devel
|
|
+BuildRequires: librbd1-devel
|
|
+BuildRequires: vitastor-client-devel
|
|
%if %{have_gluster}
|
|
# For gluster block driver
|
|
BuildRequires: glusterfs-api-devel
|
|
@@ -955,25 +961,25 @@ hardware for a full system such as a PC
|
|
|
|
%package -n qemu-kvm-core
|
|
Summary: qemu-kvm core components
|
|
+Requires: gperftools-libs
|
|
Requires: qemu-img = %{epoch}:%{version}-%{release}
|
|
%ifarch %{ix86} x86_64
|
|
Requires: seabios-bin >= 1.10.2-1
|
|
Requires: sgabios-bin
|
|
-Requires: edk2-ovmf
|
|
%endif
|
|
%ifarch aarch64
|
|
Requires: edk2-aarch64
|
|
%endif
|
|
|
|
%ifnarch aarch64 s390x
|
|
-Requires: seavgabios-bin >= 1.12.0-3
|
|
-Requires: ipxe-roms-qemu >= 20170123-1
|
|
+Requires: seavgabios-bin >= 1.11.0-1
|
|
+Requires: ipxe-roms-qemu >= 20181214-1
|
|
+Requires: /usr/share/ipxe.efi
|
|
%endif
|
|
%ifarch %{power64}
|
|
Requires: SLOF >= %{SLOF_gittagdate}-1.git%{SLOF_gittagcommit}
|
|
%endif
|
|
Requires: %{name}-common = %{epoch}:%{version}-%{release}
|
|
-Requires: libseccomp >= 2.4.0
|
|
# For compressed guest memory dumps
|
|
Requires: lzo snappy
|
|
%if %{have_kvm_setup}
|
|
@@ -1096,6 +1102,14 @@ Install this package if you want to acce
|
|
using the rbd protocol.
|
|
|
|
|
|
+%package block-vitastor
|
|
+Summary: QEMU Vitastor block driver
|
|
+Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release}
|
|
+
|
|
+%description block-vitastor
|
|
+This package provides the additional Vitastor block driver for QEMU.
|
|
+
|
|
+
|
|
%package block-ssh
|
|
Summary: QEMU SSH block driver
|
|
Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release}
|
|
@@ -1110,6 +1124,7 @@ the Secure Shell (SSH) protocol.
|
|
%prep
|
|
%setup -n qemu-%{version}
|
|
%autopatch -p1
|
|
+cp %{SOURCE37} ./block/vitastor.c
|
|
|
|
%build
|
|
%global buildarch %{kvm_target}-softmmu
|
|
@@ -1117,12 +1132,13 @@ the Secure Shell (SSH) protocol.
|
|
# --build-id option is used for giving info to the debug packages.
|
|
buildldflags="VL_LDFLAGS=-Wl,--build-id"
|
|
|
|
-%global block_drivers_list qcow2,raw,file,host_device,nbd,iscsi,rbd,blkdebug,luks,null-co,nvme,copy-on-read,throttle
|
|
+%global block_drivers_list qcow2,raw,file,host_device,nbd,iscsi,rbd,vitastor,blkdebug,luks,null-co,nvme,copy-on-read,throttle
|
|
|
|
%if 0%{have_gluster}
|
|
%global block_drivers_list %{block_drivers_list},gluster
|
|
%endif
|
|
|
|
+[ -e /usr/bin/sphinx-build ] || ln -s sphinx-build-3 /usr/bin/sphinx-build
|
|
./configure \
|
|
--prefix="%{_prefix}" \
|
|
--libdir="%{_libdir}" \
|
|
@@ -1132,7 +1148,7 @@ buildldflags="VL_LDFLAGS=-Wl,--build-id"
|
|
--docdir="%{qemudocdir}" \
|
|
--libexecdir="%{_libexecdir}" \
|
|
--extra-ldflags="-Wl,--build-id -Wl,-z,relro -Wl,-z,now" \
|
|
- --extra-cflags="%{optflags}" \
|
|
+ --extra-cflags="%{optflags} -DRHEL_BDRV_CO_TRUNCATE_FLAGS" \
|
|
--with-pkgversion="%{name}-%{version}-%{release}" \
|
|
--with-confsuffix=/"%{name}" \
|
|
--firmwarepath=%{_prefix}/share/qemu-firmware \
|
|
@@ -1153,14 +1169,15 @@ buildldflags="VL_LDFLAGS=-Wl,--build-id"
|
|
--disable-numa \
|
|
%endif
|
|
--enable-rbd \
|
|
+ --enable-vitastor \
|
|
%if 0%{have_librdma}
|
|
--enable-rdma \
|
|
%else
|
|
--disable-rdma \
|
|
%endif
|
|
--disable-pvrdma \
|
|
- --enable-seccomp \
|
|
-%if 0%{have_spice}
|
|
+ --disable-seccomp \
|
|
+%if %{have_spice}
|
|
--enable-spice \
|
|
--enable-smartcard \
|
|
--enable-virglrenderer \
|
|
@@ -1179,7 +1196,7 @@ buildldflags="VL_LDFLAGS=-Wl,--build-id"
|
|
%else
|
|
--disable-usb-redir \
|
|
%endif
|
|
- --disable-tcmalloc \
|
|
+ --enable-tcmalloc \
|
|
%ifarch x86_64
|
|
--enable-libpmem \
|
|
%else
|
|
@@ -1193,9 +1210,7 @@ buildldflags="VL_LDFLAGS=-Wl,--build-id"
|
|
%endif
|
|
--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 \
|
|
--tls-priority=NORMAL \
|
|
--disable-bluez \
|
|
@@ -1262,7 +1277,7 @@ buildldflags="VL_LDFLAGS=-Wl,--build-id"
|
|
--disable-sanitizers \
|
|
--disable-hvf \
|
|
--disable-whpx \
|
|
- --enable-malloc-trim \
|
|
+ --disable-malloc-trim \
|
|
--disable-membarrier \
|
|
--disable-vhost-crypto \
|
|
--disable-libxml2 \
|
|
@@ -1308,7 +1323,7 @@ make V=1 %{?_smp_mflags} $buildldflags
|
|
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
|
|
+#gcc %{SOURCE35} $RPM_OPT_FLAGS $RPM_LD_FLAGS -o udev-kvm-check
|
|
|
|
%install
|
|
%define _udevdir %(pkg-config --variable=udevdir udev)
|
|
@@ -1343,8 +1358,8 @@ mkdir -p $RPM_BUILD_ROOT%{testsdir}/test
|
|
mkdir -p $RPM_BUILD_ROOT%{testsdir}/tests/qemu-iotests
|
|
mkdir -p $RPM_BUILD_ROOT%{testsdir}/scripts/qmp
|
|
|
|
-install -p -m 0755 udev-kvm-check $RPM_BUILD_ROOT%{_udevdir}
|
|
-install -p -m 0644 %{SOURCE34} $RPM_BUILD_ROOT%{_udevrulesdir}
|
|
+#install -p -m 0755 udev-kvm-check $RPM_BUILD_ROOT%{_udevdir}
|
|
+#install -p -m 0644 %{SOURCE34} $RPM_BUILD_ROOT%{_udevrulesdir}
|
|
|
|
install -m 0644 scripts/dump-guest-memory.py \
|
|
$RPM_BUILD_ROOT%{_datadir}/%{name}
|
|
@@ -1562,6 +1577,8 @@ rm -rf $RPM_BUILD_ROOT%{qemudocdir}/inte
|
|
# Remove spec
|
|
rm -rf $RPM_BUILD_ROOT%{qemudocdir}/specs
|
|
|
|
+%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')
|
|
+
|
|
%check
|
|
export DIFF=diff; make check V=1
|
|
|
|
@@ -1645,8 +1662,8 @@ useradd -r -u 107 -g qemu -G kvm -d / -s
|
|
%config(noreplace) %{_sysconfdir}/sysconfig/ksm
|
|
%{_unitdir}/ksmtuned.service
|
|
%{_sbindir}/ksmtuned
|
|
-%{_udevdir}/udev-kvm-check
|
|
-%{_udevrulesdir}/81-kvm-rhel.rules
|
|
+#%{_udevdir}/udev-kvm-check
|
|
+#%{_udevrulesdir}/81-kvm-rhel.rules
|
|
%ghost %{_sysconfdir}/kvm
|
|
%config(noreplace) %{_sysconfdir}/ksmtuned.conf
|
|
%dir %{_sysconfdir}/%{name}
|
|
@@ -1711,8 +1728,8 @@ useradd -r -u 107 -g qemu -G kvm -d / -s
|
|
%{_libexecdir}/vhost-user-gpu
|
|
%{_datadir}/%{name}/vhost-user/50-qemu-gpu.json
|
|
%endif
|
|
-%{_libexecdir}/virtiofsd
|
|
-%{_datadir}/%{name}/vhost-user/50-qemu-virtiofsd.json
|
|
+#%{_libexecdir}/virtiofsd
|
|
+#%{_datadir}/%{name}/vhost-user/50-qemu-virtiofsd.json
|
|
|
|
%files -n qemu-img
|
|
%defattr(-,root,root)
|
|
@@ -1751,6 +1768,9 @@ useradd -r -u 107 -g qemu -G kvm -d / -s
|
|
%files block-rbd
|
|
%{_libdir}/qemu-kvm/block-rbd.so
|
|
|
|
+%files block-vitastor
|
|
+%{_libdir}/qemu-kvm/block-vitastor.so
|
|
+
|
|
%files block-ssh
|
|
%{_libdir}/qemu-kvm/block-ssh.so
|
|
|