rpm: Introduce with_native

The new _without_native knob makes it possible to skip the native
build completely and build for MinGW only.

Best viewed with 'git show -w'.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
This commit is contained in:
Andrea Bolognani 2023-11-02 16:56:54 +01:00
parent 3c840e50d9
commit eb6552d98b

View File

@ -203,6 +203,9 @@
%define qemu_moddir %{_libdir}/qemu
%define qemu_datadir %{_datadir}/qemu
# Native / MinGW builds
%define with_native 0%{!?_without_native:1}
%define with_mingw32 0
%define with_mingw64 0
@ -218,6 +221,13 @@
%define mingw_build_win64 %{with_mingw64}
%endif
%if !%{with_native}
# Building the debugsource package apparently only works if the
# native build is enabled. debuginfo packages don't have this
# problem and setting this doesn't disable them
%global debug_package %{nil}
%endif
# RHEL releases provide stable tool chains and so it is safe to turn
# compiler warning into errors without being worried about frequent
# changes in reported warnings
@ -306,10 +316,11 @@ BuildRequires: systemd-rpm-macros
BuildRequires: rpcgen
# Fedora build root suckage
BuildRequires: gawk
%if %{with_native}
BuildRequires: gcc
%if %{with_libxl}
%if %{with_libxl}
BuildRequires: xen-devel
%endif
%endif
BuildRequires: glib2-devel >= 2.56
BuildRequires: libxml2-devel
BuildRequires: readline-devel
@ -324,9 +335,9 @@ BuildRequires: augeas
BuildRequires: systemd-devel >= 185
BuildRequires: libpciaccess-devel >= 0.10.9
BuildRequires: yajl-devel
%if %{with_sanlock}
%if %{with_sanlock}
BuildRequires: sanlock-devel >= 2.4
%endif
%endif
BuildRequires: libpcap-devel >= 1.5.0
BuildRequires: libnl3-devel
BuildRequires: libselinux-devel
@ -338,59 +349,59 @@ BuildRequires: cyrus-sasl-devel
BuildRequires: polkit >= 0.112
# For mount/umount in FS driver
BuildRequires: util-linux
%if %{with_qemu}
%if %{with_qemu}
# For managing ACLs
BuildRequires: libacl-devel
# From QEMU RPMs, used by virstoragetest
BuildRequires: /usr/bin/qemu-img
%endif
%endif
# nbdkit support requires libnbd
%if %{with_nbdkit}
%if %{with_nbdkit}
BuildRequires: libnbd-devel
%endif
%endif
# For LVM drivers
BuildRequires: lvm2
# For pool type=iscsi
BuildRequires: iscsi-initiator-utils
%if %{with_storage_iscsi_direct}
%if %{with_storage_iscsi_direct}
# For pool type=iscsi-direct
BuildRequires: libiscsi-devel
%endif
%endif
# For disk driver
BuildRequires: parted-devel
# For Multipath support
BuildRequires: device-mapper-devel
%if %{with_storage_rbd}
%if %{with_storage_rbd}
BuildRequires: librados-devel
BuildRequires: librbd-devel
%endif
%if %{with_storage_gluster}
%endif
%if %{with_storage_gluster}
BuildRequires: glusterfs-api-devel >= 3.4.1
BuildRequires: glusterfs-devel >= 3.4.1
%endif
%if %{with_numactl}
%endif
%if %{with_numactl}
# For QEMU/LXC numa info
BuildRequires: numactl-devel
%endif
%endif
BuildRequires: libcap-ng-devel >= 0.5.0
%if %{with_fuse}
%if %{with_fuse}
BuildRequires: fuse-devel >= 2.8.6
%endif
%if %{with_libssh2}
%endif
%if %{with_libssh2}
BuildRequires: libssh2-devel >= 1.3.0
%endif
%if %{with_netcf}
%endif
%if %{with_netcf}
BuildRequires: netcf-devel >= 0.2.2
%endif
%if 0%{?fedora} || 0%{?rhel} >= 9
%endif
%if 0%{?fedora} || 0%{?rhel} >= 9
BuildRequires: passt
%endif
%if %{with_esx}
%endif
%if %{with_esx}
BuildRequires: libcurl-devel
%endif
%if %{with_hyperv}
%endif
%if %{with_hyperv}
BuildRequires: libwsman-devel >= 2.6.3
%endif
%endif
BuildRequires: audit-libs-devel
# we need /usr/sbin/dtrace
BuildRequires: systemtap-sdt-devel
@ -400,19 +411,20 @@ BuildRequires: util-linux
BuildRequires: nfs-utils
# For storage wiping with different algorithms
BuildRequires: scrub
%if %{with_numad}
%if %{with_numad}
BuildRequires: numad
%endif
%if %{with_wireshark}
%endif
%if %{with_wireshark}
BuildRequires: wireshark-devel
%endif
%if %{with_libssh}
%endif
%if %{with_libssh}
BuildRequires: libssh-devel >= 0.8.1
%endif
%endif
BuildRequires: libtirpc-devel
%if %{with_firewalld_zone}
# Needed for the firewalld_reload macro
%if %{with_firewalld_zone}
BuildRequires: firewalld-filesystem
%endif
%endif
%if %{with_mingw32}
@ -451,6 +463,7 @@ Libvirt is a C toolkit to interact with the virtualization capabilities
of recent versions of Linux (and other OSes). The main package includes
the libvirtd server exporting the virtualization support.
%if %{with_native}
%package docs
Summary: API reference and website documentation
@ -490,10 +503,10 @@ Requires: iproute
# for /sbin/tc
Requires: iproute-tc
Requires: polkit >= 0.112
%if %{with_dmidecode}
%if %{with_dmidecode}
# For virConnectGetSysinfo
Requires: dmidecode
%endif
%endif
# For service management
Requires(posttrans): /usr/bin/systemctl
Requires(preun): /usr/bin/systemctl
@ -502,11 +515,11 @@ Requires: dbus
# For uid creation during pre
Requires(pre): shadow-utils
# Needed by /usr/libexec/libvirt-guests.sh script.
%if 0%{?fedora}
%if 0%{?fedora}
Requires: gettext-runtime
%else
%else
Requires: gettext
%endif
%endif
# Ensure smooth upgrades
Obsoletes: libvirt-admin < 7.3.0
@ -614,9 +627,9 @@ capabilities.
Summary: Interface driver plugin for the libvirtd daemon
Requires: libvirt-daemon-common = %{version}-%{release}
Requires: libvirt-libs = %{version}-%{release}
%if %{with_netcf}
%if %{with_netcf}
Requires: netcf-libs >= 0.2.2
%endif
%endif
%description daemon-driver-interface
The interface driver plugin for the libvirtd daemon, providing
@ -638,13 +651,13 @@ Requires: libvirt-libs = %{version}-%{release}
Requires: nfs-utils
# For mkfs
Requires: util-linux
%if %{with_qemu}
%if %{with_qemu}
# From QEMU RPMs
Requires: /usr/bin/qemu-img
%endif
%if !%{with_storage_rbd}
%endif
%if !%{with_storage_rbd}
Obsoletes: libvirt-daemon-driver-storage-rbd < 5.2.0
%endif
%endif
Obsoletes: libvirt-daemon-driver-storage-sheepdog < 8.8.0
%description daemon-driver-storage-core
@ -692,7 +705,7 @@ Requires: iscsi-initiator-utils
The storage driver backend adding implementation of the storage APIs for iscsi
volumes using the host iscsi stack.
%if %{with_storage_iscsi_direct}
%if %{with_storage_iscsi_direct}
%package daemon-driver-storage-iscsi-direct
Summary: Storage driver plugin for iscsi-direct
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
@ -701,7 +714,7 @@ Requires: libvirt-libs = %{version}-%{release}
%description daemon-driver-storage-iscsi-direct
The storage driver backend adding implementation of the storage APIs for iscsi
volumes using libiscsi direct connection.
%endif
%endif
%package daemon-driver-storage-mpath
Summary: Storage driver plugin for multipath volumes
@ -713,24 +726,24 @@ Requires: device-mapper
The storage driver backend adding implementation of the storage APIs for
multipath storage using device mapper.
%if %{with_storage_gluster}
%if %{with_storage_gluster}
%package daemon-driver-storage-gluster
Summary: Storage driver plugin for gluster
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
Requires: libvirt-libs = %{version}-%{release}
%if 0%{?fedora}
%if 0%{?fedora}
Requires: glusterfs-client >= 2.0.1
%endif
%if 0%{?fedora} || 0%{?with_storage_gluster}
%endif
%if 0%{?fedora} || 0%{?with_storage_gluster}
Requires: /usr/sbin/gluster
%endif
%endif
%description daemon-driver-storage-gluster
The storage driver backend adding implementation of the storage APIs for gluster
volumes using libgfapi.
%endif
%endif
%if %{with_storage_rbd}
%if %{with_storage_rbd}
%package daemon-driver-storage-rbd
Summary: Storage driver plugin for rbd
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
@ -739,9 +752,9 @@ Requires: libvirt-libs = %{version}-%{release}
%description daemon-driver-storage-rbd
The storage driver backend adding implementation of the storage APIs for rbd
volumes using the ceph protocol.
%endif
%endif
%if %{with_storage_zfs}
%if %{with_storage_zfs}
%package daemon-driver-storage-zfs
Summary: Storage driver plugin for ZFS
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
@ -753,7 +766,7 @@ Requires: /sbin/zpool
%description daemon-driver-storage-zfs
The storage driver backend adding implementation of the storage APIs for
ZFS volumes.
%endif
%endif
%package daemon-driver-storage
Summary: Storage driver plugin including all backends for the libvirtd daemon
@ -763,25 +776,25 @@ Requires: libvirt-daemon-driver-storage-logical = %{version}-%{release}
Requires: libvirt-daemon-driver-storage-scsi = %{version}-%{release}
Requires: libvirt-daemon-driver-storage-iscsi = %{version}-%{release}
Requires: libvirt-daemon-driver-storage-mpath = %{version}-%{release}
%if %{with_storage_iscsi_direct}
%if %{with_storage_iscsi_direct}
Requires: libvirt-daemon-driver-storage-iscsi-direct = %{version}-%{release}
%endif
%if %{with_storage_gluster}
%endif
%if %{with_storage_gluster}
Requires: libvirt-daemon-driver-storage-gluster = %{version}-%{release}
%endif
%if %{with_storage_rbd}
%endif
%if %{with_storage_rbd}
Requires: libvirt-daemon-driver-storage-rbd = %{version}-%{release}
%endif
%if %{with_storage_zfs}
%endif
%if %{with_storage_zfs}
Requires: libvirt-daemon-driver-storage-zfs = %{version}-%{release}
%endif
%endif
%description daemon-driver-storage
The storage driver plugin for the libvirtd daemon, providing
an implementation of the storage APIs using LVM, iSCSI,
parted and more.
%if %{with_qemu}
%if %{with_qemu}
%package daemon-driver-qemu
Summary: QEMU driver plugin for the libvirtd daemon
Requires: libvirt-daemon-common = %{version}-%{release}
@ -795,26 +808,26 @@ Requires: lzop
Requires: xz
Requires: systemd-container
Requires: swtpm-tools
%if %{with_numad}
%if %{with_numad}
Requires: numad
%endif
%if 0%{?fedora} || 0%{?rhel} >= 9
%endif
%if 0%{?fedora} || 0%{?rhel} >= 9
Recommends: passt
Recommends: passt-selinux
%endif
%if %{with_nbdkit}
%endif
%if %{with_nbdkit}
Recommends: nbdkit
Recommends: nbdkit-curl-plugin
Recommends: nbdkit-ssh-plugin
%endif
%endif
%description daemon-driver-qemu
The qemu driver plugin for the libvirtd daemon, providing
an implementation of the hypervisor driver APIs using
QEMU
%endif
%endif
%if %{with_lxc}
%if %{with_lxc}
%package daemon-driver-lxc
Summary: LXC driver plugin for the libvirtd daemon
Requires: libvirt-daemon-common = %{version}-%{release}
@ -824,17 +837,17 @@ Requires: libvirt-daemon-driver-network = %{version}-%{release}
Requires: systemd-container
# for modprobe of nbd driver
Requires: module-init-tools
%if %{with_numad}
%if %{with_numad}
Requires: numad
%endif
%endif
%description daemon-driver-lxc
The LXC driver plugin for the libvirtd daemon, providing
an implementation of the hypervisor driver APIs using
the Linux kernel
%endif
%endif
%if %{with_vbox}
%if %{with_vbox}
%package daemon-driver-vbox
Summary: VirtualBox driver plugin for the libvirtd daemon
Requires: libvirt-daemon-common = %{version}-%{release}
@ -844,9 +857,9 @@ Requires: libvirt-libs = %{version}-%{release}
The vbox driver plugin for the libvirtd daemon, providing
an implementation of the hypervisor driver APIs using
VirtualBox
%endif
%endif
%if %{with_libxl}
%if %{with_libxl}
%package daemon-driver-libxl
Summary: Libxl driver plugin for the libvirtd daemon
Requires: libvirt-daemon-common = %{version}-%{release}
@ -857,22 +870,22 @@ Obsoletes: libvirt-daemon-driver-xen < 4.3.0
The Libxl driver plugin for the libvirtd daemon, providing
an implementation of the hypervisor driver APIs using
Libxl
%endif
%endif
%if %{with_qemu_tcg}
%if %{with_qemu_tcg}
%package daemon-qemu
Summary: Server side daemon & driver required to run QEMU guests
%if %{with_modular_daemons}
%if %{with_modular_daemons}
Requires: libvirt-daemon-common = %{version}-%{release}
Requires: libvirt-daemon-log = %{version}-%{release}
Requires: libvirt-daemon-lock = %{version}-%{release}
Requires: libvirt-daemon-plugin-lockd = %{version}-%{release}
Requires: libvirt-daemon-proxy = %{version}-%{release}
Recommends: libvirt-daemon = %{version}-%{release}
%else
%else
Requires: libvirt-daemon = %{version}-%{release}
%endif
%endif
Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
Requires: libvirt-daemon-driver-network = %{version}-%{release}
@ -885,22 +898,22 @@ Requires: qemu
%description daemon-qemu
Server side daemon and driver required to manage the virtualization
capabilities of the QEMU TCG emulators
%endif
%endif
%if %{with_qemu_kvm}
%if %{with_qemu_kvm}
%package daemon-kvm
Summary: Server side daemon & driver required to run KVM guests
%if %{with_modular_daemons}
%if %{with_modular_daemons}
Requires: libvirt-daemon-common = %{version}-%{release}
Requires: libvirt-daemon-log = %{version}-%{release}
Requires: libvirt-daemon-lock = %{version}-%{release}
Requires: libvirt-daemon-plugin-lockd = %{version}-%{release}
Requires: libvirt-daemon-proxy = %{version}-%{release}
Recommends: libvirt-daemon = %{version}-%{release}
%else
%else
Requires: libvirt-daemon = %{version}-%{release}
%endif
%endif
Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
Requires: libvirt-daemon-driver-network = %{version}-%{release}
@ -913,19 +926,19 @@ Requires: qemu-kvm
%description daemon-kvm
Server side daemon and driver required to manage the virtualization
capabilities of the KVM hypervisor
%endif
%endif
%if %{with_lxc}
%if %{with_lxc}
%package daemon-lxc
Summary: Server side daemon & driver required to run LXC guests
%if %{with_modular_daemons}
%if %{with_modular_daemons}
Requires: libvirt-daemon-common = %{version}-%{release}
Requires: libvirt-daemon-proxy = %{version}-%{release}
Recommends: libvirt-daemon = %{version}-%{release}
%else
%else
Requires: libvirt-daemon = %{version}-%{release}
%endif
%endif
Requires: libvirt-daemon-driver-lxc = %{version}-%{release}
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
Requires: libvirt-daemon-driver-network = %{version}-%{release}
@ -937,21 +950,21 @@ Requires: libvirt-daemon-driver-storage = %{version}-%{release}
%description daemon-lxc
Server side daemon and driver required to manage the virtualization
capabilities of LXC
%endif
%endif
%if %{with_libxl}
%if %{with_libxl}
%package daemon-xen
Summary: Server side daemon & driver required to run XEN guests
%if %{with_modular_daemons}
%if %{with_modular_daemons}
Requires: libvirt-daemon-common = %{version}-%{release}
Requires: libvirt-daemon-lock = %{version}-%{release}
Requires: libvirt-daemon-plugin-lockd = %{version}-%{release}
Requires: libvirt-daemon-proxy = %{version}-%{release}
Recommends: libvirt-daemon = %{version}-%{release}
%else
%else
Requires: libvirt-daemon = %{version}-%{release}
%endif
%endif
Requires: libvirt-daemon-driver-libxl = %{version}-%{release}
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
Requires: libvirt-daemon-driver-network = %{version}-%{release}
@ -964,19 +977,19 @@ Requires: xen
%description daemon-xen
Server side daemon and driver required to manage the virtualization
capabilities of XEN
%endif
%endif
%if %{with_vbox}
%if %{with_vbox}
%package daemon-vbox
Summary: Server side daemon & driver required to run VirtualBox guests
%if %{with_modular_daemons}
%if %{with_modular_daemons}
Requires: libvirt-daemon-common = %{version}-%{release}
Requires: libvirt-daemon-proxy = %{version}-%{release}
Recommends: libvirt-daemon = %{version}-%{release}
%else
%else
Requires: libvirt-daemon = %{version}-%{release}
%endif
%endif
Requires: libvirt-daemon-driver-vbox = %{version}-%{release}
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
Requires: libvirt-daemon-driver-network = %{version}-%{release}
@ -988,7 +1001,7 @@ Requires: libvirt-daemon-driver-storage = %{version}-%{release}
%description daemon-vbox
Server side daemon and driver required to manage the virtualization
capabilities of VirtualBox
%endif
%endif
%package client
Summary: Client side utilities of the libvirt library
@ -1025,7 +1038,7 @@ Requires: cyrus-sasl-gssapi
%description libs
Shared libraries for accessing the libvirt daemon.
%if %{with_wireshark}
%if %{with_wireshark}
%package wireshark
Summary: Wireshark dissector plugin for libvirt RPC transactions
Requires: wireshark
@ -1033,9 +1046,9 @@ Requires: libvirt-libs = %{version}-%{release}
%description wireshark
Wireshark dissector plugin for better analysis of libvirt RPC traffic.
%endif
%endif
%if %{with_lxc}
%if %{with_lxc}
%package login-shell
Summary: Login shell for connecting users to an LXC container
Requires: libvirt-libs = %{version}-%{release}
@ -1044,7 +1057,7 @@ Requires: libvirt-libs = %{version}-%{release}
Provides the set-uid virt-login-shell binary that is used to
connect a user to an LXC container when they login, by switching
namespaces.
%endif
%endif
%package devel
Summary: Libraries, includes, etc. to compile with the libvirt library
@ -1054,7 +1067,7 @@ Requires: pkgconfig
%description devel
Include header files & development libraries for the libvirt C library.
%if %{with_sanlock}
%if %{with_sanlock}
%package daemon-plugin-sanlock
Summary: Sanlock lock manager plugin for QEMU driver
Requires: sanlock >= 2.4
@ -1067,7 +1080,7 @@ Provides: libvirt-lock-sanlock = %{version}-%{release}
%description daemon-plugin-sanlock
Includes the Sanlock lock manager plugin for the QEMU
driver
%endif
%endif
%package nss
Summary: Libvirt plugin for Name Service Switch
@ -1075,6 +1088,7 @@ Requires: libvirt-daemon-driver-network = %{version}-%{release}
%description nss
Libvirt plugin for NSS for translating domain names into IP addresses.
%endif
%if %{with_mingw32}
%package -n mingw32-libvirt
@ -1266,6 +1280,7 @@ exit 1
export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/libvirt.spec)
%if %{with_native}
%meson \
-Drunstatedir=%{_rundir} \
-Dinitconfdir=%{_sysconfdir}/sysconfig \
@ -1341,6 +1356,7 @@ export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/libvirt.spec)
%{?arg_login_shell}
%meson_build
%endif
%if %{with_mingw32} || %{with_mingw64}
%mingw_meson \
@ -1417,7 +1433,7 @@ export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/libvirt.spec)
-Dudev=disabled \
-Dwireshark_dissector=disabled \
-Dyajl=disabled
%mingw_ninja
%mingw_ninja
%endif
%install
@ -1425,6 +1441,7 @@ rm -fr %{buildroot}
export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/libvirt.spec)
%if %{with_native}
%meson_install
# We don't want to install /etc/libvirt/qemu/networks in the main %%files list
@ -1444,47 +1461,48 @@ cp -a $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/nwfilter/*.xml \
# libvirt saves these files with mode 600
chmod 600 $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/nwfilter/*.xml
%if ! %{with_qemu}
%if ! %{with_qemu}
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_qemu.aug
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
%endif
%endif
%find_lang %{name}
%if ! %{with_sanlock}
%if ! %{with_sanlock}
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirt_sanlock.aug
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug
%endif
%endif
%if ! %{with_lxc}
%if ! %{with_lxc}
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_lxc.aug
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
%endif
%endif
%if ! %{with_qemu}
%if ! %{with_qemu}
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.qemu
%endif
%if ! %{with_lxc}
%endif
%if ! %{with_lxc}
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/lxc.conf
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.lxc
%endif
%if ! %{with_libxl}
%endif
%if ! %{with_libxl}
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/libxl.conf
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.libxl
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_libxl.aug
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.aug
%endif
%endif
# Copied into libvirt-docs subpackage eventually
mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt libvirt-docs
%ifarch %{arches_systemtap_64bit}
%ifarch %{arches_systemtap_64bit}
mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes.stp \
$RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes-64.stp
%if %{with_qemu}
%if %{with_qemu}
mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes.stp \
$RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes-64.stp
%endif
%endif
%endif
@ -1516,9 +1534,12 @@ rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-guests.sh
%endif
%check
%if %{with_native}
# Building on slow archs, like emulated s390x in Fedora copr, requires
# raising the test timeout
VIR_TEST_DEBUG=1 %meson_test --no-suite syntax-check --timeout-multiplier 10
%endif
%define libvirt_rpmstatedir %{_localstatedir}/lib/rpm-state/libvirt
@ -1664,6 +1685,7 @@ VIR_TEST_DEBUG=1 %meson_test --no-suite syntax-check --timeout-multiplier 10
%define libvirt_systemd_config_pre() %libvirt_systemd_schedule_restart %1.service
%define libvirt_systemd_config_posttrans() %libvirt_systemd_perform_restart %1.service
%if %{with_native}
%pre daemon
%libvirt_sysconfig_pre libvirtd
%libvirt_systemd_inet_pre libvirtd
@ -1728,9 +1750,9 @@ exit 0
%libvirt_systemd_unix_pre virtnetworkd
%post daemon-driver-network
%if %{with_firewalld_zone}
%if %{with_firewalld_zone}
%firewalld_reload
%endif
%endif
%posttrans daemon-driver-network
%libvirt_sysconfig_posttrans virtnetworkd
@ -1740,9 +1762,9 @@ exit 0
%libvirt_systemd_unix_preun virtnetworkd
%postun daemon-driver-network
%if %{with_firewalld_zone}
%if %{with_firewalld_zone}
%firewalld_reload
%endif
%endif
%pre daemon-driver-nwfilter
%libvirt_sysconfig_pre virtnwfilterd
@ -1799,7 +1821,7 @@ exit 0
%preun daemon-driver-storage-core
%libvirt_systemd_unix_preun virtstoraged
%if %{with_qemu}
%if %{with_qemu}
%pre daemon-driver-qemu
%libvirt_sysconfig_pre virtqemud
%libvirt_systemd_unix_pre virtqemud
@ -1823,9 +1845,9 @@ exit 0
%preun daemon-driver-qemu
%libvirt_systemd_unix_preun virtqemud
%endif
%endif
%if %{with_lxc}
%if %{with_lxc}
%pre daemon-driver-lxc
%libvirt_sysconfig_pre virtlxcd
%libvirt_systemd_unix_pre virtlxcd
@ -1836,9 +1858,9 @@ exit 0
%preun daemon-driver-lxc
%libvirt_systemd_unix_preun virtlxcd
%endif
%endif
%if %{with_vbox}
%if %{with_vbox}
%pre daemon-driver-vbox
%libvirt_sysconfig_pre virtvboxd
%libvirt_systemd_unix_pre virtvboxd
@ -1849,9 +1871,9 @@ exit 0
%preun daemon-driver-vbox
%libvirt_systemd_unix_preun virtvboxd
%endif
%endif
%if %{with_libxl}
%if %{with_libxl}
%pre daemon-driver-libxl
%libvirt_sysconfig_pre virtxend
%libvirt_systemd_unix_pre virtxend
@ -1862,7 +1884,7 @@ exit 0
%preun daemon-driver-libxl
%libvirt_systemd_unix_preun virtxend
%endif
%endif
%pre daemon-config-network
%libvirt_systemd_config_pre libvirtd
@ -1927,12 +1949,14 @@ done
%libvirt_systemd_config_posttrans libvirtd
%libvirt_systemd_config_posttrans virtnwfilterd
%if %{with_lxc}
%if %{with_lxc}
%pre login-shell
getent group virtlogin >/dev/null || groupadd -r virtlogin
exit 0
%endif
%endif
%if %{with_native}
%files
%files docs
@ -1993,9 +2017,9 @@ exit 0
%{_datadir}/augeas/lenses/virtlockd.aug
%{_datadir}/augeas/lenses/tests/test_virtlockd.aug
%{_datadir}/augeas/lenses/libvirt_lockd.aug
%if %{with_qemu}
%if %{with_qemu}
%{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug
%endif
%endif
%attr(0755, root, root) %{_sbindir}/virtlockd
%{_mandir}/man8/virtlockd.8*
@ -2068,13 +2092,13 @@ exit 0
%attr(0755, root, root) %{_libexecdir}/libvirt_leaseshelper
%{_libdir}/libvirt/connection-driver/libvirt_driver_network.so
%{_mandir}/man8/virtnetworkd.8*
%if %{with_firewalld_zone}
%if %{with_firewalld_zone}
%{_prefix}/lib/firewalld/zones/libvirt.xml
%{_prefix}/lib/firewalld/zones/libvirt-routed.xml
%{_prefix}/lib/firewalld/policies/libvirt-routed-in.xml
%{_prefix}/lib/firewalld/policies/libvirt-routed-out.xml
%{_prefix}/lib/firewalld/policies/libvirt-to-host.xml
%endif
%endif
%files daemon-driver-nodedev
%config(noreplace) %{_sysconfdir}/libvirt/virtnodedevd.conf
@ -2151,31 +2175,31 @@ exit 0
%files daemon-driver-storage-iscsi
%{_libdir}/libvirt/storage-backend/libvirt_storage_backend_iscsi.so
%if %{with_storage_iscsi_direct}
%if %{with_storage_iscsi_direct}
%files daemon-driver-storage-iscsi-direct
%{_libdir}/libvirt/storage-backend/libvirt_storage_backend_iscsi-direct.so
%endif
%endif
%files daemon-driver-storage-mpath
%{_libdir}/libvirt/storage-backend/libvirt_storage_backend_mpath.so
%if %{with_storage_gluster}
%if %{with_storage_gluster}
%files daemon-driver-storage-gluster
%{_libdir}/libvirt/storage-backend/libvirt_storage_backend_gluster.so
%{_libdir}/libvirt/storage-file/libvirt_storage_file_gluster.so
%endif
%endif
%if %{with_storage_rbd}
%if %{with_storage_rbd}
%files daemon-driver-storage-rbd
%{_libdir}/libvirt/storage-backend/libvirt_storage_backend_rbd.so
%endif
%endif
%if %{with_storage_zfs}
%if %{with_storage_zfs}
%files daemon-driver-storage-zfs
%{_libdir}/libvirt/storage-backend/libvirt_storage_backend_zfs.so
%endif
%endif
%if %{with_qemu}
%if %{with_qemu}
%files daemon-driver-qemu
%config(noreplace) %{_sysconfdir}/libvirt/virtqemud.conf
%config(noreplace) %{_prefix}/lib/sysctl.d/60-qemu-postcopy-migration.conf
@ -2213,9 +2237,9 @@ exit 0
%{_bindir}/virt-qemu-run
%{_mandir}/man1/virt-qemu-run.1*
%{_mandir}/man8/virtqemud.8*
%endif
%endif
%if %{with_lxc}
%if %{with_lxc}
%files daemon-driver-lxc
%config(noreplace) %{_sysconfdir}/libvirt/virtlxcd.conf
%{_datadir}/augeas/lenses/virtlxcd.aug
@ -2237,9 +2261,9 @@ exit 0
%attr(0755, root, root) %{_libexecdir}/libvirt_lxc
%{_libdir}/libvirt/connection-driver/libvirt_driver_lxc.so
%{_mandir}/man8/virtlxcd.8*
%endif
%endif
%if %{with_libxl}
%if %{with_libxl}
%files daemon-driver-libxl
%config(noreplace) %{_sysconfdir}/libvirt/virtxend.conf
%{_datadir}/augeas/lenses/virtxend.aug
@ -2265,9 +2289,9 @@ exit 0
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/save/
%{_libdir}/libvirt/connection-driver/libvirt_driver_libxl.so
%{_mandir}/man8/virtxend.8*
%endif
%endif
%if %{with_vbox}
%if %{with_vbox}
%files daemon-driver-vbox
%config(noreplace) %{_sysconfdir}/libvirt/virtvboxd.conf
%{_datadir}/augeas/lenses/virtvboxd.aug
@ -2279,36 +2303,36 @@ exit 0
%attr(0755, root, root) %{_sbindir}/virtvboxd
%{_libdir}/libvirt/connection-driver/libvirt_driver_vbox.so
%{_mandir}/man8/virtvboxd.8*
%endif
%endif
%if %{with_qemu_tcg}
%if %{with_qemu_tcg}
%files daemon-qemu
%endif
%endif
%if %{with_qemu_kvm}
%if %{with_qemu_kvm}
%files daemon-kvm
%endif
%endif
%if %{with_lxc}
%if %{with_lxc}
%files daemon-lxc
%endif
%if %{with_libxl}
%files daemon-xen
%endif
%if %{with_vbox}
%files daemon-vbox
%endif
%if %{with_sanlock}
%files daemon-plugin-sanlock
%if %{with_qemu}
%config(noreplace) %{_sysconfdir}/libvirt/qemu-sanlock.conf
%endif
%if %{with_libxl}
%config(noreplace) %{_sysconfdir}/libvirt/libxl-sanlock.conf
%files daemon-xen
%endif
%if %{with_vbox}
%files daemon-vbox
%endif
%if %{with_sanlock}
%files daemon-plugin-sanlock
%if %{with_qemu}
%config(noreplace) %{_sysconfdir}/libvirt/qemu-sanlock.conf
%endif
%if %{with_libxl}
%config(noreplace) %{_sysconfdir}/libvirt/libxl-sanlock.conf
%endif
%dir %attr(0755, root, root) %{_libdir}/libvirt/lock-driver/
%attr(0755, root, root) %{_libdir}/libvirt/lock-driver/sanlock.so
%{_datadir}/augeas/lenses/libvirt_sanlock.aug
@ -2317,7 +2341,7 @@ exit 0
%{_sbindir}/virt-sanlock-cleanup
%{_mandir}/man8/virt-sanlock-cleanup.8*
%attr(0755, root, root) %{_libexecdir}/libvirt_sanlock_helper
%endif
%endif
%files client
%{_mandir}/man1/virsh.1*
@ -2331,13 +2355,13 @@ exit 0
%{_bindir}/virt-pki-validate
%{_datadir}/bash-completion/completions/virsh
%if %{with_qemu}
%if %{with_qemu}
%files client-qemu
%{_mandir}/man1/virt-qemu-qmp-proxy.1*
%{_mandir}/man1/virt-qemu-sev-validate.1*
%{_bindir}/virt-qemu-qmp-proxy
%{_bindir}/virt-qemu-sev-validate
%endif
%endif
%files libs -f %{name}.lang
%license COPYING COPYING.LESSER
@ -2352,29 +2376,29 @@ exit 0
%dir %{_datadir}/libvirt/schemas/
%{_datadir}/systemtap/tapset/libvirt_probes*.stp
%{_datadir}/systemtap/tapset/libvirt_functions.stp
%if %{with_qemu}
%if %{with_qemu}
%{_datadir}/systemtap/tapset/libvirt_qemu_probes*.stp
%endif
%endif
%{_datadir}/libvirt/schemas/*.rng
%{_datadir}/libvirt/cpu_map/*.xml
%{_datadir}/libvirt/test-screenshot.png
%if %{with_wireshark}
%if %{with_wireshark}
%files wireshark
%{wireshark_plugindir}/libvirt.so
%endif
%endif
%files nss
%{_libdir}/libnss_libvirt.so.2
%{_libdir}/libnss_libvirt_guest.so.2
%if %{with_lxc}
%if %{with_lxc}
%files login-shell
%attr(4750, root, virtlogin) %{_bindir}/virt-login-shell
%{_libexecdir}/virt-login-shell-helper
%config(noreplace) %{_sysconfdir}/libvirt/virt-login-shell.conf
%{_mandir}/man1/virt-login-shell.1*
%endif
%endif
%files devel
%{_libdir}/libvirt.so
@ -2409,6 +2433,7 @@ exit 0
%{_datadir}/libvirt/api/libvirt-admin-api.xml
%{_datadir}/libvirt/api/libvirt-qemu-api.xml
%{_datadir}/libvirt/api/libvirt-lxc-api.xml
%endif
%if %{with_mingw32}
%files -n mingw32-libvirt -f mingw32-libvirt.lang