#2 Update to v10.1.0 for hyperscale release
Opened a month ago by render. Modified a month ago

file modified
+397 -224
@@ -90,11 +90,14 @@ 

  

  # Other optional features

  %define with_numactl          0%{!?_without_numactl:1}

+ %define with_userfaultfd_sysctl 0%{!?_without_userfaultfd_sysctl:1}

  

  # A few optional bits off by default, we enable later

  %define with_fuse             0

  %define with_sanlock          0

  %define with_numad            0

+ %define with_nbdkit           0

+ %define with_nbdkit_config_default 0

  %define with_firewalld_zone   0

  %define with_netcf            0

  %define with_libssh2          0
@@ -128,7 +131,6 @@ 

      %define with_vmware 0

      %define with_libxl 0

      %define with_hyperv 0

-     %define with_vz 0

      %define with_lxc 0

  %endif

  
@@ -174,6 +176,26 @@ 

      %endif

  %endif

  

+ # We want to build with nbdkit support, but should only enable nbdkit by

+ # default if the OS ships a SELinux policy that allows libvirt to launch it.

+ # Right now that's not the case anywhere, but things should be fine by the time

+ # Fedora 40 is released.

+ %if %{with_qemu}

+     # rhel-8 lacks pidfd_open

+     %if 0%{?fedora} || 0%{?rhel} >= 9

+         %define with_nbdkit 0%{!?_without_nbdkit:1}

+ 

+         # setting 'with_nbdkit_config_default' must be done only when compiling

+         # in nbdkit support

+         #

+         # TODO: add RHEL 9 once a minor release that contains the necessary SELinux

+         #       bits exists (we only support the most recent minor release)

+         %if 0%{?fedora} >= 40

+             %define with_nbdkit_config_default 0%{!?_without_nbdkit_config_default:1}

+         %endif

+     %endif

+ %endif

+ 

  %ifarch %{arches_dmidecode}

      %define with_dmidecode 0%{!?_without_dmidecode:1}

  %endif
@@ -191,9 +213,29 @@ 

  %define qemu_moddir %{_libdir}/qemu

  %define qemu_datadir %{_datadir}/qemu

  

- %define with_mingw 0

+ # Native / MinGW builds

+ %define with_native 0%{!?_without_native:1}

+ 

+ %define with_mingw32 0

+ %define with_mingw64 0

+ 

  %if 0%{?fedora}

-     %define with_mingw 0%{!?_without_mingw:1}

+     %if 0%{!?_without_mingw:1}

+         %define with_mingw32 0%{!?_without_mingw32:1}

+         %define with_mingw64 0%{!?_without_mingw64:1}

+     %endif

+ 

+     # These tell the other mingw macros whether to perform or

+     # skip the 32-bit and 64-bit specific steps respectively

+     %define mingw_build_win32 %{with_mingw32}

+     %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
@@ -205,6 +247,12 @@ 

      %define enable_werror -Dwerror=false -Dgit_werror=disabled

  %endif

  

+ # Fedora and RHEL-9 are new enough to support /dev/userfaultfd, which

+ # does not require enabling vm.unprivileged_userfaultfd sysctl.

+ %if 0%{?fedora} || 0%{?rhel} >= 9

+     %define with_userfaultfd_sysctl 0

+ %endif

+ 

  %define tls_priority "@LIBVIRT,SYSTEM"

  

  # libvirt 8.1.0 stops distributing any sysconfig files.
@@ -226,14 +274,20 @@ 

      done \

      %{nil}

  

+ # To prevent rpmdev-bumpspec breakage

+ %global baserelease 1

+ 

+ # Hyperscale release

+ %global hsrel .1

+ 

  Summary: Library providing a simple virtualization API

  Name: libvirt

- Version: 9.7.0

- Release: 1%{?dist}

+ Version: 10.1.0

+ Release: %{baserelease}%{?hsrel}%{?dist}

  License: GPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND OFL-1.1

  URL: https://libvirt.org/

  

- %if %(echo %{version} | grep -q "\.0$"; echo $?) == 1

+ %if %(echo %{version} | grep "\.0$" >/dev/null; echo $?) == 1

      %define mainturl stable_updates/

  %endif

  Source: https://download.libvirt.org/%{?mainturl}libvirt-%{version}.tar.xz
@@ -249,6 +303,7 @@ 

  %endif

  %if %{with_qemu}

  Requires: libvirt-daemon-driver-qemu = %{version}-%{release}

+ Requires: libvirt-client-qemu = %{version}-%{release}

  %endif

  # We had UML driver, but we've removed it.

  Obsoletes: libvirt-daemon-driver-uml <= 5.0.0
@@ -268,21 +323,29 @@ 

  # All build-time requirements. Run-time requirements are

  # listed against each sub-RPM

  BuildRequires: python3-docutils

- BuildRequires: gcc

  BuildRequires: meson >= 0.56.0

  BuildRequires: ninja-build

  BuildRequires: git

  BuildRequires: perl-interpreter

  BuildRequires: python3

- %if %{with_libxl}

+ BuildRequires: python3-pytest

+ # For xmllint

+ BuildRequires: libxml2

+ # For xsltproc

+ BuildRequires: libxslt

+ BuildRequires: gettext

+ BuildRequires: systemd-rpm-macros

+ # Fedora build root suckage

+ BuildRequires: gawk

+ %if %{with_native}

+ BuildRequires: gcc

+     %if %{with_libxl}

  BuildRequires: xen-devel

- %endif

+     %endif

  BuildRequires: glib2-devel >= 2.56

  BuildRequires: libxml2-devel

- BuildRequires: libxslt

  BuildRequires: readline-devel

- BuildRequires: bash-completion >= 2.0

- BuildRequires: gettext

+ BuildRequires: pkgconfig(bash-completion) >= 2.0

  BuildRequires: libtasn1-devel

  BuildRequires: gnutls-devel

  BuildRequires: libattr-devel
@@ -291,71 +354,72 @@ 

  # for augparse, optionally used in testing

  BuildRequires: augeas

  BuildRequires: systemd-devel >= 185

- BuildRequires: systemd-rpm-macros

  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

  BuildRequires: iptables

  BuildRequires: ebtables

- BuildRequires: module-init-tools

+ # For modprobe

+ BuildRequires: kmod

  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}

+ BuildRequires: libnbd-devel

+     %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

- 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
@@ -363,33 +427,27 @@ 

  BuildRequires: util-linux

  # For showmount in FS driver (netfs discovery)

  BuildRequires: nfs-utils

- # Fedora build root suckage

- BuildRequires: gawk

- # 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

- BuildRequires: rpcgen

+     %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_mingw}

+ %if %{with_mingw32}

  BuildRequires: mingw32-filesystem

  BuildRequires: mingw32-gcc

  BuildRequires: mingw32-binutils

  BuildRequires: mingw32-glib2 >= 2.48

- BuildRequires: mingw32-libgpg-error

- BuildRequires: mingw32-libgcrypt

  BuildRequires: mingw32-gnutls

  BuildRequires: mingw32-gettext

  BuildRequires: mingw32-libxml2
@@ -397,12 +455,12 @@ 

  BuildRequires: mingw32-dlfcn

  BuildRequires: mingw32-libssh2

  BuildRequires: mingw32-curl

+ %endif

+ %if %{with_mingw64}

  BuildRequires: mingw64-filesystem

  BuildRequires: mingw64-gcc

  BuildRequires: mingw64-binutils

  BuildRequires: mingw64-glib2 >= 2.48

- BuildRequires: mingw64-libgpg-error

- BuildRequires: mingw64-libgcrypt

  BuildRequires: mingw64-gnutls

  BuildRequires: mingw64-gettext

  BuildRequires: mingw64-libxml2
@@ -417,6 +475,7 @@ 

  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

  
@@ -456,10 +515,10 @@ 

  # 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
@@ -468,11 +527,11 @@ 

  # 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
@@ -567,6 +626,7 @@ 

  # needed for device enumeration

  Requires: systemd >= 185

  # For managing persistent mediated devices

+ # Note: for nodedev-update support at least mdevctl v1.3.0 is required

  Requires: mdevctl

  # for modprobe of pci devices

  Requires: module-init-tools
@@ -580,9 +640,9 @@ 

  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
@@ -604,13 +664,15 @@ 

  Requires: nfs-utils

  # For mkfs

  Requires: util-linux

- %if %{with_qemu}

+ # For storage wiping with different algorithms

+ Requires: scrub

+     %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
@@ -658,7 +720,7 @@ 

  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}
@@ -667,7 +729,7 @@ 

  %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
@@ -679,24 +741,24 @@ 

  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}
@@ -705,9 +767,9 @@ 

  %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}
@@ -719,7 +781,7 @@ 

  %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
@@ -729,25 +791,25 @@ 

  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}
@@ -761,21 +823,26 @@ 

  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

+         %endif

+         %if %{with_nbdkit}

+ Recommends: nbdkit

+ Recommends: nbdkit-curl-plugin

+ Recommends: nbdkit-ssh-plugin

+         %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}
@@ -785,17 +852,17 @@ 

  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}
@@ -805,9 +872,9 @@ 

  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}
@@ -818,22 +885,22 @@ 

  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}
@@ -846,22 +913,22 @@ 

  %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}
@@ -869,24 +936,30 @@ 

  Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}

  Requires: libvirt-daemon-driver-secret = %{version}-%{release}

  Requires: libvirt-daemon-driver-storage = %{version}-%{release}

+ 

+ # relax requirement for qemu-kvm for fb builds

+ %if 0%{?facebook}

+ Recommends: qemu-kvm

+ %else

  Requires: qemu-kvm

+ %endif

  

  %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}
@@ -898,21 +971,21 @@ 

  %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}
@@ -925,19 +998,19 @@ 

  %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}
@@ -949,7 +1022,7 @@ 

  %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
@@ -986,7 +1059,7 @@ 

  %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
@@ -994,9 +1067,9 @@ 

  

  %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}
@@ -1005,7 +1078,7 @@ 

  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
@@ -1015,7 +1088,7 @@ 

  %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
@@ -1028,7 +1101,7 @@ 

  %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
@@ -1036,8 +1109,9 @@ 

  

  %description nss

  Libvirt plugin for NSS for translating domain names into IP addresses.

+ %endif

  

- %if %{with_mingw}

+ %if %{with_mingw32}

  %package -n mingw32-libvirt

  Summary: %{summary}

  Obsoletes: mingw32-libvirt-static < 7.0.0
@@ -1046,6 +1120,10 @@ 

  %description -n mingw32-libvirt

  MinGW Windows libvirt virtualization library.

  

+ %{?mingw32_debug_package}

+ %endif

+ 

+ %if %{with_mingw64}

  %package -n mingw64-libvirt

  Summary: %{summary}

  Obsoletes: mingw64-libvirt-static < 7.0.0
@@ -1054,7 +1132,7 @@ 

  %description -n mingw64-libvirt

  MinGW Windows libvirt virtualization library.

  

- %{?mingw_debug_package}

+ %{?mingw64_debug_package}

  %endif

  

  %prep
@@ -1152,6 +1230,18 @@ 

      %define arg_numad -Dnumad=disabled

  %endif

  

+ %if %{with_nbdkit}

+     %define arg_nbdkit -Dnbdkit=enabled

+ %else

+     %define arg_nbdkit -Dnbdkit=disabled

+ %endif

+ 

+ %if %{with_nbdkit_config_default}

+     %define arg_nbdkit_config_default -Dnbdkit_config_default=enabled

+ %else

+     %define arg_nbdkit_config_default -Dnbdkit_config_default=disabled

+ %endif

+ 

  %if %{with_fuse}

      %define arg_fuse -Dfuse=enabled

  %else
@@ -1206,6 +1296,12 @@ 

      %define arg_remote_mode -Dremote_default_mode=legacy

  %endif

  

+ %if %{with_userfaultfd_sysctl}

+     %define arg_userfaultfd_sysctl -Duserfaultfd_sysctl=enabled

+ %else

+     %define arg_userfaultfd_sysctl -Duserfaultfd_sysctl=disabled

+ %endif

+ 

  %define when  %(date +"%%F-%%T")

  %define where %(hostname)

  %define who   %{?packager}%{!?packager:Unknown}
@@ -1217,6 +1313,7 @@ 

  

  export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/libvirt.spec)

  

+ %if %{with_native}

  %meson \

             -Drunstatedir=%{_rundir} \

             -Dinitconfdir=%{_sysconfdir}/sysconfig \
@@ -1255,6 +1352,7 @@ 

             -Dcapng=enabled \

             %{?arg_fuse} \

             %{?arg_netcf} \

+            -Dnls=enabled \

             -Dselinux=enabled \

             %{?arg_selinux_mount} \

             -Dapparmor=disabled \
@@ -1264,6 +1362,8 @@ 

             -Dyajl=enabled \

             %{?arg_sanlock} \

             -Dlibpcap=enabled \

+            %{?arg_nbdkit} \

+            %{?arg_nbdkit_config_default} \

             -Dlibnl=enabled \

             -Daudit=enabled \

             -Ddtrace=enabled \
@@ -1281,6 +1381,8 @@ 

             -Dqemu_moddir=%{qemu_moddir} \

             -Dqemu_datadir=%{qemu_datadir} \

             -Dtls_priority=%{tls_priority} \

+            -Dsysctl_config=enabled \

+            %{?arg_userfaultfd_sysctl} \

             %{?enable_werror} \

             -Dexpensive_tests=enabled \

             -Dinit_script=systemd \
@@ -1290,8 +1392,9 @@ 

             %{?arg_login_shell}

  

  %meson_build

+ %endif

  

- %if %{with_mingw}

+ %if %{with_mingw32} || %{with_mingw64}

  %mingw_meson \

    --auto-features=enabled \

    -Ddriver_remote=enabled \
@@ -1320,20 +1423,22 @@ 

    -Ddriver_vmware=disabled \

    -Ddriver_vz=disabled \

    -Ddtrace=disabled \

-   -Dexpensive_tests=enabled \

+   -Dexpensive_tests=disabled \

    -Dfirewalld=disabled \

    -Dfirewalld_zone=disabled \

    -Dfuse=disabled \

    -Dglusterfs=disabled \

    -Dhost_validate=disabled \

    -Dlibiscsi=disabled \

+   -Dnbdkit=disabled \

+   -Dnbdkit_config_default=disabled \

    -Dlibnl=disabled \

    -Dlibpcap=disabled \

    -Dlibssh2=disabled \

    -Dlibssh=disabled \

    -Dlogin_shell=disabled \

    -Dnetcf=disabled \

-   -Dnls=disabled \

+   -Dnls=enabled \

    -Dnss=disabled \

    -Dnumactl=disabled \

    -Dnumad=disabled \
@@ -1361,11 +1466,12 @@ 

    -Dstorage_vstorage=disabled \

    -Dstorage_zfs=disabled \

    -Dsysctl_config=disabled \

+   -Duserfaultfd_sysctl=disabled \

    -Dtests=disabled \

    -Dudev=disabled \

    -Dwireshark_dissector=disabled \

    -Dyajl=disabled

- %mingw_ninja

+     %mingw_ninja

  %endif

  

  %install
@@ -1373,6 +1479,7 @@ 

  

  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
@@ -1392,65 +1499,73 @@ 

  # 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

+ rm -f $RPM_BUILD_ROOT%{_sysusersdir}/libvirt-qemu.conf

+     %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

  

- %if %{with_mingw}

+ %if %{with_mingw32} || %{with_mingw64}

  %mingw_ninja_install

+ %endif

  

+ %if %{with_mingw32}

  rm -rf $RPM_BUILD_ROOT%{mingw32_sysconfdir}/libvirt/nwfilter

- rm -rf $RPM_BUILD_ROOT%{mingw64_sysconfdir}/libvirt/nwfilter

  rm -rf $RPM_BUILD_ROOT%{mingw32_datadir}/doc/*

- rm -rf $RPM_BUILD_ROOT%{mingw64_datadir}/doc/*

  rm -rf $RPM_BUILD_ROOT%{mingw32_datadir}/gtk-doc/*

- rm -rf $RPM_BUILD_ROOT%{mingw64_datadir}/gtk-doc/*

- 

  rm -rf $RPM_BUILD_ROOT%{mingw32_libexecdir}/libvirt_iohelper.exe

- rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt_iohelper.exe

  rm -rf $RPM_BUILD_ROOT%{mingw32_libexecdir}/libvirt-guests.sh

+ %endif

+ 

+ %if %{with_mingw64}

+ rm -rf $RPM_BUILD_ROOT%{mingw64_sysconfdir}/libvirt/nwfilter

+ rm -rf $RPM_BUILD_ROOT%{mingw64_datadir}/doc/*

+ rm -rf $RPM_BUILD_ROOT%{mingw64_datadir}/gtk-doc/*

+ rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt_iohelper.exe

  rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-guests.sh

+ %endif

  

+ %if %{with_mingw32} || %{with_mingw64}

  %mingw_debug_install_post

  

  %mingw_find_lang %{name}
@@ -1458,9 +1573,12 @@ 

  %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

  
@@ -1606,6 +1724,7 @@ 

  %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
@@ -1670,9 +1789,9 @@ 

  %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
@@ -1682,9 +1801,9 @@ 

  %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
@@ -1741,20 +1860,23 @@ 

  %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

+ 

  # We want soft static allocation of well-known ids, as disk images

- # are commonly shared across NFS mounts by id rather than name; see

- # https://fedoraproject.org/wiki/Packaging:UsersAndGroups

- getent group kvm >/dev/null || groupadd -f -g 36 -r kvm

- getent group qemu >/dev/null || groupadd -f -g 107 -r qemu

- if ! getent passwd qemu >/dev/null; then

-   if ! getent passwd 107 >/dev/null; then

-     useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu

+ # are commonly shared across NFS mounts by id rather than name.

+ # See https://docs.fedoraproject.org/en-US/packaging-guidelines/UsersAndGroups/

+ # We can not use the sysusers_create_compat macro here as we want to keep the

+ # specfile standalone and not relying on additionnal files.

+ getent group 'kvm' >/dev/null || groupadd -f -g '36' -r 'kvm' || :

+ getent group 'qemu' >/dev/null || groupadd -f -g '107' -r 'qemu' || :

+ if ! getent passwd 'qemu' >/dev/null; then

+   if ! getent passwd '107' >/dev/null; then

+     useradd -r -u '107' -g 'qemu' -G 'kvm' -d '/' -s '/sbin/nologin' -c 'qemu user' 'qemu' || :

    else

-     useradd -r -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu

+     useradd -r -g 'qemu' -G 'kvm' -d '/' -s '/sbin/nologin' -c 'qemu user' 'qemu' || :

    fi

  fi

  exit 0
@@ -1765,9 +1887,9 @@ 

  

  %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
@@ -1778,9 +1900,9 @@ 

  

  %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
@@ -1791,9 +1913,9 @@ 

  

  %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
@@ -1804,7 +1926,7 @@ 

  

  %preun daemon-driver-libxl

  %libvirt_systemd_unix_preun virtxend

- %endif

+     %endif

  

  %pre daemon-config-network

  %libvirt_systemd_config_pre libvirtd
@@ -1869,12 +1991,14 @@ 

  %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
@@ -1935,9 +2059,9 @@ 

  %{_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*

  
@@ -2010,13 +2134,13 @@ 

  %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
@@ -2093,34 +2217,36 @@ 

  %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

+         %if %{with_userfaultfd_sysctl}

  %config(noreplace) %{_prefix}/lib/sysctl.d/60-qemu-postcopy-migration.conf

+         %endif

  %{_datadir}/augeas/lenses/virtqemud.aug

  %{_datadir}/augeas/lenses/tests/test_virtqemud.aug

  %{_unitdir}/virtqemud.service
@@ -2155,9 +2281,10 @@ 

  %{_bindir}/virt-qemu-run

  %{_mandir}/man1/virt-qemu-run.1*

  %{_mandir}/man8/virtqemud.8*

- %endif

+ %{_sysusersdir}/libvirt-qemu.conf

+     %endif

  

- %if %{with_lxc}

+     %if %{with_lxc}

  %files daemon-driver-lxc

  %config(noreplace) %{_sysconfdir}/libvirt/virtlxcd.conf

  %{_datadir}/augeas/lenses/virtlxcd.aug
@@ -2179,9 +2306,9 @@ 

  %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
@@ -2207,9 +2334,9 @@ 

  %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
@@ -2221,36 +2348,36 @@ 

  %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

+     %endif

  

- %if %{with_libxl}

+     %if %{with_libxl}

  %files daemon-xen

- %endif

+     %endif

  

- %if %{with_vbox}

+     %if %{with_vbox}

  %files daemon-vbox

- %endif

+     %endif

  

- %if %{with_sanlock}

+     %if %{with_sanlock}

  %files daemon-plugin-sanlock

-     %if %{with_qemu}

+         %if %{with_qemu}

  %config(noreplace) %{_sysconfdir}/libvirt/qemu-sanlock.conf

-     %endif

-     %if %{with_libxl}

+         %endif

+         %if %{with_libxl}

  %config(noreplace) %{_sysconfdir}/libvirt/libxl-sanlock.conf

-     %endif

+         %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
@@ -2259,7 +2386,7 @@ 

  %{_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*
@@ -2273,13 +2400,13 @@ 

  %{_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
@@ -2294,29 +2421,29 @@ 

  %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
@@ -2351,8 +2478,9 @@ 

  %{_datadir}/libvirt/api/libvirt-admin-api.xml

  %{_datadir}/libvirt/api/libvirt-qemu-api.xml

  %{_datadir}/libvirt/api/libvirt-lxc-api.xml

+ %endif

  

- %if %{with_mingw}

+ %if %{with_mingw32}

  %files -n mingw32-libvirt -f mingw32-libvirt.lang

  %dir %{mingw32_sysconfdir}/libvirt/

  %config(noreplace) %{mingw32_sysconfdir}/libvirt/libvirt.conf
@@ -2409,7 +2537,9 @@ 

  %{mingw32_mandir}/man1/virt-pki-query-dn.1*

  %{mingw32_mandir}/man1/virt-pki-validate.1*

  %{mingw32_mandir}/man7/virkey*.7*

+ %endif

  

+ %if %{with_mingw64}

  %files -n mingw64-libvirt -f mingw64-libvirt.lang

  %dir %{mingw64_sysconfdir}/libvirt/

  %config(noreplace) %{mingw64_sysconfdir}/libvirt/libvirt.conf
@@ -2470,6 +2600,49 @@ 

  

  

  %changelog

+ * Wed Mar 27 2024 Roberto Campesato <render@metalabs.org> - 10.1.0-1.1

+ - Update to version 10.1.0

+ - Relax dependency on qemu-kvm for facebook builds

+ 

+ * Fri Mar 01 2024 Cole Robinson <crobinso@redhat.com> - 10.1.0-1

+ - Update to version 10.1.0

+ 

+ * Mon Feb 19 2024 Cole Robinson <crobinso@redhat.com> - 10.0.0-4

+ - Rebuild for wireshark soname bump

+ 

+ * Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 10.0.0-3

+ - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

+ 

+ * Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 10.0.0-2

+ - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

+ 

+ * Tue Jan 16 2024 Cole Robinson <crobinso@redhat.com> - 10.0.0-1

+ - Update to version 10.0.0

+ 

+ * Wed Jan 03 2024 Jonathan Wright <jonathan@almalinux.org> - 9.10.0-4

+ - conf: fix regression for default input bus

+ 

+ * Fri Dec  8 2023 Richard W.M. Jones <rjones@redhat.com> - 9.10.0-3

+ - Bump and rebuild for xen 4.18.0, third attempt

+ 

+ * Tue Dec 05 2023 Adam Williamson <awilliam@redhat.com> - 9.10.0-2

+ - Rebuild for xen 4.18.0 again

+ 

+ * Sat Dec 02 2023 Cole Robinson <crobinso@redhat.com> - 9.10.0-1

+ - Update to version 9.10.0

+ 

+ * Thu Nov 30 2023 Richard W.M. Jones <rjones@redhat.com> - 9.9.0-3

+ - Bump and rebuild for xen 4.18.0

+ 

+ * Mon Nov 06 2023 Cole Robinson <crobinso@redhat.com> - 9.9.0-2

+ - Fix crash with snapshot restore (bz #2247754)

+ 

+ * Wed Nov 01 2023 Cole Robinson <crobinso@redhat.com> - 9.9.0-1

+ - Update to version 9.9.0

+ 

+ * Thu Oct 05 2023 Cole Robinson <crobinso@redhat.com> - 9.8.0-1

+ - Update to version 9.8.0

+ 

  * Fri Sep  1 2023 Daniel P. Berrangé <berrange@redhat.com> - 9.7.0-1

  - Update to version 9.7.0

  

file modified
+1 -1
@@ -1,1 +1,1 @@ 

- SHA512 (libvirt-9.7.0.tar.xz) = dd771822c0fa0861a32cab9d7f82235b101867fa0a4e8cf9a857ddfb2347e41b625b1e6f8791c4b3543fec836a1a23cae1fac4ce4b40debd51f2097bae46c949

+ SHA512 (libvirt-10.1.0.tar.xz) = 08e73ae15de5681430b62db85ec9901242dca5e9a4ca9685614f4a67092c6e28f27f9187144b3ceb18ad6b40e6eb1a90b1a4b056b0888724d04a62002ee2bc48

  • Synced from rawhide
  • Downgrade dependency on qemu-kvm to Recommends for facebook builds to have libvirt depend only on the bare minimum set of qemu packages

Yes, I tested builds locally and did a scratch build from my fork: https://cbs.centos.org/koji/taskinfo?taskID=3889491

Metadata