5c1d884
# -*- rpm-spec -*-
5c1d884
a972457
# This spec file assumes you are building on a Fedora or RHEL version
0ca715c
# that's still supported by the vendor. It may work on other distros
0ca715c
# or versions, but no effort will be made to ensure that going forward.
782468f
%define min_rhel 7
0ca715c
%define min_fedora 26
0ca715c
0ca715c
%if (0%{?fedora} && 0%{?fedora} >= %{min_fedora}) || (0%{?rhel} && 0%{?rhel} >= %{min_rhel})
47ca469
    %define supported_platform 1
47ca469
%else
47ca469
    %define supported_platform 0
ed6c49f
%endif
ed6c49f
f99eeb8
# Default to skipping autoreconf.  Distros can change just this one line
f99eeb8
# (or provide a command-line override) if they backport any patches that
f99eeb8
# touch configure.ac or Makefile.am.
a4bf276
%{!?enable_autotools:%global enable_autotools 0}
f99eeb8
47ca469
# The hypervisor drivers that run in libvirtd
47ca469
%define with_qemu          0%{!?_without_qemu:1}
47ca469
%define with_lxc           0%{!?_without_lxc:1}
47ca469
%define with_uml           0%{!?_without_uml:1}
47ca469
%define with_libxl         0%{!?_without_libxl:1}
47ca469
%define with_vbox          0%{!?_without_vbox:1}
86abd54
e6d9787
%define with_qemu_tcg      %{with_qemu}
9f9eae3
9f9eae3
%define qemu_kvm_arches %{ix86} x86_64
9f9eae3
9f9eae3
%if 0%{?fedora}
47ca469
    %define qemu_kvm_arches %{ix86} x86_64 %{power64} s390x %{arm} aarch64
9f9eae3
%endif
9f9eae3
9f9eae3
%if 0%{?rhel}
9f9eae3
    %define with_qemu_tcg 0
782468f
    %define qemu_kvm_arches x86_64 %{power64} aarch64 s390x
f5ff4a2
%endif
f5ff4a2
f5ff4a2
%ifarch %{qemu_kvm_arches}
350081d
    %define with_qemu_kvm      %{with_qemu}
e6d9787
%else
350081d
    %define with_qemu_kvm      0
e6d9787
%endif
e6d9787
9f9eae3
%if ! %{with_qemu_tcg} && ! %{with_qemu_kvm}
9f9eae3
    %define with_qemu 0
9f9eae3
%endif
9f9eae3
afe729a
# Then the hypervisor drivers that run outside libvirtd, in libvirt.so
afe729a
%define with_openvz        0%{!?_without_openvz:1}
afe729a
%define with_vmware        0%{!?_without_vmware:1}
86abd54
%define with_phyp          0%{!?_without_phyp:1}
86abd54
%define with_esx           0%{!?_without_esx:1}
a6831c2
%define with_hyperv        0%{!?_without_hyperv:1}
3cf75c2
afe729a
# Then the secondary host drivers, which run inside libvirtd
782468f
%define with_storage_rbd      0%{!?_without_storage_rbd:1}
47ca469
%if 0%{?fedora}
47ca469
    %define with_storage_sheepdog 0%{!?_without_storage_sheepdog:1}
f463598
%else
350081d
    %define with_storage_sheepdog 0
f463598
%endif
47ca469
%define with_storage_gluster 0%{!?_without_storage_gluster:1}
47ca469
%define with_numactl          0%{!?_without_numactl:1}
11755d8
7335ede
# F25+ has zfs-fuse
48941c0
%if 0%{?fedora}
7335ede
    %define with_storage_zfs      0%{!?_without_storage_zfs:1}
7335ede
%else
7335ede
    %define with_storage_zfs      0
7335ede
%endif
7335ede
3cf75c2
# A few optional bits off by default, we enable later
f5ff4a2
%define with_fuse          0%{!?_without_fuse:0}
e79d304
%define with_sanlock       0%{!?_without_sanlock:0}
24e9120
%define with_numad         0%{!?_without_numad:0}
7b54832
%define with_firewalld     0%{!?_without_firewalld:0}
350081d
%define with_libssh2       0%{!?_without_libssh2:0}
1b8b756
%define with_wireshark     0%{!?_without_wireshark:0}
0b1a013
%define with_libssh        0%{!?_without_libssh:0}
0ca715c
%define with_bash_completion  0%{!?_without_bash_completion:0}
2e78127
3cf75c2
# Finally set the OS / architecture specific special cases
3cf75c2
67a2f29
# Xen is available only on i386 x86_64 ia64
79ae809
%ifnarch %{ix86} x86_64 ia64
350081d
    %define with_libxl 0
67a2f29
%endif
67a2f29
e80c83a
# vbox is available only on i386 x86_64
e80c83a
%ifnarch %{ix86} x86_64
e80c83a
    %define with_vbox 0
e80c83a
%endif
e80c83a
459eb42
# Numactl is not available on s390[x] and ARM
18f7b8c
%ifarch s390 s390x %{arm} riscv64
350081d
    %define with_numactl 0
e29f71d
%endif
3cf75c2
1b8b756
# libgfapi is built only on x86_64 on rhel
1b8b756
%ifnarch x86_64
47ca469
    %if 0%{?rhel}
1b8b756
        %define with_storage_gluster 0
1b8b756
    %endif
1b8b756
%endif
1b8b756
c0a04cb
# librados and librbd are built only on x86_64 on rhel
c0a04cb
%ifnarch x86_64
782468f
    %if 0%{?rhel}
c0a04cb
        %define with_storage_rbd 0
c0a04cb
    %endif
c0a04cb
%endif
c0a04cb
7335ede
# zfs-fuse is not available on some architectures
18f7b8c
%ifarch s390 s390x aarch64 riscv64
7335ede
    %define with_storage_zfs 0
7335ede
%endif
7335ede
7335ede
ed6c49f
# RHEL doesn't ship OpenVZ, VBox, UML, PowerHypervisor,
4c65f08
# VMware, libxenserver (xenapi), libxenlight (Xen 4.1 and newer),
38c4b72
# or HyperV.
3cf75c2
%if 0%{?rhel}
350081d
    %define with_openvz 0
350081d
    %define with_vbox 0
350081d
    %define with_uml 0
350081d
    %define with_phyp 0
350081d
    %define with_vmware 0
350081d
    %define with_xenapi 0
350081d
    %define with_libxl 0
350081d
    %define with_hyperv 0
ee3bf37
    %define with_vz 0
48941c0
48941c0
    %if 0%{?rhel} > 7
48941c0
        %define with_lxc 0
48941c0
    %endif
3cf75c2
%endif
3cf75c2
782468f
%define with_firewalld 1
7b54832
f5ff4a2
# fuse is used to provide virtualized /proc for LXC
782468f
%if %{with_lxc}
350081d
    %define with_fuse      0%{!?_without_fuse:1}
f5ff4a2
%endif
f5ff4a2
e79d304
# Enable sanlock library for lock management with QEMU
9f9eae3
# Sanlock is available only on arches where kvm is available for RHEL
47ca469
%if 0%{?fedora}
47ca469
    %define with_sanlock 0%{!?_without_sanlock:1}
7069f75
%endif
47ca469
%if 0%{?rhel}
9f9eae3
    %ifarch %{qemu_kvm_arches}
47ca469
        %define with_sanlock 0%{!?_without_sanlock:1}
11755d8
    %endif
11755d8
%endif
e79d304
8cc5083
# Enable libssh2 transport for new enough distros
47ca469
%if 0%{?fedora}
350081d
    %define with_libssh2 0%{!?_without_libssh2:1}
8cc5083
%endif
8cc5083
1b8b756
# Enable wireshark plugins for all distros shipping libvirt 1.2.2 or newer
a972457
%if 0%{?fedora}
2427f8f
    %define with_wireshark 0%{!?_without_wireshark:1}
2427f8f
%endif
a888673
%if 0%{?fedora} || 0%{?rhel} > 7
a888673
    %define wireshark_plugindir %(pkg-config --variable plugindir wireshark)
a888673
%else
a888673
    %define wireshark_plugindir %{_libdir}/wireshark/plugins
a888673
%endif
1b8b756
0b1a013
# Enable libssh transport for new enough distros
0612313
%if 0%{?fedora} || 0%{?rhel} > 7
0b1a013
    %define with_libssh 0%{!?_without_libssh:1}
0b1a013
%endif
0b1a013
782468f
%define with_bash_completion  0%{!?_without_bash_completion:1}
0ca715c
6210c45
# Use Python 3 when possible, Python 2 otherwise
6210c45
%if 0%{?fedora} || 0%{?rhel} > 7
6210c45
    %define python python3
6210c45
%else
6210c45
    %define python python2
6210c45
%endif
6210c45
c363c7e
e6d9787
%if %{with_qemu} || %{with_lxc} || %{with_uml}
8f16376
# numad is used to manage the CPU and memory placement dynamically,
24e9120
# it's not available on s390[x] and ARM.
18f7b8c
    %ifnarch s390 s390x %{arm} riscv64
47ca469
        %define with_numad    0%{!?_without_numad:1}
350081d
    %endif
7e99819
%endif
7e99819
3cf75c2
# Force QEMU to run as non-root
47ca469
%define qemu_user  qemu
47ca469
%define qemu_group  qemu
a3e1cc3
3cf75c2
11755d8
# RHEL releases provide stable tool chains and so it is safe to turn
11755d8
# compiler warning into errors without being worried about frequent
11755d8
# changes in reported warnings
11755d8
%if 0%{?rhel}
11755d8
    %define enable_werror --enable-werror
9e11936
%else
9e11936
    %define enable_werror --disable-werror
11755d8
%endif
11755d8
48941c0
%if 0%{?fedora}
fc2ebb7
    %define tls_priority "@LIBVIRT,SYSTEM"
a4bf276
%else
48941c0
    %define tls_priority "NORMAL"
a4bf276
%endif
a4bf276
11755d8
ed9e426
Summary: Library providing a simple virtualization API
e2b90f9
Name: libvirt
782468f
Version: 4.6.0
18f7b8c
Release: 2%{?dist}%{?extra_release}
af11167
License: LGPLv2+
b73e509
URL: https://libvirt.org/
ed6c49f
b73e509
%if %(echo %{version} | grep -q "\.0$"; echo $?) == 1
350081d
    %define mainturl stable_updates/
8f16376
%endif
b73e509
Source: https://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.xz
404e58c
44699dc
Requires: libvirt-daemon = %{version}-%{release}
44699dc
Requires: libvirt-daemon-config-network = %{version}-%{release}
44699dc
Requires: libvirt-daemon-config-nwfilter = %{version}-%{release}
47ca469
%if %{with_libxl}
f463598
Requires: libvirt-daemon-driver-libxl = %{version}-%{release}
47ca469
%endif
47ca469
%if %{with_lxc}
f463598
Requires: libvirt-daemon-driver-lxc = %{version}-%{release}
47ca469
%endif
47ca469
%if %{with_qemu}
f463598
Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
47ca469
%endif
47ca469
%if %{with_uml}
f463598
Requires: libvirt-daemon-driver-uml = %{version}-%{release}
47ca469
%endif
47ca469
%if %{with_vbox}
e80c83a
Requires: libvirt-daemon-driver-vbox = %{version}-%{release}
47ca469
%endif
65efaaf
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
f463598
f463598
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
f463598
Requires: libvirt-daemon-driver-secret = %{version}-%{release}
f463598
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
f463598
Requires: libvirt-daemon-driver-network = %{version}-%{release}
f463598
Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
44699dc
Requires: libvirt-client = %{version}-%{release}
b1ac7b5
Requires: libvirt-libs = %{version}-%{release}
ed6c49f
44699dc
# All build-time requirements. Run-time requirements are
44699dc
# listed against each sub-RPM
f99eeb8
%if 0%{?enable_autotools}
f99eeb8
BuildRequires: autoconf
f99eeb8
BuildRequires: automake
4e460d5
BuildRequires: gettext-devel
f99eeb8
BuildRequires: libtool
4aa9c4f
BuildRequires: /usr/bin/pod2man
f99eeb8
%endif
6210c45
BuildRequires: gcc
a4075ec
BuildRequires: git
48941c0
%if 0%{?fedora} >= 27 || 0%{?rhel} > 7
a27aceb
BuildRequires: perl-interpreter
2a9c282
%else
2a9c282
BuildRequires: perl
2a9c282
%endif
6210c45
BuildRequires: %{python}
7069f75
BuildRequires: systemd-units
4fd635e
%if %{with_libxl}
313e00f
BuildRequires: xen-devel
7069f75
%endif
ba3d2d0
BuildRequires: libxml2-devel
ed6c49f
BuildRequires: libxslt
d55c7f2
BuildRequires: readline-devel
0ca715c
%if %{with_bash_completion}
0ca715c
BuildRequires: bash-completion >= 2.0
0ca715c
%endif
609ab7c
BuildRequires: ncurses-devel
5c1d884
BuildRequires: gettext
c363c7e
BuildRequires: libtasn1-devel
c70baa5
BuildRequires: gnutls-devel
350081d
BuildRequires: libattr-devel
4aa9c4f
# For pool-build probing for existing pools
4aa9c4f
BuildRequires: libblkid-devel >= 2.17
ed6c49f
# for augparse, optionally used in testing
ed6c49f
BuildRequires: augeas
544ad4a
BuildRequires: systemd-devel >= 185
47ca469
BuildRequires: libpciaccess-devel >= 0.10.9
782468f
BuildRequires: jansson-devel
e79d304
%if %{with_sanlock}
8cc5083
BuildRequires: sanlock-devel >= 2.4
8cc5083
%endif
36cab84
BuildRequires: libpcap-devel
4b6ea94
BuildRequires: libnl3-devel
5ad8bc8
BuildRequires: avahi-devel
bf744f9
BuildRequires: libselinux-devel
e8394ab
BuildRequires: dnsmasq >= 2.41
ed6c49f
BuildRequires: iptables
47ca469
BuildRequires: radvd
ed6c49f
BuildRequires: ebtables
ed6c49f
BuildRequires: module-init-tools
4f66791
BuildRequires: cyrus-sasl-devel
8ded6ff
BuildRequires: polkit >= 0.112
bf744f9
# For mount/umount in FS driver
bf744f9
BuildRequires: util-linux
bf744f9
%if %{with_qemu}
a74ea31
# For managing ACLs
a74ea31
BuildRequires: libacl-devel
bf744f9
# From QEMU RPMs
bf744f9
BuildRequires: /usr/bin/qemu-img
2b9efc3
%endif
bf744f9
# For LVM drivers
bf744f9
BuildRequires: lvm2
bf744f9
# For ISCSI driver
bf744f9
BuildRequires: iscsi-initiator-utils
bf744f9
# For disk driver
bf744f9
BuildRequires: parted-devel
897506e
# For Multipath support
897506e
BuildRequires: device-mapper-devel
1b8b756
%if %{with_storage_rbd}
c0a04cb
BuildRequires: librados2-devel
c0a04cb
BuildRequires: librbd1-devel
3cf75c2
%endif
8c9e40d
%if %{with_storage_gluster}
8c9e40d
BuildRequires: glusterfs-api-devel >= 3.4.1
8c9e40d
BuildRequires: glusterfs-devel >= 3.4.1
47ca469
%endif
47ca469
%if %{with_storage_sheepdog}
47ca469
BuildRequires: sheepdog
8c9e40d
%endif
7335ede
%if %{with_storage_zfs}
7335ede
# Support any conforming implementation of zfs. On stock Fedora
7335ede
# this is zfs-fuse, but could be zfsonlinux upstream RPMs
7335ede
BuildRequires: /sbin/zfs
7335ede
BuildRequires: /sbin/zpool
7335ede
%endif
f5edf79
%if %{with_numactl}
958f1c3
# For QEMU/LXC numa info
958f1c3
BuildRequires: numactl-devel
f5edf79
%endif
705fd20
BuildRequires: libcap-ng-devel >= 0.5.0
f5ff4a2
%if %{with_fuse}
f5ff4a2
BuildRequires: fuse-devel >= 2.8.6
f5ff4a2
%endif
350081d
%if %{with_phyp} || %{with_libssh2}
8cc5083
BuildRequires: libssh2-devel >= 1.3.0
8cc5083
%endif
4b6ea94
4b6ea94
BuildRequires: netcf-devel >= 0.2.2
7e99819
%if %{with_esx}
7e99819
BuildRequires: libcurl-devel
7e99819
%endif
a6831c2
%if %{with_hyperv}
a6831c2
BuildRequires: libwsman-devel >= 2.2.3
a6831c2
%endif
fca1fcc
BuildRequires: audit-libs-devel
ed9e426
# we need /usr/sbin/dtrace
ed9e426
BuildRequires: systemtap-sdt-devel
ed9e426
ed6c49f
# For mount/umount in FS driver
ed6c49f
BuildRequires: util-linux
ed6c49f
# For showmount in FS driver (netfs discovery)
ed6c49f
BuildRequires: nfs-utils
36d5586
50e253d
# Communication with the firewall and polkit daemons use DBus
963754b
BuildRequires: dbus-devel
963754b
31802de
# Fedora build root suckage
31802de
BuildRequires: gawk
31802de
336a932
# For storage wiping with different algorithms
336a932
BuildRequires: scrub
336a932
24e9120
%if %{with_numad}
24e9120
BuildRequires: numad
24e9120
%endif
24e9120
1b8b756
%if %{with_wireshark}
b1ac7b5
BuildRequires: wireshark-devel >= 2.1.0
1b8b756
%endif
1b8b756
0b1a013
%if %{with_libssh}
0b1a013
BuildRequires: libssh-devel >= 0.7.0
0b1a013
%endif
0b1a013
34da93e
%if 0%{?fedora} > 27 || 0%{?rhel} > 7
208f506
BuildRequires: rpcgen
3f19d41
BuildRequires: libtirpc-devel
208f506
%endif
208f506
544ad4a
Provides: bundled(gnulib)
544ad4a
e2b90f9
%description
bf744f9
Libvirt is a C toolkit to interact with the virtualization capabilities
a3e1cc3
of recent versions of Linux (and other OSes). The main package includes
a3e1cc3
the libvirtd server exporting the virtualization support.
a3e1cc3
96a520b
%package docs
96a520b
Summary: API reference and website documentation
96a520b
96a520b
%description docs
96a520b
Includes the API reference for the libvirt C library, and a complete
96a520b
copy of the libvirt.org website documentation.
96a520b
44699dc
%package daemon
44699dc
Summary: Server side daemon and supporting files for libvirt library
44699dc
44699dc
# All runtime requirements for the libvirt package (runtime requrements
44699dc
# for subpackages are listed later in those subpackages)
44699dc
b1ac7b5
# The client side, i.e. shared libs are in a subpackage
b1ac7b5
Requires: %{name}-libs = %{version}-%{release}
44699dc
44699dc
# for modprobe of pci devices
44699dc
Requires: module-init-tools
0612313
44699dc
# for /sbin/ip & /sbin/tc
44699dc
Requires: iproute
0612313
# tc is provided by iproute-tc since at least Fedora 26
0612313
%if 0%{?fedora} || 0%{?rhel} > 7
0612313
Requires: iproute-tc
0612313
%endif
0612313
44699dc
Requires: avahi-libs
9f9eae3
Requires: polkit >= 0.112
47ca469
%ifarch %{ix86} x86_64 ia64
44699dc
# For virConnectGetSysinfo
44699dc
Requires: dmidecode
47ca469
%endif
44699dc
# For service management
44699dc
Requires(post): systemd-units
44699dc
Requires(post): systemd-sysv
44699dc
Requires(preun): systemd-units
44699dc
Requires(postun): systemd-units
47ca469
%if %{with_numad}
44699dc
Requires: numad
47ca469
%endif
f5ff4a2
# libvirtd depends on 'messagebus' service
f5ff4a2
Requires: dbus
660e011
# For uid creation during pre
660e011
Requires(pre): shadow-utils
f7763bf
44699dc
%description daemon
44699dc
Server side daemon required to manage the virtualization capabilities
44699dc
of recent versions of Linux. Requires a hypervisor specific sub-RPM
44699dc
for specific drivers.
44699dc
44699dc
%package daemon-config-network
44699dc
Summary: Default configuration files for the libvirtd daemon
44699dc
44699dc
Requires: libvirt-daemon = %{version}-%{release}
1b8b756
Requires: libvirt-daemon-driver-network = %{version}-%{release}
44699dc
44699dc
%description daemon-config-network
44699dc
Default configuration files for setting up NAT based networking
44699dc
44699dc
%package daemon-config-nwfilter
44699dc
Summary: Network filter configuration files for the libvirtd daemon
44699dc
44699dc
Requires: libvirt-daemon = %{version}-%{release}
1b8b756
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
44699dc
44699dc
%description daemon-config-nwfilter
44699dc
Network filter configuration files for cleaning guest traffic
e6d9787
544ad4a
%package daemon-driver-network
544ad4a
Summary: Network driver plugin for the libvirtd daemon
544ad4a
Requires: libvirt-daemon = %{version}-%{release}
782468f
Requires: libvirt-libs = %{version}-%{release}
c5c28ba
Requires: dnsmasq >= 2.41
c5c28ba
Requires: radvd
c5c28ba
Requires: iptables
544ad4a
544ad4a
%description daemon-driver-network
544ad4a
The network driver plugin for the libvirtd daemon, providing
544ad4a
an implementation of the virtual network APIs using the Linux
544ad4a
bridge capabilities.
544ad4a
544ad4a
544ad4a
%package daemon-driver-nwfilter
544ad4a
Summary: Nwfilter driver plugin for the libvirtd daemon
544ad4a
Requires: libvirt-daemon = %{version}-%{release}
782468f
Requires: libvirt-libs = %{version}-%{release}
c5c28ba
Requires: iptables
c5c28ba
Requires: ebtables
544ad4a
544ad4a
%description daemon-driver-nwfilter
544ad4a
The nwfilter driver plugin for the libvirtd daemon, providing
544ad4a
an implementation of the firewall APIs using the ebtables,
544ad4a
iptables and ip6tables capabilities
544ad4a
544ad4a
544ad4a
%package daemon-driver-nodedev
544ad4a
Summary: Nodedev driver plugin for the libvirtd daemon
544ad4a
Requires: libvirt-daemon = %{version}-%{release}
782468f
Requires: libvirt-libs = %{version}-%{release}
c5c28ba
# needed for device enumeration
c5c28ba
Requires: systemd >= 185
544ad4a
544ad4a
%description daemon-driver-nodedev
544ad4a
The nodedev driver plugin for the libvirtd daemon, providing
544ad4a
an implementation of the node device APIs using the udev
544ad4a
capabilities.
544ad4a
544ad4a
544ad4a
%package daemon-driver-interface
544ad4a
Summary: Interface driver plugin for the libvirtd daemon
544ad4a
Requires: libvirt-daemon = %{version}-%{release}
782468f
Requires: libvirt-libs = %{version}-%{release}
c5c28ba
Requires: netcf-libs >= 0.2.2
544ad4a
544ad4a
%description daemon-driver-interface
544ad4a
The interface driver plugin for the libvirtd daemon, providing
544ad4a
an implementation of the network interface APIs using the
544ad4a
netcf library
544ad4a
544ad4a
544ad4a
%package daemon-driver-secret
544ad4a
Summary: Secret driver plugin for the libvirtd daemon
544ad4a
Requires: libvirt-daemon = %{version}-%{release}
782468f
Requires: libvirt-libs = %{version}-%{release}
544ad4a
544ad4a
%description daemon-driver-secret
544ad4a
The secret driver plugin for the libvirtd daemon, providing
544ad4a
an implementation of the secret key APIs.
544ad4a
a74ea31
%package daemon-driver-storage-core
a74ea31
Summary: Storage driver plugin including base backends for the libvirtd daemon
544ad4a
Requires: libvirt-daemon = %{version}-%{release}
782468f
Requires: libvirt-libs = %{version}-%{release}
c5c28ba
Requires: nfs-utils
c5c28ba
# For mkfs
c5c28ba
Requires: util-linux
47ca469
%if %{with_qemu}
c5c28ba
# From QEMU RPMs
c5c28ba
Requires: /usr/bin/qemu-img
47ca469
%endif
544ad4a
a74ea31
%description daemon-driver-storage-core
a74ea31
The storage driver plugin for the libvirtd daemon, providing
a74ea31
an implementation of the storage APIs using files, local disks, LVM, SCSI,
a74ea31
iSCSI, and multipath storage.
a74ea31
a74ea31
%package daemon-driver-storage-logical
a74ea31
Summary: Storage driver plugin for lvm volumes
a74ea31
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
782468f
Requires: libvirt-libs = %{version}-%{release}
a74ea31
Requires: lvm2
a74ea31
a74ea31
%description daemon-driver-storage-logical
a74ea31
The storage driver backend adding implementation of the storage APIs for block
a74ea31
volumes using lvm.
a74ea31
a74ea31
a74ea31
%package daemon-driver-storage-disk
a74ea31
Summary: Storage driver plugin for disk
a74ea31
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
782468f
Requires: libvirt-libs = %{version}-%{release}
a74ea31
Requires: parted
a74ea31
Requires: device-mapper
a74ea31
a74ea31
%description daemon-driver-storage-disk
a74ea31
The storage driver backend adding implementation of the storage APIs for block
a74ea31
volumes using the host disks.
a74ea31
a74ea31
a74ea31
%package daemon-driver-storage-scsi
a74ea31
Summary: Storage driver plugin for local scsi devices
a74ea31
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
782468f
Requires: libvirt-libs = %{version}-%{release}
a74ea31
a74ea31
%description daemon-driver-storage-scsi
a74ea31
The storage driver backend adding implementation of the storage APIs for scsi
a74ea31
host devices.
a74ea31
a74ea31
a74ea31
%package daemon-driver-storage-iscsi
a74ea31
Summary: Storage driver plugin for iscsi
a74ea31
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
782468f
Requires: libvirt-libs = %{version}-%{release}
a74ea31
Requires: iscsi-initiator-utils
a74ea31
a74ea31
%description daemon-driver-storage-iscsi
a74ea31
The storage driver backend adding implementation of the storage APIs for iscsi
a74ea31
volumes using the host iscsi stack.
a74ea31
a74ea31
a74ea31
%package daemon-driver-storage-mpath
a74ea31
Summary: Storage driver plugin for multipath volumes
a74ea31
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
782468f
Requires: libvirt-libs = %{version}-%{release}
a74ea31
Requires: device-mapper
a74ea31
a74ea31
%description daemon-driver-storage-mpath
a74ea31
The storage driver backend adding implementation of the storage APIs for
a74ea31
multipath storage using device mapper.
a74ea31
a74ea31
a74ea31
%if %{with_storage_gluster}
a74ea31
%package daemon-driver-storage-gluster
a74ea31
Summary: Storage driver plugin for gluster
a74ea31
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
782468f
Requires: libvirt-libs = %{version}-%{release}
a74ea31
    %if 0%{?fedora}
a74ea31
Requires: glusterfs-client >= 2.0.1
a74ea31
    %endif
a74ea31
    %if (0%{?fedora} || 0%{?with_storage_gluster})
a74ea31
Requires: /usr/sbin/gluster
a74ea31
    %endif
a74ea31
a74ea31
%description daemon-driver-storage-gluster
a74ea31
The storage driver backend adding implementation of the storage APIs for gluster
a74ea31
volumes using libgfapi.
a74ea31
%endif
a74ea31
a74ea31
a74ea31
%if %{with_storage_rbd}
a74ea31
%package daemon-driver-storage-rbd
a74ea31
Summary: Storage driver plugin for rbd
a74ea31
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
782468f
Requires: libvirt-libs = %{version}-%{release}
a74ea31
a74ea31
%description daemon-driver-storage-rbd
a74ea31
The storage driver backend adding implementation of the storage APIs for rbd
a74ea31
volumes using the ceph protocol.
a74ea31
%endif
a74ea31
a74ea31
a74ea31
%if %{with_storage_sheepdog}
a74ea31
%package daemon-driver-storage-sheepdog
a74ea31
Summary: Storage driver plugin for sheepdog
a74ea31
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
782468f
Requires: libvirt-libs = %{version}-%{release}
a74ea31
Requires: sheepdog
a74ea31
a74ea31
%description daemon-driver-storage-sheepdog
a74ea31
The storage driver backend adding implementation of the storage APIs for
a74ea31
sheepdog volumes using.
a74ea31
%endif
a74ea31
a74ea31
7335ede
%if %{with_storage_zfs}
7335ede
%package daemon-driver-storage-zfs
7335ede
Summary: Storage driver plugin for ZFS
7335ede
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
782468f
Requires: libvirt-libs = %{version}-%{release}
7335ede
# Support any conforming implementation of zfs
7335ede
Requires: /sbin/zfs
7335ede
Requires: /sbin/zpool
7335ede
7335ede
%description daemon-driver-storage-zfs
7335ede
The storage driver backend adding implementation of the storage APIs for
7335ede
ZFS volumes.
7335ede
%endif
7335ede
7335ede
a74ea31
%package daemon-driver-storage
a74ea31
Summary: Storage driver plugin including all backends for the libvirtd daemon
a74ea31
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
a74ea31
Requires: libvirt-daemon-driver-storage-disk = %{version}-%{release}
a74ea31
Requires: libvirt-daemon-driver-storage-logical = %{version}-%{release}
a74ea31
Requires: libvirt-daemon-driver-storage-scsi = %{version}-%{release}
a74ea31
Requires: libvirt-daemon-driver-storage-iscsi = %{version}-%{release}
a74ea31
Requires: libvirt-daemon-driver-storage-mpath = %{version}-%{release}
a74ea31
%if %{with_storage_gluster}
a74ea31
Requires: libvirt-daemon-driver-storage-gluster = %{version}-%{release}
a74ea31
%endif
a74ea31
%if %{with_storage_rbd}
a74ea31
Requires: libvirt-daemon-driver-storage-rbd = %{version}-%{release}
a74ea31
%endif
a74ea31
%if %{with_storage_sheepdog}
a74ea31
Requires: libvirt-daemon-driver-storage-sheepdog = %{version}-%{release}
a74ea31
%endif
7335ede
%if %{with_storage_zfs}
7335ede
Requires: libvirt-daemon-driver-storage-zfs = %{version}-%{release}
7335ede
%endif
a74ea31
544ad4a
%description daemon-driver-storage
544ad4a
The storage driver plugin for the libvirtd daemon, providing
544ad4a
an implementation of the storage APIs using LVM, iSCSI,
544ad4a
parted and more.
544ad4a
544ad4a
47ca469
%if %{with_qemu}
544ad4a
%package daemon-driver-qemu
04cb28c
Summary: QEMU driver plugin for the libvirtd daemon
544ad4a
Requires: libvirt-daemon = %{version}-%{release}
782468f
Requires: libvirt-libs = %{version}-%{release}
544ad4a
# There really is a hard cross-driver dependency here
544ad4a
Requires: libvirt-daemon-driver-network = %{version}-%{release}
a74ea31
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
c5c28ba
Requires: /usr/bin/qemu-img
c5c28ba
# For image compression
c5c28ba
Requires: gzip
c5c28ba
Requires: bzip2
c5c28ba
Requires: lzop
c5c28ba
Requires: xz
48941c0
    %if 0%{?fedora} || 0%{?rhel} > 7
4e2aab9
Requires: systemd-container
b1ac7b5
    %endif
544ad4a
544ad4a
%description daemon-driver-qemu
544ad4a
The qemu driver plugin for the libvirtd daemon, providing
544ad4a
an implementation of the hypervisor driver APIs using
544ad4a
QEMU
47ca469
%endif
544ad4a
544ad4a
47ca469
%if %{with_lxc}
544ad4a
%package daemon-driver-lxc
544ad4a
Summary: LXC driver plugin for the libvirtd daemon
544ad4a
Requires: libvirt-daemon = %{version}-%{release}
782468f
Requires: libvirt-libs = %{version}-%{release}
544ad4a
# There really is a hard cross-driver dependency here
544ad4a
Requires: libvirt-daemon-driver-network = %{version}-%{release}
48941c0
    %if 0%{?fedora} || 0%{?rhel} > 7
4e2aab9
Requires: systemd-container
b1ac7b5
    %endif
544ad4a
544ad4a
%description daemon-driver-lxc
544ad4a
The LXC driver plugin for the libvirtd daemon, providing
544ad4a
an implementation of the hypervisor driver APIs using
544ad4a
the Linux kernel
47ca469
%endif
544ad4a
544ad4a
47ca469
%if %{with_uml}
544ad4a
%package daemon-driver-uml
544ad4a
Summary: Uml driver plugin for the libvirtd daemon
544ad4a
Requires: libvirt-daemon = %{version}-%{release}
782468f
Requires: libvirt-libs = %{version}-%{release}
544ad4a
544ad4a
%description daemon-driver-uml
544ad4a
The UML driver plugin for the libvirtd daemon, providing
544ad4a
an implementation of the hypervisor driver APIs using
544ad4a
User Mode Linux
47ca469
%endif
544ad4a
544ad4a
47ca469
%if %{with_vbox}
e80c83a
%package daemon-driver-vbox
e80c83a
Summary: VirtualBox driver plugin for the libvirtd daemon
e80c83a
Requires: libvirt-daemon = %{version}-%{release}
782468f
Requires: libvirt-libs = %{version}-%{release}
e80c83a
e80c83a
%description daemon-driver-vbox
e80c83a
The vbox driver plugin for the libvirtd daemon, providing
e80c83a
an implementation of the hypervisor driver APIs using
e80c83a
VirtualBox
47ca469
%endif
e80c83a
e80c83a
47ca469
%if %{with_libxl}
544ad4a
%package daemon-driver-libxl
544ad4a
Summary: Libxl driver plugin for the libvirtd daemon
544ad4a
Requires: libvirt-daemon = %{version}-%{release}
782468f
Requires: libvirt-libs = %{version}-%{release}
4fd635e
Obsoletes: libvirt-daemon-driver-xen < 4.3.0
544ad4a
544ad4a
%description daemon-driver-libxl
544ad4a
The Libxl driver plugin for the libvirtd daemon, providing
544ad4a
an implementation of the hypervisor driver APIs using
544ad4a
Libxl
47ca469
%endif
544ad4a
544ad4a
e6d9787
47ca469
%if %{with_qemu_tcg}
e6d9787
%package daemon-qemu
e6d9787
Summary: Server side daemon & driver required to run QEMU guests
e6d9787
e6d9787
Requires: libvirt-daemon = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-network = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-secret = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
e6d9787
Requires: qemu
e6d9787
e6d9787
%description daemon-qemu
e6d9787
Server side daemon and driver required to manage the virtualization
e6d9787
capabilities of the QEMU TCG emulators
47ca469
%endif
e6d9787
e6d9787
47ca469
%if %{with_qemu_kvm}
e6d9787
%package daemon-kvm
e6d9787
Summary: Server side daemon & driver required to run KVM guests
e6d9787
e6d9787
Requires: libvirt-daemon = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-network = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-secret = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
e6d9787
Requires: qemu-kvm
e6d9787
e6d9787
%description daemon-kvm
e6d9787
Server side daemon and driver required to manage the virtualization
e6d9787
capabilities of the KVM hypervisor
47ca469
%endif
e6d9787
e6d9787
47ca469
%if %{with_lxc}
e6d9787
%package daemon-lxc
e6d9787
Summary: Server side daemon & driver required to run LXC guests
e6d9787
e6d9787
Requires: libvirt-daemon = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-lxc = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-network = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-secret = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
e6d9787
e6d9787
%description daemon-lxc
e6d9787
Server side daemon and driver required to manage the virtualization
e6d9787
capabilities of LXC
47ca469
%endif
e6d9787
e6d9787
47ca469
%if %{with_uml}
e6d9787
%package daemon-uml
e6d9787
Summary: Server side daemon & driver required to run UML guests
e6d9787
e6d9787
Requires: libvirt-daemon = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-uml = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-network = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-secret = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
e6d9787
# There are no UML kernel RPMs in Fedora/RHEL to depend on.
e6d9787
e6d9787
%description daemon-uml
e6d9787
Server side daemon and driver required to manage the virtualization
e6d9787
capabilities of UML
47ca469
%endif
e6d9787
e6d9787
4fd635e
%if %{with_libxl}
e6d9787
%package daemon-xen
e6d9787
Summary: Server side daemon & driver required to run XEN guests
e6d9787
e6d9787
Requires: libvirt-daemon = %{version}-%{release}
47ca469
    %if %{with_libxl}
544ad4a
Requires: libvirt-daemon-driver-libxl = %{version}-%{release}
47ca469
    %endif
544ad4a
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-network = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-secret = %{version}-%{release}
544ad4a
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
e6d9787
Requires: xen
e6d9787
e6d9787
%description daemon-xen
e6d9787
Server side daemon and driver required to manage the virtualization
e6d9787
capabilities of XEN
47ca469
%endif
e80c83a
47ca469
%if %{with_vbox}
e80c83a
%package daemon-vbox
e80c83a
Summary: Server side daemon & driver required to run VirtualBox guests
e80c83a
e80c83a
Requires: libvirt-daemon = %{version}-%{release}
e80c83a
Requires: libvirt-daemon-driver-vbox = %{version}-%{release}
e80c83a
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
e80c83a
Requires: libvirt-daemon-driver-network = %{version}-%{release}
e80c83a
Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
e80c83a
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
e80c83a
Requires: libvirt-daemon-driver-secret = %{version}-%{release}
e80c83a
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
e80c83a
e80c83a
%description daemon-vbox
e80c83a
Server side daemon and driver required to manage the virtualization
e80c83a
capabilities of VirtualBox
47ca469
%endif
44699dc
a3e1cc3
%package client
b1ac7b5
Summary: Client side utilities of the libvirt library
b1ac7b5
Requires: %{name}-libs = %{version}-%{release}
a3e1cc3
Requires: readline
a3e1cc3
Requires: ncurses
e80c83a
# Needed by /usr/libexec/libvirt-guests.sh script.
ed6c49f
Requires: gettext
ed6c49f
# Needed by virt-pki-validate script.
ed6c49f
Requires: gnutls-utils
782468f
# We dlopen(libjansson.so.4), so need an explicit dep
782468f
Requires: jansson
48941c0
%if %{with_bash_completion}
48941c0
Requires: %{name}-bash-completion = %{version}-%{release}
48941c0
%endif
b1ac7b5
b1ac7b5
%description client
b1ac7b5
The client binaries needed to access the virtualization
b1ac7b5
capabilities of recent versions of Linux (and other OSes).
b1ac7b5
b1ac7b5
%package libs
b1ac7b5
Summary: Client side libraries
b1ac7b5
# So remote clients can access libvirt over SSH tunnel
b1ac7b5
# (client invokes 'nc' against the UNIX socket on the server)
b1ac7b5
Requires: nc
a3e1cc3
Requires: cyrus-sasl
04cb28c
# Needed by default sasl.conf - no onerous extra deps, since
04cb28c
# 100's of other things on a system already pull in krb5-libs
04cb28c
Requires: cyrus-sasl-gssapi
a3e1cc3
b1ac7b5
%description libs
b1ac7b5
Shared libraries for accessing the libvirt daemon.
b1ac7b5
b1ac7b5
%package admin
b1ac7b5
Summary: Set of tools to control libvirt daemon
b1ac7b5
Requires: %{name}-libs = %{version}-%{release}
b1ac7b5
Requires: readline
48941c0
%if %{with_bash_completion}
48941c0
Requires: %{name}-bash-completion = %{version}-%{release}
48941c0
%endif
b1ac7b5
b1ac7b5
%description admin
b1ac7b5
The client side utilities to control the libvirt daemon.
a3e1cc3
48941c0
%if %{with_bash_completion}
48941c0
%package bash-completion
48941c0
Summary: Bash completion script
48941c0
48941c0
%description bash-completion
48941c0
Bash completion script stub.
48941c0
%endif
48941c0
1b8b756
%if %{with_wireshark}
1b8b756
%package wireshark
1b8b756
Summary: Wireshark dissector plugin for libvirt RPC transactions
281508e
Requires: wireshark >= 1.12.6-4
b1ac7b5
Requires: %{name}-libs = %{version}-%{release}
1b8b756
1b8b756
%description wireshark
1b8b756
Wireshark dissector plugin for better analysis of libvirt RPC traffic.
1b8b756
%endif
1b8b756
c5c28ba
%if %{with_lxc}
c5c28ba
%package login-shell
c5c28ba
Summary: Login shell for connecting users to an LXC container
b1ac7b5
Requires: %{name}-libs = %{version}-%{release}
c5c28ba
c5c28ba
%description login-shell
c5c28ba
Provides the set-uid virt-login-shell binary that is used to
c5c28ba
connect a user to an LXC container when they login, by switching
c5c28ba
namespaces.
c5c28ba
%endif
c5c28ba
e2b90f9
%package devel
e2b90f9
Summary: Libraries, includes, etc. to compile with the libvirt library
b1ac7b5
Requires: %{name}-libs = %{version}-%{release}
68efefa
Requires: pkgconfig
e2b90f9
e2b90f9
%description devel
96a520b
Include header files & development libraries for the libvirt C library.
e2b90f9
e79d304
%if %{with_sanlock}
e79d304
%package lock-sanlock
e79d304
Summary: Sanlock lock manager plugin for QEMU driver
8cc5083
Requires: sanlock >= 2.4
a6831c2
#for virt-sanlock-cleanup require augeas
a6831c2
Requires: augeas
544ad4a
Requires: %{name}-daemon = %{version}-%{release}
b1ac7b5
Requires: %{name}-libs = %{version}-%{release}
e79d304
e79d304
%description lock-sanlock
e79d304
Includes the Sanlock lock manager plugin for the QEMU
e79d304
driver
e79d304
%endif
e79d304
0debbff
%package nss
0debbff
Summary: Libvirt plugin for Name Service Switch
0debbff
Requires: libvirt-daemon-driver-network = %{version}-%{release}
0debbff
0debbff
%description nss
0debbff
Libvirt plugin for NSS for translating domain names into IP addresses.
0debbff
ee3bf37
e2b90f9
%prep
47ca469
e2b90f9
%setup -q
f4e752a
a4075ec
# Patches have to be stored in a temporary file because RPM has
a4075ec
# a limit on the length of the result of any macro expansion;
a4075ec
# if the string is longer, it's silently cropped
a4075ec
%{lua:
a4075ec
    tmp = os.tmpname();
a4075ec
    f = io.open(tmp, "w+");
a4075ec
    count = 0;
a4075ec
    for i, p in ipairs(patches) do
a4075ec
        f:write(p.."\n");
a4075ec
        count = count + 1;
a4075ec
    end;
a4075ec
    f:close();
a4075ec
    print("PATCHCOUNT="..count.."\n")
a4075ec
    print("PATCHLIST="..tmp.."\n")
a4075ec
}
a4075ec
a4075ec
git init -q
a4075ec
git config user.name rpm-build
a4075ec
git config user.email rpm-build
a4075ec
git config gc.auto 0
a4075ec
git add .
a4075ec
git commit -q -a --author 'rpm-build <rpm-build>' \
a4075ec
           -m '%{name}-%{version} base'
a4075ec
a4075ec
COUNT=$(grep '\.patch$' $PATCHLIST | wc -l)
a4075ec
if [ $COUNT -ne $PATCHCOUNT ]; then
a4075ec
    echo "Found $COUNT patches in $PATCHLIST, expected $PATCHCOUNT"
a4075ec
    exit 1
a4075ec
fi
a4075ec
if [ $COUNT -gt 0 ]; then
a4075ec
    xargs git am <$PATCHLIST || exit 1
a4075ec
fi
a4075ec
echo "Applied $COUNT patches"
a4075ec
rm -f $PATCHLIST
281508e
rm -rf .git
e73cc6a
e2b90f9
%build
051644f
%if ! %{supported_platform}
0ca715c
echo "This RPM requires either Fedora >= %{min_fedora} or RHEL >= %{min_rhel}"
051644f
exit 1
051644f
%endif
051644f
47ca469
%if %{with_qemu}
47ca469
    %define arg_qemu --with-qemu
47ca469
%else
47ca469
    %define arg_qemu --without-qemu
8c9e40d
%endif
8c9e40d
47ca469
%if %{with_openvz}
47ca469
    %define arg_openvz --with-openvz
47ca469
%else
47ca469
    %define arg_openvz --without-openvz
f5edf79
%endif
f5edf79
47ca469
%if %{with_lxc}
47ca469
    %define arg_lxc --with-lxc
48941c0
    %define arg_login_shell --with-login-shell
47ca469
%else
47ca469
    %define arg_lxc --without-lxc
48941c0
    %define arg_login_shell --without-login-shell
24e9120
%endif
24e9120
47ca469
%if %{with_vbox}
47ca469
    %define arg_vbox --with-vbox
47ca469
%else
47ca469
    %define arg_vbox --without-vbox
ccafc8e
%endif
ccafc8e
47ca469
%if %{with_libxl}
47ca469
    %define arg_libxl --with-libxl
47ca469
%else
47ca469
    %define arg_libxl --without-libxl
f5ff4a2
%endif
f5ff4a2
47ca469
%if %{with_phyp}
47ca469
    %define arg_phyp --with-phyp
47ca469
%else
47ca469
    %define arg_phyp --without-phyp
6359121
%endif
6359121
47ca469
%if %{with_esx}
47ca469
    %define arg_esx --with-esx
47ca469
%else
47ca469
    %define arg_esx --without-esx
3cf75c2
%endif
3cf75c2
47ca469
%if %{with_hyperv}
47ca469
    %define arg_hyperv --with-hyperv
47ca469
%else
47ca469
    %define arg_hyperv --without-hyperv
11755d8
%endif
11755d8
47ca469
%if %{with_vmware}
47ca469
    %define arg_vmware --with-vmware
47ca469
%else
47ca469
    %define arg_vmware --without-vmware
3cf75c2
%endif
3cf75c2
47ca469
%if %{with_uml}
47ca469
    %define arg_uml --with-uml
47ca469
%else
47ca469
    %define arg_uml --without-uml
ee0273f
%endif
ee0273f
47ca469
%if %{with_storage_rbd}
47ca469
    %define arg_storage_rbd --with-storage-rbd
47ca469
%else
47ca469
    %define arg_storage_rbd --without-storage-rbd
4717aa0
%endif
4717aa0
47ca469
%if %{with_storage_sheepdog}
47ca469
    %define arg_storage_sheepdog --with-storage-sheepdog
47ca469
%else
47ca469
    %define arg_storage_sheepdog --without-storage-sheepdog
e79d304
%endif
e79d304
47ca469
%if %{with_storage_gluster}
47ca469
    %define arg_storage_gluster --with-storage-gluster
47ca469
%else
47ca469
    %define arg_storage_gluster --without-storage-gluster
7e99819
%endif
7e99819
7335ede
%if %{with_storage_zfs}
7335ede
    %define arg_storage_zfs --with-storage-zfs
7335ede
%else
7335ede
    %define arg_storage_zfs --without-storage-zfs
7335ede
%endif
7335ede
47ca469
%if %{with_numactl}
47ca469
    %define arg_numactl --with-numactl
47ca469
%else
47ca469
    %define arg_numactl --without-numactl
7e99819
%endif
7e99819
47ca469
%if %{with_numad}
47ca469
    %define arg_numad --with-numad
47ca469
%else
47ca469
    %define arg_numad --without-numad
fca1fcc
%endif
fca1fcc
47ca469
%if %{with_fuse}
47ca469
    %define arg_fuse --with-fuse
47ca469
%else
47ca469
    %define arg_fuse --without-fuse
fca1fcc
%endif
fca1fcc
47ca469
%if %{with_sanlock}
47ca469
    %define arg_sanlock --with-sanlock
47ca469
%else
47ca469
    %define arg_sanlock --without-sanlock
544ad4a
%endif
544ad4a
7b54832
%if %{with_firewalld}
47ca469
    %define arg_firewalld --with-firewalld
47ca469
%else
47ca469
    %define arg_firewalld --without-firewalld
1b8b756
%endif
1b8b756
47ca469
%if %{with_wireshark}
47ca469
    %define arg_wireshark --with-wireshark-dissector
47ca469
%else
47ca469
    %define arg_wireshark --without-wireshark-dissector
1b8b756
%endif
1b8b756
f13fb18
%define when  %(date +"%%F-%%T")
f13fb18
%define where %(hostname)
f13fb18
%define who   %{?packager}%{!?packager:Unknown}
47ca469
%define arg_packager --with-packager="%{who}, %{when}, %{where}"
47ca469
%define arg_packager_version --with-packager-version="%{release}"
f13fb18
782468f
%define arg_selinux_mount --with-selinux-mount="/sys/fs/selinux"
47ca469
47ca469
%if 0%{?fedora}
47ca469
    # Nightly firmware repo x86/OVMF
47ca469
    LOADERS="/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd:/usr/share/edk2.git/ovmf-x64/OVMF_VARS-pure-efi.fd"
47ca469
    # Nightly firmware repo aarch64/AAVMF
47ca469
    LOADERS="$LOADERS:/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw:/usr/share/edk2.git/aarch64/vars-template-pflash.raw"
47ca469
    # Fedora official x86/OVMF
47ca469
    LOADERS="$LOADERS:/usr/share/edk2/ovmf/OVMF_CODE.fd:/usr/share/edk2/ovmf/OVMF_VARS.fd"
47ca469
    # Fedora official aarch64/AAVMF
47ca469
    LOADERS="$LOADERS:/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw:/usr/share/edk2/aarch64/vars-template-pflash.raw"
47ca469
    %define arg_loader_nvram --with-loader-nvram="$LOADERS"
f1867a5
%endif
f1867a5
11755d8
# place macros above and build commands below this comment
11755d8
a56bcbd
export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/%{name}.spec)
a56bcbd
11755d8
%if 0%{?enable_autotools}
11755d8
 autoreconf -if
11755d8
%endif
11755d8
0223d5a
rm -f po/stamp-po
4fd635e
%configure %{?arg_qemu} \
47ca469
           %{?arg_openvz} \
47ca469
           %{?arg_lxc} \
47ca469
           %{?arg_vbox} \
47ca469
           %{?arg_libxl} \
47ca469
           --with-sasl \
47ca469
           --with-avahi \
47ca469
           --with-polkit \
47ca469
           --with-libvirtd \
47ca469
           %{?arg_uml} \
47ca469
           %{?arg_phyp} \
47ca469
           %{?arg_esx} \
47ca469
           %{?arg_hyperv} \
47ca469
           %{?arg_vmware} \
47ca469
           --without-xenapi \
47ca469
           --without-vz \
1b8b756
           --without-bhyve \
47ca469
           --with-interface \
47ca469
           --with-network \
47ca469
           --with-storage-fs \
47ca469
           --with-storage-lvm \
47ca469
           --with-storage-iscsi \
a74ea31
           --with-storage-scsi \
47ca469
           --with-storage-disk \
47ca469
           --with-storage-mpath \
47ca469
           %{?arg_storage_rbd} \
47ca469
           %{?arg_storage_sheepdog} \
47ca469
           %{?arg_storage_gluster} \
7335ede
           %{?arg_storage_zfs} \
a74ea31
           --without-storage-vstorage \
47ca469
           %{?arg_numactl} \
47ca469
           %{?arg_numad} \
47ca469
           --with-capng \
47ca469
           %{?arg_fuse} \
47ca469
           --with-netcf \
47ca469
           --with-selinux \
47ca469
           %{?arg_selinux_mount} \
47ca469
           --without-apparmor \
47ca469
           --without-hal \
47ca469
           --with-udev \
782468f
           --with-jansson \
47ca469
           %{?arg_sanlock} \
47ca469
           --with-libpcap \
47ca469
           --with-macvtap \
47ca469
           --with-audit \
47ca469
           --with-dtrace \
47ca469
           --with-driver-modules \
47ca469
           %{?arg_firewalld} \
47ca469
           %{?arg_wireshark} \
782468f
           --without-pm-utils \
47ca469
           --with-nss-plugin \
47ca469
           %{arg_packager} \
47ca469
           %{arg_packager_version} \
5932552
           --with-qemu-user=%{qemu_user} \
5932552
           --with-qemu-group=%{qemu_group} \
a4bf276
           --with-tls-priority=%{tls_priority} \
47ca469
           %{?arg_loader_nvram} \
11755d8
           %{?enable_werror} \
11755d8
           --enable-expensive-tests \
782468f
           --with-init-script=systemd \
48941c0
           %{?arg_login_shell}
a56bcbd
make %{?_smp_mflags} V=1
a3e1cc3
gzip -9 ChangeLog
e2b90f9
e2b90f9
%install
a38fb9c
rm -fr %{buildroot}
e2b90f9
a56bcbd
export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/%{name}.spec)
a56bcbd
350081d
# Avoid using makeinstall macro as it changes prefixes rather than setting
350081d
# DESTDIR. Newer make_install macro would be better but it's not available
350081d
# on RHEL 5, thus we need to expand it here.
a56bcbd
make %{?_smp_mflags} install DESTDIR=%{?buildroot} SYSTEMD_UNIT_DIR=%{_unitdir} V=1
350081d
a56bcbd
make %{?_smp_mflags} -C examples distclean V=1
50e253d
e2b90f9
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
e2b90f9
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
e79d304
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.la
e79d304
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.a
544ad4a
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.la
544ad4a
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.a
a74ea31
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-backend/*.la
a74ea31
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-backend/*.a
0612313
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-file/*.la
0612313
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-file/*.a
1b8b756
%if %{with_wireshark}
a888673
rm -f $RPM_BUILD_ROOT%{wireshark_plugindir}/libvirt.la
1b8b756
%endif
7a6f075
a160d7f
install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/lib/libvirt/dnsmasq/
7a6f075
# We don't want to install /etc/libvirt/qemu/networks in the main %files list
7a6f075
# because if the admin wants to delete the default network completely, we don't
7a6f075
# want to end up re-incarnating it on every RPM upgrade.
7a6f075
install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/
7a6f075
cp $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml \
7a6f075
   $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
7a6f075
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
7a6f075
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
b23ff9c
b23ff9c
# nwfilter files are installed in /usr/share/libvirt and copied to /etc in %post
b23ff9c
# to avoid verification errors on changed files in /etc
b23ff9c
install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/libvirt/nwfilter/
b23ff9c
cp -a $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/nwfilter/*.xml \
b23ff9c
    $RPM_BUILD_ROOT%{_datadir}/libvirt/nwfilter/
0612313
# libvirt saves these files with mode 600
0612313
chmod 600 $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/nwfilter/*.xml
b23ff9c
7a6f075
# Strip auto-generated UUID - we need it generated per-install
7a6f075
sed -i -e "/<uuid>/d" $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
3cf75c2
%if ! %{with_qemu}
fe09090
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_qemu.aug
fe09090
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
f294b40
%endif
5c1d884
%find_lang %{name}
e2b90f9
544ad4a
%if ! %{with_sanlock}
544ad4a
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirt_sanlock.aug
544ad4a
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug
544ad4a
%endif
544ad4a
6383d6b
%if ! %{with_lxc}
6383d6b
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_lxc.aug
6383d6b
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
6383d6b
%endif
6383d6b
f294b40
%if ! %{with_qemu}
f294b40
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf
36cab84
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.qemu
f294b40
%endif
6383d6b
%if ! %{with_lxc}
6383d6b
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/lxc.conf
a160d7f
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.lxc
36cab84
%endif
5f1a422
%if ! %{with_libxl}
5f1a422
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/libxl.conf
c819490
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.libxl
5f1a422
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_libxl.aug
5f1a422
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.aug
5f1a422
%endif
36cab84
%if ! %{with_uml}
36cab84
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.uml
6383d6b
%endif
f294b40
8c9e40d
# Copied into libvirt-docs subpackage eventually
8c9e40d
mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{version} libvirt-docs
96a520b
47ca469
%ifarch %{power64} s390x x86_64 ia64 alpha sparc64
96b1b18
mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes.stp \
96b1b18
   $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes-64.stp
0612313
0612313
    %if %{with_qemu}
96b1b18
mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes.stp \
96b1b18
   $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes-64.stp
0612313
    %endif
96b1b18
%endif
96b1b18
a160d7f
%check
a160d7f
cd tests
f463598
# These tests don't current work in a mock build root
2a9c282
for i in nodeinfotest seclabeltest
a160d7f
do
a160d7f
  rm -f $i
7b54832
  printf 'int main(void) { return 0; }' > $i.c
f463598
  printf '#!/bin/sh\nexit 0\n' > $i
a160d7f
  chmod +x $i
a160d7f
done
0b1a013
if ! make %{?_smp_mflags} check VIR_TEST_DEBUG=1
f40b464
then
f40b464
  cat test-suite.log || true
dbe6150
  exit 1
f40b464
fi
a160d7f
c819490
%pre daemon
c819490
# 'libvirt' group is just to allow password-less polkit access to
c819490
# libvirtd. The uid number is irrelevant, so we use dynamic allocation
c819490
# described at the above link.
c819490
getent group libvirt >/dev/null || groupadd -r libvirt
c819490
c819490
exit 0
c819490
44699dc
%post daemon
e2b90f9
782468f
%systemd_post virtlockd.socket virtlockd-admin.socket
782468f
%systemd_post virtlogd.socket virtlogd-admin.socket
782468f
%systemd_post libvirtd.service
7a6f075
89c3fa7
# request daemon restart in posttrans
89c3fa7
mkdir -p %{_localstatedir}/lib/rpm-state/libvirt || :
89c3fa7
touch %{_localstatedir}/lib/rpm-state/libvirt/restart || :
89c3fa7
44699dc
%preun daemon
782468f
%systemd_preun libvirtd.service
782468f
%systemd_preun virtlogd.socket virtlogd-admin.socket virtlogd.service
782468f
%systemd_preun virtlockd.socket virtlockd-admin.socket virtlockd.service
7069f75
44699dc
%postun daemon
7069f75
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
7069f75
if [ $1 -ge 1 ] ; then
65efaaf
    /bin/systemctl reload-or-try-restart virtlockd.service >/dev/null 2>&1 || :
4a9c74e
    /bin/systemctl reload-or-try-restart virtlogd.service >/dev/null 2>&1 || :
7069f75
fi
65efaaf
4a9c74e
# In upgrade scenario we must explicitly enable virtlockd/virtlogd
4a9c74e
# sockets, if libvirtd is already enabled and start them if
4a9c74e
# libvirtd is running, otherwise you'll get failures to start
4a9c74e
# guests
4a9c74e
%triggerpostun daemon -- libvirt-daemon < 1.3.0
4a9c74e
if [ $1 -ge 1 ] ; then
48941c0
    /bin/systemctl is-enabled libvirtd.service 1>/dev/null 2>&1 &&
48941c0
        /bin/systemctl enable virtlogd.socket virtlogd-admin.socket || :
48941c0
    /bin/systemctl is-active libvirtd.service 1>/dev/null 2>&1 &&
48941c0
        /bin/systemctl start virtlogd.socket virtlogd-admin.socket || :
4a9c74e
fi
4a9c74e
89c3fa7
%posttrans daemon
89c3fa7
if [ -f %{_localstatedir}/lib/rpm-state/libvirt/restart ]; then
89c3fa7
    /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
89c3fa7
fi
89c3fa7
rm -rf %{_localstatedir}/lib/rpm-state/libvirt || :
89c3fa7
44699dc
%post daemon-config-network
44699dc
if test $1 -eq 1 && test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml ; then
a540751
    # see if the network used by default network creates a conflict,
a540751
    # and try to resolve it
a540751
    # NB: 192.168.122.0/24 is used in the default.xml template file;
a540751
    # do not modify any of those values here without also modifying
a540751
    # them in the template.
a540751
    orig_sub=122
a540751
    sub=${orig_sub}
a540751
    nl='
a540751
'
a540751
    routes="${nl}$(ip route show | cut -d' ' -f1)${nl}"
a540751
    case ${routes} in
a540751
      *"${nl}192.168.${orig_sub}.0/24${nl}"*)
a540751
        # there was a match, so we need to look for an unused subnet
a540751
        for new_sub in $(seq 124 254); do
a540751
          case ${routes} in
a540751
          *"${nl}192.168.${new_sub}.0/24${nl}"*)
a540751
            ;;
a540751
          *)
a540751
            sub=$new_sub
a540751
            break;
a540751
            ;;
a540751
          esac
a540751
        done
a540751
        ;;
a540751
      *)
a540751
        ;;
a540751
    esac
a540751
44699dc
    UUID=`/usr/bin/uuidgen`
a540751
    sed -e "s/${orig_sub}/${sub}/g" \
a540751
        -e "s,</name>,</name>\n  <uuid>$UUID</uuid>," \
44699dc
         < %{_datadir}/libvirt/networks/default.xml \
44699dc
         > %{_sysconfdir}/libvirt/qemu/networks/default.xml
44699dc
    ln -s ../default.xml %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
611b2ee
611b2ee
    # Make sure libvirt picks up the new network defininiton
89c3fa7
    mkdir -p %{_localstatedir}/lib/rpm-state/libvirt || :
89c3fa7
    touch %{_localstatedir}/lib/rpm-state/libvirt/restart || :
89c3fa7
fi
89c3fa7
89c3fa7
%posttrans daemon-config-network
89c3fa7
if [ -f %{_localstatedir}/lib/rpm-state/libvirt/restart ]; then
89c3fa7
    /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
44699dc
fi
89c3fa7
rm -rf %{_localstatedir}/lib/rpm-state/libvirt || :
b23ff9c
b23ff9c
%post daemon-config-nwfilter
b23ff9c
cp %{_datadir}/libvirt/nwfilter/*.xml %{_sysconfdir}/libvirt/nwfilter/
b23ff9c
# Make sure libvirt picks up the new nwfilter defininitons
89c3fa7
mkdir -p %{_localstatedir}/lib/rpm-state/libvirt || :
89c3fa7
touch %{_localstatedir}/lib/rpm-state/libvirt/restart || :
89c3fa7
89c3fa7
%posttrans daemon-config-nwfilter
89c3fa7
if [ -f %{_localstatedir}/lib/rpm-state/libvirt/restart ]; then
89c3fa7
    /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
89c3fa7
fi
89c3fa7
rm -rf %{_localstatedir}/lib/rpm-state/libvirt || :
b23ff9c
b23ff9c
7069f75
%triggerun -- libvirt < 0.9.4
7069f75
%{_bindir}/systemd-sysv-convert --save libvirtd >/dev/null 2>&1 ||:
7069f75
7069f75
# If the package is allowed to autostart:
7069f75
/bin/systemctl --no-reload enable libvirtd.service >/dev/null 2>&1 ||:
7069f75
7069f75
# Run these because the SysV package being removed won't do them
7069f75
/sbin/chkconfig --del libvirtd >/dev/null 2>&1 || :
7069f75
/bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
65efaaf
47ca469
%if %{with_qemu}
65efaaf
%pre daemon-driver-qemu
65efaaf
# We want soft static allocation of well-known ids, as disk images
65efaaf
# are commonly shared across NFS mounts by id rather than name; see
65efaaf
# https://fedoraproject.org/wiki/Packaging:UsersAndGroups
65efaaf
getent group kvm >/dev/null || groupadd -f -g 36 -r kvm
65efaaf
getent group qemu >/dev/null || groupadd -f -g 107 -r qemu
65efaaf
if ! getent passwd qemu >/dev/null; then
65efaaf
  if ! getent passwd 107 >/dev/null; then
65efaaf
    useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu
65efaaf
  else
65efaaf
    useradd -r -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu
65efaaf
  fi
65efaaf
fi
65efaaf
exit 0
47ca469
%endif
7a6f075
7e99819
%preun client
7e99819
782468f
%systemd_preun libvirt-guests.service
7e99819
7e99819
%post client
7e99819
7e99819
/sbin/ldconfig
782468f
%systemd_post libvirt-guests.service
854b878
d3109ab
%postun client
e2b90f9
d3109ab
/sbin/ldconfig
782468f
%systemd_postun libvirt-guests.service
782468f
7069f75
%triggerun client -- libvirt < 0.9.4
7069f75
%{_bindir}/systemd-sysv-convert --save libvirt-guests >/dev/null 2>&1 ||:
7069f75
7069f75
# If the package is allowed to autostart:
7069f75
/bin/systemctl --no-reload enable libvirt-guests.service >/dev/null 2>&1 ||:
7069f75
8c9e40d
# Run this because the SysV package being removed won't do them
7069f75
/sbin/chkconfig --del libvirt-guests >/dev/null 2>&1 || :
7069f75
8cc5083
%if %{with_sanlock}
8cc5083
%post lock-sanlock
8cc5083
if getent group sanlock > /dev/null ; then
8cc5083
    chmod 0770 %{_localstatedir}/lib/libvirt/sanlock
8cc5083
    chown root:sanlock %{_localstatedir}/lib/libvirt/sanlock
8cc5083
fi
8cc5083
%endif
8cc5083
8c9e40d
%if %{with_lxc}
8c9e40d
%pre login-shell
8c9e40d
getent group virtlogin >/dev/null || groupadd -r virtlogin
8c9e40d
exit 0
8c9e40d
%endif
8c9e40d
6253f97
%files
37ddbd0
44699dc
%files docs
89c3fa7
%doc AUTHORS ChangeLog.gz NEWS README README.md
611b2ee
%doc libvirt-docs/*
44699dc
44699dc
# API docs
44699dc
%dir %{_datadir}/gtk-doc/html/libvirt/
44699dc
%doc %{_datadir}/gtk-doc/html/libvirt/*.devhelp
44699dc
%doc %{_datadir}/gtk-doc/html/libvirt/*.html
44699dc
%doc %{_datadir}/gtk-doc/html/libvirt/*.png
44699dc
%doc %{_datadir}/gtk-doc/html/libvirt/*.css
611b2ee
%doc examples/hellolibvirt
611b2ee
%doc examples/object-events
611b2ee
%doc examples/dominfo
611b2ee
%doc examples/domsuspend
611b2ee
%doc examples/dommigrate
611b2ee
%doc examples/openauth
611b2ee
%doc examples/xml
611b2ee
%doc examples/rename
611b2ee
%doc examples/systemtap
a4bf276
%doc examples/admin
611b2ee
44699dc
44699dc
%files daemon
44699dc
7a6f075
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
f294b40
7069f75
%{_unitdir}/libvirtd.service
0b1a013
%{_unitdir}/virt-guest-shutdown.target
4a9c74e
%{_unitdir}/virtlogd.service
4a9c74e
%{_unitdir}/virtlogd.socket
48941c0
%{_unitdir}/virtlogd-admin.socket
f5ff4a2
%{_unitdir}/virtlockd.service
f5ff4a2
%{_unitdir}/virtlockd.socket
48941c0
%{_unitdir}/virtlockd-admin.socket
c70baa5
%config(noreplace) %{_sysconfdir}/sysconfig/libvirtd
4a9c74e
%config(noreplace) %{_sysconfdir}/sysconfig/virtlogd
f5ff4a2
%config(noreplace) %{_sysconfdir}/sysconfig/virtlockd
fdd7e87
%config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
4a9c74e
%config(noreplace) %{_sysconfdir}/libvirt/virtlogd.conf
11755d8
%config(noreplace) %{_sysconfdir}/libvirt/virtlockd.conf
f57ce74
%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
5f1a422
%config(noreplace) %{_prefix}/lib/sysctl.d/60-libvirtd.conf
f294b40
ed6c49f
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd
7a6f075
%dir %{_datadir}/libvirt/
3cf75c2
7069f75
%ghost %dir %{_localstatedir}/run/libvirt/
958f1c3
66df925
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/images/
8c8aca2
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/filesystems/
743adff
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/boot/
db03f03
%dir %attr(0711, root, root) %{_localstatedir}/cache/libvirt/
f294b40
958f1c3
051644f
%dir %attr(0755, root, root) %{_libdir}/libvirt/
051644f
%dir %attr(0755, root, root) %{_libdir}/libvirt/connection-driver/
f5ff4a2
%dir %attr(0755, root, root) %{_libdir}/libvirt/lock-driver
f5ff4a2
%attr(0755, root, root) %{_libdir}/libvirt/lock-driver/lockd.so
f5ff4a2
f294b40
%{_datadir}/augeas/lenses/libvirtd.aug
f294b40
%{_datadir}/augeas/lenses/tests/test_libvirtd.aug
4a9c74e
%{_datadir}/augeas/lenses/virtlogd.aug
4a9c74e
%{_datadir}/augeas/lenses/tests/test_virtlogd.aug
11755d8
%{_datadir}/augeas/lenses/virtlockd.aug
11755d8
%{_datadir}/augeas/lenses/tests/test_virtlockd.aug
f5ff4a2
%{_datadir}/augeas/lenses/libvirt_lockd.aug
47ca469
%if %{with_qemu}
f5ff4a2
%{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug
47ca469
%endif
f294b40
c476c8b
%{_datadir}/polkit-1/actions/org.libvirt.unix.policy
000a327
%{_datadir}/polkit-1/actions/org.libvirt.api.policy
c819490
%{_datadir}/polkit-1/rules.d/50-libvirt.rules
f294b40
c80b7f0
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/
f294b40
ed6c49f
%attr(0755, root, root) %{_libexecdir}/libvirt_iohelper
11755d8
c70baa5
%attr(0755, root, root) %{_sbindir}/libvirtd
4a9c74e
%attr(0755, root, root) %{_sbindir}/virtlogd
f5ff4a2
%attr(0755, root, root) %{_sbindir}/virtlockd
f294b40
e8394ab
%{_mandir}/man8/libvirtd.8*
4a9c74e
%{_mandir}/man8/virtlogd.8*
11755d8
%{_mandir}/man8/virtlockd.8*
b23ff9c
%{_mandir}/man7/virkey*.7*
e2b90f9
93cadb0
%doc examples/polkit/*.rules
93cadb0
44699dc
%files daemon-config-network
0223d5a
%dir %{_datadir}/libvirt/networks/
0223d5a
%{_datadir}/libvirt/networks/default.xml
96a520b
44699dc
%files daemon-config-nwfilter
b23ff9c
%dir %{_datadir}/libvirt/nwfilter/
b23ff9c
%{_datadir}/libvirt/nwfilter/*.xml
b23ff9c
%ghost %{_sysconfdir}/libvirt/nwfilter/*.xml
e6d9787
544ad4a
%files daemon-driver-interface
544ad4a
%{_libdir}/%{name}/connection-driver/libvirt_driver_interface.so
544ad4a
544ad4a
%files daemon-driver-network
65efaaf
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
65efaaf
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/
65efaaf
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
65efaaf
%ghost %dir %{_localstatedir}/run/libvirt/network/
65efaaf
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/
65efaaf
%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/
f7f5099
%attr(0755, root, root) %{_libexecdir}/libvirt_leaseshelper
544ad4a
%{_libdir}/%{name}/connection-driver/libvirt_driver_network.so
544ad4a
544ad4a
%files daemon-driver-nodedev
544ad4a
%{_libdir}/%{name}/connection-driver/libvirt_driver_nodedev.so
544ad4a
544ad4a
%files daemon-driver-nwfilter
0223d5a
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/
0223d5a
%ghost %dir %{_localstatedir}/run/libvirt/network/
544ad4a
%{_libdir}/%{name}/connection-driver/libvirt_driver_nwfilter.so
544ad4a
544ad4a
%files daemon-driver-secret
544ad4a
%{_libdir}/%{name}/connection-driver/libvirt_driver_secret.so
544ad4a
544ad4a
%files daemon-driver-storage
a74ea31
a74ea31
%files daemon-driver-storage-core
65efaaf
%attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
544ad4a
%{_libdir}/%{name}/connection-driver/libvirt_driver_storage.so
a74ea31
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_fs.so
0612313
%{_libdir}/%{name}/storage-file/libvirt_storage_file_fs.so
a74ea31
a74ea31
%files daemon-driver-storage-disk
a74ea31
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_disk.so
a74ea31
a74ea31
%files daemon-driver-storage-logical
a74ea31
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_logical.so
a74ea31
a74ea31
%files daemon-driver-storage-scsi
a74ea31
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_scsi.so
a74ea31
a74ea31
%files daemon-driver-storage-iscsi
a74ea31
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_iscsi.so
a74ea31
a74ea31
%files daemon-driver-storage-mpath
a74ea31
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_mpath.so
a74ea31
a74ea31
%if %{with_storage_gluster}
a74ea31
%files daemon-driver-storage-gluster
a74ea31
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_gluster.so
0612313
%{_libdir}/%{name}/storage-file/libvirt_storage_file_gluster.so
a74ea31
%endif
a74ea31
a74ea31
%if %{with_storage_rbd}
a74ea31
%files daemon-driver-storage-rbd
a74ea31
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_rbd.so
a74ea31
%endif
a74ea31
a74ea31
%if %{with_storage_sheepdog}
a74ea31
%files daemon-driver-storage-sheepdog
a74ea31
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_sheepdog.so
a74ea31
%endif
544ad4a
7335ede
%if %{with_storage_zfs}
7335ede
%files daemon-driver-storage-zfs
7335ede
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_zfs.so
7335ede
%endif
7335ede
47ca469
%if %{with_qemu}
544ad4a
%files daemon-driver-qemu
0223d5a
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
65efaaf
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
65efaaf
%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
65efaaf
%config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf
65efaaf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu
65efaaf
%ghost %dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/
93cadb0
%dir %attr(0751, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
65efaaf
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/
65efaaf
%{_datadir}/augeas/lenses/libvirtd_qemu.aug
65efaaf
%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
544ad4a
%{_libdir}/%{name}/connection-driver/libvirt_driver_qemu.so
f57ce74
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/swtpm/
f57ce74
%dir %attr(0711, root, root) %{_localstatedir}/log/swtpm/libvirt/qemu/
47ca469
%endif
544ad4a
47ca469
%if %{with_lxc}
544ad4a
%files daemon-driver-lxc
65efaaf
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/
65efaaf
%config(noreplace) %{_sysconfdir}/libvirt/lxc.conf
65efaaf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc
65efaaf
%ghost %dir %{_localstatedir}/run/libvirt/lxc/
65efaaf
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/
65efaaf
%{_datadir}/augeas/lenses/libvirtd_lxc.aug
65efaaf
%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
65efaaf
%attr(0755, root, root) %{_libexecdir}/libvirt_lxc
544ad4a
%{_libdir}/%{name}/connection-driver/libvirt_driver_lxc.so
47ca469
%endif
544ad4a
47ca469
%if %{with_uml}
544ad4a
%files daemon-driver-uml
65efaaf
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/
65efaaf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml
65efaaf
%ghost %dir %{_localstatedir}/run/libvirt/uml/
65efaaf
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/
544ad4a
%{_libdir}/%{name}/connection-driver/libvirt_driver_uml.so
47ca469
%endif
544ad4a
47ca469
%if %{with_libxl}
544ad4a
%files daemon-driver-libxl
5f1a422
%config(noreplace) %{_sysconfdir}/libvirt/libxl.conf
c819490
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.libxl
5f1a422
%config(noreplace) %{_sysconfdir}/libvirt/libxl-lockd.conf
5f1a422
%{_datadir}/augeas/lenses/libvirtd_libxl.aug
5f1a422
%{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.aug
65efaaf
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/libxl/
65efaaf
%ghost %dir %{_localstatedir}/run/libvirt/libxl/
65efaaf
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/
544ad4a
%{_libdir}/%{name}/connection-driver/libvirt_driver_libxl.so
47ca469
%endif
e80c83a
47ca469
%if %{with_vbox}
e80c83a
%files daemon-driver-vbox
e80c83a
%{_libdir}/%{name}/connection-driver/libvirt_driver_vbox.so
47ca469
%endif
544ad4a
47ca469
%if %{with_qemu_tcg}
e6d9787
%files daemon-qemu
47ca469
%endif
e6d9787
47ca469
%if %{with_qemu_kvm}
e6d9787
%files daemon-kvm
47ca469
%endif
e6d9787
47ca469
%if %{with_lxc}
e6d9787
%files daemon-lxc
47ca469
%endif
e6d9787
47ca469
%if %{with_uml}
e6d9787
%files daemon-uml
47ca469
%endif
e6d9787
4fd635e
%if %{with_libxl}
e6d9787
%files daemon-xen
47ca469
%endif
e80c83a
47ca469
%if %{with_vbox}
e80c83a
%files daemon-vbox
47ca469
%endif
96a520b
e79d304
%if %{with_sanlock}
e79d304
%files lock-sanlock
350081d
    %if %{with_qemu}
d7b4121
%config(noreplace) %{_sysconfdir}/libvirt/qemu-sanlock.conf
350081d
    %endif
ee3bf37
    %if %{with_libxl}
ee3bf37
%config(noreplace) %{_sysconfdir}/libvirt/libxl-sanlock.conf
ee3bf37
    %endif
e79d304
%attr(0755, root, root) %{_libdir}/libvirt/lock-driver/sanlock.so
d7b4121
%{_datadir}/augeas/lenses/libvirt_sanlock.aug
d7b4121
%{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug
c363c7e
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/sanlock
d7b4121
%{_sbindir}/virt-sanlock-cleanup
d7b4121
%{_mandir}/man8/virt-sanlock-cleanup.8*
8cc5083
%attr(0755, root, root) %{_libexecdir}/libvirt_sanlock_helper
e79d304
%endif
e79d304
b1ac7b5
%files client
a3e1cc3
%{_mandir}/man1/virsh.1*
a3e1cc3
%{_mandir}/man1/virt-xml-validate.1*
6383d6b
%{_mandir}/man1/virt-pki-validate.1*
e9c1d3f
%{_mandir}/man1/virt-host-validate.1*
a3e1cc3
%{_bindir}/virsh
a3e1cc3
%{_bindir}/virt-xml-validate
6383d6b
%{_bindir}/virt-pki-validate
e9c1d3f
%{_bindir}/virt-host-validate
a3e1cc3
96b1b18
%{_datadir}/systemtap/tapset/libvirt_probes*.stp
6763b26
%{_datadir}/systemtap/tapset/libvirt_functions.stp
0612313
%if %{with_qemu}
0612313
%{_datadir}/systemtap/tapset/libvirt_qemu_probes*.stp
0612313
%endif
6763b26
0ca715c
%if %{with_bash_completion}
48941c0
%{_datadir}/bash-completion/completions/virsh
0ca715c
%endif
0ca715c
b1ac7b5
b1ac7b5
%{_unitdir}/libvirt-guests.service
b1ac7b5
%config(noreplace) %{_sysconfdir}/sysconfig/libvirt-guests
b1ac7b5
%attr(0755, root, root) %{_libexecdir}/libvirt-guests.sh
b1ac7b5
b1ac7b5
%files libs -f %{name}.lang
051644f
%license COPYING COPYING.LESSER
b1ac7b5
%config(noreplace) %{_sysconfdir}/libvirt/libvirt.conf
b1ac7b5
%config(noreplace) %{_sysconfdir}/libvirt/libvirt-admin.conf
b1ac7b5
%{_libdir}/libvirt.so.*
b1ac7b5
%{_libdir}/libvirt-qemu.so.*
b1ac7b5
%{_libdir}/libvirt-lxc.so.*
b1ac7b5
%{_libdir}/libvirt-admin.so.*
a3e1cc3
%dir %{_datadir}/libvirt/
a3e1cc3
%dir %{_datadir}/libvirt/schemas/
b1ac7b5
%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/
a3e1cc3
a6831c2
%{_datadir}/libvirt/schemas/basictypes.rng
a6831c2
%{_datadir}/libvirt/schemas/capability.rng
67cfa34
%{_datadir}/libvirt/schemas/cputypes.rng
a3e1cc3
%{_datadir}/libvirt/schemas/domain.rng
9f9eae3
%{_datadir}/libvirt/schemas/domaincaps.rng
a6831c2
%{_datadir}/libvirt/schemas/domaincommon.rng
7e99819
%{_datadir}/libvirt/schemas/domainsnapshot.rng
a6831c2
%{_datadir}/libvirt/schemas/interface.rng
a3e1cc3
%{_datadir}/libvirt/schemas/network.rng
a6831c2
%{_datadir}/libvirt/schemas/networkcommon.rng
a3e1cc3
%{_datadir}/libvirt/schemas/nodedev.rng
a6831c2
%{_datadir}/libvirt/schemas/nwfilter.rng
f57ce74
%{_datadir}/libvirt/schemas/nwfilter_params.rng
f57ce74
%{_datadir}/libvirt/schemas/nwfilterbinding.rng
e4bf8ff
%{_datadir}/libvirt/schemas/secret.rng
f40b464
%{_datadir}/libvirt/schemas/storagecommon.rng
a6831c2
%{_datadir}/libvirt/schemas/storagepool.rng
a6831c2
%{_datadir}/libvirt/schemas/storagevol.rng
a3e1cc3
4717aa0
%{_datadir}/libvirt/cpu_map.xml
4717aa0
2c49d1f
%{_datadir}/libvirt/test-screenshot.png
2c49d1f
b1ac7b5
%files admin
b1ac7b5
%{_mandir}/man1/virt-admin.1*
b1ac7b5
%{_bindir}/virt-admin
48941c0
%if %{with_bash_completion}
48941c0
%{_datadir}/bash-completion/completions/virt-admin
48941c0
%endif
b1ac7b5
48941c0
%if %{with_bash_completion}
48941c0
%files bash-completion
48941c0
%{_datadir}/bash-completion/completions/vsh
48941c0
%endif
b1ac7b5
1b8b756
%if %{with_wireshark}
1b8b756
%files wireshark
a888673
%{wireshark_plugindir}/libvirt.so
1b8b756
%endif
1b8b756
0debbff
%files nss
0debbff
%{_libdir}/libnss_libvirt.so.2
2c49d1f
%{_libdir}/libnss_libvirt_guest.so.2
0debbff
c5c28ba
%if %{with_lxc}
c5c28ba
%files login-shell
8c9e40d
%attr(4750, root, virtlogin) %{_bindir}/virt-login-shell
c5c28ba
%config(noreplace) %{_sysconfdir}/libvirt/virt-login-shell.conf
c5c28ba
%{_mandir}/man1/virt-login-shell.1*
c5c28ba
%endif
c5c28ba
e2b90f9
%files devel
f7f5099
%{_libdir}/libvirt.so
a4bf276
%{_libdir}/libvirt-admin.so
f7f5099
%{_libdir}/libvirt-qemu.so
f7f5099
%{_libdir}/libvirt-lxc.so
deefad7
%dir %{_includedir}/libvirt
f7f5099
%{_includedir}/libvirt/virterror.h
f7f5099
%{_includedir}/libvirt/libvirt.h
a4bf276
%{_includedir}/libvirt/libvirt-admin.h
4a9c74e
%{_includedir}/libvirt/libvirt-common.h
e63e204
%{_includedir}/libvirt/libvirt-domain.h
e63e204
%{_includedir}/libvirt/libvirt-domain-snapshot.h
e63e204
%{_includedir}/libvirt/libvirt-event.h
e63e204
%{_includedir}/libvirt/libvirt-host.h
e63e204
%{_includedir}/libvirt/libvirt-interface.h
e63e204
%{_includedir}/libvirt/libvirt-network.h
e63e204
%{_includedir}/libvirt/libvirt-nodedev.h
e63e204
%{_includedir}/libvirt/libvirt-nwfilter.h
e63e204
%{_includedir}/libvirt/libvirt-secret.h
e63e204
%{_includedir}/libvirt/libvirt-storage.h
e63e204
%{_includedir}/libvirt/libvirt-stream.h
f7f5099
%{_includedir}/libvirt/libvirt-qemu.h
f7f5099
%{_includedir}/libvirt/libvirt-lxc.h
e2b90f9
%{_libdir}/pkgconfig/libvirt.pc
a4bf276
%{_libdir}/pkgconfig/libvirt-admin.pc
f7f5099
%{_libdir}/pkgconfig/libvirt-qemu.pc
f7f5099
%{_libdir}/pkgconfig/libvirt-lxc.pc
e2b90f9
6398d1c
%dir %{_datadir}/libvirt/api/
6398d1c
%{_datadir}/libvirt/api/libvirt-api.xml
a4bf276
%{_datadir}/libvirt/api/libvirt-admin-api.xml
6398d1c
%{_datadir}/libvirt/api/libvirt-qemu-api.xml
350081d
%{_datadir}/libvirt/api/libvirt-lxc-api.xml
611b2ee
# Needed building python bindings
e2b90f9
%doc docs/libvirt-api.xml
611b2ee
e2b90f9
e2b90f9
%changelog
18f7b8c
* Sat Aug 18 2018 David Abdurachmanov <david.abdurachmanov@gmail.com> - 4.6.0-2
18f7b8c
- Add support for RISC-V (riscv64)
18f7b8c
782468f
* Mon Aug  6 2018 Daniel P. Berrangé <berrange@redhat.com> - 4.6.0-1
782468f
- Update to 4.6.0 release
782468f
202e7d9
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.5.0-3
202e7d9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
202e7d9
0676a07
* Fri Jul  6 2018 Daniel P. Berrangé <berrange@redhat.com> - 4.5.0-2
0676a07
- Fix regressions with chardev handling
0676a07
f57ce74
* Tue Jul  3 2018 Daniel P. Berrangé <berrange@redhat.com> - 4.5.0-1
f57ce74
- Update to 4.5.0 release
f57ce74
851cfde
* Tue Jun  5 2018 Daniel P. Berrangé <berrange@redhat.com> - 4.4.0-1
0612313
- Update to 4.4.0 release
0612313
4fd635e
* Thu May  3 2018 Daniel P. Berrangé <berrange@redhat.com> - 4.3.0-1
0612313
- Update to 4.3.0 release
4fd635e
6210c45
* Tue Apr  3 2018 Daniel P. Berrangé <berrange@redhat.com> - 4.2.0-1
6210c45
- Update to 4.2.0 release
6210c45
82926cf
* Fri Mar 23 2018 Iryna Shcherbina <ishcherb@redhat.com> - 4.1.0-3
82926cf
- Update Python 2 dependency declarations to new packaging standards
82926cf
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
82926cf
e7a3ca6
* Wed Mar 21 2018 Daniel P. Berrangé <berrange@redhat.com> - 4.1.0-2
e7a3ca6
- Fix systemd macro argument with line continuations (rhbz#1558648)
e7a3ca6
48941c0
* Mon Mar  5 2018 Daniel Berrange <berrange@redhat.com> - 4.1.0-1
48941c0
- Rebase to version 4.1.0
48941c0
6efd96d
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0-2
6efd96d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
6efd96d
0ca715c
* Fri Jan 19 2018 Daniel P. Berrange <berrange@redhat.com> - 4.0.0-1
0ca715c
- Rebase to version 4.0.0
0ca715c
0f5d8c1
* Wed Dec 20 2017 Cole Robinson <crobinso@redhat.com> - 3.10.0-2
0f5d8c1
- Rebuild for xen 4.10
0f5d8c1
a56bcbd
* Tue Dec  5 2017 Daniel P. Berrange <berrange@redhat.com> - 3.10.0-1
a56bcbd
- Rebase to version 3.10.0
a56bcbd
89c3fa7
* Fri Nov  3 2017 Daniel P. Berrange <berrange@redhat.com> - 3.9.0-1
89c3fa7
- Rebase to version 3.9.0
89c3fa7
051644f
* Wed Oct  4 2017 Daniel P. Berrange <berrange@redhat.com> - 3.8.0-1
051644f
- Rebase to version 3.8.0
051644f
2a9c282
* Mon Sep  4 2017 Daniel P. Berrange <berrange@redhat.com> - 3.7.0-1
2a9c282
- Rebase to version 3.7.0
2a9c282
7335ede
* Wed Aug  2 2017 Daniel P. Berrange <berrange@redhat.com> - 3.6.0-1
7335ede
- Rebase to version 3.6.0
7335ede
6c92ba3
* Sun Jul 30 2017 Florian Weimer <fweimer@redhat.com> - 3.5.0-4
6c92ba3
- Rebuild with binutils fix for ppc64le (#1475636)
6c92ba3
3f56aa2
* Tue Jul 25 2017 Daniel P. Berrange <berrange@redhat.com> - 3.5.0-3
446f680
- Disabled RBD on i386, arm, ppc64 (rhbz #1474743)
3f56aa2
cb0cfa5
* Mon Jul 17 2017 Cole Robinson <crobinso@redhat.com> - 3.5.0-2
cb0cfa5
- Rebuild for xen 4.9
cb0cfa5
99d3a0c
* Thu Jul  6 2017 Daniel P. Berrange <berrange@redhat.com> - 3.5.0-1
99d3a0c
- Rebase to version 3.5.0
99d3a0c
b73e509
* Fri Jun  2 2017 Daniel P. Berrange <berrange@redhat.com> - 3.4.0-1
b73e509
- Rebase to version 3.4.0
b73e509
b23ff9c
* Mon May  8 2017 Daniel P. Berrange <berrange@redhat.com> - 3.3.0-1
b23ff9c
- Rebase to version 3.3.0
b23ff9c
04cb28c
* Mon Apr  3 2017 Daniel P. Berrange <berrange@redhat.com> - 3.2.0-1
04cb28c
- Rebase to version 3.2.0
04cb28c
a74ea31
* Fri Mar  3 2017 Daniel P. Berrange <berrange@redhat.com> - 3.1.0-1
a74ea31
- Rebase to version 3.1.0
a74ea31
98ed6b4
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0-2
98ed6b4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
98ed6b4
2c49d1f
* Thu Jan 19 2017 Daniel P. Berrange <berrange@redhat.com> - 3.0.0-1
2c49d1f
- Rebase to version 3.0.0