]> TLD Linux GIT Repositories - packages/libvirt.git/blobdiff - libvirt.spec
- updated to 10.4.0, partial merge of PLD changes
[packages/libvirt.git] / libvirt.spec
index 88dc6899a0ffaf5f76adbddf83d087ebd966d1a2..c7dedb92a49b778ff42bacb6ddc40d796a565f49 100644 (file)
@@ -1,9 +1,15 @@
 # TODO:
 # - parallels-sdk >= 7.0.22?
 # - virtuozzo storage?
+# - mdevctl
+# - mm-ctl (https://github.com/tfukushima/mm-ctl ?)
+# - numad (https://pagure.io/numad/ or https://github.com/yhaenggi/numad/releases ?)
+# - vstorage, vstorage-mount
+# - package firewalld zone definition (see files)
 #
 # Conditional build:
 # - virtualization
+%bcond_without ch              # Cloud-Hypervisor support
 %bcond_without esx             # VMware ESX support
 %bcond_without hyperv          # Hyper-V support
 %bcond_without libxl           # libxenlight support
 %bcond_without openvz          # OpenVZ support
 %bcond_without phyp            # PHYP support
 %bcond_without qemu            # Qemu support
-%bcond_without uml             # UML support
 %bcond_without vbox            # VirtualBox support
 %bcond_without vmware          # VMware Workstation/Player support
-%bcond_without xenapi          # Xen API (Citrix XenServer) support
 # - storage
-%bcond_without ceph            # RADOS BD (Ceph) storage support
+%bcond_with    ceph            # RADOS BD (Ceph) storage support
 %bcond_without glusterfs       # GlusterFS storage support
 # - storage locking
 %bcond_without sanlock         # sanlock storage lock manager
 # - other
+%bcond_without apparmor        # apparmor support
 %bcond_without netcf           # host interfaces support
 %bcond_without polkit          # PolicyKit support
 %bcond_without systemtap       # systemtap/dtrace probes
 %bcond_with    wireshark       # wireshark dissector module
+%bcond_without zfs             # ZFS storage support
 %bcond_without static_libs     # static libraries build
 
-# qemu available only on x86 and ppc
-%ifnarch %{ix86} %{x8664} ppc
+# qemu available only on x86, arm and ppc
+%ifnarch %{ix86} %{x8664} x32 aarch64 ppc
 %undefine      with_qemu
 %endif
 
-# Xen is available only on x86 and ia64
-%ifnarch %{ix86} %{x8664} ia64
-%undefine      with_xenapi
+# Xen supported architectures
+%ifnarch %{ix86} %{x8664} %{arm} aarch64
 %undefine      with_libxl
 %endif
 
+# Cloud-Hypervisor is available only on x86_64
+%ifnarch %{x8664}
+%undefine      with_ch
+%endif
+
+# ceph >= 14.0 no longer support 32-bit archs
+%ifarch %{ix86}
+%undefine      with_ceph
+%endif
+
 Summary:       Toolkit to interact with virtualization capabilities
 Summary(pl.UTF-8):     Narzędzia współpracujące z funkcjami wirtualizacji
 Name:          libvirt
-Version:       4.7.0
+Version:       10.4.0
 Release:       1
 License:       LGPL v2.1+
 Group:         Libraries
-Source0:       http://libvirt.org/sources/libvirt-%{version}.tar.xz
-# Source0-md5: 38da6c33250dcbc0a6d68de5c758262b
+Source0:       https://download.libvirt.org/libvirt-%{version}.tar.xz
+# Source0-md5: 446cbe5e81c8cce8b6830b93a0c7b2ee
 Source1:       libvirtd.init
 Source2:       virtlockd.init
 Source3:       virtlogd.init
+Source4:       libvirt-guests.init
+Source5:       libvirtd.sysconfig
+Source6:       virtlockd.sysconfig
+Source7:       virtlogd.sysconfig
+Source8:       libvirt-guests.sysconfig
 Patch0:                %{name}-sasl.patch
 Patch1:                %{name}-qemu-acl.patch
 Patch2:                %{name}-udevadm-settle.patch
 Patch3:                bashisms.patch
-Patch4:                %{name}-guests.init.patch
-Patch5:                %{name}-sysctl-dir.patch
-URL:           http://www.libvirt.org/
+Patch4:                %{name}-sysctl-dir.patch
+URL:           https://www.libvirt.org/
 BuildRequires: acl-devel
 BuildRequires: attr-devel
 BuildRequires: audit-libs-devel
 BuildRequires: augeas-devel
 BuildRequires: autoconf >= 2.50
 BuildRequires: automake
-BuildRequires: avahi-devel >= 0.6.0
-BuildRequires: bash-completion >= 2.0
+BuildRequires: bash-completion-devel >= 1:2.0
 %{?with_ceph:BuildRequires:    ceph-devel}
-BuildRequires: curl-devel >= 7.18.0
-BuildRequires: cyrus-sasl-devel
+BuildRequires: curl-devel >= 7.19.1
+BuildRequires: cyrus-sasl-devel >= 2.1.26
 BuildRequires: dbus-devel >= 1.0.0
 BuildRequires: device-mapper-devel >= 1.0.0
+# rst2html5 rst2man
+BuildRequires: docutils
 BuildRequires: gawk
 BuildRequires: gcc >= 6:4.4
 BuildRequires: gettext-tools >= 0.17
+BuildRequires: glib2-devel >= 1:2.56.0
 %{?with_glusterfs:BuildRequires:       glusterfs-devel >= 3.4.1}
-BuildRequires: gnutls-devel >= 2.2.0
-BuildRequires: libapparmor-devel
+BuildRequires: gnutls-devel >= 3.6.0
+%{?with_apparmor:BuildRequires:        libapparmor-devel >= 3.0.0}
 BuildRequires: libblkid-devel >= 2.17
 BuildRequires: libcap-ng-devel >= 0.4.0
-BuildRequires: libfuse-devel >= 2.8.6
+BuildRequires: libfuse3-devel >= 3.1.0
 BuildRequires: libgcrypt-devel
+BuildRequires: libiscsi-devel >= 1.18.0
+BuildRequires: libnbd-devel >= 1.0
 BuildRequires: libnl-devel >= 3.2
-BuildRequires: libpcap-devel >= 1.0.0
+BuildRequires: libpcap-devel >= 1.5.0
 BuildRequires: libselinux-devel >= 2.5
-BuildRequires: libssh-devel >= 0.7
+BuildRequires: libssh-devel >= 0.8.1
 BuildRequires: libssh2-devel >= 1.3
 BuildRequires: libtool
-%{?with_xenapi:BuildRequires:  libxenserver-devel}
-BuildRequires: libxml2-devel >= 1:2.6.0
+BuildRequires: libxml2-devel >= 1:2.9.1
+BuildRequires: libxml2-progs >= 1:2.9.1
 BuildRequires: libxslt-devel
+BuildRequires: libxslt-progs
+BuildRequires: lvm2
+BuildRequires: meson >= 0.56.0
 BuildRequires: ncurses-devel
 %{?with_netcf:BuildRequires:   netcf-devel >= 0.2.0}
-BuildRequires: numactl-devel
-%{?with_hyperv:BuildRequires:  openwsman-devel >= 2.2.3}
+BuildRequires: ninja >= 1.5
+BuildRequires: nss-devel >= 3
+BuildRequires: numactl-devel >= 2.0.6
+BuildRequires: open-iscsi
+%{?with_hyperv:BuildRequires:  openwsman-devel >= 2.6.3}
 BuildRequires: parted-devel >= 1.8.0
 BuildRequires: pkgconfig
 %{?with_polkit:BuildRequires:  polkit}
 %{?with_polkit:BuildRequires:  polkit-devel >= 0.90}
-BuildRequires: readline-devel
-BuildRequires: rpmbuild(macros) >= 1.627
-%{?with_sanlock:BuildRequires: sanlock-devel >= 0.8}
+BuildRequires: python3 >= 1:3.0
+BuildRequires: readline-devel >= 7.0
+BuildRequires: rpcsvc-proto
+BuildRequires: rpm-build >= 4.6
+BuildRequires: rpmbuild(macros) >= 1.753-5
+%{?with_sanlock:BuildRequires: sanlock-devel >= 3.5.0}
+BuildRequires: sed >= 4.0
 %{?with_systemtap:BuildRequires:       systemtap-sdt-devel}
-BuildRequires: udev-devel >= 1:218
-%{?with_wireshark:BuildRequires:       wireshark-devel >= 1.11.3}
-%{?with_libxl:BuildRequires:   xen-devel >= 4.4}
+BuildRequires: tar >= 1:1.22
+BuildRequires: udev-devel >= 1:219
+%{?with_wireshark:BuildRequires:       wireshark-devel >= 2.6.0}
+%{?with_libxl:BuildRequires:   xen-devel >= 4.13}
 # For disk driver
 BuildRequires: xorg-lib-libpciaccess-devel >= 0.10.0
-Requires:      curl-libs >= 7.18.0
-Requires:      device-mapper >= 1.0.0
+BuildRequires: xz
+BuildRequires: yajl-devel >= 2.0.3
+%{?with_zfs:BuildRequires:     zfs}
+%{?with_zfs:BuildRequires:     zfs-devel}
+Requires:      curl-libs >= 7.19.1
+Requires:      cyrus-sasl-libs >= 2.1.26
+Requires:      device-mapper-libs >= 1.0.0
+Requires:      glib2 >= 1:2.56.0
+Requires:      gnutls-libs >= 3.6.0
+%{?with_apparmor:Requires:     libapparmor >= 3.0.0}
 Requires:      libcap-ng >= 0.4.0
 Requires:      libnl >= 3.2
-Requires:      libpcap >= 1.0.0
+Requires:      libpcap >= 1.5.0
 Requires:      libselinux >= 2.5
-Requires:      libssh >= 0.7
+Requires:      libssh >= 0.8.1
 Requires:      libssh2 >= 1.3
-Requires:      libxml2 >= 1:2.6.0
-%{?with_hyperv:Requires:       openwsman-libs >= 2.2.3}
-Obsoletes:     libvirt-daemon-esx
-Obsoletes:     libvirt-daemon-hyperv
-Obsoletes:     libvirt-daemon-openvz
-Obsoletes:     libvirt-daemon-phyp
-Obsoletes:     libvirt-daemon-vbox
-Obsoletes:     libvirt-daemon-vmware
-Obsoletes:     libvirt-daemon-xen
+Requires:      libxml2 >= 1:2.9.1
+%{?with_hyperv:Requires:       openwsman-libs >= 2.6.3}
+Requires:      yajl >= 2.0.3
+Obsoletes:     libvirt-daemon-esx < 0.9.13
+Obsoletes:     libvirt-daemon-hyperv < 0.9.13
+Obsoletes:     libvirt-daemon-openvz < 0.9.13
+Obsoletes:     libvirt-daemon-phyp < 6.0.0
+Obsoletes:     libvirt-daemon-uml < 5.0.0
+Obsoletes:     libvirt-daemon-vmware < 0.9.13
+Obsoletes:     libvirt-daemon-xen < 0.9.13
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -153,35 +196,23 @@ wirtualizacji.
 Ten pakiet zawiera podstawowe biblioteki oraz plik konfiguracyjny.
 
 %package -n bash-completion-%{name}
-Summary:        bash-completion for libvirt
-Group:          Applications/Shells
-Requires:       bash-completion
-%if "%{_rpmversion}" >= "5"
-BuildArch:      noarch
-%endif
+Summary:       bash-completion for libvirt
+Summary(pl.UTF-8):     Bashowe dopełnianie składni poleceń libvirt
+Group:         Applications/Shells
+Requires:      bash-completion >= 1:2.0
+BuildArch:     noarch
 
 %description -n bash-completion-%{name}
 This package provides bash-completion for libvirt.
 
+%description -n bash-completion-%{name} -l pl.UTF-8
+Ten pakiet zapewnia bashowe dopełnianie składni dla poleceń libvirt.
+
 %package devel
 Summary:       Development files for programs using libvirt
 Summary(pl.UTF-8):     Pliki programistyczne do programów wykorzystujących libvirt
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
-Requires:      audit-libs-devel
-Requires:      curl-devel >= 7.18.0
-Requires:      dbus-devel >= 1.0.0
-Requires:      device-mapper-devel >= 1.0.0
-Requires:      gnutls-devel >= 2.2.0
-Requires:      libapparmor-devel
-Requires:      libcap-ng-devel >= 0.4.0
-Requires:      libgcrypt-devel
-Requires:      libnl-devel >= 3.2
-Requires:      libpcap-devel >= 1.0.0
-Requires:      libselinux-devel >= 2.5
-Requires:      libxml2-devel >= 1:2.6.0
-Requires:      numactl-devel
-%{?with_hyperv:Requires:       openwsman-devel >= 2.2.3}
 
 %description devel
 Libvirt is a C toolkit to interact with the virtualization
@@ -217,11 +248,24 @@ obecnych wersji Linuksa.
 Ten pakiet zawiera biblioteki statyczne do tworzenia programów
 wykorzystujących bibliotekę libvirt.
 
+%package doc
+Summary:       Documentation for libvirt
+Summary(pl.UTF-8):     Dokumentacja do libvirt
+Group:         Documentation
+BuildArch:     noarch
+
+%description doc
+Documentation for libvirt.
+
+%description doc -l pl.UTF-8
+Dokumentacja do libvirt.
+
 %package lock-sanlock
 Summary:       Sanlock lock manager plugin for libvirt
 Summary(pl.UTF-8):     Zarządca blokad sanlock dla biblioteki libvirt
 Group:         Libraries
 Requires:      %{name}-daemon = %{version}-%{release}
+Requires:      sanlock-libs >= 3.5.0
 
 %description lock-sanlock
 Sanlock lock manager plugin for libvirt.
@@ -233,28 +277,30 @@ Zarządca blokad sanlock dla biblioteki libvirt.
 Summary:       Server side daemon and supporting files for libvirt library
 Summary(pl.UTF-8):     Demon działający po stronie serwera oraz pliki wspierające dla biblioteki libvirt
 Group:         Applications/System
+Requires(post,preun):  /sbin/chkconfig
 Requires:      %{name} = %{version}-%{release}
-Requires:      avahi-libs >= 0.6.0
+Requires:      device-mapper >= 1.0.0
 Requires:      iproute2
 Requires:      libblkid >= 2.17
+# iscsi-direct driver
+Requires:      libiscsi >= 1.18.0
 %{?with_netcf:Requires:        netcf >= 0.2.0}
 Requires:      parted-libs >= 1.8.0
 Requires:      rc-scripts
 # Needed for probing the power management features of the host.
 Requires:      pm-utils
-Requires:      udev-libs >= 1:218
+Requires:      udev-libs >= 1:219
 Requires:      util-linux
 Requires:      virtual(module-tools)
 Requires:      xorg-lib-libpciaccess >= 0.10.0
-Requires(post,preun):  /sbin/chkconfig
 Suggests:      bridge-utils
-Suggests:      cyrus-sasl
-Suggests:      cyrus-sasl-digest-md5
+Suggests:      cyrus-sasl >= 2.1.26
+Suggests:      cyrus-sasl-digest-md5 >= 2.1.26
 Suggests:      dmidecode
 Suggests:      dnsmasq >= 2.41
 Suggests:      ebtables
 Suggests:      gawk
-Suggests:      glusterfs-client >= 2.0.1
+Suggests:      glusterfs-client >= 3.4.1
 Suggests:      iptables
 Suggests:      iptables
 Suggests:      libcgroup
@@ -265,7 +311,6 @@ Suggests:   parted >= 1.8.0
 Suggests:      polkit >= 0.93
 #Suggests:     radvd
 Suggests:      scrub
-#Suggests:     sheepdog
 Provides:      libvirt(hypervisor)
 
 %description daemon
@@ -304,14 +349,40 @@ Storage driver plugin for Ceph RADOS Block Device.
 Wtyczka składowania danych wykorzystująca urządzenie blokowe RADOS
 (system plików Ceph).
 
+%package daemon-ch
+Summary:       Cloud Hypervisor server side driver
+Summary(pl.UTF-8):     Sterownik wymagany po stronie serwera do uruchamiania gości Cloud Hypervisor
+Group:         Libraries
+Requires:      %{name}-daemon = %{version}-%{release}
+Provides:      libvirt(hypervisor)
+
+%description daemon-ch
+Cloud Hypervisor is an open source Virtual Machine Monitor (VMM) that
+runs on top of KVM. The project focuses on exclusively running modern,
+cloud workloads, on top of a limited set of hardware architectures and
+platforms. Cloud workloads refers to those that are usually run by
+customers inside a cloud provider. For our purposes this means modern
+operating systems with most I/O handled by paravirtualised devices
+(i.e. virtio), no requirement for legacy devices, and 64-bit CPUs.
+
+%description daemon-ch -l pl.UTF-8
+Cloud Hypervisor to mający otwarte źródła monitor maszyn wirtualnych
+(VMM), działający powyżej KVM. Projekt skupia się wyłącznie na
+uruchamianiu nowoczesnych, chmurowych zadań na ograniczonym zbiorze
+architektur i platform sprzętowych. Zadania chmurowe to te, które
+zwykle są uruchamiane przez klientów u dostawców chmurowych. W tym
+przypadku oznacza to nowoczesne systemy operacyjne z większością
+we/wy obsługiwaną przez urządzenia parawirtualizowane (np. virtio),
+bez wymogu tradycyjnych urządzeń, oraz 64-bitowe procesory.
+
 %package daemon-libxl
 Summary:       Server side driver required to run XEN guests (xenlight)
 Summary(pl.UTF-8):     Sterownik wymagany po stronie serwera do uruchamiania gości XEN (xenlight)
 Group:         Libraries
 Requires:      %{name}-daemon = %{version}-%{release}
-Requires:      /usr/sbin/qcow-create
-Requires:      xen >= 4.4
+Requires:      xen >= 4.13
 Provides:      libvirt(hypervisor)
+Obsoletes:     libvirt-daemon-xen < 4.3.0
 
 %description daemon-libxl
 Server side driver required to manage the virtualization capabilities
@@ -326,7 +397,7 @@ Summary:    Server side driver required to run LXC guests
 Summary(pl.UTF-8):     Sterownik wymagany po stronie serwera do uruchamiania gości LXC
 Group:         Libraries
 Requires:      %{name}-daemon = %{version}-%{release}
-Requires:      libfuse >= 2.8.6
+Requires:      libfuse3 >= 3.1.0
 Provides:      libvirt(hypervisor)
 
 %description daemon-lxc
@@ -345,8 +416,9 @@ Requires:   %{name}-daemon = %{version}-%{release}
 Requires:      /usr/bin/qemu-img
 Requires:      bzip2
 Requires:      gzip
+Requires:      libnbd >= 1.0
 Requires:      lzop
-Requires:      qemu-system-x86
+Requires:      qemu-system-x86 >= 4.2
 Requires:      xz
 Provides:      libvirt(hypervisor)
 
@@ -358,31 +430,32 @@ of the QEMU emulators.
 Sterownik wymagany po stronie serwera do zarządzania funkcjami
 wirtualizacji emulatora QEMU.
 
-%package daemon-uml
-Summary:       Server side driver required to run UML guests
-Summary(pl.UTF-8):     Sterownik wymagany po stronie serwera do uruchamiania gości UML
+%package daemon-vbox
+Summary:       Server side driver required to run VirtalBox guests
+Summary(pl.UTF-8):     Sterownik wymagany po stronie serwera do uruchamiania gości VirtalBox
 Group:         Libraries
 Requires:      %{name}-daemon = %{version}-%{release}
+Requires:      VirtualBox >= 5.2
 Provides:      libvirt(hypervisor)
 
-%description daemon-uml
+%description daemon-vbox
 Server side driver required to manage the virtualization capabilities
-of UML.
+of VirtualBox.
 
-%description daemon-uml -l pl.UTF-8
+%description daemon-vbox -l pl.UTF-8
 Sterownik wymagany po stronie serwera do zarządzania funkcjami
-wirtualizacji UML.
+wirtualizacji VirtualBoksa.
 
 %package client
 Summary:       Client side utilities of the libvirt library
 Summary(pl.UTF-8):     Narzędzia klienckie do biblioteki libvirt
 Group:         Applications/System
+Requires(post,preun):  /sbin/chkconfig
 Requires:      %{name} = %{version}-%{release}
 Requires:      gettext >= 0.18.1.1-6
-Requires:      gnutls >= 2.2.0
+Requires:      gnutls >= 3.6.0
 Requires:      netcat-openbsd
 Requires:      rc-scripts
-Requires(post,preun):  /sbin/chkconfig
 
 %description client
 Client binaries needed to access to the virtualization capabilities of
@@ -392,16 +465,29 @@ recent versions of Linux (and other OSes).
 Programy klienckie potrzebne do funkcji wirtualizacji nowych wersji
 Linuksa (oraz innych systemów operacyjnych).
 
+%package ssh-proxy
+Summary:       Libvirt SSH proxy
+Summary(pl.UTF-8):     Proxy SSH dla Libvirt
+Group:         Applications/System
+Requires:      %{name} = %{version}-%{release}
+Requires:      openssh-clients
+
+%description ssh-proxy
+Allows SSH into domains via VSOCK without need for network.
+
+%description ssh-proxy -l pl.UTF-8
+Ten pakiet pozwala na SSH do domen poprzez VSOCK bez wymagania sieci.
+
 %package utils
 Summary:       Tools to interact with virtualization capabilities (metapackage)
 Summary(pl.UTF-8):     Narzędzia do współpracy z funkcjami wirtualizacyjnymi (metapakiet)
 Group:         Applications/System
 Requires:      %{name}-client = %{version}-%{release}
 Requires:      %{name}-daemon = %{version}-%{release}
+Requires:      %{name}-daemon-ch = %{version}-%{release}
 %{?with_libxl:Requires:        %{name}-daemon-libxl = %{version}-%{release}}
 Requires:      %{name}-daemon-lxc = %{version}-%{release}
 Requires:      %{name}-daemon-qemu = %{version}-%{release}
-%{?with_uml:Requires:  %{name}-daemon-uml = %{version}-%{release}}
 
 %description utils
 Libvirt is a C toolkit to interact with the virtualization
@@ -433,7 +519,7 @@ Sondy systemtap/dtrace dla libvirt.
 Summary:       Wireshark dissector module for libvirt packets
 Summary(pl.UTF-8):     Moduł sekcji Wiresharka do pakietów libvirt
 Group:         Libraries
-Requires:      wireshark >= 1.11.3
+Requires:      wireshark >= 2.6.0
 
 %description -n wireshark-libvirt
 Wireshark dissector module for libvirt packets.
@@ -448,133 +534,102 @@ Moduł sekcji Wiresharka do pakietów libvirt.
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
-%patch5 -p1
+
+%if %{with static_libs}
+%{__sed} -i '/^libvirt\(_admin\|_lxc\|_qemu\)\?_lib = / s/shared_library/library/' src/meson.build
+%endif
+
+%{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' tools/{virt-qemu-qmp-proxy,virt-qemu-sev-validate}
+
+%{__sed} -i -e 's,/usr/lib/qemu,/usr/%{_lib}/qemu,' -e 's,/usr/lib",/usr/%{_lib}/",' src/qemu/qemu_interface.c
+%{__sed} -i -e 's,/usr/libexec",%{_libexecdir}",' src/qemu/qemu_process.c
 
 %build
-%{__libtoolize}
-%{__aclocal} -I m4
-%{__autoconf}
-%{__autoheader}
-%{__automake}
-
-%configure \
-       PVCREATE=/sbin/pvcreate \
-       VGCREATE=/sbin/vgcreate \
-       LVCREATE=/sbin/lvcreate \
-       PVREMOVE=/sbin/pvremove \
-       VGREMOVE=/sbin/vgremove \
-       LVREMOVE=/sbin/lvremove \
-       VGCHANGE=/sbin/vgchange \
-       LVCHANGE=/sbin/lvchange \
-         VGSCAN=/sbin/vgscan   \
-            PVS=/sbin/pvs      \
-            VGS=/sbin/vgs      \
-            LVS=/sbin/lvs      \
-             TC=/sbin/tc \
-          BRCTL=/sbin/brctl    \
-       ISCSIADM=/sbin/iscsiadm \
-       SHOWMOUNT=/usr/sbin/showmount \
-       MOUNT=/bin/mount \
-       UMOUNT=/bin/umount \
-       MKFS=/sbin/mkfs \
-       SHOWMOUNT=/usr/sbin/showmount \
-       IPTABLES_PATH=/usr/sbin/iptables \
-       IP6TABLES_PATH=/usr/sbin/ip6tables \
-       EBTABLES_PATH=/usr/sbin/ebtables \
-       ISCSIADM=/sbin/iscsiadm \
-       DNSMASQ=/usr/sbin/dnsmasq \
-       RADVD=/usr/sbin/radvd \
-       UDEVADM=/sbin/udevadm \
-       MODPROBE=/sbin/modprobe \
-       SCRUB=/usr/bin/scrub \
-       OVSVSCTL=/usr/bin/ovs-vsctl \
-       NUMAD=/usr/bin/numad \
-       SHEEPDOGCLI=/usr/sbin/collie \
-       ZFS=/usr/sbin/zfs \
-       ZPOOL=/usr/sbin/zpool \
-       --disable-silent-rules \
-       %{?with_static_libs:--enable-static} \
-       --with-bash-completion \
-       --with-bash-completions-dir=/etc/bash_completion.d \
-       --with-html-dir=%{_gtkdocdir} \
-       --with-html-subdir=%{name} \
-       --with-init-script=redhat \
-       --with-packager="TLD-Linux" \
-       --with-packager-version="%{name}-%{version}-%{release}.%{_target_cpu}" \
-       --with-qemu-user=qemu \
-       --with-qemu-group=qemu \
-       --with-storage-disk \
-       --with-storage-fs \
-       --with-storage-gluster%{!?with_glusterfs:=no} \
-       --with-storage-iscsi \
-       --with-storage-lvm \
-       --with-storage-mpath \
-       --with-storage-rbd%{!?with_ceph:=no} \
-       --with-storage-scsi \
-       --with-storage-sheepdog \
-       --with-apparmor \
-       --with-audit \
-       --with-avahi \
-       %{__with_without systemtap dtrace} \
-       %{__with_without esx} \
-       --with-driver-modules \
-       --without-hal \
-       %{__with_without hyperv} \
-       --with-blkid \
-       --with-ssh2 \
-       %{__with_without libxl} \
-       %{__with_without lxc} \
-       --with-macvtap \
-       %{__with_without netcf} \
-       --with-numactl \
-       --with-numad \
-       %{__with_without openvz} \
-       %{__with_without phyp} \
-       %{__with_without polkit} \
-       %{__with_without qemu} \
-       %{__with_without sanlock} \
-       --with-sasl \
-       --with-selinux \
-       --with-udev \
-       %{__with_without uml} \
-       %{__with_without vbox vbox %{_libdir}/VirtualBox} \
-       --with-virtualport \
-       %{__with_without vmware} \
-       %{!?with_wireshark:--without-wireshark-dissector} \
-       %{__with_without xenapi} \
-       --x-libraries=%{_libdir}
-
-%{__make} \
-       AWK=gawk
+%meson build \
+       -Dpackager="TLD-Linux" \
+       -Dpackager_version="%{name}-%{version}-%{release}.%{_target_cpu}" \
+       -Dqemu_group=qemu \
+       -Dqemu_user=qemu \
+       -Dapparmor=%{__enabled_disabled apparmor} \
+       -Dapparmor_profiles=%{__enabled_disabled apparmor} \
+       -Dattr=enabled \
+       -Daudit=enabled \
+       -Dbash_completion=enabled \
+       -Dbash_completion_dir=%{bash_compdir} \
+       -Dblkid=enabled \
+       -Dcapng=enabled \
+       -Dcurl=enabled \
+       -Ddtrace=%{__enabled_disabled systemtap} \
+       -Dfirewalld=disabled \
+       -Dfirewalld_zone=disabled \
+       -Dfuse=enabled \
+       -Dglusterfs=%{__enabled_disabled glusterfs} \
+       -Dlibiscsi=enabled \
+       -Dlibnl=enabled \
+       -Dlibpcap=enabled \
+       -Dlibssh=enabled \
+       -Dlibssh2=enabled \
+       -Dnetcf=%{__enabled_disabled netcf} \
+       -Dnls=enabled \
+       -Dnumactl=enabled \
+       -Dnumad=disabled \
+       -Dopenwsman=enabled \
+       -Dpciaccess=enabled \
+       -Dpolkit=%{__enabled_disabled polkit} \
+       -Dreadline=enabled \
+       -Dsanlock=enabled \
+       -Dsasl=enabled \
+       -Dselinux=enabled \
+       -Dsysctl_config=enabled \
+       -Dudev=enabled \
+       -Dwireshark_dissector=%{__enabled_disabled wireshark} \
+       -Dyajl=enabled \
+       -Dstorage_dir=enabled \
+       -Dstorage_disk=enabled \
+       -Dstorage_fs=enabled \
+       -Dstorage_iscsi=enabled \
+       -Dstorage_iscsi_direct=enabled \
+       -Dstorage_lvm=enabled \
+       -Dstorage_mpath=enabled \
+       -Dstorage_rbd=%{__enabled_disabled ceph} \
+       -Dstorage_scsi=enabled \
+       -Dstorage_vstorage=disabled \
+       -Dstorage_zfs=%{__enabled_disabled zfs} \
+       -Ddriver_bhyve=disabled \
+       -Ddriver_ch=%{__enabled_disabled ch} \
+       -Ddriver_esx=%{__enabled_disabled esx} \
+       -Ddriver_hyperv=%{__enabled_disabled hyperv} \
+       -Ddriver_interface=enabled \
+       -Ddriver_libvirtd=enabled \
+       -Ddriver_libxl=%{__enabled_disabled libxl} \
+       -Ddriver_lxc=%{__enabled_disabled lxc} \
+       -Ddriver_network=enabled \
+       -Ddriver_openvz=%{__enabled_disabled openvz} \
+       -Ddriver_qemu=%{__enabled_disabled qemu} \
+       -Ddriver_remote=enabled \
+       -Ddriver_secrets=enabled \
+       -Ddriver_vbox=%{__enabled_disabled vbox} \
+       -Ddriver_vmware=%{__enabled_disabled vmware} \
+       -Ddriver_vz=disabled \
+       -Dsecdriver_apparmor=%{__enabled_disabled apparmor} \
+       -Dsecdriver_selinux=enabled
+
+%meson_build -C build
 
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT/etc/{sysconfig,sysctl.d,rc.d/init.d}
 
-%{__make} install \
-       DEVHELP_DIR=%{_gtkdocdir}/%{name}/devhelp \
-       DESTDIR=$RPM_BUILD_ROOT
+%meson_install -C build
 
 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/libvirtd
 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/virtlockd
 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/virtlogd
-
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.la \
-       %{?with_static_libs:$RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.a}
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-backend/*.la \
-       %{?with_static_libs:$RPM_BUILD_ROOT%{_libdir}/libvirt/storage-backend/*.a}
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-file/*.la \
-       %{?with_static_libs:$RPM_BUILD_ROOT%{_libdir}/libvirt/storage-file/*.a}
-
-%if %{with sanlock}
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.la \
-       %{?with_static_libs:$RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.a}
-%endif
-%if %{with wireshark}
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/*/libvirt.la \
-       %{?with_static_libs:$RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/*/libvirt.a} \
-%endif
+install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/libvirt-guests
+install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/libvirtd
+install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/virtlockd
+install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/sysconfig/virtlogd
+install -p %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/libvirt-guests
 
 rm -rf $RPM_BUILD_ROOT/%{_datadir}/locale/{bal,ilo,kw@kkcor,kw@uccor,kw_GB,tw,wba}
 
@@ -617,8 +672,11 @@ fi
 
 %files -f %{name}.lang
 %defattr(644,root,root,755)
-%doc AUTHORS ChangeLog NEWS README.md
+%doc AUTHORS.rst NEWS.rst README.rst
 %dir %{_sysconfdir}/libvirt
+%if %{with apparmor}
+%dir %{_sysconfdir}/apparmor.d/libvirt
+%endif
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libvirt.conf
 %attr(755,root,root) %{_libdir}/libvirt.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libvirt.so.0
@@ -640,9 +698,8 @@ fi
 
 %files -n bash-completion-%{name}
 %defattr(644,root,root,755)
-/etc/bash_completion.d/virsh
-/etc/bash_completion.d/virt-admin
-/etc/bash_completion.d/vsh
+%{bash_compdir}/virsh
+%{bash_compdir}/virt-admin
 
 %files devel
 %defattr(644,root,root,755)
@@ -651,7 +708,7 @@ fi
 %{?with_lxc:%attr(755,root,root) %{_libdir}/libvirt-lxc.so}
 %attr(755,root,root) %{_libdir}/libvirt-qemu.so
 %{_datadir}/%{name}/api
-%{_gtkdocdir}/%{name}
+%{_docdir}/%{name}
 %{_includedir}/%{name}
 %{_pkgconfigdir}/libvirt.pc
 %{_pkgconfigdir}/libvirt-admin.pc
@@ -660,12 +717,19 @@ fi
 %{_mandir}/man7/virkeycode-*.7*
 %{_mandir}/man7/virkeyname-*.7*
 
+%if %{with static_libs}
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/libvirt.a
-%{_libdir}/libvirt-admin.a
 %{?with_lxc:%{_libdir}/libvirt-lxc.a}
 %{_libdir}/libvirt-qemu.a
+%endif
+
+%files doc
+%defattr(644,root,root,755)
+%dir %{_docdir}/libvirt
+%{_docdir}/libvirt/examples
+%{_docdir}/libvirt/html
 
 %if %{with sanlock}
 %files lock-sanlock
@@ -683,17 +747,33 @@ fi
 
 %files daemon
 %defattr(644,root,root,755)
-%doc docs/*.xml
-%dir %attr(700,root,root) %{_sysconfdir}/libvirt/nwfilter
-%dir %attr(700,root,root) %{_sysconfdir}/libvirt/qemu
-%dir %attr(700,root,root) %{_sysconfdir}/libvirt/qemu/networks
-%dir %attr(700,root,root) %{_sysconfdir}/libvirt/qemu/networks/autostart
+%if %{with apparmor}
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/abstractions/libvirt-lxc
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/abstractions/libvirt-qemu
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/libvirt
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/usr.lib.libvirt.virt-aa-helper
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/usr.sbin.libvirtd
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/usr.sbin.virtqemud
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/usr.sbin.virtxend
+%endif
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libvirt-admin.conf
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libvirtd.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/network.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtinterfaced.conf
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtlockd.conf
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libvirt-admin.conf
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtlogd.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtnetworkd.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtnodedevd.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtnwfilterd.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtproxyd.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtsecretd.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtstoraged.conf
+%dir %attr(700,root,root) %{_sysconfdir}/libvirt/qemu
+%dir %attr(700,root,root) %{_sysconfdir}/libvirt/qemu/networks
 %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/qemu/networks/default.xml
+%dir %attr(700,root,root) %{_sysconfdir}/libvirt/qemu/networks/autostart
 %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
+%dir %attr(700,root,root) %{_sysconfdir}/libvirt/nwfilter
 %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/nwfilter/*.xml
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sasl/libvirt.conf
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/libvirtd
@@ -704,28 +784,83 @@ fi
 %attr(754,root,root) /etc/rc.d/init.d/virtlogd
 %config(noreplace) %verify(not md5 mtime size) /etc/sysctl.d/60-libvirtd.conf
 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd
-%attr(755,root,root) %{_libexecdir}/libvirt_iohelper
-%attr(755,root,root) %{_libexecdir}/libvirt_parthelper
-%attr(755,root,root) %{_libexecdir}/virt-aa-helper
 %attr(755,root,root) %{_sbindir}/libvirtd
+%attr(755,root,root) %{_sbindir}/virtinterfaced
 %attr(755,root,root) %{_sbindir}/virtlockd
 %attr(755,root,root) %{_sbindir}/virtlogd
-%{_datadir}/augeas/lenses/libvirtd.aug
+%attr(755,root,root) %{_sbindir}/virtnetworkd
+%attr(755,root,root) %{_sbindir}/virtnodedevd
+%attr(755,root,root) %{_sbindir}/virtnwfilterd
+%attr(755,root,root) %{_sbindir}/virtproxyd
+%attr(755,root,root) %{_sbindir}/virtsecretd
+%attr(755,root,root) %{_sbindir}/virtstoraged
+%attr(755,root,root) %{_libexecdir}/libvirt_iohelper
+%attr(755,root,root) %{_libexecdir}/libvirt_leaseshelper
+%attr(755,root,root) %{_libexecdir}/libvirt_parthelper
+%if %{with apparmor}
+%attr(755,root,root) %{_libexecdir}/virt-aa-helper
+%endif
+%dir %{_libdir}/libvirt/connection-driver
+%{?with_netcf:%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_interface.so}
+%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_network.so
+%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_nodedev.so
+%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_nwfilter.so
+%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_secret.so
+%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_storage.so
+%dir %{_libdir}/libvirt/lock-driver
+%attr(755,root,root) %{_libdir}/libvirt/lock-driver/lockd.so
+%dir %{_libdir}/libvirt/storage-backend
+%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_disk.so
+%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_fs.so
+%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_iscsi.so
+%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_iscsi-direct.so
+%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_logical.so
+# mpath requires libdevmapper, but libvirt itself requires it too
+%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_mpath.so
+%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_scsi.so
+%{?with_zfs:%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_zfs.so}
+%dir %{_libdir}/libvirt/storage-file
+%attr(755,root,root) %{_libdir}/libvirt/storage-file/libvirt_storage_file_fs.so
 %{_datadir}/augeas/lenses/libvirt_lockd.aug
+%{_datadir}/augeas/lenses/libvirtd.aug
+%{_datadir}/augeas/lenses/libvirtd_network.aug
+%{_datadir}/augeas/lenses/virtinterfaced.aug
 %{_datadir}/augeas/lenses/virtlockd.aug
 %{_datadir}/augeas/lenses/virtlogd.aug
+%{_datadir}/augeas/lenses/virtnetworkd.aug
+%{_datadir}/augeas/lenses/virtnodedevd.aug
+%{_datadir}/augeas/lenses/virtnwfilterd.aug
+%{_datadir}/augeas/lenses/virtproxyd.aug
+%{_datadir}/augeas/lenses/virtsecretd.aug
+%{_datadir}/augeas/lenses/virtstoraged.aug
 %{_datadir}/augeas/lenses/tests/test_libvirtd.aug
 %{?with_qemu:%{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug}
+%{_datadir}/augeas/lenses/tests/test_libvirtd_network.aug
+%{_datadir}/augeas/lenses/tests/test_virtinterfaced.aug
 %{_datadir}/augeas/lenses/tests/test_virtlockd.aug
 %{_datadir}/augeas/lenses/tests/test_virtlogd.aug
+%{_datadir}/augeas/lenses/tests/test_virtnetworkd.aug
+%{_datadir}/augeas/lenses/tests/test_virtnodedevd.aug
+%{_datadir}/augeas/lenses/tests/test_virtnwfilterd.aug
+%{_datadir}/augeas/lenses/tests/test_virtproxyd.aug
+%{_datadir}/augeas/lenses/tests/test_virtsecretd.aug
+%{_datadir}/augeas/lenses/tests/test_virtstoraged.aug
+%{_datadir}/libvirt/cpu_map
 %if %{with polkit}
 %{_datadir}/polkit-1/actions/org.libvirt.api.policy
 %{_datadir}/polkit-1/actions/org.libvirt.unix.policy
 %{_datadir}/polkit-1/rules.d/50-libvirt.rules
 %endif
 %{_mandir}/man8/libvirtd.8*
+%{_mandir}/man8/virtinterfaced.8*
 %{_mandir}/man8/virtlockd.8*
 %{_mandir}/man8/virtlogd.8*
+%{_mandir}/man8/virtnetworkd.8*
+%{_mandir}/man8/virtnodedevd.8*
+%{_mandir}/man8/virtnwfilterd.8*
+%{_mandir}/man8/virtproxyd.8*
+%{_mandir}/man8/virtsecretd.8*
+%{_mandir}/man8/virtstoraged.8*
 %dir /var/lib/libvirt
 %dir /var/lib/libvirt/dnsmasq
 %attr(711,root,root) %dir /var/lib/libvirt/boot
@@ -736,30 +871,6 @@ fi
 %attr(711,root,root) %dir /var/cache/libvirt
 %dir /var/run/libvirt
 %dir /var/run/libvirt/network
-%attr(755,root,root) %{_libexecdir}/libvirt_leaseshelper
-%dir %{_libdir}/libvirt/connection-driver
-%{_datadir}/libvirt/cpu_map
-%{?with_netcf:%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_interface.so}
-%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_network.so
-%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_nodedev.so
-%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_nwfilter.so
-%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_secret.so
-%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_storage.so
-%{?with_vbox:%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_vbox.so}
-%dir %{_libdir}/libvirt/lock-driver
-%attr(755,root,root) %{_libdir}/libvirt/lock-driver/lockd.so
-%dir %{_libdir}/libvirt/storage-backend
-%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_disk.so
-%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_fs.so
-%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_iscsi.so
-%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_logical.so
-# mpath requires libdevmapper, but libvirt itself requires it too
-%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_mpath.so
-%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_scsi.so
-%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_sheepdog.so
-%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_zfs.so
-%dir %{_libdir}/libvirt/storage-file
-%attr(755,root,root) %{_libdir}/libvirt/storage-file/libvirt_storage_file_fs.so
 
 %if %{with glusterfs}
 %files daemon-storage-gluster
@@ -774,33 +885,57 @@ fi
 %attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_rbd.so
 %endif
 
+%if %{with ch}
+%files daemon-ch
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtchd.conf
+%attr(755,root,root) %{_sbindir}/virtchd
+%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_ch.so
+%{_datadir}/augeas/lenses/virtchd.aug
+%{_datadir}/augeas/lenses/tests/test_virtchd.aug
+%endif
+
 %if %{with libxl}
 %files daemon-libxl
 %defattr(644,root,root,755)
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libxl.conf
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libxl-lockd.conf
 %{?with_sanlock:%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libxl-sanlock.conf}
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtxend.conf
 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.libxl
+%attr(755,root,root) %{_sbindir}/virtxend
 %attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_libxl.so
 %{_datadir}/augeas/lenses/libvirtd_libxl.aug
+%{_datadir}/augeas/lenses/virtxend.aug
 %{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.aug
+%{_datadir}/augeas/lenses/tests/test_virtxend.aug
 %attr(700,root,root) %dir /var/lib/libvirt/libxl
 %attr(700,root,root) %dir /var/run/libvirt/libxl
 %attr(700,root,root) %dir /var/log/libvirt/libxl
+%{_mandir}/man8/virtxend.8*
 %endif
 
 %if %{with lxc}
 %files daemon-lxc
 %defattr(644,root,root,755)
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/lxc.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtlxcd.conf
 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.lxc
+%if %{with apparmor}
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/abstractions/libvirt-lxc
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/libvirt/TEMPLATE.lxc
+%endif
+%attr(755,root,root) %{_sbindir}/virtlxcd
+%attr(755,root,root) %{_libexecdir}/libvirt_lxc
+%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_lxc.so
+%{_datadir}/augeas/lenses/libvirtd_lxc.aug
+%{_datadir}/augeas/lenses/virtlxcd.aug
+%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
+%{_datadir}/augeas/lenses/tests/test_virtlxcd.aug
 %attr(700,root,root) %dir /var/lib/libvirt/lxc
 %attr(700,root,root) %dir /var/run/libvirt/lxc
 %attr(700,root,root) %dir /var/log/libvirt/lxc
-%{_datadir}/augeas/lenses/libvirtd_lxc.aug
-%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
-%attr(755,root,root) %{_libexecdir}/libvirt_lxc
-%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_lxc.so
+%{_mandir}/man8/virtlxcd.8*
 %endif
 
 %if %{with qemu}
@@ -809,24 +944,35 @@ fi
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/qemu.conf
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/qemu-lockd.conf
 %{?with_sanlock:%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/qemu-sanlock.conf}
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtqemud.conf
 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.qemu
+%if %{with apparmor}
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/abstractions/libvirt-qemu
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/libvirt/TEMPLATE.qemu
+%endif
+%attr(755,root,root) %{_sbindir}/virtqemud
+%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_qemu.so
+%{_datadir}/augeas/lenses/libvirtd_qemu.aug
+%{_datadir}/augeas/lenses/virtqemud.aug
+%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
+%{_datadir}/augeas/lenses/tests/test_virtqemud.aug
 %attr(750,qemu,qemu) %dir /var/cache/libvirt/qemu
 %attr(750,qemu,qemu) %dir /var/lib/libvirt/qemu
 %attr(700,root,root) %dir /var/log/libvirt/qemu
 %attr(700,root,root) %dir /var/run/libvirt/qemu
-%{_datadir}/augeas/lenses/libvirtd_qemu.aug
-%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
-%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_qemu.so
+%config(noreplace) %verify(not md5 mtime size) /etc/sysctl.d/60-qemu-postcopy-migration.conf
+%{_mandir}/man8/virtqemud.8*
 %endif
 
-%if %{with uml}
-%files daemon-uml
+%if %{with vbox}
+%files daemon-vbox
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_uml.so
-%config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.uml
-%attr(700,root,root) %dir /var/lib/libvirt/uml
-%attr(700,root,root) %dir /var/run/libvirt/uml
-%attr(700,root,root) %dir /var/log/libvirt/uml
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtvboxd.conf
+%attr(755,root,root) %{_sbindir}/virtvboxd
+%{_datadir}/augeas/lenses/virtvboxd.aug
+%{_datadir}/augeas/lenses/tests/test_virtvboxd.aug
+%{?with_vbox:%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_vbox.so}
+%{_mandir}/man8/virtvboxd.8*
 %endif
 
 %files client
@@ -839,36 +985,65 @@ fi
 %attr(755,root,root) %{_bindir}/virt-host-validate
 %attr(4755,root,root) %{_bindir}/virt-login-shell
 %attr(755,root,root) %{_bindir}/virt-xml-validate
+%attr(755,root,root) %{_bindir}/virt-pki-query-dn
 %attr(755,root,root) %{_bindir}/virt-pki-validate
+%if %{with qemu}
+%attr(755,root,root) %{_bindir}/virt-qemu-qmp-proxy
+%attr(755,root,root) %{_bindir}/virt-qemu-run
+%attr(755,root,root) %{_bindir}/virt-qemu-sev-validate
+%endif
+%attr(755,root,root) %{_bindir}/virt-ssh-helper
 %attr(754,root,root) %{_libexecdir}/libvirt-guests.sh
+%attr(754,root,root) %{_libexecdir}/virt-login-shell-helper
 %{_mandir}/man1/virsh.1*
 %{_mandir}/man1/virt-admin.1*
 %{_mandir}/man1/virt-host-validate.1*
 %{_mandir}/man1/virt-login-shell.1*
 %{_mandir}/man1/virt-xml-validate.1*
+%{_mandir}/man1/virt-pki-query-dn.1*
 %{_mandir}/man1/virt-pki-validate.1*
+%if %{with qemu}
+%{_mandir}/man1/virt-qemu-qmp-proxy.1*
+%{_mandir}/man1/virt-qemu-run.1*
+%{_mandir}/man1/virt-qemu-sev-validate.1*
+%endif
+%{_mandir}/man8/libvirt-guests.8*
+%{_mandir}/man8/virt-ssh-helper.8*
 %dir %{_datadir}/libvirt/schemas
 %{_datadir}/libvirt/schemas/basictypes.rng
 %{_datadir}/libvirt/schemas/capability.rng
+%{_datadir}/libvirt/schemas/cpu.rng
 %{_datadir}/libvirt/schemas/cputypes.rng
 %{_datadir}/libvirt/schemas/domain.rng
+%{_datadir}/libvirt/schemas/domainbackup.rng
 %{_datadir}/libvirt/schemas/domaincaps.rng
+%{_datadir}/libvirt/schemas/domaincheckpoint.rng
 %{_datadir}/libvirt/schemas/domaincommon.rng
+%{_datadir}/libvirt/schemas/domainoverrides.rng
 %{_datadir}/libvirt/schemas/domainsnapshot.rng
+%{_datadir}/libvirt/schemas/inactiveDomain.rng
 %{_datadir}/libvirt/schemas/interface.rng
 %{_datadir}/libvirt/schemas/network.rng
 %{_datadir}/libvirt/schemas/networkcommon.rng
+%{_datadir}/libvirt/schemas/networkport.rng
 %{_datadir}/libvirt/schemas/nodedev.rng
 %{_datadir}/libvirt/schemas/nwfilter.rng
 %{_datadir}/libvirt/schemas/nwfilter_params.rng
 %{_datadir}/libvirt/schemas/nwfilterbinding.rng
+%{_datadir}/libvirt/schemas/privatedata.rng
 %{_datadir}/libvirt/schemas/secret.rng
 %{_datadir}/libvirt/schemas/storagecommon.rng
 %{_datadir}/libvirt/schemas/storagepool.rng
+%{_datadir}/libvirt/schemas/storagepoolcaps.rng
 %{_datadir}/libvirt/schemas/storagevol.rng
 # for test driver (built into libvirt)
 %{_datadir}/libvirt/test-screenshot.png
 
+%files ssh-proxy
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libexecdir}/libvirt-ssh-proxy
+%config(noreplace) %verify(not md5 mtime size) /etc/ssh/ssh_config.d/30-libvirt-ssh-proxy.conf
+
 %files utils
 %defattr(644,root,root,755)
 
@@ -883,5 +1058,5 @@ fi
 %if %{with wireshark}
 %files -n wireshark-libvirt
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/wireshark/plugins/*/libvirt.so
+%attr(755,root,root) %{_libdir}/wireshark/plugins/*/epan/libvirt.so
 %endif