render / rpms / libvirt

Forked from rpms/libvirt 9 months ago
Clone
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
Daniel P. Berrangé 7f5808
%define min_fedora 28
Daniel P. Berrange 0ca715
Daniel P. Berrange 0ca715
%if (0%{?fedora} && 0%{?fedora} >= %{min_fedora}) || (0%{?rhel} && 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
Daniel P. Berrange f99eeb
# Default to skipping autoreconf.  Distros can change just this one line
Daniel P. Berrange f99eeb
# (or provide a command-line override) if they backport any patches that
Daniel P. Berrange f99eeb
# touch configure.ac or Makefile.am.
Daniel P. Berrangé 98cbf3
%{!?enable_autotools:%global enable_autotools 0}
Daniel P. Berrange f99eeb
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
Daniel P. Berrange e6d978
%define with_qemu_tcg      %{with_qemu}
9f9eae
9f9eae
%define qemu_kvm_arches %{ix86} x86_64
9f9eae
9f9eae
%if 0%{?fedora}
Daniel P. Berrange 47ca46
    %define qemu_kvm_arches %{ix86} x86_64 %{power64} s390x %{arm} aarch64
9f9eae
%endif
9f9eae
9f9eae
%if 0%{?rhel}
9f9eae
    %define with_qemu_tcg 0
Daniel P. Berrangé 782468
    %define qemu_kvm_arches x86_64 %{power64} aarch64 s390x
Daniel Veillard f5ff4a
%endif
Daniel Veillard f5ff4a
Daniel Veillard f5ff4a
%ifarch %{qemu_kvm_arches}
Daniel P. Berrange 350081
    %define with_qemu_kvm      %{with_qemu}
Daniel P. Berrange e6d978
%else
Daniel P. Berrange 350081
    %define with_qemu_kvm      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_phyp          0%{!?_without_phyp: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
Daniel P. Berrange 47ca46
%define with_storage_gluster 0%{!?_without_storage_gluster:1}
Daniel P. Berrange 47ca46
%define with_numactl          0%{!?_without_numactl:1}
Daniel P. Berrange 11755d
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
Daniel Veillard 3cf75c
# A few optional bits off by default, we enable later
Daniel Veillard f5ff4a
%define with_fuse          0%{!?_without_fuse:0}
Daniel Veillard e79d30
%define with_sanlock       0%{!?_without_sanlock:0}
Daniel P. Berrange 24e912
%define with_numad         0%{!?_without_numad:0}
Daniel Veillard 7b5483
%define with_firewalld     0%{!?_without_firewalld:0}
Daniel P. Berrangé 5cbc04
%define with_firewalld_zone 0%{!?_without_firewalld_zone:0}
Daniel P. Berrange 350081
%define with_libssh2       0%{!?_without_libssh2:0}
Daniel P. Berrange 1b8b75
%define with_wireshark     0%{!?_without_wireshark:0}
Daniel P. Berrange 0b1a01
%define with_libssh        0%{!?_without_libssh:0}
Daniel P. Berrange 0ca715
%define with_bash_completion  0%{!?_without_bash_completion:0}
Mark McLoughlin 2e7812
Daniel Veillard 3cf75c
# Finally set the OS / architecture specific special cases
Daniel Veillard 3cf75c
Mark McLoughlin 67a2f2
# Xen is available only on i386 x86_64 ia64
Peter Robinson 79ae80
%ifnarch %{ix86} x86_64 ia64
Daniel P. Berrange 350081
    %define with_libxl 0
Mark McLoughlin 67a2f2
%endif
Mark McLoughlin 67a2f2
Daniel P. Berrange e80c83
# vbox is available only on i386 x86_64
Daniel P. Berrange e80c83
%ifnarch %{ix86} x86_64
Daniel P. Berrange e80c83
    %define with_vbox 0
Daniel P. Berrange e80c83
%endif
Daniel P. Berrange e80c83
Daniel P. Berrangé 4df5f7
# Numactl is not available on many non-x86 archs
David Abdurachmanov 18f7b8
%ifarch s390 s390x %{arm} riscv64
Daniel P. Berrange 350081
    %define with_numactl 0
Daniel P. Berrange e29f71
%endif
Daniel Veillard 3cf75c
Daniel P. Berrange 7335ed
# zfs-fuse is not available on some architectures
David Abdurachmanov 18f7b8
%ifarch s390 s390x aarch64 riscv64
Daniel P. Berrange 7335ed
    %define with_storage_zfs 0
Daniel P. Berrange 7335ed
%endif
Daniel P. Berrange 7335ed
Daniel P. Berrangé 579afc
# Ceph dropping support for 32-bit hosts
Daniel P. Berrangé 5cbc04
%if 0%{?fedora} >= 30
Daniel P. Berrangé 579afc
    %ifarch %{arm} %{ix86}
Daniel P. Berrangé 579afc
        %define with_storage_rbd 0
Daniel P. Berrangé 579afc
    %endif
Daniel P. Berrangé 579afc
%endif
Daniel P. Berrange 7335ed
Daniel P. Berrangé 88887c
# RHEL doesn't ship OpenVZ, VBox, PowerHypervisor,
Daniel P. Berrange 4c65f0
# VMware, libxenserver (xenapi), 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_phyp 0
Daniel P. Berrange 350081
    %define with_vmware 0
Daniel P. Berrange 350081
    %define with_xenapi 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
Daniel P. Berrangé 782468
%define with_firewalld 1
Daniel Veillard 7b5483
Daniel P. Berrangé 5cbc04
%if 0%{?fedora} >= 30 || 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
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}
9f9eae
    %ifarch %{qemu_kvm_arches}
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
Daniel P. Berrange 1b8b75
# Enable wireshark plugins for all distros shipping libvirt 1.2.2 or newer
Daniel P. Berrange a97245
%if 0%{?fedora}
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é 782468
%define with_bash_completion  0%{!?_without_bash_completion:1}
Daniel P. Berrange 0ca715
Daniel P. Berrangé 6210c4
# Use Python 3 when possible, Python 2 otherwise
Daniel P. Berrangé 6210c4
%if 0%{?fedora} || 0%{?rhel} > 7
Daniel P. Berrangé 6210c4
    %define python python3
Daniel P. Berrangé 6210c4
%else
Daniel P. Berrangé 6210c4
    %define python python2
Daniel P. Berrangé 6210c4
%endif
Daniel P. Berrangé 6210c4
Daniel Veillard c363c7
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.
David Abdurachmanov 18f7b8
    %ifnarch s390 s390x %{arm} riscv64
Daniel P. Berrange 47ca46
        %define with_numad    0%{!?_without_numad:1}
Daniel P. Berrange 350081
    %endif
Daniel Veillard 7e9981
%endif
Daniel Veillard 7e9981
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}
Daniel P. Berrange 11755d
    %define enable_werror --enable-werror
Daniel P. Berrange 9e1193
%else
Daniel P. Berrange 9e1193
    %define enable_werror --disable-werror
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
Daniel P. Berrangé 98cbf3
Version: 5.2.0
Daniel P. Berrangé 98cbf3
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
Daniel P. Berrange f99eeb
%if 0%{?enable_autotools}
Daniel P. Berrange f99eeb
BuildRequires: autoconf
Daniel P. Berrange f99eeb
BuildRequires: automake
Daniel Veillard 4e460d
BuildRequires: gettext-devel
Daniel P. Berrange f99eeb
BuildRequires: libtool
Daniel Veillard 4aa9c4
BuildRequires: /usr/bin/pod2man
Daniel P. Berrange f99eeb
%endif
Daniel P. Berrangé 6210c4
BuildRequires: gcc
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
Daniel P. Berrangé 6210c4
BuildRequires: %{python}
Daniel Veillard 7069f7
BuildRequires: systemd-units
Daniel P. Berrangé 4fd635
%if %{with_libxl}
Daniel Veillard 313e00
BuildRequires: xen-devel
Daniel Veillard 7069f7
%endif
Daniel Veillard ba3d2d
BuildRequires: libxml2-devel
Daniel Veillard ed6c49
BuildRequires: libxslt
Daniel Veillard d55c7f
BuildRequires: readline-devel
Daniel P. Berrange 0ca715
%if %{with_bash_completion}
Daniel P. Berrange 0ca715
BuildRequires: bash-completion >= 2.0
Daniel P. Berrange 0ca715
%endif
Daniel Veillard 609ab7
BuildRequires: ncurses-devel
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
Daniel Veillard 36cab8
BuildRequires: libpcap-devel
Daniel Veillard 4b6ea9
BuildRequires: libnl3-devel
Daniel Veillard 5ad8bc
BuildRequires: avahi-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}
c0a04c
BuildRequires: librados2-devel
c0a04c
BuildRequires: librbd1-devel
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
Daniel P. Berrange 350081
%if %{with_phyp} || %{with_libssh2}
Daniel P. Berrange 8cc508
BuildRequires: libssh2-devel >= 1.3.0
Daniel P. Berrange 8cc508
%endif
Daniel Veillard 4b6ea9
Daniel Veillard 4b6ea9
BuildRequires: netcf-devel >= 0.2.2
Daniel Veillard 7e9981
%if %{with_esx}
Daniel Veillard 7e9981
BuildRequires: libcurl-devel
Daniel Veillard 7e9981
%endif
Daniel Veillard a6831c
%if %{with_hyperv}
Daniel Veillard a6831c
BuildRequires: libwsman-devel >= 2.2.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 P. Berrange 50e253
# Communication with the firewall and polkit daemons use DBus
Daniel Veillard 963754
BuildRequires: dbus-devel
Daniel Veillard 963754
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}
Daniel P. Berrangé 5cbc04
BuildRequires: wireshark-devel >= 2.4.0
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
Daniel P. Berrangé 7f5808
%if 0%{?fedora} || 0%{?rhel} > 7
Daniel P. Berrange 208f50
BuildRequires: rpcgen
Daniel P. Berrange 3f19d4
BuildRequires: libtirpc-devel
Daniel P. Berrange 208f50
%endif
Daniel P. Berrange 208f50
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 544ad4
Provides: bundled(gnulib)
Daniel Veillard 544ad4
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
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
Daniel P. Berrange 44699d
Requires: avahi-libs
9f9eae
Requires: polkit >= 0.112
Daniel P. Berrange 47ca46
%ifarch %{ix86} x86_64 ia64
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
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}
Daniel Veillard c5c28b
Requires: netcf-libs >= 0.2.2
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%description daemon-driver-interface
Daniel Veillard 544ad4
The interface driver plugin for the libvirtd daemon, providing
Daniel Veillard 544ad4
an implementation of the network interface APIs using the
Daniel Veillard 544ad4
netcf library
Daniel Veillard 544ad4
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 544ad4
# There really is a hard cross-driver dependency here
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-network = %{version}-%{release}
Daniel P. Berrange a74ea3
Requires: libvirt-daemon-driver-storage-core = %{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 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 Veillard a3e1cc
Requires: readline
Daniel Veillard a3e1cc
Requires: ncurses
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
%if %{with_bash_completion}
Daniel P. Berrangé 48941c
Requires: %{name}-bash-completion = %{version}-%{release}
Daniel P. Berrangé 48941c
%endif
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 P. Berrange b1ac7b
# (client invokes 'nc' against the UNIX socket on the server)
Daniel P. Berrange b1ac7b
Requires: nc
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. Berrange b1ac7b
Requires: readline
Daniel P. Berrangé 48941c
%if %{with_bash_completion}
Daniel P. Berrangé 48941c
Requires: %{name}-bash-completion = %{version}-%{release}
Daniel P. Berrangé 48941c
%endif
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
%if %{with_bash_completion}
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
%endif
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
Daniel P. Berrangé 5cbc04
Requires: wireshark >= 2.4.0
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
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}
Daniel P. Berrange 47ca46
    %define arg_qemu --with-qemu
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_qemu --without-qemu
Daniel P. Berrange 8c9e40
%endif
Daniel P. Berrange 8c9e40
Daniel P. Berrange 47ca46
%if %{with_openvz}
Daniel P. Berrange 47ca46
    %define arg_openvz --with-openvz
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_openvz --without-openvz
Daniel Veillard f5edf7
%endif
Daniel Veillard f5edf7
Daniel P. Berrange 47ca46
%if %{with_lxc}
Daniel P. Berrange 47ca46
    %define arg_lxc --with-lxc
Daniel P. Berrangé 48941c
    %define arg_login_shell --with-login-shell
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_lxc --without-lxc
Daniel P. Berrangé 48941c
    %define arg_login_shell --without-login-shell
Daniel P. Berrange 24e912
%endif
Daniel P. Berrange 24e912
Daniel P. Berrange 47ca46
%if %{with_vbox}
Daniel P. Berrange 47ca46
    %define arg_vbox --with-vbox
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_vbox --without-vbox
Mark McLoughlin ccafc8
%endif
Mark McLoughlin ccafc8
Daniel P. Berrange 47ca46
%if %{with_libxl}
Daniel P. Berrange 47ca46
    %define arg_libxl --with-libxl
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_libxl --without-libxl
Daniel Veillard f5ff4a
%endif
Daniel Veillard f5ff4a
Daniel P. Berrange 47ca46
%if %{with_phyp}
Daniel P. Berrange 47ca46
    %define arg_phyp --with-phyp
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_phyp --without-phyp
Mark McLoughlin 635912
%endif
Mark McLoughlin 635912
Daniel P. Berrange 47ca46
%if %{with_esx}
Daniel P. Berrange 47ca46
    %define arg_esx --with-esx
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_esx --without-esx
Daniel Veillard 3cf75c
%endif
Daniel Veillard 3cf75c
Daniel P. Berrange 47ca46
%if %{with_hyperv}
Daniel P. Berrange 47ca46
    %define arg_hyperv --with-hyperv
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_hyperv --without-hyperv
Daniel P. Berrange 11755d
%endif
Daniel P. Berrange 11755d
Daniel P. Berrange 47ca46
%if %{with_vmware}
Daniel P. Berrange 47ca46
    %define arg_vmware --with-vmware
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_vmware --without-vmware
Daniel Veillard 3cf75c
%endif
Daniel Veillard 3cf75c
Daniel P. Berrange 47ca46
%if %{with_storage_rbd}
Daniel P. Berrange 47ca46
    %define arg_storage_rbd --with-storage-rbd
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_storage_rbd --without-storage-rbd
Daniel Veillard 4717aa
%endif
Daniel Veillard 4717aa
Daniel P. Berrange 47ca46
%if %{with_storage_sheepdog}
Daniel P. Berrange 47ca46
    %define arg_storage_sheepdog --with-storage-sheepdog
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_storage_sheepdog --without-storage-sheepdog
Daniel Veillard e79d30
%endif
Daniel Veillard e79d30
Daniel P. Berrange 47ca46
%if %{with_storage_gluster}
Daniel P. Berrange 47ca46
    %define arg_storage_gluster --with-storage-gluster
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_storage_gluster --without-storage-gluster
Daniel Veillard 7e9981
%endif
Daniel Veillard 7e9981
Daniel P. Berrange 7335ed
%if %{with_storage_zfs}
Daniel P. Berrange 7335ed
    %define arg_storage_zfs --with-storage-zfs
Daniel P. Berrange 7335ed
%else
Daniel P. Berrange 7335ed
    %define arg_storage_zfs --without-storage-zfs
Daniel P. Berrange 7335ed
%endif
Daniel P. Berrange 7335ed
Daniel P. Berrange 47ca46
%if %{with_numactl}
Daniel P. Berrange 47ca46
    %define arg_numactl --with-numactl
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_numactl --without-numactl
Daniel Veillard 7e9981
%endif
Daniel Veillard 7e9981
Daniel P. Berrange 47ca46
%if %{with_numad}
Daniel P. Berrange 47ca46
    %define arg_numad --with-numad
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_numad --without-numad
Daniel Veillard fca1fc
%endif
Daniel Veillard fca1fc
Daniel P. Berrange 47ca46
%if %{with_fuse}
Daniel P. Berrange 47ca46
    %define arg_fuse --with-fuse
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_fuse --without-fuse
Daniel Veillard fca1fc
%endif
Daniel Veillard fca1fc
Daniel P. Berrange 47ca46
%if %{with_sanlock}
Daniel P. Berrange 47ca46
    %define arg_sanlock --with-sanlock
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_sanlock --without-sanlock
Daniel Veillard 544ad4
%endif
Daniel Veillard 544ad4
Daniel Veillard 7b5483
%if %{with_firewalld}
Daniel P. Berrange 47ca46
    %define arg_firewalld --with-firewalld
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_firewalld --without-firewalld
Daniel P. Berrange 1b8b75
%endif
Daniel P. Berrange 1b8b75
Daniel P. Berrangé 5cbc04
%if %{with_firewalld_zone}
Daniel P. Berrangé 5cbc04
    %define arg_firewalld_zone --with-firewalld-zone
Daniel P. Berrangé 5cbc04
%else
Daniel P. Berrangé 5cbc04
    %define arg_firewalld_zone --without-firewalld-zone
Daniel P. Berrangé 5cbc04
%endif
Daniel P. Berrangé 5cbc04
Daniel P. Berrange 47ca46
%if %{with_wireshark}
Daniel P. Berrange 47ca46
    %define arg_wireshark --with-wireshark-dissector
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_wireshark --without-wireshark-dissector
Daniel P. Berrange 1b8b75
%endif
Daniel P. Berrange 1b8b75
Daniel P. Berrangé e5fa1c
%if %{with_storage_iscsi_direct}
Daniel P. Berrangé e5fa1c
    %define arg_storage_iscsi_direct --with-storage-iscsi-direct
Daniel P. Berrangé e5fa1c
%else
Daniel P. Berrangé e5fa1c
    %define arg_storage_iscsi_direct --without-storage-iscsi-direct
Daniel P. Berrangé e5fa1c
%endif
Daniel P. Berrangé e5fa1c
Daniel Veillard f13fb1
%define when  %(date +"%%F-%%T")
Daniel Veillard f13fb1
%define where %(hostname)
Daniel Veillard f13fb1
%define who   %{?packager}%{!?packager:Unknown}
Daniel P. Berrange 47ca46
%define arg_packager --with-packager="%{who}, %{when}, %{where}"
Daniel P. Berrange 47ca46
%define arg_packager_version --with-packager-version="%{release}"
Daniel Veillard f13fb1
Daniel P. Berrangé 782468
%define arg_selinux_mount --with-selinux-mount="/sys/fs/selinux"
Daniel P. Berrange 47ca46
Daniel P. Berrange 47ca46
%if 0%{?fedora}
Daniel P. Berrangé e5fa1c
    # Nightly edk2.git-ovmf-x64
Daniel P. Berrange 47ca46
    LOADERS="/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd:/usr/share/edk2.git/ovmf-x64/OVMF_VARS-pure-efi.fd"
Daniel P. Berrangé e5fa1c
    # Nightly edk2.git-ovmf-ia32
Daniel P. Berrangé e5fa1c
    LOADERS="$LOADERS:/usr/share/edk2.git/ovmf-ia32/OVMF_CODE-pure-efi.fd:/usr/share/edk2.git/ovmf-ia32/OVMF_VARS-pure-efi.fd"
Daniel P. Berrangé e5fa1c
    # Nightly edk2.git-aarch64
Daniel P. Berrange 47ca46
    LOADERS="$LOADERS:/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw:/usr/share/edk2.git/aarch64/vars-template-pflash.raw"
Daniel P. Berrangé e5fa1c
    # Nightly edk2.git-arm
Daniel P. Berrangé e5fa1c
    LOADERS="$LOADERS:/usr/share/edk2.git/arm/QEMU_EFI-pflash.raw:/usr/share/edk2.git/arm/vars-template-pflash.raw"
Daniel P. Berrangé e5fa1c
Daniel P. Berrangé e5fa1c
    # Fedora edk2-ovmf
Daniel P. Berrange 47ca46
    LOADERS="$LOADERS:/usr/share/edk2/ovmf/OVMF_CODE.fd:/usr/share/edk2/ovmf/OVMF_VARS.fd"
Daniel P. Berrangé e5fa1c
    # Fedora edk2-ovmf-ia32
Daniel P. Berrangé e5fa1c
    LOADERS="$LOADERS:/usr/share/edk2/ovmf-ia32/OVMF_CODE.fd:/usr/share/edk2/ovmf-ia32/OVMF_VARS.fd"
Daniel P. Berrangé e5fa1c
    # Fedora edk2-aarch64
Daniel P. Berrange 47ca46
    LOADERS="$LOADERS:/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw:/usr/share/edk2/aarch64/vars-template-pflash.raw"
Daniel P. Berrangé e5fa1c
    # Fedora edk2-arm
Daniel P. Berrangé e5fa1c
    LOADERS="$LOADERS:/usr/share/edk2/arm/QEMU_EFI-pflash.raw:/usr/share/edk2/arm/vars-template-pflash.raw"
Daniel P. Berrange 47ca46
    %define arg_loader_nvram --with-loader-nvram="$LOADERS"
Daniel Veillard f1867a
%endif
Daniel Veillard f1867a
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
Daniel P. Berrange 11755d
%if 0%{?enable_autotools}
Daniel P. Berrange 11755d
 autoreconf -if
Daniel P. Berrange 11755d
%endif
Daniel P. Berrange 11755d
0223d5
rm -f po/stamp-po
Daniel P. Berrangé 4fd635
%configure %{?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} \
Daniel P. Berrange 47ca46
           --with-sasl \
Daniel P. Berrange 47ca46
           --with-avahi \
Daniel P. Berrange 47ca46
           --with-polkit \
Daniel P. Berrange 47ca46
           --with-libvirtd \
Daniel P. Berrange 47ca46
           %{?arg_phyp} \
Daniel P. Berrange 47ca46
           %{?arg_esx} \
Daniel P. Berrange 47ca46
           %{?arg_hyperv} \
Daniel P. Berrange 47ca46
           %{?arg_vmware} \
Daniel P. Berrange 47ca46
           --without-xenapi \
Daniel P. Berrange 47ca46
           --without-vz \
Daniel P. Berrange 1b8b75
           --without-bhyve \
Daniel P. Berrange 47ca46
           --with-interface \
Daniel P. Berrange 47ca46
           --with-network \
Daniel P. Berrange 47ca46
           --with-storage-fs \
Daniel P. Berrange 47ca46
           --with-storage-lvm \
Daniel P. Berrange 47ca46
           --with-storage-iscsi \
Daniel P. Berrangé e5fa1c
           %{?arg_storage_iscsi_direct} \
Daniel P. Berrange a74ea3
           --with-storage-scsi \
Daniel P. Berrange 47ca46
           --with-storage-disk \
Daniel P. Berrange 47ca46
           --with-storage-mpath \
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} \
Daniel P. Berrange a74ea3
           --without-storage-vstorage \
Daniel P. Berrange 47ca46
           %{?arg_numactl} \
Daniel P. Berrange 47ca46
           %{?arg_numad} \
Daniel P. Berrange 47ca46
           --with-capng \
Daniel P. Berrange 47ca46
           %{?arg_fuse} \
Daniel P. Berrange 47ca46
           --with-netcf \
Daniel P. Berrange 47ca46
           --with-selinux \
Daniel P. Berrange 47ca46
           %{?arg_selinux_mount} \
Daniel P. Berrange 47ca46
           --without-apparmor \
Daniel P. Berrange 47ca46
           --without-hal \
Daniel P. Berrange 47ca46
           --with-udev \
Daniel P. Berrangé e5fa1c
           --with-yajl \
Daniel P. Berrange 47ca46
           %{?arg_sanlock} \
Daniel P. Berrange 47ca46
           --with-libpcap \
Daniel P. Berrange 47ca46
           --with-macvtap \
Daniel P. Berrange 47ca46
           --with-audit \
Daniel P. Berrange 47ca46
           --with-dtrace \
Daniel P. Berrange 47ca46
           --with-driver-modules \
Daniel P. Berrange 47ca46
           %{?arg_firewalld} \
Daniel P. Berrangé 5cbc04
           %{?arg_firewalld_zone} \
Daniel P. Berrange 47ca46
           %{?arg_wireshark} \
Daniel P. Berrangé 782468
           --without-pm-utils \
Daniel P. Berrange 47ca46
           --with-nss-plugin \
Daniel P. Berrange 47ca46
           %{arg_packager} \
Daniel P. Berrange 47ca46
           %{arg_packager_version} \
Mark McLoughlin 593255
           --with-qemu-user=%{qemu_user} \
Mark McLoughlin 593255
           --with-qemu-group=%{qemu_group} \
Daniel P. Berrange a4bf27
           --with-tls-priority=%{tls_priority} \
Daniel P. Berrange 47ca46
           %{?arg_loader_nvram} \
Daniel P. Berrange 11755d
           %{?enable_werror} \
Daniel P. Berrange 11755d
           --enable-expensive-tests \
Daniel P. Berrangé 782468
           --with-init-script=systemd \
Daniel P. Berrangé 48941c
           %{?arg_login_shell}
Daniel P. Berrange a56bcb
make %{?_smp_mflags} V=1
Daniel Veillard a3e1cc
gzip -9 ChangeLog
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
Daniel P. Berrangé e5fa1c
%make_install %{?_smp_mflags} SYSTEMD_UNIT_DIR=%{_unitdir} V=1
Daniel P. Berrange 350081
Daniel P. Berrange a56bcb
make %{?_smp_mflags} -C examples distclean V=1
Daniel P. Berrange 50e253
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 Veillard 7a6f07
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
Daniel Veillard 7a6f07
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/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 7a6f07
# Strip auto-generated UUID - we need it generated per-install
Daniel Veillard 7a6f07
sed -i -e "/<uuid>/d" $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
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. Berrange 8c9e40
mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{version} libvirt-docs
Daniel P. Berrange 96a520
Daniel P. Berrange 47ca46
%ifarch %{power64} s390x x86_64 ia64 alpha sparc64
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
Daniel Veillard a160d7
cd tests
Daniel Veillard f46359
# These tests don't current work in a mock build root
Daniel P. Berrange 2a9c28
for i in nodeinfotest seclabeltest
Daniel Veillard a160d7
do
Daniel Veillard a160d7
  rm -f $i
Daniel Veillard 7b5483
  printf 'int main(void) { return 0; }' > $i.c
Daniel Veillard f46359
  printf '#!/bin/sh\nexit 0\n' > $i
Daniel Veillard a160d7
  chmod +x $i
Daniel Veillard a160d7
done
Daniel P. Berrange 0b1a01
if ! make %{?_smp_mflags} check VIR_TEST_DEBUG=1
Daniel P. Berrange f40b46
then
Daniel P. Berrange f40b46
  cat test-suite.log || true
Daniel P. Berrange dbe615
  exit 1
Daniel P. Berrange f40b46
fi
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
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
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
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 89c3fa
Daniel P. Berrangé 5cbc04
%post daemon-driver-network
Daniel P. Berrangé 5cbc04
%if %{with_firewalld}
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é 5cbc04
%if %{with_firewalld}
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
Daniel P. Berrange 44699d
    UUID=`/usr/bin/uuidgen`
a54075
    sed -e "s/${orig_sub}/${sub}/g" \
a54075
        -e "s,</name>,</name>\n  <uuid>$UUID</uuid>," \
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
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. Berrange b23ff9
cp %{_datadir}/libvirt/nwfilter/*.xml %{_sysconfdir}/libvirt/nwfilter/
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 8cc508
%if %{with_sanlock}
Daniel P. Berrange 8cc508
%post lock-sanlock
Daniel P. Berrange 8cc508
if getent group sanlock > /dev/null ; then
Daniel P. Berrange 8cc508
    chmod 0770 %{_localstatedir}/lib/libvirt/sanlock
Daniel P. Berrange 8cc508
    chown root:sanlock %{_localstatedir}/lib/libvirt/sanlock
Daniel P. Berrange 8cc508
fi
Daniel P. Berrange 8cc508
%endif
Daniel P. Berrange 8cc508
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
Daniel P. Berrange 89c3fa
%doc AUTHORS ChangeLog.gz NEWS README README.md
611b2e
%doc libvirt-docs/*
Daniel P. Berrange 44699d
Daniel P. Berrange 44699d
# API docs
Daniel P. Berrange 44699d
%dir %{_datadir}/gtk-doc/html/libvirt/
Daniel P. Berrange 44699d
%doc %{_datadir}/gtk-doc/html/libvirt/*.devhelp
Daniel P. Berrange 44699d
%doc %{_datadir}/gtk-doc/html/libvirt/*.html
Daniel P. Berrange 44699d
%doc %{_datadir}/gtk-doc/html/libvirt/*.png
Daniel P. Berrange 44699d
%doc %{_datadir}/gtk-doc/html/libvirt/*.css
611b2e
%doc examples/hellolibvirt
611b2e
%doc examples/object-events
611b2e
%doc examples/dominfo
611b2e
%doc examples/domsuspend
611b2e
%doc examples/dommigrate
611b2e
%doc examples/openauth
611b2e
%doc examples/xml
611b2e
%doc examples/rename
611b2e
%doc examples/systemtap
Daniel P. Berrange a4bf27
%doc examples/admin
611b2e
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
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
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
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
Daniel Veillard 7069f7
%ghost %dir %{_localstatedir}/run/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
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
Daniel Veillard c70baa
%attr(0755, root, root) %{_sbindir}/libvirtd
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*
Daniel P. Berrange b23ff9
%{_mandir}/man7/virkey*.7*
Daniel Veillard e2b90f
Daniel P. Berrange 93cadb
%doc examples/polkit/*.rules
Daniel P. Berrange 93cadb
Daniel P. Berrange 44699d
%files daemon-config-network
0223d5
%dir %{_datadir}/libvirt/networks/
0223d5
%{_datadir}/libvirt/networks/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
Daniel Veillard 544ad4
%{_libdir}/%{name}/connection-driver/libvirt_driver_interface.so
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%files daemon-driver-network
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
Daniel P. Berrange 65efaa
%ghost %dir %{_localstatedir}/run/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
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
Daniel Veillard 544ad4
%{_libdir}/%{name}/connection-driver/libvirt_driver_nodedev.so
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%files daemon-driver-nwfilter
0223d5
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/
0223d5
%ghost %dir %{_localstatedir}/run/libvirt/network/
Daniel Veillard 544ad4
%{_libdir}/%{name}/connection-driver/libvirt_driver_nwfilter.so
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%files daemon-driver-secret
Daniel Veillard 544ad4
%{_libdir}/%{name}/connection-driver/libvirt_driver_secret.so
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%files daemon-driver-storage
Daniel P. Berrange a74ea3
Daniel P. Berrange a74ea3
%files daemon-driver-storage-core
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
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
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
Daniel P. Berrange 65efaa
%ghost %dir %attr(0700, root, root) %{_localstatedir}/run/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é f57ce7
%dir %attr(0711, root, root) %{_localstatedir}/log/swtpm/libvirt/qemu/
Daniel P. Berrange 47ca46
%endif
Daniel Veillard 544ad4
Daniel P. Berrange 47ca46
%if %{with_lxc}
Daniel Veillard 544ad4
%files daemon-driver-lxc
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
Daniel P. Berrange 65efaa
%ghost %dir %{_localstatedir}/run/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
Daniel P. Berrange 47ca46
%endif
Daniel Veillard 544ad4
Daniel P. Berrange 47ca46
%if %{with_libxl}
Daniel Veillard 544ad4
%files daemon-driver-libxl
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/
Daniel P. Berrange 65efaa
%ghost %dir %{_localstatedir}/run/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
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange e80c83
Daniel P. Berrange 47ca46
%if %{with_vbox}
Daniel P. Berrange e80c83
%files daemon-driver-vbox
Daniel P. Berrange e80c83
%{_libdir}/%{name}/connection-driver/libvirt_driver_vbox.so
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 Veillard c363c7
%dir %attr(0700, root, root) %{_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. Berrange 0ca715
%if %{with_bash_completion}
Daniel P. Berrangé 48941c
%{_datadir}/bash-completion/completions/virsh
Daniel P. Berrange 0ca715
%endif
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
Daniel P. Berrange b1ac7b
%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
Daniel Veillard a6831c
%{_datadir}/libvirt/schemas/basictypes.rng
Daniel Veillard a6831c
%{_datadir}/libvirt/schemas/capability.rng
Daniel P. Berrange 67cfa3
%{_datadir}/libvirt/schemas/cputypes.rng
Daniel Veillard a3e1cc
%{_datadir}/libvirt/schemas/domain.rng
9f9eae
%{_datadir}/libvirt/schemas/domaincaps.rng
Daniel Veillard a6831c
%{_datadir}/libvirt/schemas/domaincommon.rng
Daniel Veillard 7e9981
%{_datadir}/libvirt/schemas/domainsnapshot.rng
Daniel Veillard a6831c
%{_datadir}/libvirt/schemas/interface.rng
Daniel Veillard a3e1cc
%{_datadir}/libvirt/schemas/network.rng
Daniel Veillard a6831c
%{_datadir}/libvirt/schemas/networkcommon.rng
Daniel Veillard a3e1cc
%{_datadir}/libvirt/schemas/nodedev.rng
Daniel Veillard a6831c
%{_datadir}/libvirt/schemas/nwfilter.rng
Daniel P. Berrangé f57ce7
%{_datadir}/libvirt/schemas/nwfilter_params.rng
Daniel P. Berrangé f57ce7
%{_datadir}/libvirt/schemas/nwfilterbinding.rng
Mark McLoughlin e4bf8f
%{_datadir}/libvirt/schemas/secret.rng
Daniel P. Berrange f40b46
%{_datadir}/libvirt/schemas/storagecommon.rng
Daniel Veillard a6831c
%{_datadir}/libvirt/schemas/storagepool.rng
Daniel P. Berrangé 98cbf3
%{_datadir}/libvirt/schemas/storagepoolcaps.rng
Daniel Veillard a6831c
%{_datadir}/libvirt/schemas/storagevol.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
%if %{with_bash_completion}
Daniel P. Berrangé 48941c
%{_datadir}/bash-completion/completions/virt-admin
Daniel P. Berrangé 48941c
%endif
Daniel P. Berrange b1ac7b
Daniel P. Berrangé 48941c
%if %{with_bash_completion}
Daniel P. Berrangé 48941c
%files bash-completion
Daniel P. Berrangé 48941c
%{_datadir}/bash-completion/completions/vsh
Daniel P. Berrangé 48941c
%endif
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
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
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
# Needed building python bindings
Daniel Veillard e2b90f
%doc docs/libvirt-api.xml
611b2e
Daniel Veillard e2b90f
Daniel Veillard e2b90f
%changelog
Daniel P. Berrangé 98cbf3
* Wed Apr  3 2019 Daniel P. Berrangé <berrange@redhat.com> - 5.2.0-1
Daniel P. Berrangé 98cbf3
- Update to 5.2.0 release
Daniel P. Berrangé 98cbf3
Daniel P. Berrangé d670e2
* Wed Mar 20 2019 Daniel P. Berrangé <berrange@redhat.com> - 5.1.0-3
Daniel P. Berrangé d670e2
- Fix upgrades for rbd on i686 (rhbz #1688121)
Daniel P. Berrangé d670e2
- Add missing xfsprogs-devel dep
Daniel P. Berrangé d670e2
- Fix use of deprecated RBD features
Daniel P. Berrangé d670e2
- Avoid using firewalld if unprivileged
Daniel P. Berrangé d670e2
- Don't require ipv6 firewall support at startup (rhbz #1688968)
Daniel P. Berrangé d670e2
Igor Gnatenko 50e7b9
* Wed Mar 06 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 5.1.0-2
Igor Gnatenko 50e7b9
- Remove obsolete scriptlets
Igor Gnatenko 50e7b9
Daniel P. Berrangé 5cbc04
* Mon Mar  4 2019 Daniel P. Berrangé <berrange@redhat.com> - 5.1.0-1
Daniel P. Berrangé 5cbc04
- Update to 5.1.0 release
Daniel P. Berrangé 5cbc04
Igor Gnatenko b42005
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 5.0.0-3
Igor Gnatenko b42005
- Rebuild for readline 8.0
Igor Gnatenko b42005
Fedora Release Engineering 143fed
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.0-2
Fedora Release Engineering 143fed
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Fedora Release Engineering 143fed
Daniel P. Berrangé 88887c
* Mon Jan 21 2019 Daniel P. Berrangé <berrange@redhat.com> - 5.0.0-1
Daniel P. Berrangé 88887c
- Update to 5.0.0 release
Daniel P. Berrangé 88887c
Daniel P. Berrangé 579afc
* Mon Dec 10 2018 Daniel P. Berrangé <berrange@redhat.com> - 4.10.0-2
Daniel P. Berrangé 579afc
- Disable RBD on 32-bit arches (rhbz #1657928)
Daniel P. Berrangé 579afc
Daniel P. Berrangé 7f5808
* Mon Dec  3 2018 Daniel P. Berrangé <berrange@redhat.com> - 4.10.0-1
Daniel P. Berrangé 7f5808
- Update to 4.10.0 release
Daniel P. Berrangé 7f5808
Daniel P. Berrangé 4df5f7
* Mon Nov 12 2018 Daniel P. Berrangé <berrange@redhat.com> - 4.9.0-1
Daniel P. Berrangé 4df5f7
- Update to 4.9.0 release
Daniel P. Berrangé 4df5f7
Daniel P. Berrangé 1bdd52
* Fri Oct  5 2018 Daniel P. Berrangé <berrange@redhat.com> - 4.8.0-1
Daniel P. Berrangé 1bdd52
- Update to 4.8.0 release
Daniel P. Berrangé 1bdd52
Daniel P. Berrangé e5fa1c
* Tue Sep  4 2018 Daniel P. Berrangé <berrange@redhat.com> - 4.7.0-1
Daniel P. Berrangé e5fa1c
- Update to 4.7.0 release
Daniel P. Berrangé e5fa1c
David Abdurachmanov 18f7b8
* Sat Aug 18 2018 David Abdurachmanov <david.abdurachmanov@gmail.com> - 4.6.0-2
David Abdurachmanov 18f7b8
- Add support for RISC-V (riscv64)
David Abdurachmanov 18f7b8
Daniel P. Berrangé 782468
* Mon Aug  6 2018 Daniel P. Berrangé <berrange@redhat.com> - 4.6.0-1
Daniel P. Berrangé 782468
- Update to 4.6.0 release
Daniel P. Berrangé 782468
Fedora Release Engineering 202e7d
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.5.0-3
Fedora Release Engineering 202e7d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Fedora Release Engineering 202e7d
Daniel P. Berrangé 0676a0
* Fri Jul  6 2018 Daniel P. Berrangé <berrange@redhat.com> - 4.5.0-2
Daniel P. Berrangé 0676a0
- Fix regressions with chardev handling
Daniel P. Berrangé 0676a0
Daniel P. Berrangé f57ce7
* Tue Jul  3 2018 Daniel P. Berrangé <berrange@redhat.com> - 4.5.0-1
Daniel P. Berrangé f57ce7
- Update to 4.5.0 release
Daniel P. Berrangé f57ce7
Daniel P. Berrangé 851cfd
* Tue Jun  5 2018 Daniel P. Berrangé <berrange@redhat.com> - 4.4.0-1
Daniel P. Berrangé 061231
- Update to 4.4.0 release
Daniel P. Berrangé 061231
Daniel P. Berrangé 4fd635
* Thu May  3 2018 Daniel P. Berrangé <berrange@redhat.com> - 4.3.0-1
Daniel P. Berrangé 061231
- Update to 4.3.0 release
Daniel P. Berrangé 4fd635
Daniel P. Berrangé 6210c4
* Tue Apr  3 2018 Daniel P. Berrangé <berrange@redhat.com> - 4.2.0-1
Daniel P. Berrangé 6210c4
- Update to 4.2.0 release
Daniel P. Berrangé 6210c4
Iryna Shcherbina 82926c
* Fri Mar 23 2018 Iryna Shcherbina <ishcherb@redhat.com> - 4.1.0-3
Iryna Shcherbina 82926c
- Update Python 2 dependency declarations to new packaging standards
Iryna Shcherbina 82926c
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
Iryna Shcherbina 82926c
Daniel P. Berrangé e7a3ca
* Wed Mar 21 2018 Daniel P. Berrangé <berrange@redhat.com> - 4.1.0-2
Daniel P. Berrangé e7a3ca
- Fix systemd macro argument with line continuations (rhbz#1558648)
Daniel P. Berrangé e7a3ca
Daniel P. Berrangé 48941c
* Mon Mar  5 2018 Daniel Berrange <berrange@redhat.com> - 4.1.0-1
Daniel P. Berrangé 48941c
- Rebase to version 4.1.0
Daniel P. Berrangé 48941c
Fedora Release Engineering 6efd96
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0-2
Fedora Release Engineering 6efd96
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Fedora Release Engineering 6efd96
Daniel P. Berrange 0ca715
* Fri Jan 19 2018 Daniel P. Berrange <berrange@redhat.com> - 4.0.0-1
Daniel P. Berrange 0ca715
- Rebase to version 4.0.0