Daniel Veillard 5c1d88
# -*- rpm-spec -*-
Daniel Veillard 5c1d88
Daniel P. Berrange a97245
# This spec file assumes you are building on a Fedora or RHEL version
Daniel P. Berrange 0ca715
# that's still supported by the vendor. It may work on other distros
Daniel P. Berrange 0ca715
# or versions, but no effort will be made to ensure that going forward.
Daniel P. Berrangé 782468
%define min_rhel 7
212695
%define min_fedora 31
Daniel P. Berrange 0ca715
Daniel P. Berrangé c71e60
%if 0%{?fedora} >= %{min_fedora} || 0%{?rhel} >= %{min_rhel}
Daniel P. Berrange 47ca46
    %define supported_platform 1
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define supported_platform 0
Daniel Veillard ed6c49
%endif
Daniel Veillard ed6c49
a761ea
# On RHEL 7 and older macro _vpath_builddir is not defined.
a761ea
%if 0%{?rhel} && 0%{?rhel} <= 7
a761ea
    %define _vpath_builddir %{_target_platform}
a761ea
%endif
a761ea
a11202
%define arches_qemu_kvm         %{ix86} x86_64 %{power64} %{arm} aarch64 s390x
a761ea
%if 0%{?rhel}
a761ea
    %define arches_qemu_kvm     x86_64 %{power64} aarch64 s390x
a761ea
%endif
a761ea
a761ea
%define arches_64bit            x86_64 %{power64} aarch64 s390x riscv64
a761ea
%define arches_x86              %{ix86} x86_64
a761ea
a761ea
%define arches_systemtap_64bit  %{arches_64bit}
a761ea
%define arches_dmidecode        %{arches_x86}
a761ea
%define arches_xen              %{arches_x86} aarch64
a761ea
%define arches_vbox             %{arches_x86}
a761ea
%define arches_ceph             %{arches_64bit}
a761ea
%define arches_zfs              %{arches_x86} %{power64} %{arm}
a761ea
%define arches_numactl          %{arches_x86} %{power64} aarch64
a761ea
%define arches_numad            %{arches_x86} %{power64} aarch64
a761ea
Daniel P. Berrange 47ca46
# The hypervisor drivers that run in libvirtd
Daniel P. Berrange 47ca46
%define with_qemu          0%{!?_without_qemu:1}
Daniel P. Berrange 47ca46
%define with_lxc           0%{!?_without_lxc:1}
Daniel P. Berrange 47ca46
%define with_libxl         0%{!?_without_libxl:1}
Daniel P. Berrange 47ca46
%define with_vbox          0%{!?_without_vbox:1}
Mark McLoughlin 86abd5
a761ea
%ifarch %{arches_qemu_kvm}
a761ea
    %define with_qemu_kvm      %{with_qemu}
a761ea
%else
a761ea
    %define with_qemu_kvm      0
9f9eae
%endif
9f9eae
a761ea
%define with_qemu_tcg      %{with_qemu}
a761ea
a761ea
# RHEL disables TCG on all architectures
9f9eae
%if 0%{?rhel}
9f9eae
    %define with_qemu_tcg 0
Daniel P. Berrange e6d978
%endif
Daniel P. Berrange e6d978
9f9eae
%if ! %{with_qemu_tcg} && ! %{with_qemu_kvm}
9f9eae
    %define with_qemu 0
9f9eae
%endif
9f9eae
Daniel P. Berrange afe729
# Then the hypervisor drivers that run outside libvirtd, in libvirt.so
Daniel P. Berrange afe729
%define with_openvz        0%{!?_without_openvz:1}
Daniel P. Berrange afe729
%define with_vmware        0%{!?_without_vmware:1}
Mark McLoughlin 86abd5
%define with_esx           0%{!?_without_esx:1}
Daniel Veillard a6831c
%define with_hyperv        0%{!?_without_hyperv:1}
Daniel Veillard 3cf75c
Daniel P. Berrange afe729
# Then the secondary host drivers, which run inside libvirtd
Daniel P. Berrangé 782468
%define with_storage_rbd      0%{!?_without_storage_rbd:1}
Daniel P. Berrange 47ca46
%if 0%{?fedora}
Daniel P. Berrange 47ca46
    %define with_storage_sheepdog 0%{!?_without_storage_sheepdog:1}
Daniel Veillard f46359
%else
Daniel P. Berrange 350081
    %define with_storage_sheepdog 0
Daniel Veillard f46359
%endif
4d15e5
Daniel P. Berrange 47ca46
%define with_storage_gluster 0%{!?_without_storage_gluster:1}
a761ea
%ifnarch %{arches_qemu_kvm}
4d15e5
    # gluster is only built where qemu driver is enabled on RHEL 8
4d15e5
    %if 0%{?rhel} >= 8
4d15e5
        %define with_storage_gluster 0
4d15e5
    %endif
4d15e5
%endif
4d15e5
Daniel P. Berrange 7335ed
# F25+ has zfs-fuse
Daniel P. Berrangé 48941c
%if 0%{?fedora}
Daniel P. Berrange 7335ed
    %define with_storage_zfs      0%{!?_without_storage_zfs:1}
Daniel P. Berrange 7335ed
%else
Daniel P. Berrange 7335ed
    %define with_storage_zfs      0
Daniel P. Berrange 7335ed
%endif
Daniel P. Berrange 7335ed
Daniel P. Berrangé e5fa1c
# We need a recent enough libiscsi (>= 1.18.0)
Daniel P. Berrangé 7f5808
%if 0%{?fedora} || 0%{?rhel} > 7
Daniel P. Berrangé e5fa1c
    %define with_storage_iscsi_direct 0%{!?_without_storage_iscsi_direct:1}
Daniel P. Berrangé e5fa1c
%else
Daniel P. Berrangé e5fa1c
    %define with_storage_iscsi_direct 0
Daniel P. Berrangé e5fa1c
%endif
Daniel P. Berrangé e5fa1c
a761ea
# Other optional features
a761ea
%define with_numactl          0%{!?_without_numactl:1}
a761ea
Daniel Veillard 3cf75c
# A few optional bits off by default, we enable later
8bf91f
%define with_fuse             0
8bf91f
%define with_sanlock          0
8bf91f
%define with_numad            0
8bf91f
%define with_firewalld_zone   0
Laine Stump b97ad8
%define with_netcf            0
8bf91f
%define with_libssh2          0
8bf91f
%define with_wireshark        0
8bf91f
%define with_libssh           0
8bf91f
%define with_dmidecode        0
Mark McLoughlin 2e7812
Daniel Veillard 3cf75c
# Finally set the OS / architecture specific special cases
Daniel Veillard 3cf75c
a761ea
# Architecture-dependent features
a761ea
%ifnarch %{arches_xen}
Daniel P. Berrange 350081
    %define with_libxl 0
Mark McLoughlin 67a2f2
%endif
a761ea
%ifnarch %{arches_vbox}
Daniel P. Berrange e80c83
    %define with_vbox 0
Daniel P. Berrange e80c83
%endif
a761ea
%ifnarch %{arches_numactl}
Daniel P. Berrange 350081
    %define with_numactl 0
Daniel P. Berrange e29f71
%endif
a761ea
%ifnarch %{arches_zfs}
Daniel P. Berrange 7335ed
    %define with_storage_zfs 0
Daniel P. Berrange 7335ed
%endif
a761ea
%ifnarch %{arches_ceph}
15c305
    %define with_storage_rbd 0
Daniel P. Berrangé 579afc
%endif
Daniel P. Berrange 7335ed
Daniel P. Berrangé 88887c
# RHEL doesn't ship OpenVZ, VBox, PowerHypervisor,
8461a5
# VMware, libxenlight (Xen 4.1 and newer),
Laine Stump 38c4b7
# or HyperV.
Daniel Veillard 3cf75c
%if 0%{?rhel}
Daniel P. Berrange 350081
    %define with_openvz 0
Daniel P. Berrange 350081
    %define with_vbox 0
Daniel P. Berrange 350081
    %define with_vmware 0
Daniel P. Berrange 350081
    %define with_libxl 0
Daniel P. Berrange 350081
    %define with_hyperv 0
ee3bf3
    %define with_vz 0
Daniel P. Berrangé 48941c
Daniel P. Berrangé 48941c
    %if 0%{?rhel} > 7
Daniel P. Berrangé 48941c
        %define with_lxc 0
Daniel P. Berrangé 48941c
    %endif
Daniel Veillard 3cf75c
%endif
Daniel Veillard 3cf75c
fecc02
%if 0%{?fedora} || 0%{?rhel} > 7
Daniel P. Berrangé 5cbc04
    %define with_firewalld_zone 0%{!?_without_firewalld_zone:1}
Daniel P. Berrangé 5cbc04
%endif
Daniel P. Berrangé 5cbc04
Laine Stump b97ad8
%if (0%{?fedora} && 0%{?fedora} < 34) || (0%{?rhel} && 0%{?rhel} < 9)
Laine Stump b97ad8
    %define with_netcf 0%{!?_without_netcf:1}
Laine Stump b97ad8
%endif
Laine Stump b97ad8
Daniel P. Berrangé 5cbc04
Daniel Veillard f5ff4a
# fuse is used to provide virtualized /proc for LXC
Daniel P. Berrangé 782468
%if %{with_lxc}
Daniel P. Berrange 350081
    %define with_fuse      0%{!?_without_fuse:1}
Daniel Veillard f5ff4a
%endif
Daniel Veillard f5ff4a
Daniel Veillard e79d30
# Enable sanlock library for lock management with QEMU
9f9eae
# Sanlock is available only on arches where kvm is available for RHEL
Daniel P. Berrange 47ca46
%if 0%{?fedora}
Daniel P. Berrange 47ca46
    %define with_sanlock 0%{!?_without_sanlock:1}
Daniel Veillard 7069f7
%endif
Daniel P. Berrange 47ca46
%if 0%{?rhel}
a761ea
    %ifarch %{arches_qemu_kvm}
Daniel P. Berrange 47ca46
        %define with_sanlock 0%{!?_without_sanlock:1}
Daniel P. Berrange 11755d
    %endif
Daniel P. Berrange 11755d
%endif
Daniel Veillard e79d30
Daniel P. Berrange 8cc508
# Enable libssh2 transport for new enough distros
Daniel P. Berrange 47ca46
%if 0%{?fedora}
Daniel P. Berrange 350081
    %define with_libssh2 0%{!?_without_libssh2:1}
Daniel P. Berrange 8cc508
%endif
Daniel P. Berrange 8cc508
8bf91f
# Enable wireshark plugins for all distros except RHEL-7
8bf91f
%if 0%{?fedora} || 0%{?rhel} > 7
Daniel P. Berrange 2427f8
    %define with_wireshark 0%{!?_without_wireshark:1}
Daniel P. Berrangé 5cbc04
    %define wireshark_plugindir %(pkg-config --variable plugindir wireshark)/epan
Daniel P. Berrangé a88867
%endif
Daniel P. Berrange 1b8b75
Daniel P. Berrange 0b1a01
# Enable libssh transport for new enough distros
Daniel P. Berrangé 061231
%if 0%{?fedora} || 0%{?rhel} > 7
Daniel P. Berrange 0b1a01
    %define with_libssh 0%{!?_without_libssh:1}
Daniel P. Berrange 0b1a01
%endif
Daniel P. Berrange 0b1a01
Daniel P. Berrangé 88887c
%if %{with_qemu} || %{with_lxc}
Daniel Veillard 8f1637
# numad is used to manage the CPU and memory placement dynamically,
Daniel P. Berrangé 4df5f7
# it's not available on many non-x86 architectures.
a761ea
    %ifarch %{arches_numad}
Daniel P. Berrange 47ca46
        %define with_numad    0%{!?_without_numad:1}
Daniel P. Berrange 350081
    %endif
Daniel Veillard 7e9981
%endif
Daniel Veillard 7e9981
a761ea
%ifarch %{arches_dmidecode}
a761ea
    %define with_dmidecode 0%{!?_without_dmidecode:1}
a761ea
%endif
a761ea
Daniel Veillard 3cf75c
# Force QEMU to run as non-root
Daniel P. Berrange 47ca46
%define qemu_user  qemu
Daniel P. Berrange 47ca46
%define qemu_group  qemu
Daniel Veillard a3e1cc
Daniel Veillard 3cf75c
Daniel P. Berrange 11755d
# RHEL releases provide stable tool chains and so it is safe to turn
Daniel P. Berrange 11755d
# compiler warning into errors without being worried about frequent
Daniel P. Berrange 11755d
# changes in reported warnings
Daniel P. Berrange 11755d
%if 0%{?rhel}
b0c05a
    %define enable_werror -Dwerror=true
Daniel P. Berrange 9e1193
%else
b0c05a
    %define enable_werror -Dwerror=false
Daniel P. Berrange 11755d
%endif
Daniel P. Berrange 11755d
Daniel P. Berrangé 1bdd52
%if 0%{?rhel} == 7
Daniel P. Berrangé 48941c
    %define tls_priority "NORMAL"
Daniel P. Berrangé 1bdd52
%else
Daniel P. Berrangé 1bdd52
    %define tls_priority "@LIBVIRT,SYSTEM"
Daniel P. Berrange a4bf27
%endif
Daniel P. Berrange a4bf27
Daniel P. Berrange 11755d
Daniel Veillard ed9e42
Summary: Library providing a simple virtualization API
Daniel Veillard e2b90f
Name: libvirt
a11202
Version: 7.1.0
a11202
Release: 1%{?dist}
Tom Callaway af1116
License: LGPLv2+
Daniel P. Berrange b73e50
URL: https://libvirt.org/
Daniel Veillard ed6c49
Daniel P. Berrange b73e50
%if %(echo %{version} | grep -q "\.0$"; echo $?) == 1
Daniel P. Berrange 350081
    %define mainturl stable_updates/
Daniel Veillard 8f1637
%endif
Daniel P. Berrange b73e50
Source: https://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.xz
404e58
Daniel P. Berrange 44699d
Requires: libvirt-daemon = %{version}-%{release}
Daniel P. Berrange 44699d
Requires: libvirt-daemon-config-network = %{version}-%{release}
Daniel P. Berrange 44699d
Requires: libvirt-daemon-config-nwfilter = %{version}-%{release}
Daniel P. Berrange 47ca46
%if %{with_libxl}
Daniel Veillard f46359
Requires: libvirt-daemon-driver-libxl = %{version}-%{release}
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange 47ca46
%if %{with_lxc}
Daniel Veillard f46359
Requires: libvirt-daemon-driver-lxc = %{version}-%{release}
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange 47ca46
%if %{with_qemu}
Daniel Veillard f46359
Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrangé 88887c
# We had UML driver, but we've removed it.
Daniel P. Berrangé 88887c
Obsoletes: libvirt-daemon-driver-uml <= 5.0.0
Daniel P. Berrangé 88887c
Obsoletes: libvirt-daemon-uml <= 5.0.0
Daniel P. Berrange 47ca46
%if %{with_vbox}
Daniel P. Berrange e80c83
Requires: libvirt-daemon-driver-vbox = %{version}-%{release}
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange 65efaa
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
Daniel Veillard f46359
Daniel Veillard f46359
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
Daniel Veillard f46359
Requires: libvirt-daemon-driver-secret = %{version}-%{release}
Daniel Veillard f46359
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
Daniel Veillard f46359
Requires: libvirt-daemon-driver-network = %{version}-%{release}
Daniel Veillard f46359
Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
Daniel P. Berrange 44699d
Requires: libvirt-client = %{version}-%{release}
Daniel P. Berrange b1ac7b
Requires: libvirt-libs = %{version}-%{release}
Daniel Veillard ed6c49
Daniel P. Berrange 44699d
# All build-time requirements. Run-time requirements are
Daniel P. Berrange 44699d
# listed against each sub-RPM
79accd
%if 0%{?rhel} == 7
79accd
BuildRequires: python36-docutils
79accd
%else
79accd
BuildRequires: python3-docutils
Daniel P. Berrange f99eeb
%endif
Daniel P. Berrangé 6210c4
BuildRequires: gcc
b0c05a
BuildRequires: meson >= 0.54.0
b0c05a
BuildRequires: ninja-build
212695
BuildRequires: make
Daniel P. Berrange a4075e
BuildRequires: git
Daniel P. Berrangé 7f5808
%if 0%{?fedora} || 0%{?rhel} > 7
Petr Písař a27ace
BuildRequires: perl-interpreter
Daniel P. Berrange 2a9c28
%else
Daniel P. Berrange 2a9c28
BuildRequires: perl
Daniel P. Berrange 2a9c28
%endif
79accd
BuildRequires: python3
Daniel Veillard 7069f7
BuildRequires: systemd-units
Daniel P. Berrangé 4fd635
%if %{with_libxl}
Daniel Veillard 313e00
BuildRequires: xen-devel
Daniel Veillard 7069f7
%endif
869311
BuildRequires: glib2-devel >= 2.48
Daniel Veillard ba3d2d
BuildRequires: libxml2-devel
Daniel Veillard ed6c49
BuildRequires: libxslt
Daniel Veillard d55c7f
BuildRequires: readline-devel
Daniel P. Berrange 0ca715
BuildRequires: bash-completion >= 2.0
Daniel Veillard 5c1d88
BuildRequires: gettext
Daniel Veillard c363c7
BuildRequires: libtasn1-devel
Daniel Veillard c70baa
BuildRequires: gnutls-devel
Daniel P. Berrange 350081
BuildRequires: libattr-devel
Daniel Veillard 4aa9c4
# For pool-build probing for existing pools
Daniel Veillard 4aa9c4
BuildRequires: libblkid-devel >= 2.17
Daniel Veillard ed6c49
# for augparse, optionally used in testing
Daniel Veillard ed6c49
BuildRequires: augeas
Daniel Veillard 544ad4
BuildRequires: systemd-devel >= 185
Daniel P. Berrange 47ca46
BuildRequires: libpciaccess-devel >= 0.10.9
Daniel P. Berrangé e5fa1c
BuildRequires: yajl-devel
Daniel Veillard e79d30
%if %{with_sanlock}
Daniel P. Berrange 8cc508
BuildRequires: sanlock-devel >= 2.4
Daniel P. Berrange 8cc508
%endif
dd3698
BuildRequires: libpcap-devel >= 1.5.0
Daniel Veillard 4b6ea9
BuildRequires: libnl3-devel
Daniel Veillard bf744f
BuildRequires: libselinux-devel
Daniel P. Berrange e8394a
BuildRequires: dnsmasq >= 2.41
Daniel Veillard ed6c49
BuildRequires: iptables
Daniel P. Berrange 47ca46
BuildRequires: radvd
Daniel Veillard ed6c49
BuildRequires: ebtables
Daniel Veillard ed6c49
BuildRequires: module-init-tools
Daniel Veillard 4f6679
BuildRequires: cyrus-sasl-devel
8ded6f
BuildRequires: polkit >= 0.112
Daniel Veillard bf744f
# For mount/umount in FS driver
Daniel Veillard bf744f
BuildRequires: util-linux
Daniel Veillard bf744f
%if %{with_qemu}
Daniel P. Berrange a74ea3
# For managing ACLs
Daniel P. Berrange a74ea3
BuildRequires: libacl-devel
Daniel Veillard bf744f
# From QEMU RPMs
Daniel Veillard bf744f
BuildRequires: /usr/bin/qemu-img
Daniel Veillard 2b9efc
%endif
Daniel Veillard bf744f
# For LVM drivers
Daniel Veillard bf744f
BuildRequires: lvm2
Daniel P. Berrangé e5fa1c
# For pool type=iscsi
Daniel Veillard bf744f
BuildRequires: iscsi-initiator-utils
Daniel P. Berrangé e5fa1c
%if %{with_storage_iscsi_direct}
Daniel P. Berrangé e5fa1c
# For pool type=iscsi-direct
Daniel P. Berrangé e5fa1c
BuildRequires: libiscsi-devel
Daniel P. Berrangé e5fa1c
%endif
Daniel Veillard bf744f
# For disk driver
Daniel Veillard bf744f
BuildRequires: parted-devel
Mark McLoughlin 897506
# For Multipath support
Mark McLoughlin 897506
BuildRequires: device-mapper-devel
Daniel P. Berrangé d670e2
# For XFS reflink clone support
Daniel P. Berrangé d670e2
BuildRequires: xfsprogs-devel
Daniel P. Berrange 1b8b75
%if %{with_storage_rbd}
79accd
    %if 0%{?fedora} || 0%{?rhel} > 7
79accd
BuildRequires: librados-devel
79accd
BuildRequires: librbd-devel
79accd
    %else
c0a04c
BuildRequires: librados2-devel
c0a04c
BuildRequires: librbd1-devel
79accd
    %endif
Daniel Veillard 3cf75c
%endif
Daniel P. Berrange 8c9e40
%if %{with_storage_gluster}
Daniel P. Berrange 8c9e40
BuildRequires: glusterfs-api-devel >= 3.4.1
Daniel P. Berrange 8c9e40
BuildRequires: glusterfs-devel >= 3.4.1
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange 47ca46
%if %{with_storage_sheepdog}
Daniel P. Berrange 47ca46
BuildRequires: sheepdog
Daniel P. Berrange 8c9e40
%endif
Daniel P. Berrange 7335ed
%if %{with_storage_zfs}
Daniel P. Berrange 7335ed
# Support any conforming implementation of zfs. On stock Fedora
Daniel P. Berrange 7335ed
# this is zfs-fuse, but could be zfsonlinux upstream RPMs
Daniel P. Berrange 7335ed
BuildRequires: /sbin/zfs
Daniel P. Berrange 7335ed
BuildRequires: /sbin/zpool
Daniel P. Berrange 7335ed
%endif
Daniel Veillard f5edf7
%if %{with_numactl}
Daniel Veillard 958f1c
# For QEMU/LXC numa info
Daniel Veillard 958f1c
BuildRequires: numactl-devel
Daniel Veillard f5edf7
%endif
Daniel Veillard 705fd2
BuildRequires: libcap-ng-devel >= 0.5.0
Daniel Veillard f5ff4a
%if %{with_fuse}
Daniel Veillard f5ff4a
BuildRequires: fuse-devel >= 2.8.6
Daniel Veillard f5ff4a
%endif
79accd
%if %{with_libssh2}
Daniel P. Berrange 8cc508
BuildRequires: libssh2-devel >= 1.3.0
Daniel P. Berrange 8cc508
%endif
Laine Stump b97ad8
%if %{with_netcf}
Daniel Veillard 4b6ea9
BuildRequires: netcf-devel >= 0.2.2
Laine Stump b97ad8
%endif
Daniel Veillard 7e9981
%if %{with_esx}
Daniel Veillard 7e9981
BuildRequires: libcurl-devel
Daniel Veillard 7e9981
%endif
Daniel Veillard a6831c
%if %{with_hyperv}
a761ea
BuildRequires: libwsman-devel >= 2.6.3
Daniel Veillard a6831c
%endif
Daniel Veillard fca1fc
BuildRequires: audit-libs-devel
Daniel Veillard ed9e42
# we need /usr/sbin/dtrace
Daniel Veillard ed9e42
BuildRequires: systemtap-sdt-devel
Daniel Veillard ed9e42
Daniel Veillard ed6c49
# For mount/umount in FS driver
Daniel Veillard ed6c49
BuildRequires: util-linux
Daniel Veillard ed6c49
# For showmount in FS driver (netfs discovery)
Daniel Veillard ed6c49
BuildRequires: nfs-utils
Daniel P. Berrange 36d558
Daniel Veillard 31802d
# Fedora build root suckage
Daniel Veillard 31802d
BuildRequires: gawk
Daniel Veillard 31802d
Daniel P. Berrange 336a93
# For storage wiping with different algorithms
Daniel P. Berrange 336a93
BuildRequires: scrub
Daniel P. Berrange 336a93
Daniel P. Berrange 24e912
%if %{with_numad}
Daniel P. Berrange 24e912
BuildRequires: numad
Daniel P. Berrange 24e912
%endif
Daniel P. Berrange 24e912
Daniel P. Berrange 1b8b75
%if %{with_wireshark}
8bf91f
BuildRequires: wireshark-devel
Daniel P. Berrange 1b8b75
%endif
Daniel P. Berrange 1b8b75
Daniel P. Berrange 0b1a01
%if %{with_libssh}
Daniel P. Berrange 0b1a01
BuildRequires: libssh-devel >= 0.7.0
Daniel P. Berrange 0b1a01
%endif
Daniel P. Berrange 0b1a01
fecc02
# On RHEL-7 rpcgen is still part of glibc-common package
Daniel P. Berrangé 7f5808
%if 0%{?fedora} || 0%{?rhel} > 7
Daniel P. Berrange 208f50
BuildRequires: rpcgen
Daniel P. Berrange 208f50
%endif
Daniel P. Berrange 208f50
fecc02
BuildRequires: libtirpc-devel
fecc02
a761ea
# Needed for the firewalld_reload macro
Daniel P. Berrangé 5cbc04
%if %{with_firewalld_zone}
Daniel P. Berrangé 5cbc04
BuildRequires: firewalld-filesystem
Daniel P. Berrangé 5cbc04
%endif
Daniel P. Berrangé 5cbc04
Daniel Veillard e2b90f
%description
Daniel Veillard bf744f
Libvirt is a C toolkit to interact with the virtualization capabilities
Daniel Veillard a3e1cc
of recent versions of Linux (and other OSes). The main package includes
Daniel Veillard a3e1cc
the libvirtd server exporting the virtualization support.
Daniel Veillard a3e1cc
Daniel P. Berrange 96a520
%package docs
Daniel P. Berrange 96a520
Summary: API reference and website documentation
Daniel P. Berrange 96a520
Daniel P. Berrange 96a520
%description docs
Daniel P. Berrange 96a520
Includes the API reference for the libvirt C library, and a complete
Daniel P. Berrange 96a520
copy of the libvirt.org website documentation.
Daniel P. Berrange 96a520
Daniel P. Berrange 44699d
%package daemon
Daniel P. Berrange 44699d
Summary: Server side daemon and supporting files for libvirt library
Daniel P. Berrange 44699d
Daniel P. Berrange 44699d
# All runtime requirements for the libvirt package (runtime requrements
Daniel P. Berrange 44699d
# for subpackages are listed later in those subpackages)
Daniel P. Berrange 44699d
Daniel P. Berrange b1ac7b
# The client side, i.e. shared libs are in a subpackage
Daniel P. Berrange b1ac7b
Requires: %{name}-libs = %{version}-%{release}
Daniel P. Berrange 44699d
afe818
# (client invokes 'nc' against the UNIX socket on the server)
afe818
Requires: /usr/bin/nc
afe818
Daniel P. Berrange 44699d
# for modprobe of pci devices
Daniel P. Berrange 44699d
Requires: module-init-tools
Daniel P. Berrangé 061231
Daniel P. Berrange 44699d
# for /sbin/ip & /sbin/tc
Daniel P. Berrange 44699d
Requires: iproute
Daniel P. Berrangé 061231
# tc is provided by iproute-tc since at least Fedora 26
Daniel P. Berrangé 061231
%if 0%{?fedora} || 0%{?rhel} > 7
Daniel P. Berrangé 061231
Requires: iproute-tc
Daniel P. Berrangé 061231
%endif
Daniel P. Berrangé 061231
9f9eae
Requires: polkit >= 0.112
a761ea
%if %{with_dmidecode}
Daniel P. Berrange 44699d
# For virConnectGetSysinfo
Daniel P. Berrange 44699d
Requires: dmidecode
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange 44699d
# For service management
Daniel P. Berrange 44699d
Requires(post): systemd-units
Daniel P. Berrange 44699d
Requires(post): systemd-sysv
Daniel P. Berrange 44699d
Requires(preun): systemd-units
Daniel P. Berrange 44699d
Requires(postun): systemd-units
Daniel P. Berrange 47ca46
%if %{with_numad}
Daniel P. Berrange 44699d
Requires: numad
Daniel P. Berrange 47ca46
%endif
Daniel Veillard f5ff4a
# libvirtd depends on 'messagebus' service
Daniel Veillard f5ff4a
Requires: dbus
660e01
# For uid creation during pre
660e01
Requires(pre): shadow-utils
f7763b
Daniel P. Berrange 44699d
%description daemon
Daniel P. Berrange 44699d
Server side daemon required to manage the virtualization capabilities
Daniel P. Berrange 44699d
of recent versions of Linux. Requires a hypervisor specific sub-RPM
Daniel P. Berrange 44699d
for specific drivers.
Daniel P. Berrange 44699d
Daniel P. Berrange 44699d
%package daemon-config-network
Daniel P. Berrange 44699d
Summary: Default configuration files for the libvirtd daemon
Daniel P. Berrange 44699d
Daniel P. Berrange 44699d
Requires: libvirt-daemon = %{version}-%{release}
Daniel P. Berrange 1b8b75
Requires: libvirt-daemon-driver-network = %{version}-%{release}
Daniel P. Berrange 44699d
Daniel P. Berrange 44699d
%description daemon-config-network
Daniel P. Berrange 44699d
Default configuration files for setting up NAT based networking
Daniel P. Berrange 44699d
Daniel P. Berrange 44699d
%package daemon-config-nwfilter
Daniel P. Berrange 44699d
Summary: Network filter configuration files for the libvirtd daemon
Daniel P. Berrange 44699d
Daniel P. Berrange 44699d
Requires: libvirt-daemon = %{version}-%{release}
Daniel P. Berrange 1b8b75
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
Daniel P. Berrange 44699d
Daniel P. Berrange 44699d
%description daemon-config-nwfilter
Daniel P. Berrange 44699d
Network filter configuration files for cleaning guest traffic
Daniel P. Berrange e6d978
Daniel Veillard 544ad4
%package daemon-driver-network
Daniel Veillard 544ad4
Summary: Network driver plugin for the libvirtd daemon
Daniel Veillard 544ad4
Requires: libvirt-daemon = %{version}-%{release}
Daniel P. Berrangé 782468
Requires: libvirt-libs = %{version}-%{release}
Daniel Veillard c5c28b
Requires: dnsmasq >= 2.41
Daniel Veillard c5c28b
Requires: radvd
Daniel Veillard c5c28b
Requires: iptables
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%description daemon-driver-network
Daniel Veillard 544ad4
The network driver plugin for the libvirtd daemon, providing
Daniel Veillard 544ad4
an implementation of the virtual network APIs using the Linux
Daniel Veillard 544ad4
bridge capabilities.
Daniel Veillard 544ad4
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%package daemon-driver-nwfilter
Daniel Veillard 544ad4
Summary: Nwfilter driver plugin for the libvirtd daemon
Daniel Veillard 544ad4
Requires: libvirt-daemon = %{version}-%{release}
Daniel P. Berrangé 782468
Requires: libvirt-libs = %{version}-%{release}
Daniel Veillard c5c28b
Requires: iptables
Daniel Veillard c5c28b
Requires: ebtables
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%description daemon-driver-nwfilter
Daniel Veillard 544ad4
The nwfilter driver plugin for the libvirtd daemon, providing
Daniel Veillard 544ad4
an implementation of the firewall APIs using the ebtables,
Daniel Veillard 544ad4
iptables and ip6tables capabilities
Daniel Veillard 544ad4
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%package daemon-driver-nodedev
Daniel Veillard 544ad4
Summary: Nodedev driver plugin for the libvirtd daemon
Daniel Veillard 544ad4
Requires: libvirt-daemon = %{version}-%{release}
Daniel P. Berrangé 782468
Requires: libvirt-libs = %{version}-%{release}
Daniel Veillard c5c28b
# needed for device enumeration
Daniel Veillard c5c28b
Requires: systemd >= 185
212695
# For managing persistent mediated devices
fecc02
%if 0%{?fedora} || 0%{?rhel} > 7
212695
Requires: mdevctl
fecc02
%endif
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%description daemon-driver-nodedev
Daniel Veillard 544ad4
The nodedev driver plugin for the libvirtd daemon, providing
Daniel Veillard 544ad4
an implementation of the node device APIs using the udev
Daniel Veillard 544ad4
capabilities.
Daniel Veillard 544ad4
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%package daemon-driver-interface
Daniel Veillard 544ad4
Summary: Interface driver plugin for the libvirtd daemon
Daniel Veillard 544ad4
Requires: libvirt-daemon = %{version}-%{release}
Daniel P. Berrangé 782468
Requires: libvirt-libs = %{version}-%{release}
Laine Stump b97ad8
%if %{with_netcf}
Daniel Veillard c5c28b
Requires: netcf-libs >= 0.2.2
Laine Stump b97ad8
%endif
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%description daemon-driver-interface
Daniel Veillard 544ad4
The interface driver plugin for the libvirtd daemon, providing
Laine Stump b97ad8
an implementation of the host network interface APIs.
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%package daemon-driver-secret
Daniel Veillard 544ad4
Summary: Secret driver plugin for the libvirtd daemon
Daniel Veillard 544ad4
Requires: libvirt-daemon = %{version}-%{release}
Daniel P. Berrangé 782468
Requires: libvirt-libs = %{version}-%{release}
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%description daemon-driver-secret
Daniel Veillard 544ad4
The secret driver plugin for the libvirtd daemon, providing
Daniel Veillard 544ad4
an implementation of the secret key APIs.
Daniel Veillard 544ad4
Daniel P. Berrange a74ea3
%package daemon-driver-storage-core
Daniel P. Berrange a74ea3
Summary: Storage driver plugin including base backends for the libvirtd daemon
Daniel Veillard 544ad4
Requires: libvirt-daemon = %{version}-%{release}
Daniel P. Berrangé 782468
Requires: libvirt-libs = %{version}-%{release}
Daniel Veillard c5c28b
Requires: nfs-utils
Daniel Veillard c5c28b
# For mkfs
Daniel Veillard c5c28b
Requires: util-linux
Daniel P. Berrange 47ca46
%if %{with_qemu}
Daniel Veillard c5c28b
# From QEMU RPMs
Daniel Veillard c5c28b
Requires: /usr/bin/qemu-img
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrangé d670e2
%if !%{with_storage_rbd}
Daniel P. Berrangé d670e2
Obsoletes: libvirt-daemon-driver-storage-rbd < %{version}-%{release}
Daniel P. Berrangé d670e2
%endif
Daniel Veillard 544ad4
Daniel P. Berrange a74ea3
%description daemon-driver-storage-core
Daniel P. Berrange a74ea3
The storage driver plugin for the libvirtd daemon, providing
Daniel P. Berrange a74ea3
an implementation of the storage APIs using files, local disks, LVM, SCSI,
Daniel P. Berrange a74ea3
iSCSI, and multipath storage.
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%package daemon-driver-storage-logical
Daniel P. Berrange a74ea3
Summary: Storage driver plugin for lvm volumes
Daniel P. Berrange a74ea3
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
Daniel P. Berrangé 782468
Requires: libvirt-libs = %{version}-%{release}
Daniel P. Berrange a74ea3
Requires: lvm2
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%description daemon-driver-storage-logical
Daniel P. Berrange a74ea3
The storage driver backend adding implementation of the storage APIs for block
Daniel P. Berrange a74ea3
volumes using lvm.
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%package daemon-driver-storage-disk
Daniel P. Berrange a74ea3
Summary: Storage driver plugin for disk
Daniel P. Berrange a74ea3
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
Daniel P. Berrangé 782468
Requires: libvirt-libs = %{version}-%{release}
Daniel P. Berrange a74ea3
Requires: parted
Daniel P. Berrange a74ea3
Requires: device-mapper
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%description daemon-driver-storage-disk
Daniel P. Berrange a74ea3
The storage driver backend adding implementation of the storage APIs for block
Daniel P. Berrange a74ea3
volumes using the host disks.
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%package daemon-driver-storage-scsi
Daniel P. Berrange a74ea3
Summary: Storage driver plugin for local scsi devices
Daniel P. Berrange a74ea3
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
Daniel P. Berrangé 782468
Requires: libvirt-libs = %{version}-%{release}
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%description daemon-driver-storage-scsi
Daniel P. Berrange a74ea3
The storage driver backend adding implementation of the storage APIs for scsi
Daniel P. Berrange a74ea3
host devices.
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%package daemon-driver-storage-iscsi
Daniel P. Berrange a74ea3
Summary: Storage driver plugin for iscsi
Daniel P. Berrange a74ea3
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
Daniel P. Berrangé 782468
Requires: libvirt-libs = %{version}-%{release}
Daniel P. Berrange a74ea3
Requires: iscsi-initiator-utils
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%description daemon-driver-storage-iscsi
Daniel P. Berrange a74ea3
The storage driver backend adding implementation of the storage APIs for iscsi
Daniel P. Berrange a74ea3
volumes using the host iscsi stack.
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
Daniel P. Berrangé e5fa1c
%if %{with_storage_iscsi_direct}
Daniel P. Berrangé e5fa1c
%package daemon-driver-storage-iscsi-direct
Daniel P. Berrangé e5fa1c
Summary: Storage driver plugin for iscsi-direct
Daniel P. Berrangé e5fa1c
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
Daniel P. Berrangé e5fa1c
Requires: libvirt-libs = %{version}-%{release}
Daniel P. Berrangé e5fa1c
Requires: libiscsi
Daniel P. Berrangé e5fa1c
Daniel P. Berrangé e5fa1c
%description daemon-driver-storage-iscsi-direct
Daniel P. Berrangé e5fa1c
The storage driver backend adding implementation of the storage APIs for iscsi
Daniel P. Berrangé e5fa1c
volumes using libiscsi direct connection.
Daniel P. Berrangé e5fa1c
%endif
Daniel P. Berrangé e5fa1c
Daniel P. Berrangé e5fa1c
Daniel P. Berrange a74ea3
%package daemon-driver-storage-mpath
Daniel P. Berrange a74ea3
Summary: Storage driver plugin for multipath volumes
Daniel P. Berrange a74ea3
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
Daniel P. Berrangé 782468
Requires: libvirt-libs = %{version}-%{release}
Daniel P. Berrange a74ea3
Requires: device-mapper
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%description daemon-driver-storage-mpath
Daniel P. Berrange a74ea3
The storage driver backend adding implementation of the storage APIs for
Daniel P. Berrange a74ea3
multipath storage using device mapper.
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%if %{with_storage_gluster}
Daniel P. Berrange a74ea3
%package daemon-driver-storage-gluster
Daniel P. Berrange a74ea3
Summary: Storage driver plugin for gluster
Daniel P. Berrange a74ea3
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
Daniel P. Berrangé 782468
Requires: libvirt-libs = %{version}-%{release}
Daniel P. Berrange a74ea3
    %if 0%{?fedora}
Daniel P. Berrange a74ea3
Requires: glusterfs-client >= 2.0.1
Daniel P. Berrange a74ea3
    %endif
Daniel P. Berrange a74ea3
    %if (0%{?fedora} || 0%{?with_storage_gluster})
Daniel P. Berrange a74ea3
Requires: /usr/sbin/gluster
Daniel P. Berrange a74ea3
    %endif
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%description daemon-driver-storage-gluster
Daniel P. Berrange a74ea3
The storage driver backend adding implementation of the storage APIs for gluster
Daniel P. Berrange a74ea3
volumes using libgfapi.
Daniel P. Berrange a74ea3
%endif
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%if %{with_storage_rbd}
Daniel P. Berrange a74ea3
%package daemon-driver-storage-rbd
Daniel P. Berrange a74ea3
Summary: Storage driver plugin for rbd
Daniel P. Berrange a74ea3
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
Daniel P. Berrangé 782468
Requires: libvirt-libs = %{version}-%{release}
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%description daemon-driver-storage-rbd
Daniel P. Berrange a74ea3
The storage driver backend adding implementation of the storage APIs for rbd
Daniel P. Berrange a74ea3
volumes using the ceph protocol.
Daniel P. Berrange a74ea3
%endif
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%if %{with_storage_sheepdog}
Daniel P. Berrange a74ea3
%package daemon-driver-storage-sheepdog
Daniel P. Berrange a74ea3
Summary: Storage driver plugin for sheepdog
Daniel P. Berrange a74ea3
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
Daniel P. Berrangé 782468
Requires: libvirt-libs = %{version}-%{release}
Daniel P. Berrange a74ea3
Requires: sheepdog
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%description daemon-driver-storage-sheepdog
Daniel P. Berrange a74ea3
The storage driver backend adding implementation of the storage APIs for
Daniel P. Berrange a74ea3
sheepdog volumes using.
Daniel P. Berrange a74ea3
%endif
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
Daniel P. Berrange 7335ed
%if %{with_storage_zfs}
Daniel P. Berrange 7335ed
%package daemon-driver-storage-zfs
Daniel P. Berrange 7335ed
Summary: Storage driver plugin for ZFS
Daniel P. Berrange 7335ed
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
Daniel P. Berrangé 782468
Requires: libvirt-libs = %{version}-%{release}
Daniel P. Berrange 7335ed
# Support any conforming implementation of zfs
Daniel P. Berrange 7335ed
Requires: /sbin/zfs
Daniel P. Berrange 7335ed
Requires: /sbin/zpool
Daniel P. Berrange 7335ed
Daniel P. Berrange 7335ed
%description daemon-driver-storage-zfs
Daniel P. Berrange 7335ed
The storage driver backend adding implementation of the storage APIs for
Daniel P. Berrange 7335ed
ZFS volumes.
Daniel P. Berrange 7335ed
%endif
Daniel P. Berrange 7335ed
Daniel P. Berrange 7335ed
Daniel P. Berrange a74ea3
%package daemon-driver-storage
Daniel P. Berrange a74ea3
Summary: Storage driver plugin including all backends for the libvirtd daemon
Daniel P. Berrange a74ea3
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
Daniel P. Berrange a74ea3
Requires: libvirt-daemon-driver-storage-disk = %{version}-%{release}
Daniel P. Berrange a74ea3
Requires: libvirt-daemon-driver-storage-logical = %{version}-%{release}
Daniel P. Berrange a74ea3
Requires: libvirt-daemon-driver-storage-scsi = %{version}-%{release}
Daniel P. Berrange a74ea3
Requires: libvirt-daemon-driver-storage-iscsi = %{version}-%{release}
Daniel P. Berrange a74ea3
Requires: libvirt-daemon-driver-storage-mpath = %{version}-%{release}
Daniel P. Berrangé e5fa1c
%if %{with_storage_iscsi_direct}
Daniel P. Berrangé e5fa1c
Requires: libvirt-daemon-driver-storage-iscsi-direct = %{version}-%{release}
Daniel P. Berrangé e5fa1c
%endif
Daniel P. Berrange a74ea3
%if %{with_storage_gluster}
Daniel P. Berrange a74ea3
Requires: libvirt-daemon-driver-storage-gluster = %{version}-%{release}
Daniel P. Berrange a74ea3
%endif
Daniel P. Berrange a74ea3
%if %{with_storage_rbd}
Daniel P. Berrange a74ea3
Requires: libvirt-daemon-driver-storage-rbd = %{version}-%{release}
Daniel P. Berrange a74ea3
%endif
Daniel P. Berrange a74ea3
%if %{with_storage_sheepdog}
Daniel P. Berrange a74ea3
Requires: libvirt-daemon-driver-storage-sheepdog = %{version}-%{release}
Daniel P. Berrange a74ea3
%endif
Daniel P. Berrange 7335ed
%if %{with_storage_zfs}
Daniel P. Berrange 7335ed
Requires: libvirt-daemon-driver-storage-zfs = %{version}-%{release}
Daniel P. Berrange 7335ed
%endif
Daniel P. Berrange a74ea3
Daniel Veillard 544ad4
%description daemon-driver-storage
Daniel Veillard 544ad4
The storage driver plugin for the libvirtd daemon, providing
Daniel Veillard 544ad4
an implementation of the storage APIs using LVM, iSCSI,
Daniel Veillard 544ad4
parted and more.
Daniel Veillard 544ad4
Daniel Veillard 544ad4
Daniel P. Berrange 47ca46
%if %{with_qemu}
Daniel Veillard 544ad4
%package daemon-driver-qemu
Daniel P. Berrange 04cb28
Summary: QEMU driver plugin for the libvirtd daemon
Daniel Veillard 544ad4
Requires: libvirt-daemon = %{version}-%{release}
Daniel P. Berrangé 782468
Requires: libvirt-libs = %{version}-%{release}
Daniel Veillard c5c28b
Requires: /usr/bin/qemu-img
Daniel Veillard c5c28b
# For image compression
Daniel Veillard c5c28b
Requires: gzip
Daniel Veillard c5c28b
Requires: bzip2
Daniel Veillard c5c28b
Requires: lzop
Daniel Veillard c5c28b
Requires: xz
Daniel P. Berrangé 48941c
    %if 0%{?fedora} || 0%{?rhel} > 7
Daniel P. Berrange 4e2aab
Requires: systemd-container
Daniel P. Berrange b1ac7b
    %endif
Daniel P. Berrangé c71e60
    %if 0%{?fedora} || 0%{?rhel} > 7
Daniel P. Berrangé c71e60
Requires: swtpm-tools
Daniel P. Berrangé c71e60
    %endif
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%description daemon-driver-qemu
Daniel Veillard 544ad4
The qemu driver plugin for the libvirtd daemon, providing
Daniel Veillard 544ad4
an implementation of the hypervisor driver APIs using
Daniel Veillard 544ad4
QEMU
Daniel P. Berrange 47ca46
%endif
Daniel Veillard 544ad4
Daniel Veillard 544ad4
Daniel P. Berrange 47ca46
%if %{with_lxc}
Daniel Veillard 544ad4
%package daemon-driver-lxc
Daniel Veillard 544ad4
Summary: LXC driver plugin for the libvirtd daemon
Daniel Veillard 544ad4
Requires: libvirt-daemon = %{version}-%{release}
Daniel P. Berrangé 782468
Requires: libvirt-libs = %{version}-%{release}
Daniel Veillard 544ad4
# There really is a hard cross-driver dependency here
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-network = %{version}-%{release}
Daniel P. Berrangé 48941c
    %if 0%{?fedora} || 0%{?rhel} > 7
Daniel P. Berrange 4e2aab
Requires: systemd-container
Daniel P. Berrange b1ac7b
    %endif
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%description daemon-driver-lxc
Daniel Veillard 544ad4
The LXC driver plugin for the libvirtd daemon, providing
Daniel Veillard 544ad4
an implementation of the hypervisor driver APIs using
Daniel Veillard 544ad4
the Linux kernel
Daniel P. Berrange 47ca46
%endif
Daniel Veillard 544ad4
Daniel Veillard 544ad4
Daniel P. Berrange 47ca46
%if %{with_vbox}
Daniel P. Berrange e80c83
%package daemon-driver-vbox
Daniel P. Berrange e80c83
Summary: VirtualBox driver plugin for the libvirtd daemon
Daniel P. Berrange e80c83
Requires: libvirt-daemon = %{version}-%{release}
Daniel P. Berrangé 782468
Requires: libvirt-libs = %{version}-%{release}
Daniel P. Berrange e80c83
Daniel P. Berrange e80c83
%description daemon-driver-vbox
Daniel P. Berrange e80c83
The vbox driver plugin for the libvirtd daemon, providing
Daniel P. Berrange e80c83
an implementation of the hypervisor driver APIs using
Daniel P. Berrange e80c83
VirtualBox
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange e80c83
Daniel P. Berrange e80c83
Daniel P. Berrange 47ca46
%if %{with_libxl}
Daniel Veillard 544ad4
%package daemon-driver-libxl
Daniel Veillard 544ad4
Summary: Libxl driver plugin for the libvirtd daemon
Daniel Veillard 544ad4
Requires: libvirt-daemon = %{version}-%{release}
Daniel P. Berrangé 782468
Requires: libvirt-libs = %{version}-%{release}
Daniel P. Berrangé 4fd635
Obsoletes: libvirt-daemon-driver-xen < 4.3.0
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%description daemon-driver-libxl
Daniel Veillard 544ad4
The Libxl driver plugin for the libvirtd daemon, providing
Daniel Veillard 544ad4
an implementation of the hypervisor driver APIs using
Daniel Veillard 544ad4
Libxl
Daniel P. Berrange 47ca46
%endif
Daniel Veillard 544ad4
Daniel Veillard 544ad4
Daniel P. Berrange e6d978
Daniel P. Berrange 47ca46
%if %{with_qemu_tcg}
Daniel P. Berrange e6d978
%package daemon-qemu
Daniel P. Berrange e6d978
Summary: Server side daemon & driver required to run QEMU guests
Daniel P. Berrange e6d978
Daniel P. Berrange e6d978
Requires: libvirt-daemon = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-network = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-secret = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
Daniel P. Berrange e6d978
Requires: qemu
Daniel P. Berrange e6d978
Daniel P. Berrange e6d978
%description daemon-qemu
Daniel P. Berrange e6d978
Server side daemon and driver required to manage the virtualization
Daniel P. Berrange e6d978
capabilities of the QEMU TCG emulators
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange e6d978
Daniel P. Berrange e6d978
Daniel P. Berrange 47ca46
%if %{with_qemu_kvm}
Daniel P. Berrange e6d978
%package daemon-kvm
Daniel P. Berrange e6d978
Summary: Server side daemon & driver required to run KVM guests
Daniel P. Berrange e6d978
Daniel P. Berrange e6d978
Requires: libvirt-daemon = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-network = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-secret = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
Daniel P. Berrange e6d978
Requires: qemu-kvm
Daniel P. Berrange e6d978
Daniel P. Berrange e6d978
%description daemon-kvm
Daniel P. Berrange e6d978
Server side daemon and driver required to manage the virtualization
Daniel P. Berrange e6d978
capabilities of the KVM hypervisor
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange e6d978
Daniel P. Berrange e6d978
Daniel P. Berrange 47ca46
%if %{with_lxc}
Daniel P. Berrange e6d978
%package daemon-lxc
Daniel P. Berrange e6d978
Summary: Server side daemon & driver required to run LXC guests
Daniel P. Berrange e6d978
Daniel P. Berrange e6d978
Requires: libvirt-daemon = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-lxc = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-network = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-secret = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
Daniel P. Berrange e6d978
Daniel P. Berrange e6d978
%description daemon-lxc
Daniel P. Berrange e6d978
Server side daemon and driver required to manage the virtualization
Daniel P. Berrange e6d978
capabilities of LXC
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange e6d978
Daniel P. Berrange e6d978
Daniel P. Berrangé 4fd635
%if %{with_libxl}
Daniel P. Berrange e6d978
%package daemon-xen
Daniel P. Berrange e6d978
Summary: Server side daemon & driver required to run XEN guests
Daniel P. Berrange e6d978
Daniel P. Berrange e6d978
Requires: libvirt-daemon = %{version}-%{release}
Daniel P. Berrange 47ca46
    %if %{with_libxl}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-libxl = %{version}-%{release}
Daniel P. Berrange 47ca46
    %endif
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-network = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-secret = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
Daniel P. Berrange e6d978
Requires: xen
Daniel P. Berrange e6d978
Daniel P. Berrange e6d978
%description daemon-xen
Daniel P. Berrange e6d978
Server side daemon and driver required to manage the virtualization
Daniel P. Berrange e6d978
capabilities of XEN
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange e80c83
Daniel P. Berrange 47ca46
%if %{with_vbox}
Daniel P. Berrange e80c83
%package daemon-vbox
Daniel P. Berrange e80c83
Summary: Server side daemon & driver required to run VirtualBox guests
Daniel P. Berrange e80c83
Daniel P. Berrange e80c83
Requires: libvirt-daemon = %{version}-%{release}
Daniel P. Berrange e80c83
Requires: libvirt-daemon-driver-vbox = %{version}-%{release}
Daniel P. Berrange e80c83
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
Daniel P. Berrange e80c83
Requires: libvirt-daemon-driver-network = %{version}-%{release}
Daniel P. Berrange e80c83
Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
Daniel P. Berrange e80c83
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
Daniel P. Berrange e80c83
Requires: libvirt-daemon-driver-secret = %{version}-%{release}
Daniel P. Berrange e80c83
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
Daniel P. Berrange e80c83
Daniel P. Berrange e80c83
%description daemon-vbox
Daniel P. Berrange e80c83
Server side daemon and driver required to manage the virtualization
Daniel P. Berrange e80c83
capabilities of VirtualBox
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange 44699d
Daniel Veillard a3e1cc
%package client
Daniel P. Berrange b1ac7b
Summary: Client side utilities of the libvirt library
Daniel P. Berrange b1ac7b
Requires: %{name}-libs = %{version}-%{release}
Daniel P. Berrange e80c83
# Needed by /usr/libexec/libvirt-guests.sh script.
Daniel Veillard ed6c49
Requires: gettext
Daniel Veillard ed6c49
# Needed by virt-pki-validate script.
Daniel Veillard ed6c49
Requires: gnutls-utils
Daniel P. Berrangé 48941c
Requires: %{name}-bash-completion = %{version}-%{release}
Daniel P. Berrange b1ac7b
Daniel P. Berrange b1ac7b
%description client
Daniel P. Berrange b1ac7b
The client binaries needed to access the virtualization
Daniel P. Berrange b1ac7b
capabilities of recent versions of Linux (and other OSes).
Daniel P. Berrange b1ac7b
Daniel P. Berrange b1ac7b
%package libs
Daniel P. Berrange b1ac7b
Summary: Client side libraries
Daniel P. Berrange b1ac7b
# So remote clients can access libvirt over SSH tunnel
Daniel Veillard a3e1cc
Requires: cyrus-sasl
Daniel P. Berrange 04cb28
# Needed by default sasl.conf - no onerous extra deps, since
Daniel P. Berrange 04cb28
# 100's of other things on a system already pull in krb5-libs
Daniel P. Berrange 04cb28
Requires: cyrus-sasl-gssapi
Daniel Veillard a3e1cc
Daniel P. Berrange b1ac7b
%description libs
Daniel P. Berrange b1ac7b
Shared libraries for accessing the libvirt daemon.
Daniel P. Berrange b1ac7b
Daniel P. Berrange b1ac7b
%package admin
Daniel P. Berrange b1ac7b
Summary: Set of tools to control libvirt daemon
Daniel P. Berrange b1ac7b
Requires: %{name}-libs = %{version}-%{release}
Daniel P. Berrangé 48941c
Requires: %{name}-bash-completion = %{version}-%{release}
Daniel P. Berrange b1ac7b
Daniel P. Berrange b1ac7b
%description admin
Daniel P. Berrange b1ac7b
The client side utilities to control the libvirt daemon.
Daniel Veillard a3e1cc
Daniel P. Berrangé 48941c
%package bash-completion
Daniel P. Berrangé 48941c
Summary: Bash completion script
Daniel P. Berrangé 48941c
Daniel P. Berrangé 48941c
%description bash-completion
Daniel P. Berrangé 48941c
Bash completion script stub.
Daniel P. Berrangé 48941c
Daniel P. Berrange 1b8b75
%if %{with_wireshark}
Daniel P. Berrange 1b8b75
%package wireshark
Daniel P. Berrange 1b8b75
Summary: Wireshark dissector plugin for libvirt RPC transactions
8bf91f
Requires: wireshark
Daniel P. Berrange b1ac7b
Requires: %{name}-libs = %{version}-%{release}
Daniel P. Berrange 1b8b75
Daniel P. Berrange 1b8b75
%description wireshark
Daniel P. Berrange 1b8b75
Wireshark dissector plugin for better analysis of libvirt RPC traffic.
Daniel P. Berrange 1b8b75
%endif
Daniel P. Berrange 1b8b75
Daniel Veillard c5c28b
%if %{with_lxc}
Daniel Veillard c5c28b
%package login-shell
Daniel Veillard c5c28b
Summary: Login shell for connecting users to an LXC container
Daniel P. Berrange b1ac7b
Requires: %{name}-libs = %{version}-%{release}
Daniel Veillard c5c28b
Daniel Veillard c5c28b
%description login-shell
Daniel Veillard c5c28b
Provides the set-uid virt-login-shell binary that is used to
Daniel Veillard c5c28b
connect a user to an LXC container when they login, by switching
Daniel Veillard c5c28b
namespaces.
Daniel Veillard c5c28b
%endif
Daniel Veillard c5c28b
Daniel Veillard e2b90f
%package devel
Daniel Veillard e2b90f
Summary: Libraries, includes, etc. to compile with the libvirt library
Daniel P. Berrange b1ac7b
Requires: %{name}-libs = %{version}-%{release}
Daniel Veillard 68efef
Requires: pkgconfig
Daniel Veillard e2b90f
Daniel Veillard e2b90f
%description devel
Daniel P. Berrange 96a520
Include header files & development libraries for the libvirt C library.
Daniel Veillard e2b90f
Daniel Veillard e79d30
%if %{with_sanlock}
Daniel Veillard e79d30
%package lock-sanlock
Daniel Veillard e79d30
Summary: Sanlock lock manager plugin for QEMU driver
Daniel P. Berrange 8cc508
Requires: sanlock >= 2.4
Daniel Veillard a6831c
#for virt-sanlock-cleanup require augeas
Daniel Veillard a6831c
Requires: augeas
Daniel Veillard 544ad4
Requires: %{name}-daemon = %{version}-%{release}
Daniel P. Berrange b1ac7b
Requires: %{name}-libs = %{version}-%{release}
Daniel Veillard e79d30
Daniel Veillard e79d30
%description lock-sanlock
Daniel Veillard e79d30
Includes the Sanlock lock manager plugin for the QEMU
Daniel Veillard e79d30
driver
Daniel Veillard e79d30
%endif
Daniel Veillard e79d30
0debbf
%package nss
0debbf
Summary: Libvirt plugin for Name Service Switch
0debbf
Requires: libvirt-daemon-driver-network = %{version}-%{release}
0debbf
0debbf
%description nss
0debbf
Libvirt plugin for NSS for translating domain names into IP addresses.
0debbf
ee3bf3
Daniel Veillard e2b90f
%prep
Daniel P. Berrange 47ca46
Daniel P. Berrangé e5fa1c
%autosetup -S git_am
e73cc6
Daniel Veillard e2b90f
%build
a761ea
a761ea
%if 0%{?fedora} == 34
a761ea
    # binutils change in F34 broke linking of tests
a761ea
    # https://bugzilla.redhat.com/show_bug.cgi?id=1889763
a761ea
    %define _lto_cflags %{nil}
a761ea
%endif
a761ea
Daniel P. Berrange 051644
%if ! %{supported_platform}
Daniel P. Berrange 0ca715
echo "This RPM requires either Fedora >= %{min_fedora} or RHEL >= %{min_rhel}"
Daniel P. Berrange 051644
exit 1
Daniel P. Berrange 051644
%endif
Daniel P. Berrange 051644
Daniel P. Berrange 47ca46
%if %{with_qemu}
b0c05a
    %define arg_qemu -Ddriver_qemu=enabled
Daniel P. Berrange 47ca46
%else
b0c05a
    %define arg_qemu -Ddriver_qemu=disabled
Daniel P. Berrange 8c9e40
%endif
Daniel P. Berrange 8c9e40
Daniel P. Berrange 47ca46
%if %{with_openvz}
b0c05a
    %define arg_openvz -Ddriver_openvz=enabled
Daniel P. Berrange 47ca46
%else
b0c05a
    %define arg_openvz -Ddriver_openvz=disabled
Daniel Veillard f5edf7
%endif
Daniel Veillard f5edf7
Daniel P. Berrange 47ca46
%if %{with_lxc}
b0c05a
    %define arg_lxc -Ddriver_lxc=enabled
b0c05a
    %define arg_login_shell -Dlogin_shell=enabled
Daniel P. Berrange 47ca46
%else
b0c05a
    %define arg_lxc -Ddriver_lxc=disabled
b0c05a
    %define arg_login_shell -Dlogin_shell=disabled
Daniel P. Berrange 24e912
%endif
Daniel P. Berrange 24e912
Daniel P. Berrange 47ca46
%if %{with_vbox}
b0c05a
    %define arg_vbox -Ddriver_vbox=enabled
Daniel P. Berrange 47ca46
%else
b0c05a
    %define arg_vbox -Ddriver_vbox=disabled
Mark McLoughlin ccafc8
%endif
Mark McLoughlin ccafc8
Daniel P. Berrange 47ca46
%if %{with_libxl}
b0c05a
    %define arg_libxl -Ddriver_libxl=enabled
Daniel P. Berrange 47ca46
%else
b0c05a
    %define arg_libxl -Ddriver_libxl=disabled
Daniel Veillard f5ff4a
%endif
Daniel Veillard f5ff4a
Daniel P. Berrange 47ca46
%if %{with_esx}
Daniel P. Berrangé 91d8ef
    %define arg_esx -Ddriver_esx=enabled -Dcurl=enabled
Daniel P. Berrange 47ca46
%else
Daniel P. Berrangé 91d8ef
    %define arg_esx -Ddriver_esx=disabled -Dcurl=disabled
Daniel Veillard 3cf75c
%endif
Daniel Veillard 3cf75c
Daniel P. Berrange 47ca46
%if %{with_hyperv}
Daniel P. Berrangé 91d8ef
    %define arg_hyperv -Ddriver_hyperv=enabled -Dopenwsman=enabled
Daniel P. Berrange 47ca46
%else
Daniel P. Berrangé 91d8ef
    %define arg_hyperv -Ddriver_hyperv=disabled -Dopenwsman=disabled
Daniel P. Berrange 11755d
%endif
Daniel P. Berrange 11755d
Daniel P. Berrange 47ca46
%if %{with_vmware}
b0c05a
    %define arg_vmware -Ddriver_vmware=enabled
Daniel P. Berrange 47ca46
%else
b0c05a
    %define arg_vmware -Ddriver_vmware=disabled
Daniel Veillard 3cf75c
%endif
Daniel Veillard 3cf75c
Daniel P. Berrange 47ca46
%if %{with_storage_rbd}
b0c05a
    %define arg_storage_rbd -Dstorage_rbd=enabled
Daniel P. Berrange 47ca46
%else
b0c05a
    %define arg_storage_rbd -Dstorage_rbd=disabled
Daniel Veillard 4717aa
%endif
Daniel Veillard 4717aa
Daniel P. Berrange 47ca46
%if %{with_storage_sheepdog}
b0c05a
    %define arg_storage_sheepdog -Dstorage_sheepdog=enabled
Daniel P. Berrange 47ca46
%else
b0c05a
    %define arg_storage_sheepdog -Dstorage_sheepdog=disabled
Daniel Veillard e79d30
%endif
Daniel Veillard e79d30
Daniel P. Berrange 47ca46
%if %{with_storage_gluster}
Daniel P. Berrangé 91d8ef
    %define arg_storage_gluster -Dstorage_gluster=enabled -Dglusterfs=enabled
Daniel P. Berrange 47ca46
%else
Daniel P. Berrangé 91d8ef
    %define arg_storage_gluster -Dstorage_gluster=disabled -Dglusterfs=disabled
Daniel Veillard 7e9981
%endif
Daniel Veillard 7e9981
Daniel P. Berrange 7335ed
%if %{with_storage_zfs}
b0c05a
    %define arg_storage_zfs -Dstorage_zfs=enabled
Daniel P. Berrange 7335ed
%else
b0c05a
    %define arg_storage_zfs -Dstorage_zfs=disabled
Daniel P. Berrange 7335ed
%endif
Daniel P. Berrange 7335ed
Daniel P. Berrange 47ca46
%if %{with_numactl}
b0c05a
    %define arg_numactl -Dnumactl=enabled
Daniel P. Berrange 47ca46
%else
b0c05a
    %define arg_numactl -Dnumactl=disabled
Daniel Veillard 7e9981
%endif
Daniel Veillard 7e9981
Daniel P. Berrange 47ca46
%if %{with_numad}
b0c05a
    %define arg_numad -Dnumad=enabled
Daniel P. Berrange 47ca46
%else
b0c05a
    %define arg_numad -Dnumad=disabled
Daniel Veillard fca1fc
%endif
Daniel Veillard fca1fc
Daniel P. Berrange 47ca46
%if %{with_fuse}
b0c05a
    %define arg_fuse -Dfuse=enabled
Daniel P. Berrange 47ca46
%else
b0c05a
    %define arg_fuse -Dfuse=disabled
Daniel Veillard fca1fc
%endif
Daniel Veillard fca1fc
Daniel P. Berrange 47ca46
%if %{with_sanlock}
b0c05a
    %define arg_sanlock -Dsanlock=enabled
Daniel P. Berrange 47ca46
%else
b0c05a
    %define arg_sanlock -Dsanlock=disabled
Daniel Veillard 544ad4
%endif
Daniel Veillard 544ad4
Daniel P. Berrangé 5cbc04
%if %{with_firewalld_zone}
b0c05a
    %define arg_firewalld_zone -Dfirewalld_zone=enabled
Daniel P. Berrangé 5cbc04
%else
b0c05a
    %define arg_firewalld_zone -Dfirewalld_zone=disabled
Daniel P. Berrangé 5cbc04
%endif
Daniel P. Berrangé 5cbc04
Laine Stump b97ad8
%if %{with_netcf}
Laine Stump b97ad8
    %define arg_netcf -Dnetcf=enabled
Laine Stump b97ad8
%else
Laine Stump b97ad8
    %define arg_netcf -Dnetcf=disabled
Laine Stump b97ad8
%endif
Laine Stump b97ad8
Daniel P. Berrange 47ca46
%if %{with_wireshark}
b0c05a
    %define arg_wireshark -Dwireshark_dissector=enabled
Daniel P. Berrange 47ca46
%else
b0c05a
    %define arg_wireshark -Dwireshark_dissector=disabled
Daniel P. Berrange 1b8b75
%endif
Daniel P. Berrange 1b8b75
Daniel P. Berrangé e5fa1c
%if %{with_storage_iscsi_direct}
Daniel P. Berrangé 91d8ef
    %define arg_storage_iscsi_direct -Dstorage_iscsi_direct=enabled -Dlibiscsi=enabled
Daniel P. Berrangé e5fa1c
%else
Daniel P. Berrangé 91d8ef
    %define arg_storage_iscsi_direct -Dstorage_iscsi_direct=disabled -Dlibiscsi=disabled
Daniel P. Berrangé e5fa1c
%endif
Daniel P. Berrangé e5fa1c
Daniel P. Berrangé 18b1c9
%if %{with_libssh}
Daniel P. Berrangé 18b1c9
    %define arg_libssh -Dlibssh=enabled
Daniel P. Berrangé 18b1c9
%else
Daniel P. Berrangé 18b1c9
    %define arg_libssh -Dlibssh=disabled
Daniel P. Berrangé 18b1c9
%endif
Daniel P. Berrangé 18b1c9
Daniel P. Berrangé 18b1c9
%if %{with_libssh2}
Daniel P. Berrangé 18b1c9
    %define arg_libssh2 -Dlibssh2=enabled
Daniel P. Berrangé 18b1c9
%else
Daniel P. Berrangé 18b1c9
    %define arg_libssh2 -Dlibssh2=disabled
Daniel P. Berrangé 18b1c9
%endif
Daniel P. Berrangé 18b1c9
Daniel Veillard f13fb1
%define when  %(date +"%%F-%%T")
Daniel Veillard f13fb1
%define where %(hostname)
Daniel Veillard f13fb1
%define who   %{?packager}%{!?packager:Unknown}
b0c05a
%define arg_packager -Dpackager="%{who}, %{when}, %{where}"
b0c05a
%define arg_packager_version -Dpackager_version="%{release}"
Daniel Veillard f13fb1
b0c05a
%define arg_selinux_mount -Dselinux_mount="/sys/fs/selinux"
Daniel P. Berrange 47ca46
Daniel P. Berrange 11755d
# place macros above and build commands below this comment
Daniel P. Berrange 11755d
Daniel P. Berrange a56bcb
export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/%{name}.spec)
Daniel P. Berrange a56bcb
b0c05a
%meson \
b0c05a
           -Drunstatedir=%{_rundir} \
afe818
           %{?arg_qemu} \
Daniel P. Berrange 47ca46
           %{?arg_openvz} \
Daniel P. Berrange 47ca46
           %{?arg_lxc} \
Daniel P. Berrange 47ca46
           %{?arg_vbox} \
Daniel P. Berrange 47ca46
           %{?arg_libxl} \
b0c05a
           -Dsasl=enabled \
b0c05a
           -Dpolkit=enabled \
b0c05a
           -Ddriver_libvirtd=enabled \
Daniel P. Berrange 47ca46
           %{?arg_esx} \
Daniel P. Berrange 47ca46
           %{?arg_hyperv} \
Daniel P. Berrange 47ca46
           %{?arg_vmware} \
b0c05a
           -Ddriver_vz=disabled \
b0c05a
           -Ddriver_bhyve=disabled \
b0c05a
           -Dremote_default_mode=legacy \
b0c05a
           -Ddriver_interface=enabled \
b0c05a
           -Ddriver_network=enabled \
b0c05a
           -Dstorage_fs=enabled \
b0c05a
           -Dstorage_lvm=enabled \
b0c05a
           -Dstorage_iscsi=enabled \
Daniel P. Berrangé e5fa1c
           %{?arg_storage_iscsi_direct} \
b0c05a
           -Dstorage_scsi=enabled \
b0c05a
           -Dstorage_disk=enabled \
b0c05a
           -Dstorage_mpath=enabled \
Daniel P. Berrange 47ca46
           %{?arg_storage_rbd} \
Daniel P. Berrange 47ca46
           %{?arg_storage_sheepdog} \
Daniel P. Berrange 47ca46
           %{?arg_storage_gluster} \
Daniel P. Berrange 7335ed
           %{?arg_storage_zfs} \
b0c05a
           -Dstorage_vstorage=disabled \
Daniel P. Berrange 47ca46
           %{?arg_numactl} \
Daniel P. Berrange 47ca46
           %{?arg_numad} \
b0c05a
           -Dcapng=enabled \
Daniel P. Berrange 47ca46
           %{?arg_fuse} \
Laine Stump b97ad8
           %{?arg_netcf} \
b0c05a
           -Dselinux=enabled \
Daniel P. Berrange 47ca46
           %{?arg_selinux_mount} \
b0c05a
           -Dapparmor=disabled \
b0c05a
           -Dsecdriver_apparmor=disabled \
b0c05a
           -Dudev=enabled \
b0c05a
           -Dyajl=enabled \
Daniel P. Berrange 47ca46
           %{?arg_sanlock} \
b0c05a
           -Dlibpcap=enabled \
a761ea
           -Dlibnl=enabled \
b0c05a
           -Daudit=enabled \
b0c05a
           -Ddtrace=enabled \
a761ea
           -Dfirewalld=enabled \
Daniel P. Berrangé 5cbc04
           %{?arg_firewalld_zone} \
Daniel P. Berrange 47ca46
           %{?arg_wireshark} \
Daniel P. Berrangé 18b1c9
           %{?arg_libssh} \
Daniel P. Berrangé 18b1c9
           %{?arg_libssh2} \
b0c05a
           -Dpm_utils=disabled \
b0c05a
           -Dnss=enabled \
Daniel P. Berrange 47ca46
           %{arg_packager} \
Daniel P. Berrange 47ca46
           %{arg_packager_version} \
b0c05a
           -Dqemu_user=%{qemu_user} \
b0c05a
           -Dqemu_group=%{qemu_group} \
b0c05a
           -Dtls_priority=%{tls_priority} \
Daniel P. Berrange 11755d
           %{?enable_werror} \
b0c05a
           -Dexpensive_tests=enabled \
b0c05a
           -Dinit_script=systemd \
a761ea
           -Ddocs=enabled \
a761ea
           -Dtests=enabled \
a761ea
           -Drpath=disabled \
Daniel P. Berrangé 48941c
           %{?arg_login_shell}
b0c05a
b0c05a
%meson_build
Daniel Veillard e2b90f
Daniel Veillard e2b90f
%install
Mark McLoughlin a38fb9
rm -fr %{buildroot}
Daniel Veillard e2b90f
Daniel P. Berrange a56bcb
export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/%{name}.spec)
Daniel P. Berrange a56bcb
b0c05a
%meson_install
Daniel P. Berrange 350081
Daniel Veillard e2b90f
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
Daniel Veillard e2b90f
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
Daniel Veillard e79d30
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.la
Daniel Veillard e79d30
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.a
Daniel Veillard 544ad4
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.la
Daniel Veillard 544ad4
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.a
Daniel P. Berrange a74ea3
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-backend/*.la
Daniel P. Berrange a74ea3
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-backend/*.a
Daniel P. Berrangé 061231
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-file/*.la
Daniel P. Berrangé 061231
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-file/*.a
Daniel P. Berrange 1b8b75
%if %{with_wireshark}
Daniel P. Berrangé a88867
rm -f $RPM_BUILD_ROOT%{wireshark_plugindir}/libvirt.la
Daniel P. Berrange 1b8b75
%endif
Daniel Veillard 7a6f07
Daniel Veillard a160d7
install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/lib/libvirt/dnsmasq/
Daniel Veillard 7a6f07
# We don't want to install /etc/libvirt/qemu/networks in the main %files list
Daniel Veillard 7a6f07
# because if the admin wants to delete the default network completely, we don't
Daniel Veillard 7a6f07
# want to end up re-incarnating it on every RPM upgrade.
Daniel Veillard 7a6f07
install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/
Daniel Veillard 7a6f07
cp $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml \
Daniel Veillard 7a6f07
   $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
Daniel P. Berrangé c2c89e
# libvirt saves this file with mode 0600
Daniel P. Berrangé c2c89e
chmod 0600 $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
Daniel P. Berrange b23ff9
Daniel P. Berrange b23ff9
# nwfilter files are installed in /usr/share/libvirt and copied to /etc in %post
Daniel P. Berrange b23ff9
# to avoid verification errors on changed files in /etc
Daniel P. Berrange b23ff9
install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/libvirt/nwfilter/
Daniel P. Berrange b23ff9
cp -a $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/nwfilter/*.xml \
Daniel P. Berrange b23ff9
    $RPM_BUILD_ROOT%{_datadir}/libvirt/nwfilter/
Daniel P. Berrangé 061231
# libvirt saves these files with mode 600
Daniel P. Berrangé 061231
chmod 600 $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/nwfilter/*.xml
Daniel P. Berrange b23ff9
Daniel Veillard 3cf75c
%if ! %{with_qemu}
Daniel Veillard fe0909
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_qemu.aug
Daniel Veillard fe0909
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
Daniel Veillard f294b4
%endif
Daniel Veillard 5c1d88
%find_lang %{name}
Daniel Veillard e2b90f
Daniel Veillard 544ad4
%if ! %{with_sanlock}
Daniel Veillard 544ad4
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirt_sanlock.aug
Daniel Veillard 544ad4
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug
Daniel Veillard 544ad4
%endif
Daniel Veillard 544ad4
Daniel Veillard 6383d6
%if ! %{with_lxc}
Daniel Veillard 6383d6
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_lxc.aug
Daniel Veillard 6383d6
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
Daniel Veillard 6383d6
%endif
Daniel Veillard 6383d6
Daniel Veillard f294b4
%if ! %{with_qemu}
Daniel Veillard f294b4
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf
Daniel Veillard 36cab8
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.qemu
Daniel Veillard f294b4
%endif
Daniel Veillard 6383d6
%if ! %{with_lxc}
Daniel Veillard 6383d6
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/lxc.conf
Daniel Veillard a160d7
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.lxc
Daniel Veillard 36cab8
%endif
5f1a42
%if ! %{with_libxl}
5f1a42
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/libxl.conf
Daniel P. Berrange c81949
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.libxl
5f1a42
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_libxl.aug
5f1a42
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.aug
5f1a42
%endif
Daniel Veillard f294b4
Daniel P. Berrange 8c9e40
# Copied into libvirt-docs subpackage eventually
Daniel P. Berrangé c2c89e
mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt libvirt-docs
Daniel P. Berrange 96a520
a761ea
%ifarch %{arches_systemtap_64bit}
96b1b1
mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes.stp \
96b1b1
   $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes-64.stp
Daniel P. Berrangé 061231
Daniel P. Berrangé 061231
    %if %{with_qemu}
96b1b1
mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes.stp \
96b1b1
   $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes-64.stp
Daniel P. Berrangé 061231
    %endif
96b1b1
%endif
96b1b1
Daniel Veillard a160d7
%check
bbfa59
# Building on slow archs, like emulated s390x in Fedora copr, requires
bbfa59
# raising the test timeout
bbfa59
VIR_TEST_DEBUG=1 %meson_test --no-suite syntax-check --timeout-multiplier 10
Daniel Veillard a160d7
Daniel P. Berrangé 98cbf3
%post libs
Daniel P. Berrangé 98cbf3
%if 0%{?rhel} == 7
Daniel P. Berrangé 98cbf3
/sbin/ldconfig
Daniel P. Berrangé 98cbf3
%endif
Daniel P. Berrangé 98cbf3
Daniel P. Berrangé 98cbf3
%postun libs
Daniel P. Berrangé 98cbf3
%if 0%{?rhel} == 7
Daniel P. Berrangé 98cbf3
/sbin/ldconfig
Daniel P. Berrangé 98cbf3
%endif
Daniel P. Berrangé 98cbf3
Daniel P. Berrange c81949
%pre daemon
Daniel P. Berrange c81949
# 'libvirt' group is just to allow password-less polkit access to
Daniel P. Berrange c81949
# libvirtd. The uid number is irrelevant, so we use dynamic allocation
Daniel P. Berrange c81949
# described at the above link.
Daniel P. Berrange c81949
getent group libvirt >/dev/null || groupadd -r libvirt
Daniel P. Berrange c81949
Daniel P. Berrange c81949
exit 0
Daniel P. Berrange c81949
Daniel P. Berrange 44699d
%post daemon
Daniel Veillard e2b90f
Daniel P. Berrangé 782468
%systemd_post virtlockd.socket virtlockd-admin.socket
Daniel P. Berrangé 782468
%systemd_post virtlogd.socket virtlogd-admin.socket
7d77bf
%systemd_post libvirtd.socket libvirtd-ro.socket libvirtd-admin.socket
7d77bf
%systemd_post libvirtd-tcp.socket libvirtd-tls.socket
Daniel P. Berrangé 782468
%systemd_post libvirtd.service
Daniel Veillard 7a6f07
Daniel P. Berrange 89c3fa
# request daemon restart in posttrans
Daniel P. Berrange 89c3fa
mkdir -p %{_localstatedir}/lib/rpm-state/libvirt || :
Daniel P. Berrange 89c3fa
touch %{_localstatedir}/lib/rpm-state/libvirt/restart || :
Daniel P. Berrange 89c3fa
Daniel P. Berrange 44699d
%preun daemon
Daniel P. Berrangé 782468
%systemd_preun libvirtd.service
7d77bf
%systemd_preun libvirtd-tcp.socket libvirtd-tls.socket
7d77bf
%systemd_preun libvirtd.socket libvirtd-ro.socket libvirtd-admin.socket
Daniel P. Berrangé 782468
%systemd_preun virtlogd.socket virtlogd-admin.socket virtlogd.service
Daniel P. Berrangé 782468
%systemd_preun virtlockd.socket virtlockd-admin.socket virtlockd.service
Daniel Veillard 7069f7
Daniel P. Berrange 44699d
%postun daemon
Daniel Veillard 7069f7
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
Daniel Veillard 7069f7
if [ $1 -ge 1 ] ; then
Daniel P. Berrange 65efaa
    /bin/systemctl reload-or-try-restart virtlockd.service >/dev/null 2>&1 || :
Daniel P. Berrange 4a9c74
    /bin/systemctl reload-or-try-restart virtlogd.service >/dev/null 2>&1 || :
Daniel Veillard 7069f7
fi
Daniel P. Berrange 65efaa
Daniel P. Berrange 4a9c74
# In upgrade scenario we must explicitly enable virtlockd/virtlogd
Daniel P. Berrange 4a9c74
# sockets, if libvirtd is already enabled and start them if
Daniel P. Berrange 4a9c74
# libvirtd is running, otherwise you'll get failures to start
Daniel P. Berrange 4a9c74
# guests
Daniel P. Berrange 4a9c74
%triggerpostun daemon -- libvirt-daemon < 1.3.0
Daniel P. Berrange 4a9c74
if [ $1 -ge 1 ] ; then
Daniel P. Berrangé 48941c
    /bin/systemctl is-enabled libvirtd.service 1>/dev/null 2>&1 &&
Daniel P. Berrangé 48941c
        /bin/systemctl enable virtlogd.socket virtlogd-admin.socket || :
Daniel P. Berrangé 48941c
    /bin/systemctl is-active libvirtd.service 1>/dev/null 2>&1 &&
Daniel P. Berrangé 48941c
        /bin/systemctl start virtlogd.socket virtlogd-admin.socket || :
Daniel P. Berrange 4a9c74
fi
Daniel P. Berrange 4a9c74
Daniel P. Berrange 89c3fa
%posttrans daemon
Daniel P. Berrange 89c3fa
if [ -f %{_localstatedir}/lib/rpm-state/libvirt/restart ]; then
afe818
    # See if user has previously modified their install to
afe818
    # tell libvirtd to use --listen
afe818
    grep -E '^LIBVIRTD_ARGS=.*--listen' /etc/sysconfig/libvirtd 1>/dev/null 2>&1
afe818
    if test $? = 0
afe818
    then
afe818
        # Then lets keep honouring --listen and *not* use
afe818
        # systemd socket activation, because switching things
afe818
        # might confuse mgmt tool like puppet/ansible that
afe818
        # expect the old style libvirtd
afe818
        /bin/systemctl mask libvirtd.socket >/dev/null 2>&1 || :
afe818
        /bin/systemctl mask libvirtd-ro.socket >/dev/null 2>&1 || :
afe818
        /bin/systemctl mask libvirtd-admin.socket >/dev/null 2>&1 || :
afe818
        /bin/systemctl mask libvirtd-tls.socket >/dev/null 2>&1 || :
afe818
        /bin/systemctl mask libvirtd-tcp.socket >/dev/null 2>&1 || :
afe818
    else
afe818
        # Old libvirtd owns the sockets and will delete them on
afe818
        # shutdown. Can't use a try-restart as libvirtd will simply
afe818
        # own the sockets again when it comes back up. Thus we must
afe818
        # do this particular ordering, so that we get libvirtd
afe818
        # running with socket activation in use
afe818
        /bin/systemctl is-active libvirtd.service 1>/dev/null 2>&1
afe818
        if test $? = 0
afe818
        then
afe818
            /bin/systemctl stop libvirtd.service >/dev/null 2>&1 || :
afe818
afe818
            /bin/systemctl try-restart libvirtd.socket >/dev/null 2>&1 || :
afe818
            /bin/systemctl try-restart libvirtd-ro.socket >/dev/null 2>&1 || :
afe818
            /bin/systemctl try-restart libvirtd-admin.socket >/dev/null 2>&1 || :
afe818
afe818
            /bin/systemctl start libvirtd.service >/dev/null 2>&1 || :
afe818
        fi
7d77bf
    fi
Daniel P. Berrange 89c3fa
fi
Daniel P. Berrange 89c3fa
rm -rf %{_localstatedir}/lib/rpm-state/libvirt || :
Daniel P. Berrange 89c3fa
Daniel P. Berrangé 5cbc04
%post daemon-driver-network
Daniel P. Berrangé 15ca09
%if %{with_firewalld_zone}
Daniel P. Berrangé 5cbc04
    %firewalld_reload
Daniel P. Berrangé 5cbc04
%endif
Daniel P. Berrangé 5cbc04
Daniel P. Berrangé 5cbc04
%postun daemon-driver-network
Daniel P. Berrangé 15ca09
%if %{with_firewalld_zone}
Daniel P. Berrangé 5cbc04
    %firewalld_reload
Daniel P. Berrangé 5cbc04
%endif
Daniel P. Berrangé 5cbc04
Daniel P. Berrange 44699d
%post daemon-config-network
Daniel P. Berrange 44699d
if test $1 -eq 1 && test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml ; then
a54075
    # see if the network used by default network creates a conflict,
a54075
    # and try to resolve it
a54075
    # NB: 192.168.122.0/24 is used in the default.xml template file;
a54075
    # do not modify any of those values here without also modifying
a54075
    # them in the template.
a54075
    orig_sub=122
a54075
    sub=${orig_sub}
a54075
    nl='
a54075
'
a54075
    routes="${nl}$(ip route show | cut -d' ' -f1)${nl}"
a54075
    case ${routes} in
a54075
      *"${nl}192.168.${orig_sub}.0/24${nl}"*)
a54075
        # there was a match, so we need to look for an unused subnet
a54075
        for new_sub in $(seq 124 254); do
a54075
          case ${routes} in
a54075
          *"${nl}192.168.${new_sub}.0/24${nl}"*)
a54075
            ;;
a54075
          *)
a54075
            sub=$new_sub
a54075
            break;
a54075
            ;;
a54075
          esac
a54075
        done
a54075
        ;;
a54075
      *)
a54075
        ;;
a54075
    esac
a54075
a54075
    sed -e "s/${orig_sub}/${sub}/g" \
Daniel P. Berrange 44699d
         < %{_datadir}/libvirt/networks/default.xml \
Daniel P. Berrange 44699d
         > %{_sysconfdir}/libvirt/qemu/networks/default.xml
Daniel P. Berrange 44699d
    ln -s ../default.xml %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
Daniel P. Berrangé c2c89e
    # libvirt saves this file with mode 0600
Daniel P. Berrangé c2c89e
    chmod 0600 %{_sysconfdir}/libvirt/qemu/networks/default.xml
611b2e
611b2e
    # Make sure libvirt picks up the new network defininiton
Daniel P. Berrange 89c3fa
    mkdir -p %{_localstatedir}/lib/rpm-state/libvirt || :
Daniel P. Berrange 89c3fa
    touch %{_localstatedir}/lib/rpm-state/libvirt/restart || :
Daniel P. Berrange 89c3fa
fi
Daniel P. Berrange 89c3fa
Daniel P. Berrange 89c3fa
%posttrans daemon-config-network
Daniel P. Berrange 89c3fa
if [ -f %{_localstatedir}/lib/rpm-state/libvirt/restart ]; then
Daniel P. Berrange 89c3fa
    /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
Daniel P. Berrange 44699d
fi
Daniel P. Berrange 89c3fa
rm -rf %{_localstatedir}/lib/rpm-state/libvirt || :
Daniel P. Berrange b23ff9
Daniel P. Berrange b23ff9
%post daemon-config-nwfilter
Daniel P. Berrangé c71e60
for datadir_file in %{_datadir}/libvirt/nwfilter/*.xml; do
Daniel P. Berrangé c71e60
  sysconfdir_file=%{_sysconfdir}/libvirt/nwfilter/$(basename "$datadir_file")
Daniel P. Berrangé c71e60
  if [ ! -f "$sysconfdir_file" ]; then
Daniel P. Berrangé c71e60
    # libvirt saves these files with mode 600
Daniel P. Berrangé c71e60
    install -m 0600 "$datadir_file" "$sysconfdir_file"
Daniel P. Berrangé c71e60
  fi
Daniel P. Berrangé c71e60
done
Daniel P. Berrange b23ff9
# Make sure libvirt picks up the new nwfilter defininitons
Daniel P. Berrange 89c3fa
mkdir -p %{_localstatedir}/lib/rpm-state/libvirt || :
Daniel P. Berrange 89c3fa
touch %{_localstatedir}/lib/rpm-state/libvirt/restart || :
Daniel P. Berrange 89c3fa
Daniel P. Berrange 89c3fa
%posttrans daemon-config-nwfilter
Daniel P. Berrange 89c3fa
if [ -f %{_localstatedir}/lib/rpm-state/libvirt/restart ]; then
Daniel P. Berrange 89c3fa
    /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
Daniel P. Berrange 89c3fa
fi
Daniel P. Berrange 89c3fa
rm -rf %{_localstatedir}/lib/rpm-state/libvirt || :
Daniel P. Berrange b23ff9
Daniel P. Berrange b23ff9
Daniel P. Berrange 47ca46
%if %{with_qemu}
Daniel P. Berrange 65efaa
%pre daemon-driver-qemu
Daniel P. Berrange 65efaa
# We want soft static allocation of well-known ids, as disk images
Daniel P. Berrange 65efaa
# are commonly shared across NFS mounts by id rather than name; see
Daniel P. Berrange 65efaa
# https://fedoraproject.org/wiki/Packaging:UsersAndGroups
Daniel P. Berrange 65efaa
getent group kvm >/dev/null || groupadd -f -g 36 -r kvm
Daniel P. Berrange 65efaa
getent group qemu >/dev/null || groupadd -f -g 107 -r qemu
Daniel P. Berrange 65efaa
if ! getent passwd qemu >/dev/null; then
Daniel P. Berrange 65efaa
  if ! getent passwd 107 >/dev/null; then
Daniel P. Berrange 65efaa
    useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu
Daniel P. Berrange 65efaa
  else
Daniel P. Berrange 65efaa
    useradd -r -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu
Daniel P. Berrange 65efaa
  fi
Daniel P. Berrange 65efaa
fi
Daniel P. Berrange 65efaa
exit 0
Daniel P. Berrange 47ca46
%endif
Daniel Veillard 7a6f07
Daniel Veillard 7e9981
%preun client
Daniel P. Berrangé 98cbf3
Daniel P. Berrangé 782468
%systemd_preun libvirt-guests.service
Daniel Veillard 7e9981
Daniel Veillard 7e9981
%post client
Daniel P. Berrangé 782468
%systemd_post libvirt-guests.service
Mark McLoughlin 854b87
d3109a
%postun client
Daniel P. Berrangé 782468
%systemd_postun libvirt-guests.service
Daniel P. Berrangé 782468
Daniel P. Berrange 8c9e40
%if %{with_lxc}
Daniel P. Berrange 8c9e40
%pre login-shell
Daniel P. Berrange 8c9e40
getent group virtlogin >/dev/null || groupadd -r virtlogin
Daniel P. Berrange 8c9e40
exit 0
Daniel P. Berrange 8c9e40
%endif
Daniel P. Berrange 8c9e40
Daniel P. Berrange 6253f9
%files
Daniel P. Berrange 37ddbd
Daniel P. Berrange 44699d
%files docs
037cd3
%doc AUTHORS.rst NEWS.rst README.rst
b0c05a
%doc libvirt-docs/*
Daniel P. Berrange 44699d
Daniel P. Berrange 44699d
%files daemon
Daniel P. Berrange 44699d
Daniel Veillard 7a6f07
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
Daniel Veillard f294b4
Daniel Veillard 7069f7
%{_unitdir}/libvirtd.service
7d77bf
%{_unitdir}/libvirtd.socket
7d77bf
%{_unitdir}/libvirtd-ro.socket
7d77bf
%{_unitdir}/libvirtd-admin.socket
7d77bf
%{_unitdir}/libvirtd-tcp.socket
7d77bf
%{_unitdir}/libvirtd-tls.socket
afe818
%{_unitdir}/virtproxyd.service
afe818
%{_unitdir}/virtproxyd.socket
afe818
%{_unitdir}/virtproxyd-ro.socket
afe818
%{_unitdir}/virtproxyd-admin.socket
afe818
%{_unitdir}/virtproxyd-tcp.socket
afe818
%{_unitdir}/virtproxyd-tls.socket
Daniel P. Berrange 0b1a01
%{_unitdir}/virt-guest-shutdown.target
Daniel P. Berrange 4a9c74
%{_unitdir}/virtlogd.service
Daniel P. Berrange 4a9c74
%{_unitdir}/virtlogd.socket
Daniel P. Berrangé 48941c
%{_unitdir}/virtlogd-admin.socket
Daniel Veillard f5ff4a
%{_unitdir}/virtlockd.service
Daniel Veillard f5ff4a
%{_unitdir}/virtlockd.socket
Daniel P. Berrangé 48941c
%{_unitdir}/virtlockd-admin.socket
Daniel Veillard c70baa
%config(noreplace) %{_sysconfdir}/sysconfig/libvirtd
4a7cc7
%config(noreplace) %{_sysconfdir}/sysconfig/virtproxyd
Daniel P. Berrange 4a9c74
%config(noreplace) %{_sysconfdir}/sysconfig/virtlogd
Daniel Veillard f5ff4a
%config(noreplace) %{_sysconfdir}/sysconfig/virtlockd
Daniel P. Berrange fdd7e8
%config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
afe818
%config(noreplace) %{_sysconfdir}/libvirt/virtproxyd.conf
Daniel P. Berrange 4a9c74
%config(noreplace) %{_sysconfdir}/libvirt/virtlogd.conf
Daniel P. Berrange 11755d
%config(noreplace) %{_sysconfdir}/libvirt/virtlockd.conf
Daniel P. Berrangé f57ce7
%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
5f1a42
%config(noreplace) %{_prefix}/lib/sysctl.d/60-libvirtd.conf
Daniel Veillard f294b4
Daniel Veillard ed6c49
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd
Daniel Veillard 7a6f07
%dir %{_datadir}/libvirt/
Daniel Veillard 3cf75c
afe818
%ghost %dir %{_rundir}/libvirt/
Daniel Veillard 958f1c
Mark McLoughlin 66df92
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/images/
Daniel P. Berrange 8c8aca
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/filesystems/
Mark McLoughlin 743adf
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/boot/
db03f0
%dir %attr(0711, root, root) %{_localstatedir}/cache/libvirt/
Daniel Veillard f294b4
Daniel Veillard 958f1c
Daniel P. Berrange 051644
%dir %attr(0755, root, root) %{_libdir}/libvirt/
Daniel P. Berrange 051644
%dir %attr(0755, root, root) %{_libdir}/libvirt/connection-driver/
Daniel Veillard f5ff4a
%dir %attr(0755, root, root) %{_libdir}/libvirt/lock-driver
Daniel Veillard f5ff4a
%attr(0755, root, root) %{_libdir}/libvirt/lock-driver/lockd.so
Daniel Veillard f5ff4a
Daniel Veillard f294b4
%{_datadir}/augeas/lenses/libvirtd.aug
Daniel Veillard f294b4
%{_datadir}/augeas/lenses/tests/test_libvirtd.aug
Daniel P. Berrange 4a9c74
%{_datadir}/augeas/lenses/virtlogd.aug
Daniel P. Berrange 4a9c74
%{_datadir}/augeas/lenses/tests/test_virtlogd.aug
Daniel P. Berrange 11755d
%{_datadir}/augeas/lenses/virtlockd.aug
Daniel P. Berrange 11755d
%{_datadir}/augeas/lenses/tests/test_virtlockd.aug
afe818
%{_datadir}/augeas/lenses/virtproxyd.aug
afe818
%{_datadir}/augeas/lenses/tests/test_virtproxyd.aug
Daniel Veillard f5ff4a
%{_datadir}/augeas/lenses/libvirt_lockd.aug
Daniel P. Berrange 47ca46
%if %{with_qemu}
Daniel Veillard f5ff4a
%{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug
Daniel P. Berrange 47ca46
%endif
Daniel Veillard f294b4
Daniel P. Berrange c476c8
%{_datadir}/polkit-1/actions/org.libvirt.unix.policy
Daniel Veillard 000a32
%{_datadir}/polkit-1/actions/org.libvirt.api.policy
Daniel P. Berrange c81949
%{_datadir}/polkit-1/rules.d/50-libvirt.rules
Daniel Veillard f294b4
Daniel P. Berrange c80b7f
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/
Daniel Veillard f294b4
Daniel Veillard ed6c49
%attr(0755, root, root) %{_libexecdir}/libvirt_iohelper
Daniel P. Berrange 11755d
037cd3
%attr(0755, root, root) %{_bindir}/virt-ssh-helper
037cd3
Daniel Veillard c70baa
%attr(0755, root, root) %{_sbindir}/libvirtd
afe818
%attr(0755, root, root) %{_sbindir}/virtproxyd
Daniel P. Berrange 4a9c74
%attr(0755, root, root) %{_sbindir}/virtlogd
Daniel Veillard f5ff4a
%attr(0755, root, root) %{_sbindir}/virtlockd
Daniel Veillard f294b4
Daniel P. Berrange e8394a
%{_mandir}/man8/libvirtd.8*
Daniel P. Berrange 4a9c74
%{_mandir}/man8/virtlogd.8*
Daniel P. Berrange 11755d
%{_mandir}/man8/virtlockd.8*
a11202
%{_mandir}/man8/virtproxyd.8*
Daniel P. Berrange b23ff9
%{_mandir}/man7/virkey*.7*
Daniel Veillard e2b90f
Daniel P. Berrange 44699d
%files daemon-config-network
0223d5
%dir %{_datadir}/libvirt/networks/
0223d5
%{_datadir}/libvirt/networks/default.xml
Daniel P. Berrangé c2c89e
%ghost %{_sysconfdir}/libvirt/qemu/networks/default.xml
Daniel P. Berrangé c2c89e
%ghost %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
Daniel P. Berrange 96a520
Daniel P. Berrange 44699d
%files daemon-config-nwfilter
Daniel P. Berrange b23ff9
%dir %{_datadir}/libvirt/nwfilter/
Daniel P. Berrange b23ff9
%{_datadir}/libvirt/nwfilter/*.xml
Daniel P. Berrange b23ff9
%ghost %{_sysconfdir}/libvirt/nwfilter/*.xml
Daniel P. Berrange e6d978
Daniel Veillard 544ad4
%files daemon-driver-interface
4a7cc7
%config(noreplace) %{_sysconfdir}/sysconfig/virtinterfaced
afe818
%config(noreplace) %{_sysconfdir}/libvirt/virtinterfaced.conf
afe818
%{_datadir}/augeas/lenses/virtinterfaced.aug
afe818
%{_datadir}/augeas/lenses/tests/test_virtinterfaced.aug
afe818
%{_unitdir}/virtinterfaced.service
afe818
%{_unitdir}/virtinterfaced.socket
afe818
%{_unitdir}/virtinterfaced-ro.socket
afe818
%{_unitdir}/virtinterfaced-admin.socket
afe818
%attr(0755, root, root) %{_sbindir}/virtinterfaced
Daniel Veillard 544ad4
%{_libdir}/%{name}/connection-driver/libvirt_driver_interface.so
a11202
%{_mandir}/man8/virtinterfaced.8*
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%files daemon-driver-network
4a7cc7
%config(noreplace) %{_sysconfdir}/sysconfig/virtnetworkd
afe818
%config(noreplace) %{_sysconfdir}/libvirt/virtnetworkd.conf
afe818
%{_datadir}/augeas/lenses/virtnetworkd.aug
afe818
%{_datadir}/augeas/lenses/tests/test_virtnetworkd.aug
afe818
%{_unitdir}/virtnetworkd.service
afe818
%{_unitdir}/virtnetworkd.socket
afe818
%{_unitdir}/virtnetworkd-ro.socket
afe818
%{_unitdir}/virtnetworkd-admin.socket
afe818
%attr(0755, root, root) %{_sbindir}/virtnetworkd
Daniel P. Berrange 65efaa
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
Daniel P. Berrange 65efaa
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/
Daniel P. Berrange 65efaa
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
afe818
%ghost %dir %{_rundir}/libvirt/network/
Daniel P. Berrange 65efaa
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/
Daniel P. Berrange 65efaa
%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/
Daniel P. Berrange f7f509
%attr(0755, root, root) %{_libexecdir}/libvirt_leaseshelper
Daniel Veillard 544ad4
%{_libdir}/%{name}/connection-driver/libvirt_driver_network.so
a11202
%{_mandir}/man8/virtnetworkd.8*
Daniel Veillard 544ad4
Daniel P. Berrangé 5cbc04
%if %{with_firewalld_zone}
Daniel P. Berrangé 5cbc04
%{_prefix}/lib/firewalld/zones/libvirt.xml
Daniel P. Berrangé 5cbc04
%endif
Daniel P. Berrangé 5cbc04
Daniel Veillard 544ad4
%files daemon-driver-nodedev
4a7cc7
%config(noreplace) %{_sysconfdir}/sysconfig/virtnodedevd
afe818
%config(noreplace) %{_sysconfdir}/libvirt/virtnodedevd.conf
afe818
%{_datadir}/augeas/lenses/virtnodedevd.aug
afe818
%{_datadir}/augeas/lenses/tests/test_virtnodedevd.aug
afe818
%{_unitdir}/virtnodedevd.service
afe818
%{_unitdir}/virtnodedevd.socket
afe818
%{_unitdir}/virtnodedevd-ro.socket
afe818
%{_unitdir}/virtnodedevd-admin.socket
afe818
%attr(0755, root, root) %{_sbindir}/virtnodedevd
Daniel Veillard 544ad4
%{_libdir}/%{name}/connection-driver/libvirt_driver_nodedev.so
a11202
%{_mandir}/man8/virtnodedevd.8*
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%files daemon-driver-nwfilter
4a7cc7
%config(noreplace) %{_sysconfdir}/sysconfig/virtnwfilterd
afe818
%config(noreplace) %{_sysconfdir}/libvirt/virtnwfilterd.conf
afe818
%{_datadir}/augeas/lenses/virtnwfilterd.aug
afe818
%{_datadir}/augeas/lenses/tests/test_virtnwfilterd.aug
afe818
%{_unitdir}/virtnwfilterd.service
afe818
%{_unitdir}/virtnwfilterd.socket
afe818
%{_unitdir}/virtnwfilterd-ro.socket
afe818
%{_unitdir}/virtnwfilterd-admin.socket
afe818
%attr(0755, root, root) %{_sbindir}/virtnwfilterd
0223d5
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/
afe818
%ghost %dir %{_rundir}/libvirt/network/
Daniel Veillard 544ad4
%{_libdir}/%{name}/connection-driver/libvirt_driver_nwfilter.so
a11202
%{_mandir}/man8/virtnwfilterd.8*
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%files daemon-driver-secret
4a7cc7
%config(noreplace) %{_sysconfdir}/sysconfig/virtsecretd
afe818
%config(noreplace) %{_sysconfdir}/libvirt/virtsecretd.conf
afe818
%{_datadir}/augeas/lenses/virtsecretd.aug
afe818
%{_datadir}/augeas/lenses/tests/test_virtsecretd.aug
afe818
%{_unitdir}/virtsecretd.service
afe818
%{_unitdir}/virtsecretd.socket
afe818
%{_unitdir}/virtsecretd-ro.socket
afe818
%{_unitdir}/virtsecretd-admin.socket
afe818
%attr(0755, root, root) %{_sbindir}/virtsecretd
Daniel Veillard 544ad4
%{_libdir}/%{name}/connection-driver/libvirt_driver_secret.so
a11202
%{_mandir}/man8/virtsecretd.8*
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%files daemon-driver-storage
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%files daemon-driver-storage-core
4a7cc7
%config(noreplace) %{_sysconfdir}/sysconfig/virtstoraged
afe818
%config(noreplace) %{_sysconfdir}/libvirt/virtstoraged.conf
afe818
%{_datadir}/augeas/lenses/virtstoraged.aug
afe818
%{_datadir}/augeas/lenses/tests/test_virtstoraged.aug
afe818
%{_unitdir}/virtstoraged.service
afe818
%{_unitdir}/virtstoraged.socket
afe818
%{_unitdir}/virtstoraged-ro.socket
afe818
%{_unitdir}/virtstoraged-admin.socket
afe818
%attr(0755, root, root) %{_sbindir}/virtstoraged
Daniel P. Berrange 65efaa
%attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
Daniel Veillard 544ad4
%{_libdir}/%{name}/connection-driver/libvirt_driver_storage.so
Daniel P. Berrange a74ea3
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_fs.so
Daniel P. Berrangé 061231
%{_libdir}/%{name}/storage-file/libvirt_storage_file_fs.so
a11202
%{_mandir}/man8/virtstoraged.8*
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%files daemon-driver-storage-disk
Daniel P. Berrange a74ea3
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_disk.so
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%files daemon-driver-storage-logical
Daniel P. Berrange a74ea3
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_logical.so
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%files daemon-driver-storage-scsi
Daniel P. Berrange a74ea3
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_scsi.so
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%files daemon-driver-storage-iscsi
Daniel P. Berrange a74ea3
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_iscsi.so
Daniel P. Berrange a74ea3
Daniel P. Berrangé e5fa1c
%if %{with_storage_iscsi_direct}
Daniel P. Berrangé e5fa1c
%files daemon-driver-storage-iscsi-direct
Daniel P. Berrangé e5fa1c
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_iscsi-direct.so
Daniel P. Berrangé e5fa1c
%endif
Daniel P. Berrangé e5fa1c
Daniel P. Berrange a74ea3
%files daemon-driver-storage-mpath
Daniel P. Berrange a74ea3
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_mpath.so
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%if %{with_storage_gluster}
Daniel P. Berrange a74ea3
%files daemon-driver-storage-gluster
Daniel P. Berrange a74ea3
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_gluster.so
Daniel P. Berrangé 061231
%{_libdir}/%{name}/storage-file/libvirt_storage_file_gluster.so
Daniel P. Berrange a74ea3
%endif
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%if %{with_storage_rbd}
Daniel P. Berrange a74ea3
%files daemon-driver-storage-rbd
Daniel P. Berrange a74ea3
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_rbd.so
Daniel P. Berrange a74ea3
%endif
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%if %{with_storage_sheepdog}
Daniel P. Berrange a74ea3
%files daemon-driver-storage-sheepdog
Daniel P. Berrange a74ea3
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_sheepdog.so
Daniel P. Berrange a74ea3
%endif
Daniel Veillard 544ad4
Daniel P. Berrange 7335ed
%if %{with_storage_zfs}
Daniel P. Berrange 7335ed
%files daemon-driver-storage-zfs
Daniel P. Berrange 7335ed
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_zfs.so
Daniel P. Berrange 7335ed
%endif
Daniel P. Berrange 7335ed
Daniel P. Berrange 47ca46
%if %{with_qemu}
Daniel Veillard 544ad4
%files daemon-driver-qemu
4a7cc7
%config(noreplace) %{_sysconfdir}/sysconfig/virtqemud
afe818
%config(noreplace) %{_sysconfdir}/libvirt/virtqemud.conf
afe818
%{_datadir}/augeas/lenses/virtqemud.aug
afe818
%{_datadir}/augeas/lenses/tests/test_virtqemud.aug
afe818
%{_unitdir}/virtqemud.service
afe818
%{_unitdir}/virtqemud.socket
afe818
%{_unitdir}/virtqemud-ro.socket
afe818
%{_unitdir}/virtqemud-admin.socket
afe818
%attr(0755, root, root) %{_sbindir}/virtqemud
0223d5
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
Daniel P. Berrange 65efaa
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
Daniel P. Berrange 65efaa
%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
Daniel P. Berrange 65efaa
%config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf
Daniel P. Berrange 65efaa
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu
afe818
%ghost %dir %{_rundir}/libvirt/qemu/
Daniel P. Berrange 93cadb
%dir %attr(0751, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
Daniel P. Berrange 65efaa
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/
Daniel P. Berrange 65efaa
%{_datadir}/augeas/lenses/libvirtd_qemu.aug
Daniel P. Berrange 65efaa
%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
Daniel Veillard 544ad4
%{_libdir}/%{name}/connection-driver/libvirt_driver_qemu.so
Daniel P. Berrangé f57ce7
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/swtpm/
Daniel P. Berrangé c71e60
%dir %attr(0730, tss, tss) %{_localstatedir}/log/swtpm/libvirt/qemu/
dd3698
%{_bindir}/virt-qemu-run
dd3698
%{_mandir}/man1/virt-qemu-run.1*
a11202
%{_mandir}/man8/virtqemud.8*
Daniel P. Berrange 47ca46
%endif
Daniel Veillard 544ad4
Daniel P. Berrange 47ca46
%if %{with_lxc}
Daniel Veillard 544ad4
%files daemon-driver-lxc
4a7cc7
%config(noreplace) %{_sysconfdir}/sysconfig/virtlxcd
afe818
%config(noreplace) %{_sysconfdir}/libvirt/virtlxcd.conf
afe818
%{_datadir}/augeas/lenses/virtlxcd.aug
afe818
%{_datadir}/augeas/lenses/tests/test_virtlxcd.aug
afe818
%{_unitdir}/virtlxcd.service
afe818
%{_unitdir}/virtlxcd.socket
afe818
%{_unitdir}/virtlxcd-ro.socket
afe818
%{_unitdir}/virtlxcd-admin.socket
afe818
%attr(0755, root, root) %{_sbindir}/virtlxcd
Daniel P. Berrange 65efaa
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/
Daniel P. Berrange 65efaa
%config(noreplace) %{_sysconfdir}/libvirt/lxc.conf
Daniel P. Berrange 65efaa
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc
afe818
%ghost %dir %{_rundir}/libvirt/lxc/
Daniel P. Berrange 65efaa
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/
Daniel P. Berrange 65efaa
%{_datadir}/augeas/lenses/libvirtd_lxc.aug
Daniel P. Berrange 65efaa
%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
Daniel P. Berrange 65efaa
%attr(0755, root, root) %{_libexecdir}/libvirt_lxc
Daniel Veillard 544ad4
%{_libdir}/%{name}/connection-driver/libvirt_driver_lxc.so
a11202
%{_mandir}/man8/virtlxcd.8*
Daniel P. Berrange 47ca46
%endif
Daniel Veillard 544ad4
Daniel P. Berrange 47ca46
%if %{with_libxl}
Daniel Veillard 544ad4
%files daemon-driver-libxl
4a7cc7
%config(noreplace) %{_sysconfdir}/sysconfig/virtxend
afe818
%config(noreplace) %{_sysconfdir}/libvirt/virtxend.conf
afe818
%{_datadir}/augeas/lenses/virtxend.aug
afe818
%{_datadir}/augeas/lenses/tests/test_virtxend.aug
afe818
%{_unitdir}/virtxend.service
afe818
%{_unitdir}/virtxend.socket
afe818
%{_unitdir}/virtxend-ro.socket
afe818
%{_unitdir}/virtxend-admin.socket
afe818
%attr(0755, root, root) %{_sbindir}/virtxend
5f1a42
%config(noreplace) %{_sysconfdir}/libvirt/libxl.conf
Daniel P. Berrange c81949
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.libxl
5f1a42
%config(noreplace) %{_sysconfdir}/libvirt/libxl-lockd.conf
5f1a42
%{_datadir}/augeas/lenses/libvirtd_libxl.aug
5f1a42
%{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.aug
Daniel P. Berrange 65efaa
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/libxl/
afe818
%ghost %dir %{_rundir}/libvirt/libxl/
Daniel P. Berrange 65efaa
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/
Daniel Veillard 544ad4
%{_libdir}/%{name}/connection-driver/libvirt_driver_libxl.so
a11202
%{_mandir}/man8/virtxend.8*
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange e80c83
Daniel P. Berrange 47ca46
%if %{with_vbox}
Daniel P. Berrange e80c83
%files daemon-driver-vbox
4a7cc7
%config(noreplace) %{_sysconfdir}/sysconfig/virtvboxd
afe818
%config(noreplace) %{_sysconfdir}/libvirt/virtvboxd.conf
afe818
%{_datadir}/augeas/lenses/virtvboxd.aug
afe818
%{_datadir}/augeas/lenses/tests/test_virtvboxd.aug
afe818
%{_unitdir}/virtvboxd.service
afe818
%{_unitdir}/virtvboxd.socket
afe818
%{_unitdir}/virtvboxd-ro.socket
afe818
%{_unitdir}/virtvboxd-admin.socket
afe818
%attr(0755, root, root) %{_sbindir}/virtvboxd
Daniel P. Berrange e80c83
%{_libdir}/%{name}/connection-driver/libvirt_driver_vbox.so
a11202
%{_mandir}/man8/virtvboxd.8*
Daniel P. Berrange 47ca46
%endif
Daniel Veillard 544ad4
Daniel P. Berrange 47ca46
%if %{with_qemu_tcg}
Daniel P. Berrange e6d978
%files daemon-qemu
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange e6d978
Daniel P. Berrange 47ca46
%if %{with_qemu_kvm}
Daniel P. Berrange e6d978
%files daemon-kvm
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange e6d978
Daniel P. Berrange 47ca46
%if %{with_lxc}
Daniel P. Berrange e6d978
%files daemon-lxc
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange e6d978
Daniel P. Berrangé 4fd635
%if %{with_libxl}
Daniel P. Berrange e6d978
%files daemon-xen
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange e80c83
Daniel P. Berrange 47ca46
%if %{with_vbox}
Daniel P. Berrange e80c83
%files daemon-vbox
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange 96a520
Daniel Veillard e79d30
%if %{with_sanlock}
Daniel Veillard e79d30
%files lock-sanlock
Daniel P. Berrange 350081
    %if %{with_qemu}
Daniel Veillard d7b412
%config(noreplace) %{_sysconfdir}/libvirt/qemu-sanlock.conf
Daniel P. Berrange 350081
    %endif
ee3bf3
    %if %{with_libxl}
ee3bf3
%config(noreplace) %{_sysconfdir}/libvirt/libxl-sanlock.conf
ee3bf3
    %endif
Daniel Veillard e79d30
%attr(0755, root, root) %{_libdir}/libvirt/lock-driver/sanlock.so
Daniel Veillard d7b412
%{_datadir}/augeas/lenses/libvirt_sanlock.aug
Daniel Veillard d7b412
%{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug
Daniel P. Berrangé c2c89e
%dir %attr(0770, root, sanlock) %{_localstatedir}/lib/libvirt/sanlock
Daniel Veillard d7b412
%{_sbindir}/virt-sanlock-cleanup
Daniel Veillard d7b412
%{_mandir}/man8/virt-sanlock-cleanup.8*
Daniel P. Berrange 8cc508
%attr(0755, root, root) %{_libexecdir}/libvirt_sanlock_helper
Daniel Veillard e79d30
%endif
Daniel Veillard e79d30
Daniel P. Berrange b1ac7b
%files client
Daniel Veillard a3e1cc
%{_mandir}/man1/virsh.1*
Daniel Veillard a3e1cc
%{_mandir}/man1/virt-xml-validate.1*
Daniel Veillard 6383d6
%{_mandir}/man1/virt-pki-validate.1*
Daniel P. Berrange e9c1d3
%{_mandir}/man1/virt-host-validate.1*
Daniel Veillard a3e1cc
%{_bindir}/virsh
Daniel Veillard a3e1cc
%{_bindir}/virt-xml-validate
Daniel Veillard 6383d6
%{_bindir}/virt-pki-validate
Daniel P. Berrange e9c1d3
%{_bindir}/virt-host-validate
Daniel Veillard a3e1cc
96b1b1
%{_datadir}/systemtap/tapset/libvirt_probes*.stp
Daniel P. Berrange 6763b2
%{_datadir}/systemtap/tapset/libvirt_functions.stp
Daniel P. Berrangé 061231
%if %{with_qemu}
Daniel P. Berrangé 061231
%{_datadir}/systemtap/tapset/libvirt_qemu_probes*.stp
Daniel P. Berrangé 061231
%endif
Daniel P. Berrange 6763b2
Daniel P. Berrangé 48941c
%{_datadir}/bash-completion/completions/virsh
Daniel P. Berrange 0ca715
Daniel P. Berrange b1ac7b
Daniel P. Berrange b1ac7b
%{_unitdir}/libvirt-guests.service
Daniel P. Berrange b1ac7b
%config(noreplace) %{_sysconfdir}/sysconfig/libvirt-guests
Daniel P. Berrange b1ac7b
%attr(0755, root, root) %{_libexecdir}/libvirt-guests.sh
Daniel P. Berrange b1ac7b
b0c05a
%files libs -f %{name}.lang
Daniel P. Berrange 051644
%license COPYING COPYING.LESSER
Daniel P. Berrange b1ac7b
%config(noreplace) %{_sysconfdir}/libvirt/libvirt.conf
Daniel P. Berrange b1ac7b
%config(noreplace) %{_sysconfdir}/libvirt/libvirt-admin.conf
Daniel P. Berrange b1ac7b
%{_libdir}/libvirt.so.*
Daniel P. Berrange b1ac7b
%{_libdir}/libvirt-qemu.so.*
Daniel P. Berrange b1ac7b
%{_libdir}/libvirt-lxc.so.*
Daniel P. Berrange b1ac7b
%{_libdir}/libvirt-admin.so.*
Daniel Veillard a3e1cc
%dir %{_datadir}/libvirt/
Daniel Veillard a3e1cc
%dir %{_datadir}/libvirt/schemas/
Daniel P. Berrange b1ac7b
%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/
Daniel Veillard a3e1cc
a761ea
%{_datadir}/libvirt/schemas/*.rng
Daniel Veillard a3e1cc
Daniel P. Berrangé e5fa1c
%{_datadir}/libvirt/cpu_map/*.xml
Daniel Veillard 4717aa
Daniel P. Berrange 2c49d1
%{_datadir}/libvirt/test-screenshot.png
Daniel P. Berrange 2c49d1
Daniel P. Berrange b1ac7b
%files admin
Daniel P. Berrange b1ac7b
%{_mandir}/man1/virt-admin.1*
Daniel P. Berrange b1ac7b
%{_bindir}/virt-admin
Daniel P. Berrangé 48941c
%{_datadir}/bash-completion/completions/virt-admin
Daniel P. Berrange b1ac7b
Daniel P. Berrangé 48941c
%files bash-completion
Daniel P. Berrangé 48941c
%{_datadir}/bash-completion/completions/vsh
Daniel P. Berrange b1ac7b
Daniel P. Berrange 1b8b75
%if %{with_wireshark}
Daniel P. Berrange 1b8b75
%files wireshark
Daniel P. Berrangé a88867
%{wireshark_plugindir}/libvirt.so
Daniel P. Berrange 1b8b75
%endif
Daniel P. Berrange 1b8b75
0debbf
%files nss
0debbf
%{_libdir}/libnss_libvirt.so.2
Daniel P. Berrange 2c49d1
%{_libdir}/libnss_libvirt_guest.so.2
0debbf
Daniel Veillard c5c28b
%if %{with_lxc}
Daniel Veillard c5c28b
%files login-shell
Daniel P. Berrange 8c9e40
%attr(4750, root, virtlogin) %{_bindir}/virt-login-shell
afe818
%{_libexecdir}/virt-login-shell-helper
Daniel Veillard c5c28b
%config(noreplace) %{_sysconfdir}/libvirt/virt-login-shell.conf
Daniel Veillard c5c28b
%{_mandir}/man1/virt-login-shell.1*
Daniel Veillard c5c28b
%endif
Daniel Veillard c5c28b
Daniel Veillard e2b90f
%files devel
Daniel P. Berrange f7f509
%{_libdir}/libvirt.so
Daniel P. Berrange a4bf27
%{_libdir}/libvirt-admin.so
Daniel P. Berrange f7f509
%{_libdir}/libvirt-qemu.so
Daniel P. Berrange f7f509
%{_libdir}/libvirt-lxc.so
Daniel Veillard deefad
%dir %{_includedir}/libvirt
Daniel P. Berrange f7f509
%{_includedir}/libvirt/virterror.h
Daniel P. Berrange f7f509
%{_includedir}/libvirt/libvirt.h
Daniel P. Berrange a4bf27
%{_includedir}/libvirt/libvirt-admin.h
Daniel P. Berrange 4a9c74
%{_includedir}/libvirt/libvirt-common.h
Daniel Veillard e63e20
%{_includedir}/libvirt/libvirt-domain.h
7d77bf
%{_includedir}/libvirt/libvirt-domain-checkpoint.h
Daniel Veillard e63e20
%{_includedir}/libvirt/libvirt-domain-snapshot.h
Daniel Veillard e63e20
%{_includedir}/libvirt/libvirt-event.h
Daniel Veillard e63e20
%{_includedir}/libvirt/libvirt-host.h
Daniel Veillard e63e20
%{_includedir}/libvirt/libvirt-interface.h
Daniel Veillard e63e20
%{_includedir}/libvirt/libvirt-network.h
Daniel Veillard e63e20
%{_includedir}/libvirt/libvirt-nodedev.h
Daniel Veillard e63e20
%{_includedir}/libvirt/libvirt-nwfilter.h
Daniel Veillard e63e20
%{_includedir}/libvirt/libvirt-secret.h
Daniel Veillard e63e20
%{_includedir}/libvirt/libvirt-storage.h
Daniel Veillard e63e20
%{_includedir}/libvirt/libvirt-stream.h
Daniel P. Berrange f7f509
%{_includedir}/libvirt/libvirt-qemu.h
Daniel P. Berrange f7f509
%{_includedir}/libvirt/libvirt-lxc.h
Daniel Veillard e2b90f
%{_libdir}/pkgconfig/libvirt.pc
Daniel P. Berrange a4bf27
%{_libdir}/pkgconfig/libvirt-admin.pc
Daniel P. Berrange f7f509
%{_libdir}/pkgconfig/libvirt-qemu.pc
Daniel P. Berrange f7f509
%{_libdir}/pkgconfig/libvirt-lxc.pc
Daniel Veillard e2b90f
Daniel P. Berrange 6398d1
%dir %{_datadir}/libvirt/api/
Daniel P. Berrange 6398d1
%{_datadir}/libvirt/api/libvirt-api.xml
Daniel P. Berrange a4bf27
%{_datadir}/libvirt/api/libvirt-admin-api.xml
Daniel P. Berrange 6398d1
%{_datadir}/libvirt/api/libvirt-qemu-api.xml
Daniel P. Berrange 350081
%{_datadir}/libvirt/api/libvirt-lxc-api.xml
611b2e
Daniel Veillard e2b90f
Daniel Veillard e2b90f
%changelog
a11202
* Mon Mar 01 2021 Cole Robinson <crobinso@redhat.com> - 7.1.0-1
a11202
- Update to version 7.1.0
a11202
bbfa59
* Wed Feb 03 2021 Cole Robinson <aintdiscole@gmail.com> - 7.0.0-4
bbfa59
- Increase meson test timeout to fix builds on s390x copr
bbfa59
Laine Stump b97ad8
* Tue Feb 02 2021 Laine Stump <laine@redhat.com> - 7.0.0-3
Laine Stump b97ad8
- disable netcf in build
Laine Stump b97ad8
Fedora Release Engineering f9639a
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 7.0.0-2
Fedora Release Engineering f9639a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Fedora Release Engineering f9639a
Daniel P. Berrangé c71e60
* Fri Jan 15 2021 Daniel P. Berrangé <berrange@redhat.com> - 7.0.0-1
Daniel P. Berrangé c71e60
- Rebase to 7.0.0 release
Daniel P. Berrangé c71e60
a18ed3
* Fri Dec 04 2020 Cole Robinson <aintdiscole@gmail.com> - 6.10.0-2.1
a18ed3
- Rebuild for wireshark soname bump
a18ed3
9e2eeb
* Fri Dec 04 2020 Richard W.M. Jones <rjones@redhat.com> - 6.10.0-2
9e2eeb
- Build libvirt-daemon-kvm for riscv64.
9e2eeb
8bf91f
* Tue Dec 01 2020 Cole Robinson <crobinso@redhat.com> - 6.10.0-1
8bf91f
- Update to version 6.10.0
8bf91f
Daniel P. Berrangé 91d8ef
* Wed Nov  4 2020 Daniel P. Berrangé <berrange@redhat.com> - 6.9.0-2
Daniel P. Berrangé 91d8ef
- Re-apply reverted fix for disabling glusterfs, curl, openswman and libiscsi
Daniel P. Berrangé 91d8ef
a761ea
* Tue Nov 03 2020 Cole Robinson <crobinso@redhat.com> - 6.9.0-1
a761ea
- Update to version 6.9.0
a761ea
Daniel P. Berrangé 0c88a6
* Mon Nov  2 2020 Daniel P. Berrangé <berrange@redhat.com> - 6.8.0-4
Daniel P. Berrangé 7eef88
- Really fix meson option for disabling glusterfs
Daniel P. Berrangé 7eef88
- Fix disabling curl, openswman and libiscsi
Daniel P. Berrangé 7eef88
Daniel P. Berrangé 7eef88
* Mon Nov  2 2020 Daniel P. Berrangé <berrange@redhat.com> - 6.8.0-4
Daniel P. Berrangé 0c88a6
- Fix name of meson option for disabling glusterfs
Daniel P. Berrangé 0c88a6
Daniel P. Berrangé c2f3be
* Fri Oct 30 2020 Daniel P. Berrangé <berrange@redhat.com> - 6.8.0-3
Daniel P. Berrangé c2f3be
- Fix stat() mocking for new glibc
Daniel P. Berrangé c2f3be
Daniel P. Berrangé 18b1c9
* Wed Oct 28 2020 Daniel P. Berrangé <berrange@redhat.com> - 6.8.0-2
Daniel P. Berrangé 18b1c9
- Remove obsolete bash_completion conditional
Daniel P. Berrangé 18b1c9
- Pass args to meson based on with_libssh/with_libssh2
Daniel P. Berrangé 18b1c9
037cd3
* Thu Oct 01 2020 Cole Robinson <crobinso@redhat.com> - 6.8.0-1
037cd3
- Update to version 6.8.0
037cd3
Daniel P. Berrangé b94fb6
* Fri Sep  4 2020 Daniel P. Berrangé <berrange@redhat.com> - 6.7.0-2
Daniel P. Berrangé b94fb6
- Fix QEMU start when KVM is not loaded (rhbz#1875327)
Daniel P. Berrangé b94fb6
b0c05a
* Tue Sep 01 2020 Cole Robinson <crobinso@redhat.com> - 6.7.0-1
b0c05a
- Update to version 6.7.0
b0c05a
15c305
* Fri Aug 21 2020 Merlin Mathesius <mmathesi@redhat.com> - 6.6.0-3
15c305
- Fix so no platforms depend upon ceph for 32-bit architectures
15c305
- Include upstream patches to fix GCC 10 warnings
15c305
Daniel P. Berrangé bc1b3e
* Fri Aug 21 2020 Daniel P. Berrangé <berrange@redhat.com> - 6.6.0-2
Daniel P. Berrangé bc1b3e
- Fix creation of pools on non-btrfs (rhbz#1870197)
Daniel P. Berrangé bc1b3e
fecc02
* Tue Aug 04 2020 Cole Robinson <crobinso@redhat.com> - 6.6.0-1
fecc02
- Update to version 6.6.0
fecc02
Fedora Release Engineering 5a45cb
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.5.0-2
Fedora Release Engineering 5a45cb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Fedora Release Engineering 5a45cb
212695
* Fri Jul 03 2020 Cole Robinson <crobinso@redhat.com> - 6.5.0-1
212695
- Update to version 6.5.0
212695
fc18e9
* Tue Jun 02 2020 Cole Robinson <crobinso@redhat.com> - 6.4.0-1
fc18e9
- Update to version 6.4.0
fc18e9
4a7cc7
* Tue May 05 2020 Cole Robinson <crobinso@redhat.com> - 6.3.0-1
4a7cc7
- Update to version 6.3.0
4a7cc7
439839
* Thu Apr 02 2020 Cole Robinson <crobinso@redhat.com> - 6.2.0-1
439839
- Update to version 6.2.0
439839
Felipe Borges 401f90
* Tue Mar 24 2020 Felipe Borges <feborges@redhat.com> - 6.1.0-2
Felipe Borges 401f90
- Check for disk type correctly in virDomainDiskTranslateSourcePool
Felipe Borges 401f90
dd3698
* Wed Mar 04 2020 Cole Robinson <crobinso@redhat.com> - 6.1.0-1
dd3698
- Update to version 6.1.0
dd3698
3df490
* Tue Feb 25 2020 Cole Robinson <crobinso@redhat.com> - 6.0.0-3
3df490
- Rebuild for libiscsi soname bump
3df490
Fedora Release Engineering 1bf0ae
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.0-2
Fedora Release Engineering 1bf0ae
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Fedora Release Engineering 1bf0ae
79accd
* Wed Jan 15 2020 Cole Robinson <crobinso@redhat.com> - 6.0.0-1
79accd
- Update to version 6.0.0