[openSUSE][RPM] spec: allow building without spice #55
@@ -46,6 +46,9 @@
|
||||
%bcond_with xdp
|
||||
%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
|
||||
|
||||
291
rpm/qemu.spec
291
rpm/qemu.spec
@@ -89,6 +89,7 @@ Source1: common.inc
|
||||
Source303: README.PACKAGING
|
||||
Source1000: qemu-rpmlintrc
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
## Packages we REQUIRE during build
|
||||
%if %{build_x86_firmware}
|
||||
%ifnarch %ix86 x86_64
|
||||
# We must cross-compile on non-x86*
|
||||
@@ -123,23 +124,34 @@ BuildRequires: pkgconfig(libpmem)
|
||||
%ifnarch %arm s390x
|
||||
BuildRequires: libnuma-devel
|
||||
%endif
|
||||
%if 0%{with canokey}
|
||||
BuildRequires: canokey-qemu-devel
|
||||
%endif
|
||||
%if 0%{?with_daxctl}
|
||||
BuildRequires: pkgconfig(libndctl)
|
||||
%endif
|
||||
%if %{kvm_available}
|
||||
BuildRequires: pkgconfig(udev)
|
||||
%endif
|
||||
%if 0%{?with_rbd}
|
||||
BuildRequires: librbd-devel
|
||||
%endif
|
||||
%if 0%{with xdp}
|
||||
BuildRequires: libxdp-devel
|
||||
%endif
|
||||
%if 0%{with canokey}
|
||||
BuildRequires: canokey-qemu-devel
|
||||
%if 0%{with spice}
|
||||
BuildRequires: pkgconfig(spice-protocol) >= 0.12.3
|
||||
BuildRequires: pkgconfig(spice-server) >= 0.12.5
|
||||
%endif
|
||||
%if 0%{?with_uring}
|
||||
BuildRequires: pkgconfig(liburing) >= %liburing_min_version
|
||||
%endif
|
||||
%if %{kvm_available}
|
||||
BuildRequires: pkgconfig(udev)
|
||||
%if 0%{with xdp}
|
||||
BuildRequires: libxdp-devel
|
||||
%endif
|
||||
%if 0%{?suse_version} >= 1600
|
||||
BuildRequires: python3-base >= 3.8
|
||||
BuildRequires: python3-Sphinx
|
||||
%else
|
||||
BuildRequires: python311-base
|
||||
BuildRequires: python311-Sphinx
|
||||
%endif
|
||||
BuildRequires: Mesa-devel
|
||||
BuildRequires: bison
|
||||
@@ -188,29 +200,80 @@ BuildRequires: pkgconfig(libusb-1.0) >= 1.0.13
|
||||
BuildRequires: pkgconfig(libzstd)
|
||||
BuildRequires: pkgconfig(lzo2)
|
||||
BuildRequires: pkgconfig(ncurses)
|
||||
BuildRequires: pkgconfig(openssl) >= 1.0.0
|
||||
BuildRequires: pkgconfig(pixman-1) >= 0.21.8
|
||||
BuildRequires: pkgconfig(slirp) >= 4.2.0
|
||||
BuildRequires: pkgconfig(spice-protocol) >= 0.12.3
|
||||
BuildRequires: pkgconfig(spice-server) >= 0.12.5
|
||||
BuildRequires: pkgconfig(systemd)
|
||||
BuildRequires: pkgconfig(vdeplug)
|
||||
BuildRequires: pkgconfig(virglrenderer) >= 0.4.1
|
||||
BuildRequires: pkgconfig(vte-2.91)
|
||||
BuildRequires: pkgconfig(xkbcommon)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
%if 0%{?suse_version} >= 1600
|
||||
BuildRequires: python3-base >= 3.8
|
||||
BuildRequires: python3-Sphinx
|
||||
%else
|
||||
BuildRequires: python311-base
|
||||
BuildRequires: python311-Sphinx
|
||||
%endif
|
||||
BuildRequires: rdma-core-devel
|
||||
BuildRequires: snappy-devel
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: usbredir-devel >= 0.6
|
||||
BuildRequires: xfsprogs-devel
|
||||
%{?systemd_ordering}
|
||||
## Packages we will REQUIRE
|
||||
%if %{kvm_available}
|
||||
Requires(post): acl
|
||||
Requires(post): udev
|
||||
%endif
|
||||
Requires(post): coreutils
|
||||
Requires: group(kvm)
|
||||
Requires: group(qemu)
|
||||
Requires: user(qemu)
|
||||
# Due to change in where some documentation files are, if qemu-guest-agent
|
||||
# is installed, we need to make sure we update it to our version.
|
||||
Requires: (qemu-guest-agent = %{version} if qemu-guest-agent)
|
||||
## Packages we will RECOMMEND
|
||||
%ifarch s390x
|
||||
Recommends: qemu-hw-s390x-virtio-gpu-ccw
|
||||
%else
|
||||
Recommends: qemu-hw-display-qxl
|
||||
Recommends: qemu-hw-display-virtio-gpu
|
||||
Recommends: qemu-hw-display-virtio-gpu-pci
|
||||
Recommends: qemu-hw-display-virtio-vga
|
||||
Recommends: qemu-hw-usb-host
|
||||
Recommends: qemu-hw-usb-redirect
|
||||
Recommends: qemu-hw-usb-smartcard
|
||||
%if 0%{with spice}
|
||||
Recommends: qemu-ui-spice-app
|
||||
%endif
|
||||
# End of "ifarch s390x"
|
||||
%endif
|
||||
%if %{kvm_available}
|
||||
Recommends: kvm_stat
|
||||
%endif
|
||||
Recommends: qemu-block-curl
|
||||
Recommends: qemu-block-nfs
|
||||
Recommends: qemu-ksm = %{version}
|
||||
Recommends: qemu-tools
|
||||
Recommends: qemu-ui-curses
|
||||
## Packages we will SUGGEST
|
||||
%if 0%{?with_rbd}
|
||||
Suggests: qemu-block-rbd
|
||||
%endif
|
||||
Suggests: qemu-accel-qtest
|
||||
Suggests: qemu-block-dmg
|
||||
Suggests: qemu-block-gluster
|
||||
Suggests: qemu-block-iscsi
|
||||
Suggests: qemu-block-ssh
|
||||
Suggests: qemu-chardev-baum
|
||||
Suggests: qemu-extra
|
||||
Suggests: qemu-lang
|
||||
Suggests: qemu-microvm
|
||||
Suggests: qemu-skiboot
|
||||
Suggests: qemu-vhost-user-gpu
|
||||
Suggests: qemu-ui-gtk
|
||||
Suggests: qemu-doc
|
||||
## Pacakges we OBSOLETE
|
||||
Obsoletes: qemu-sgabios <= 8
|
||||
Obsoletes: qemu-audio-oss < %{version}
|
||||
Obsoletes: qemu-audio-sdl < %{version}
|
||||
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
|
||||
Requires: qemu-x86
|
||||
@@ -238,56 +301,8 @@ Requires: qemu-extra
|
||||
%else
|
||||
Suggests: qemu-extra
|
||||
%endif
|
||||
Requires(post): acl
|
||||
Requires(post): udev
|
||||
Recommends: kvm_stat
|
||||
# End of "if kvm_available"
|
||||
%endif
|
||||
Requires: group(kvm)
|
||||
Requires: group(qemu)
|
||||
Requires: user(qemu)
|
||||
Requires(post): coreutils
|
||||
%ifarch s390x
|
||||
Recommends: qemu-hw-s390x-virtio-gpu-ccw
|
||||
%else
|
||||
# Due to change in where some documentation files are, if qemu-guest-agent
|
||||
# is installed, we need to make sure we update it to our version.
|
||||
Requires: (qemu-guest-agent = %{version} if qemu-guest-agent)
|
||||
Recommends: qemu-hw-display-qxl
|
||||
Recommends: qemu-hw-display-virtio-gpu
|
||||
Recommends: qemu-hw-display-virtio-gpu-pci
|
||||
Recommends: qemu-hw-display-virtio-vga
|
||||
Recommends: qemu-hw-usb-host
|
||||
Recommends: qemu-hw-usb-redirect
|
||||
Recommends: qemu-hw-usb-smartcard
|
||||
Recommends: qemu-ui-spice-app
|
||||
# End of "ifarch s390x"
|
||||
%endif
|
||||
Recommends: qemu-block-curl
|
||||
Recommends: qemu-block-nfs
|
||||
Recommends: qemu-ksm = %{version}
|
||||
Recommends: qemu-tools
|
||||
Recommends: qemu-ui-curses
|
||||
%if 0%{?with_rbd}
|
||||
Suggests: qemu-block-rbd
|
||||
%endif
|
||||
Suggests: qemu-accel-qtest
|
||||
Suggests: qemu-block-dmg
|
||||
Suggests: qemu-block-gluster
|
||||
Suggests: qemu-block-iscsi
|
||||
Suggests: qemu-block-ssh
|
||||
Suggests: qemu-chardev-baum
|
||||
Suggests: qemu-extra
|
||||
Suggests: qemu-lang
|
||||
Suggests: qemu-microvm
|
||||
Suggests: qemu-skiboot
|
||||
Suggests: qemu-vhost-user-gpu
|
||||
Suggests: qemu-ui-gtk
|
||||
Suggests: qemu-doc
|
||||
Obsoletes: qemu-sgabios <= 8
|
||||
Obsoletes: qemu-audio-oss < %{version}
|
||||
Obsoletes: qemu-audio-sdl < %{version}
|
||||
Obsoletes: qemu-ui-sdl < %{version}
|
||||
|
||||
%description
|
||||
%{generic_qemu_description}
|
||||
@@ -747,8 +762,10 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g
|
||||
--enable-slirp-smbd \
|
||||
--enable-smartcard \
|
||||
--enable-snappy \
|
||||
%if 0%{with spice}
|
||||
--enable-spice \
|
||||
--enable-spice-protocol \
|
||||
%endif
|
||||
--enable-system \
|
||||
--enable-tcg \
|
||||
--enable-tools \
|
||||
@@ -1031,6 +1048,7 @@ make -O V=1 VERBOSE=1 -j1 check-qtest
|
||||
# enable this at a later point
|
||||
#make -O V=1 VERBOSE=1 -j1 check-report.junit.xml
|
||||
|
||||
%if 0%{with spice}
|
||||
%package spice
|
||||
Summary: Modules and packages for SPICE
|
||||
Group: System/Emulators/PC
|
||||
@@ -1049,6 +1067,80 @@ necessary for having SPICE working for your VMs.
|
||||
|
||||
%files spice
|
||||
|
||||
%package audio-spice
|
||||
Summary: Spice based audio support for QEMU
|
||||
Group: System/Emulators/PC
|
||||
Requires: qemu-ui-spice-core
|
||||
%{qemu_module_conflicts}
|
||||
|
||||
%description audio-spice
|
||||
This package contains a module for Spice based audio support for QEMU.
|
||||
|
||||
%files audio-spice
|
||||
%dir %_libdir/%name
|
||||
%_libdir/%name/audio-spice.so
|
||||
|
||||
%package chardev-spice
|
||||
Summary: Spice vmc and port chardev support for QEMU
|
||||
Group: System/Emulators/PC
|
||||
Requires: qemu-ui-spice-core
|
||||
%{qemu_module_conflicts}
|
||||
|
||||
%description chardev-spice
|
||||
This package contains a module for Spice chardev support for QEMU.
|
||||
|
||||
%files chardev-spice
|
||||
%dir %_datadir/%name
|
||||
%dir %_libdir/%name
|
||||
%_libdir/%name/chardev-spice.so
|
||||
|
||||
%package ui-spice-app
|
||||
Summary: Spice UI support for QEMU
|
||||
Group: System/Emulators/PC
|
||||
Requires: qemu-chardev-spice
|
||||
Requires: qemu-ui-spice-core
|
||||
%{qemu_module_conflicts}
|
||||
|
||||
%description ui-spice-app
|
||||
This package contains a module for doing Spice based UI for QEMU.
|
||||
|
||||
%files ui-spice-app
|
||||
%dir %_libdir/%name
|
||||
%_libdir/%name/ui-spice-app.so
|
||||
|
||||
%package ui-spice-core
|
||||
Summary: Core Spice support for QEMU
|
||||
Group: System/Emulators/PC
|
||||
Requires: qemu-ui-opengl
|
||||
# This next Requires is only since virt-manager expects audio support
|
||||
Requires: qemu-audio-spice
|
||||
%{qemu_module_conflicts}
|
||||
|
||||
%description ui-spice-core
|
||||
This package contains a module with core Spice support for QEMU.
|
||||
|
||||
%files ui-spice-core
|
||||
%dir %_datadir/%name
|
||||
%dir %_libdir/%name
|
||||
%_libdir/%name/ui-spice-core.so
|
||||
|
||||
%package hw-display-qxl
|
||||
Summary: QXL display support for QEMU
|
||||
Group: System/Emulators/PC
|
||||
Requires: qemu-ui-spice-core
|
||||
%{qemu_module_conflicts}
|
||||
|
||||
%description hw-display-qxl
|
||||
This package contains a module for QXL display support for QEMU.
|
||||
|
||||
%files hw-display-qxl
|
||||
%dir %_datadir/%name
|
||||
%dir %_libdir/%name
|
||||
%_libdir/%name/hw-display-qxl.so
|
||||
|
||||
# End of "with spice"
|
||||
%endif
|
||||
|
||||
%package headless
|
||||
Summary: Minimum set of packages for having a functional QEMU
|
||||
Group: System/Emulators/PC
|
||||
@@ -1278,19 +1370,6 @@ This package contains a module for JACK based audio support for QEMU.
|
||||
%dir %_libdir/%name
|
||||
%_libdir/%name/audio-jack.so
|
||||
|
||||
%package audio-spice
|
||||
Summary: Spice based audio support for QEMU
|
||||
Group: System/Emulators/PC
|
||||
Requires: qemu-ui-spice-core
|
||||
%{qemu_module_conflicts}
|
||||
|
||||
%description audio-spice
|
||||
This package contains a module for Spice based audio support for QEMU.
|
||||
|
||||
%files audio-spice
|
||||
%dir %_libdir/%name
|
||||
%_libdir/%name/audio-spice.so
|
||||
|
||||
%package audio-oss
|
||||
Summary: OSS based audio support for QEMU
|
||||
Group: System/Emulators/PC
|
||||
@@ -1407,34 +1486,6 @@ This package contains a module for baum braille chardev support for QEMU.
|
||||
%dir %_libdir/%name
|
||||
%_libdir/%name/chardev-baum.so
|
||||
|
||||
%package chardev-spice
|
||||
Summary: Spice vmc and port chardev support for QEMU
|
||||
Group: System/Emulators/PC
|
||||
Requires: qemu-ui-spice-core
|
||||
%{qemu_module_conflicts}
|
||||
|
||||
%description chardev-spice
|
||||
This package contains a module for Spice chardev support for QEMU.
|
||||
|
||||
%files chardev-spice
|
||||
%dir %_datadir/%name
|
||||
%dir %_libdir/%name
|
||||
%_libdir/%name/chardev-spice.so
|
||||
|
||||
%package hw-display-qxl
|
||||
Summary: QXL display support for QEMU
|
||||
Group: System/Emulators/PC
|
||||
Requires: qemu-ui-spice-core
|
||||
%{qemu_module_conflicts}
|
||||
|
||||
%description hw-display-qxl
|
||||
This package contains a module for QXL display support for QEMU.
|
||||
|
||||
%files hw-display-qxl
|
||||
%dir %_datadir/%name
|
||||
%dir %_libdir/%name
|
||||
%_libdir/%name/hw-display-qxl.so
|
||||
|
||||
%package hw-display-virtio-gpu
|
||||
Summary: Virtio GPU display support for QEMU
|
||||
Group: System/Emulators/PC
|
||||
@@ -1583,36 +1634,6 @@ This package contains a module for doing OpenGL based UI for QEMU.
|
||||
%_libdir/%name/ui-egl-headless.so
|
||||
%_libdir/%name/ui-opengl.so
|
||||
|
||||
%package ui-spice-app
|
||||
Summary: Spice UI support for QEMU
|
||||
Group: System/Emulators/PC
|
||||
Requires: qemu-chardev-spice
|
||||
Requires: qemu-ui-spice-core
|
||||
%{qemu_module_conflicts}
|
||||
|
||||
%description ui-spice-app
|
||||
This package contains a module for doing Spice based UI for QEMU.
|
||||
|
||||
%files ui-spice-app
|
||||
%dir %_libdir/%name
|
||||
%_libdir/%name/ui-spice-app.so
|
||||
|
||||
%package ui-spice-core
|
||||
Summary: Core Spice support for QEMU
|
||||
Group: System/Emulators/PC
|
||||
Requires: qemu-ui-opengl
|
||||
# This next Requires is only since virt-manager expects audio support
|
||||
Requires: qemu-audio-spice
|
||||
%{qemu_module_conflicts}
|
||||
|
||||
%description ui-spice-core
|
||||
This package contains a module with core Spice support for QEMU.
|
||||
|
||||
%files ui-spice-core
|
||||
%dir %_datadir/%name
|
||||
%dir %_libdir/%name
|
||||
%_libdir/%name/ui-spice-core.so
|
||||
|
||||
%package vhost-user-gpu
|
||||
Summary: Vhost user mode virtio-gpu 2D/3D rendering backend for QEMU
|
||||
Group: System/Emulators/PC
|
||||
|
||||
Reference in New Issue
Block a user