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 a97245
# that's still supported by the vendor: that means Fedora 23 or newer,
Daniel P. Berrange a97245
# or RHEL 6 or newer. It may need some tweaks for other distros.
Daniel P. Berrange 93cadb
# If neither fedora nor rhel was defined, try to guess them from dist
Daniel P. Berrange a97245
%if (0%{?fedora} && 0%{?fedora} >= 23) || (0%{?rhel} && 0%{?rhel} >= 6)
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. Berrange a4bf27
%{!?enable_autotools:%global enable_autotools 0}
Daniel P. Berrange f99eeb
Daniel Veillard 3cf75c
Daniel P. Berrange 47ca46
# The hypervisor drivers that run in libvirtd
Daniel P. Berrange 47ca46
%define with_xen           0%{!?_without_xen:1}
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_uml           0%{!?_without_uml: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
9f9eae
    %define qemu_kvm_arches x86_64
611b2e
    %if 0%{?rhel} >= 7
611b2e
        %define qemu_kvm_arches x86_64 %{power64}
611b2e
    %endif
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. Berrange 47ca46
%if 0%{?fedora} || 0%{?rhel} >= 7
Daniel P. Berrange 47ca46
    %define with_storage_rbd      0%{!?_without_storage_rbd:1}
Daniel Veillard 544ad4
%else
Daniel P. Berrange 350081
    %define with_storage_rbd      0
Daniel Veillard 544ad4
%endif
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 Veillard 3cf75c
# A few optional bits off by default, we enable later
Daniel Veillard f5ff4a
%define with_fuse          0%{!?_without_fuse:0}
Daniel Veillard ed9e42
%define with_cgconfig      0%{!?_without_cgconfig:0}
Daniel Veillard e79d30
%define with_sanlock       0%{!?_without_sanlock:0}
Daniel Veillard 7069f7
%define with_systemd       0%{!?_without_systemd:0}
Daniel P. Berrange 24e912
%define with_numad         0%{!?_without_numad:0}
Daniel Veillard 7b5483
%define with_firewalld     0%{!?_without_firewalld: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 f40b46
%define with_pm_utils      1
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_xen 0
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
Peter Robinson 459eb4
# Numactl is not available on s390[x] and ARM
Peter Robinson 459eb4
%ifarch s390 s390x %{arm}
Daniel P. Berrange 350081
    %define with_numactl 0
Daniel P. Berrange e29f71
%endif
Daniel Veillard 3cf75c
Daniel P. Berrange 1b8b75
# libgfapi is built only on x86_64 on rhel
Daniel P. Berrange 1b8b75
%ifnarch x86_64
Daniel P. Berrange 47ca46
    %if 0%{?rhel}
Daniel P. Berrange 1b8b75
        %define with_storage_gluster 0
Daniel P. Berrange 1b8b75
    %endif
Daniel P. Berrange 1b8b75
%endif
Daniel P. Berrange 1b8b75
c0a04c
# librados and librbd are built only on x86_64 on rhel
c0a04c
%ifnarch x86_64
c0a04c
    %if 0%{?rhel} >= 7
c0a04c
        %define with_storage_rbd 0
c0a04c
    %endif
c0a04c
%endif
c0a04c
Daniel Veillard ed6c49
# RHEL doesn't ship OpenVZ, VBox, UML, 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_uml 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 Veillard 3cf75c
%endif
Daniel Veillard 3cf75c
Daniel Veillard 544ad4
# Fedora 17 / RHEL-7 are first where we use systemd. Although earlier
Daniel Veillard 544ad4
# Fedora has systemd, libvirt still used sysvinit there.
Daniel P. Berrange 47ca46
%if 0%{?fedora} || 0%{?rhel} >= 7
Daniel P. Berrange 350081
    %define with_systemd 1
Daniel P. Berrange f40b46
    %define with_pm_utils 0
Daniel Veillard 7069f7
%endif
Daniel Veillard 7069f7
Daniel Veillard 7b5483
# Fedora 18 / RHEL-7 are first where firewalld support is enabled
Daniel P. Berrange 47ca46
%if 0%{?fedora} || 0%{?rhel} >= 7
Daniel P. Berrange 350081
    %define with_firewalld 1
Daniel Veillard 7b5483
%endif
Daniel Veillard 7b5483
9f9eae
# RHEL-6 stopped including Xen on all archs.
Daniel P. Berrange 47ca46
%if 0%{?rhel}
Daniel P. Berrange 350081
    %define with_xen 0
Daniel Veillard 3cf75c
%endif
Mark McLoughlin 86abd5
Daniel Veillard f5ff4a
# fuse is used to provide virtualized /proc for LXC
Daniel P. Berrange 47ca46
%if 0%{?fedora} || 0%{?rhel} >= 7
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. Berrange 2427f8
%endif
Daniel P. Berrange 1b8b75
Daniel P. Berrange 0b1a01
# Enable libssh transport for new enough distros
Daniel P. Berrange 0b1a01
%if 0%{?fedora}
Daniel P. Berrange 0b1a01
    %define with_libssh 0%{!?_without_libssh:1}
Daniel P. Berrange 0b1a01
%endif
Daniel P. Berrange 0b1a01
Daniel Veillard c363c7
Daniel P. Berrange e6d978
%if %{with_qemu} || %{with_lxc} || %{with_uml}
Daniel Veillard 8f1637
# numad is used to manage the CPU and memory placement dynamically,
Daniel P. Berrange 24e912
# it's not available on s390[x] and ARM.
Daniel P. Berrange 47ca46
    %ifnarch s390 s390x %{arm}
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 ed9e42
# Pull in cgroups config system
Daniel P. Berrange 47ca46
%if %{with_qemu} || %{with_lxc}
Daniel P. Berrange 47ca46
    %define with_cgconfig 0%{!?_without_cgconfig:1}
Daniel Veillard 544ad4
%endif
Daniel Veillard 544ad4
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 47ca46
%if 0%{?fedora} || 0%{?rhel} >= 7
Daniel P. Berrange 350081
    %define with_systemd_macros 1
Daniel Veillard f5ff4a
%else
Daniel P. Berrange 350081
    %define with_systemd_macros 0
Daniel Veillard f5ff4a
%endif
Daniel Veillard f5ff4a
Daniel Veillard f5ff4a
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. Berrange fc2ebb
%if 0%{?fedora} >= 25
Daniel P. Berrange fc2ebb
    %define tls_priority "@LIBVIRT,SYSTEM"
Daniel P. Berrange a4bf27
%else
Daniel P. Berrange a97245
    %if 0%{?fedora}
Daniel P. Berrange fc2ebb
        %define tls_priority "@SYSTEM"
Daniel P. Berrange fc2ebb
    %else
Daniel P. Berrange fc2ebb
        %define tls_priority "NORMAL"
Daniel P. Berrange fc2ebb
    %endif
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. Berrange 2c49d1
Version: 3.0.0
Daniel P. Berrange 2c49d1
Release: 1%{?dist}%{?extra_release}
Tom Callaway af1116
License: LGPLv2+
Daniel Veillard e2b90f
Group: Development/Libraries
Daniel Veillard 072c9c
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
Daniel Veillard 5c1d88
URL: http://libvirt.org/
Daniel Veillard ed6c49
Daniel Veillard 8f1637
%if %(echo %{version} | grep -o \\. | wc -l) == 3
Daniel P. Berrange 350081
    %define mainturl stable_updates/
Daniel Veillard 8f1637
%endif
Daniel P. Berrange a4bf27
Source: http://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.xz
Daniel P. Berrange 2c49d1
# Temporarily disable namespaces due to various regressions
Daniel P. Berrange 2c49d1
# they cause
Daniel P. Berrange 2c49d1
Patch1: 0001-Disable-use-of-namespaces-by-default.patch
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. Berrange 47ca46
%if %{with_uml}
Daniel Veillard f46359
Requires: libvirt-daemon-driver-uml = %{version}-%{release}
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange 47ca46
%if %{with_xen}
Daniel Veillard f46359
Requires: libvirt-daemon-driver-xen = %{version}-%{release}
Daniel P. Berrange 47ca46
%endif
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. Berrange a4075e
BuildRequires: git
Daniel P. Berrange fefbae
BuildRequires: perl
Daniel P. Berrange 8c9e40
BuildRequires: python
Daniel Veillard 7069f7
%if %{with_systemd}
Daniel Veillard 7069f7
BuildRequires: systemd-units
Daniel Veillard 7069f7
%endif
Daniel Veillard 000a32
%if %{with_xen} || %{with_libxl}
Daniel Veillard 313e00
BuildRequires: xen-devel
Daniel Veillard 7069f7
%endif
Daniel Veillard ba3d2d
BuildRequires: libxml2-devel
Daniel Veillard 072c9c
BuildRequires: xhtml1-dtds
Daniel Veillard ed6c49
BuildRequires: libxslt
Daniel Veillard d55c7f
BuildRequires: readline-devel
Daniel Veillard 609ab7
BuildRequires: ncurses-devel
Daniel Veillard 5c1d88
BuildRequires: gettext
Daniel Veillard c363c7
BuildRequires: libtasn1-devel
Daniel P. Berrange 47ca46
%if (0%{?rhel} && 0%{?rhel} < 7)
Daniel Veillard 000a32
BuildRequires: libgcrypt-devel
Daniel P. Berrange 11755d
%endif
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 P. Berrange 47ca46
%if 0%{?fedora} || 0%{?rhel} >= 7
Daniel Veillard 544ad4
BuildRequires: systemd-devel >= 185
Daniel P. Berrange 47ca46
%else
Daniel Veillard ee0273
BuildRequires: libudev-devel >= 145
Daniel Veillard ee0273
%endif
Daniel P. Berrange 47ca46
BuildRequires: libpciaccess-devel >= 0.10.9
Justin M. Forbes 2cac7d
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 P. Berrange a4bf27
%if 0%{?rhel} && 0%{?rhel} < 7
Daniel P. Berrange a4bf27
BuildRequires: libnl-devel
Daniel P. Berrange a4bf27
%else
Daniel Veillard 4b6ea9
BuildRequires: libnl3-devel
Daniel P. Berrange a4bf27
%endif
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
%if 0%{?rhel} && 0%{?rhel} < 7
Daniel Veillard ed6c49
BuildRequires: iptables-ipv6
Daniel Veillard ed6c49
%endif
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
Daniel P. Berrange 47ca46
%if 0%{?fedora} || 0%{?rhel} >= 7
8ded6f
# F22 polkit-devel doesn't pull in polkit anymore, which we need for pkcheck
8ded6f
BuildRequires: polkit >= 0.112
9f9eae
BuildRequires: polkit-devel >= 0.112
Daniel P. Berrange 47ca46
%else
9f9eae
BuildRequires: polkit-devel >= 0.93
Daniel P. Berrange c476c8
%endif
Daniel Veillard bf744f
# For mount/umount in FS driver
Daniel Veillard bf744f
BuildRequires: util-linux
Daniel Veillard bf744f
%if %{with_qemu}
Daniel Veillard bf744f
# From QEMU RPMs
Daniel Veillard bf744f
BuildRequires: /usr/bin/qemu-img
Daniel Veillard bf744f
%else
Daniel P. Berrange 350081
    %if %{with_xen}
Daniel Veillard bf744f
# From Xen RPMs
Daniel Veillard bf744f
BuildRequires: /usr/sbin/qcow-create
Daniel P. Berrange 350081
    %endif
Daniel Veillard 2b9efc
%endif
Daniel Veillard bf744f
# For LVM drivers
Daniel Veillard bf744f
BuildRequires: lvm2
Daniel Veillard bf744f
# For ISCSI driver
Daniel Veillard bf744f
BuildRequires: iscsi-initiator-utils
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. Berrange 1b8b75
%if %{with_storage_rbd}
c0a04c
    %if 0%{?rhel} >= 7
c0a04c
BuildRequires: librados2-devel
c0a04c
BuildRequires: librbd1-devel
c0a04c
    %else
Daniel Veillard 544ad4
BuildRequires: ceph-devel
c0a04c
    %endif
Daniel Veillard 3cf75c
%endif
Daniel P. Berrange 8c9e40
%if %{with_storage_gluster}
Daniel P. Berrange 8c9e40
BuildRequires: glusterfs-api-devel >= 3.4.1
Daniel P. Berrange 8c9e40
BuildRequires: glusterfs-devel >= 3.4.1
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange 47ca46
%if %{with_storage_sheepdog}
Daniel P. Berrange 47ca46
BuildRequires: sheepdog
Daniel P. Berrange 8c9e40
%endif
Daniel 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 P. Berrange 47ca46
%if 0%{?fedora} || 0%{?rhel} >= 7
Daniel Veillard 4b6ea9
BuildRequires: netcf-devel >= 0.2.2
Daniel P. Berrange 47ca46
%else
Laine Stump ee9521
BuildRequires: netcf-devel >= 0.1.8
Daniel Veillard 4b6ea9
%endif
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. Berrange b1ac7b
    %if 0%{fedora} >= 24
Daniel P. Berrange b1ac7b
BuildRequires: wireshark-devel >= 2.1.0
Daniel P. Berrange 232e2e
# Temp hack for F25/rawhide due to broken wireshark-devel deps
Daniel P. Berrange 232e2e
# https://bugzilla.redhat.com/show_bug.cgi?id=1401463
Daniel P. Berrange 232e2e
BuildRequires: qt-devel glib2-devel
Daniel P. Berrange b1ac7b
    %else
Daniel P. Berrange b1ac7b
BuildRequires: wireshark-devel >= 1.12.1
Daniel P. Berrange b1ac7b
    %endif
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 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
Group: Development/Libraries
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
Group: Development/Libraries
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. Berrange 44699d
# for /sbin/ip & /sbin/tc
Daniel P. Berrange 44699d
Requires: iproute
Daniel P. Berrange 44699d
Requires: avahi-libs
Daniel P. Berrange 47ca46
%if 0%{?fedora} || 0%{?rhel} >= 7
9f9eae
Requires: polkit >= 0.112
Daniel P. Berrange 47ca46
%else
9f9eae
Requires: polkit >= 0.93
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange 47ca46
%if %{with_cgconfig}
Daniel P. Berrange 44699d
Requires: libcgroup
Daniel P. Berrange 47ca46
%endif
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 47ca46
%if %{with_systemd}
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
%endif
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
Group: Development/Libraries
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
Group: Development/Libraries
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
Group: Development/Libraries
Daniel Veillard 544ad4
Requires: libvirt-daemon = %{version}-%{release}
Daniel Veillard c5c28b
Requires: dnsmasq >= 2.41
Daniel Veillard c5c28b
Requires: radvd
Daniel Veillard c5c28b
Requires: iptables
Daniel P. Berrange 47ca46
%if 0%{?rhel} && 0%{?rhel} < 7
Daniel Veillard c5c28b
Requires: iptables-ipv6
Daniel P. Berrange 47ca46
%endif
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
Group: Development/Libraries
Daniel Veillard 544ad4
Requires: libvirt-daemon = %{version}-%{release}
Daniel Veillard c5c28b
Requires: iptables
Daniel P. Berrange 47ca46
%if 0%{?rhel} && 0%{?rhel} < 7
Daniel Veillard c5c28b
Requires: iptables-ipv6
Daniel P. Berrange 47ca46
%endif
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
Group: Development/Libraries
Daniel Veillard 544ad4
Requires: libvirt-daemon = %{version}-%{release}
Daniel Veillard c5c28b
# needed for device enumeration
Daniel P. Berrange 47ca46
%if 0%{?fedora} || 0%{?rhel} >= 7
Daniel Veillard c5c28b
Requires: systemd >= 185
Daniel P. Berrange 47ca46
%else
Daniel Veillard c5c28b
Requires: udev >= 145
Daniel P. Berrange 47ca46
%endif
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%description daemon-driver-nodedev
Daniel Veillard 544ad4
The nodedev driver plugin for the libvirtd daemon, providing
Daniel Veillard 544ad4
an implementation of the node device APIs using the udev
Daniel Veillard 544ad4
capabilities.
Daniel Veillard 544ad4
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%package daemon-driver-interface
Daniel Veillard 544ad4
Summary: Interface driver plugin for the libvirtd daemon
Daniel Veillard 544ad4
Group: Development/Libraries
Daniel Veillard 544ad4
Requires: libvirt-daemon = %{version}-%{release}
Daniel P. Berrange 47ca46
%if (0%{?fedora} || 0%{?rhel} >= 7)
Daniel Veillard c5c28b
Requires: netcf-libs >= 0.2.2
Daniel P. Berrange 47ca46
%endif
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
Group: Development/Libraries
Daniel Veillard 544ad4
Requires: libvirt-daemon = %{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 Veillard 544ad4
Daniel Veillard 544ad4
%package daemon-driver-storage
Daniel Veillard 544ad4
Summary: Storage driver plugin for the libvirtd daemon
Daniel Veillard 544ad4
Group: Development/Libraries
Daniel Veillard 544ad4
Requires: libvirt-daemon = %{version}-%{release}
Daniel Veillard c5c28b
Requires: nfs-utils
Daniel Veillard c5c28b
# For mkfs
Daniel Veillard c5c28b
Requires: util-linux
Daniel Veillard c5c28b
# For glusterfs
Daniel P. Berrange 47ca46
%if 0%{?fedora}
Daniel Veillard c5c28b
Requires: glusterfs-client >= 2.0.1
Daniel P. Berrange 47ca46
%endif
Daniel Veillard c5c28b
# For LVM drivers
Daniel Veillard c5c28b
Requires: lvm2
Daniel Veillard c5c28b
# For ISCSI driver
Daniel Veillard c5c28b
Requires: iscsi-initiator-utils
Daniel Veillard c5c28b
# For disk driver
Daniel Veillard c5c28b
Requires: parted
Daniel Veillard c5c28b
Requires: device-mapper
Daniel Veillard c5c28b
# For multipath support
Daniel Veillard c5c28b
Requires: device-mapper
Daniel P. Berrange 47ca46
%if %{with_storage_sheepdog}
Daniel Veillard c5c28b
# For Sheepdog support
Daniel Veillard c5c28b
Requires: sheepdog
Daniel P. Berrange 47ca46
%endif
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
%else
Daniel P. Berrange 47ca46
    %if %{with_xen}
Daniel Veillard c5c28b
# From Xen RPMs
Daniel Veillard c5c28b
Requires: /usr/sbin/qcow-create
Daniel P. Berrange 47ca46
    %endif
Daniel P. Berrange 47ca46
%endif
Daniel Veillard 544ad4
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 Veillard 544ad4
Summary: Qemu driver plugin for the libvirtd daemon
Daniel Veillard 544ad4
Group: Development/Libraries
Daniel Veillard 544ad4
Requires: libvirt-daemon = %{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 a4bf27
Requires: libvirt-daemon-driver-storage = %{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. Berrange b1ac7b
    %if 0%{?fedora} >= 24
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
Group: Development/Libraries
Daniel Veillard 544ad4
Requires: libvirt-daemon = %{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 b1ac7b
    %if 0%{?fedora} >= 24
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_uml}
Daniel Veillard 544ad4
%package daemon-driver-uml
Daniel Veillard 544ad4
Summary: Uml driver plugin for the libvirtd daemon
Daniel Veillard 544ad4
Group: Development/Libraries
Daniel Veillard 544ad4
Requires: libvirt-daemon = %{version}-%{release}
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%description daemon-driver-uml
Daniel Veillard 544ad4
The UML driver plugin for the libvirtd daemon, providing
Daniel Veillard 544ad4
an implementation of the hypervisor driver APIs using
Daniel Veillard 544ad4
User Mode Linux
Daniel P. Berrange 47ca46
%endif
Daniel Veillard 544ad4
Daniel Veillard 544ad4
Daniel P. Berrange 47ca46
%if %{with_xen}
Daniel Veillard 544ad4
%package daemon-driver-xen
Daniel Veillard 544ad4
Summary: Xen driver plugin for the libvirtd daemon
Daniel Veillard 544ad4
Group: Development/Libraries
Daniel Veillard 544ad4
Requires: libvirt-daemon = %{version}-%{release}
Daniel Veillard 544ad4
Daniel Veillard 544ad4
%description daemon-driver-xen
Daniel Veillard 544ad4
The Xen driver plugin for the libvirtd daemon, providing
Daniel Veillard 544ad4
an implementation of the hypervisor driver APIs using
Daniel Veillard 544ad4
Xen
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
Group: Development/Libraries
Daniel P. Berrange e80c83
Requires: libvirt-daemon = %{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
Group: Development/Libraries
Daniel Veillard 544ad4
Requires: libvirt-daemon = %{version}-%{release}
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
Group: Development/Libraries
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
Group: Development/Libraries
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
Group: Development/Libraries
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. Berrange 47ca46
%if %{with_uml}
Daniel P. Berrange e6d978
%package daemon-uml
Daniel P. Berrange e6d978
Summary: Server side daemon & driver required to run UML guests
Daniel P. Berrange e6d978
Group: Development/Libraries
Daniel P. Berrange e6d978
Daniel P. Berrange e6d978
Requires: libvirt-daemon = %{version}-%{release}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-uml = %{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
# There are no UML kernel RPMs in Fedora/RHEL to depend on.
Daniel P. Berrange e6d978
Daniel P. Berrange e6d978
%description daemon-uml
Daniel P. Berrange e6d978
Server side daemon and driver required to manage the virtualization
Daniel P. Berrange e6d978
capabilities of UML
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange e6d978
Daniel P. Berrange e6d978
Daniel P. Berrange 47ca46
%if %{with_xen} || %{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
Group: Development/Libraries
Daniel P. Berrange e6d978
Daniel P. Berrange e6d978
Requires: libvirt-daemon = %{version}-%{release}
Daniel P. Berrange 47ca46
    %if %{with_xen}
Daniel Veillard 544ad4
Requires: libvirt-daemon-driver-xen = %{version}-%{release}
Daniel P. Berrange 47ca46
    %endif
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
Group: Development/Libraries
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 Veillard a3e1cc
Group: Development/Libraries
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. Berrange f40b46
%if %{with_pm_utils}
Daniel Veillard 7069f7
# Needed for probing the power management features of the host.
Daniel Veillard 7069f7
Requires: pm-utils
Daniel P. Berrange f40b46
%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
Group: Development/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 Veillard a3e1cc
# Not technically required, but makes 'out-of-box' config
Daniel Veillard a3e1cc
# work correctly & doesn't have onerous dependencies
Daniel Veillard a3e1cc
Requires: cyrus-sasl-md5
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
Group: Development/Libraries
Daniel P. Berrange b1ac7b
Requires: %{name}-libs = %{version}-%{release}
Daniel P. Berrange b1ac7b
Requires: readline
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. 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. Berrange 1b8b75
Group: Development/Libraries
Daniel P. Berrange 281508
Requires: wireshark >= 1.12.6-4
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 Veillard c5c28b
Group: Development/Libraries
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 Veillard e2b90f
Group: Development/Libraries
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 Veillard e79d30
Group: Development/Libraries
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
Group: Development/Libraries
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
%if ! %{supported_platform}
Daniel P. Berrange 47ca46
echo "This RPM requires either Fedora >= 20 or RHEL >= 6"
Daniel P. Berrange 47ca46
exit 1
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange 47ca46
Daniel Veillard e2b90f
%setup -q
f4e752
Daniel P. Berrange a4075e
# Patches have to be stored in a temporary file because RPM has
Daniel P. Berrange a4075e
# a limit on the length of the result of any macro expansion;
Daniel P. Berrange a4075e
# if the string is longer, it's silently cropped
Daniel P. Berrange a4075e
%{lua:
Daniel P. Berrange a4075e
    tmp = os.tmpname();
Daniel P. Berrange a4075e
    f = io.open(tmp, "w+");
Daniel P. Berrange a4075e
    count = 0;
Daniel P. Berrange a4075e
    for i, p in ipairs(patches) do
Daniel P. Berrange a4075e
        f:write(p.."\n");
Daniel P. Berrange a4075e
        count = count + 1;
Daniel P. Berrange a4075e
    end;
Daniel P. Berrange a4075e
    f:close();
Daniel P. Berrange a4075e
    print("PATCHCOUNT="..count.."\n")
Daniel P. Berrange a4075e
    print("PATCHLIST="..tmp.."\n")
Daniel P. Berrange a4075e
}
Daniel P. Berrange a4075e
Daniel P. Berrange a4075e
git init -q
Daniel P. Berrange a4075e
git config user.name rpm-build
Daniel P. Berrange a4075e
git config user.email rpm-build
Daniel P. Berrange a4075e
git config gc.auto 0
Daniel P. Berrange a4075e
git add .
Daniel P. Berrange a4075e
git commit -q -a --author 'rpm-build <rpm-build>' \
Daniel P. Berrange a4075e
           -m '%{name}-%{version} base'
Daniel P. Berrange a4075e
Daniel P. Berrange a4075e
COUNT=$(grep '\.patch$' $PATCHLIST | wc -l)
Daniel P. Berrange a4075e
if [ $COUNT -ne $PATCHCOUNT ]; then
Daniel P. Berrange a4075e
    echo "Found $COUNT patches in $PATCHLIST, expected $PATCHCOUNT"
Daniel P. Berrange a4075e
    exit 1
Daniel P. Berrange a4075e
fi
Daniel P. Berrange a4075e
if [ $COUNT -gt 0 ]; then
Daniel P. Berrange a4075e
    xargs git am <$PATCHLIST || exit 1
Daniel P. Berrange a4075e
fi
Daniel P. Berrange a4075e
echo "Applied $COUNT patches"
Daniel P. Berrange a4075e
rm -f $PATCHLIST
Daniel P. Berrange 281508
rm -rf .git
e73cc6
Daniel Veillard e2b90f
%build
Daniel P. Berrange 47ca46
%if %{with_xen}
Daniel P. Berrange 47ca46
    %define arg_xen --with-xen
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_xen --without-xen
Daniel Veillard f46359
%endif
Daniel Veillard f46359
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. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_lxc --without-lxc
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_uml}
Daniel P. Berrange 47ca46
    %define arg_uml --with-uml
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_uml --without-uml
Daniel Veillard ee0273
%endif
Daniel Veillard ee0273
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 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. 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. Berrange 47ca46
%if %{with_pm_utils}
Daniel P. Berrange 47ca46
    %define arg_pm_utils --with-pm-utils
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_pm_utils --without-pm-utils
0debbf
%endif
0debbf
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 Veillard 7069f7
%if %{with_systemd}
Daniel P. Berrange 47ca46
    %define arg_init_script --with-init-script=systemd
Daniel Veillard 7069f7
%else
Daniel P. Berrange 47ca46
    %define arg_init_script --with-init-script=redhat
Daniel Veillard 7069f7
%endif
Daniel Veillard f13fb1
Daniel P. Berrange 47ca46
%if 0%{?fedora} || 0%{?rhel} >= 7
Daniel P. Berrange 47ca46
    %define arg_selinux_mount --with-selinux-mount="/sys/fs/selinux"
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %define arg_selinux_mount --with-selinux-mount="/selinux"
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange 47ca46
Daniel P. Berrange 47ca46
%if 0%{?fedora}
Daniel P. Berrange 47ca46
    # Nightly firmware repo x86/OVMF
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. Berrange 47ca46
    # Nightly firmware repo aarch64/AAVMF
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. Berrange 47ca46
    # Fedora official x86/OVMF
Daniel P. Berrange 47ca46
    LOADERS="$LOADERS:/usr/share/edk2/ovmf/OVMF_CODE.fd:/usr/share/edk2/ovmf/OVMF_VARS.fd"
Daniel P. Berrange 47ca46
    # Fedora official aarch64/AAVMF
Daniel P. Berrange 47ca46
    LOADERS="$LOADERS:/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw:/usr/share/edk2/aarch64/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 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. Berrange 47ca46
%configure %{?arg_xen} \
Daniel P. Berrange 47ca46
           %{?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_uml} \
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. 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 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. Berrange 47ca46
           --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. Berrange 47ca46
           %{?arg_wireshark} \
Daniel P. Berrange 47ca46
           %{?arg_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. Berrange 47ca46
           %{arg_init_script}
Daniel Veillard 072c9c
make %{?_smp_mflags}
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 350081
# Avoid using makeinstall macro as it changes prefixes rather than setting
Daniel P. Berrange 350081
# DESTDIR. Newer make_install macro would be better but it's not available
Daniel P. Berrange 350081
# on RHEL 5, thus we need to expand it here.
Daniel P. Berrange 0b1a01
make %{?_smp_mflags} install DESTDIR=%{?buildroot} SYSTEMD_UNIT_DIR=%{_unitdir}
Daniel P. Berrange 350081
Daniel P. Berrange 0b1a01
make %{?_smp_mflags} -C examples distclean
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 1b8b75
%if %{with_wireshark}
Daniel P. Berrange b1ac7b
    %if 0%{fedora} >= 24
Daniel P. Berrange b1ac7b
rm -f $RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/libvirt.la
Daniel P. Berrange b1ac7b
    %else
Daniel P. Berrange 1b8b75
rm -f $RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/*/libvirt.la
Daniel P. Berrange 281508
mv $RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/*/libvirt.so \
Daniel P. Berrange b1ac7b
      $RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/libvirt.so
Daniel P. Berrange b1ac7b
    %endif
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 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 36cab8
%if ! %{with_uml}
Daniel Veillard 36cab8
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.uml
Daniel Veillard 6383d6
%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
96b1b1
mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes.stp \
96b1b1
   $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes-64.stp
96b1b1
%endif
96b1b1
Daniel Veillard e2b90f
%clean
Daniel Veillard e2b90f
rm -fr %{buildroot}
Daniel Veillard e2b90f
Daniel Veillard a160d7
%check
Daniel Veillard a160d7
cd tests
Daniel Veillard f46359
# These tests don't current work in a mock build root
Daniel Veillard 4b6ea9
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. 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. Berrange 47ca46
%if %{with_systemd}
Daniel P. Berrange 47ca46
    %if %{with_systemd_macros}
Daniel P. Berrange 47ca46
        %systemd_post virtlockd.socket virtlogd.socket libvirtd.service
Daniel P. Berrange 47ca46
    %else
Daniel Veillard 7069f7
if [ $1 -eq 1 ] ; then
Daniel Veillard 7069f7
    # Initial installation
Daniel P. Berrange fefbae
    /bin/systemctl enable \
Daniel P. Berrange fefbae
        virtlockd.socket \
Daniel P. Berrange 4a9c74
        virtlogd.socket \
Daniel P. Berrange fefbae
        libvirtd.service >/dev/null 2>&1 || :
Daniel Veillard 7069f7
fi
Daniel P. Berrange 47ca46
    %endif
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 47ca46
    %if %{with_cgconfig}
Daniel Veillard 544ad4
# Starting with Fedora 16/RHEL-7, systemd automounts all cgroups,
Daniel Veillard 544ad4
# and cgconfig is no longer a necessary service.
Daniel P. Berrange 47ca46
        %if 0%{?rhel} && 0%{?rhel} < 7
Daniel Veillard ed9e42
if [ "$1" -eq "1" ]; then
Daniel Veillard ed9e42
/sbin/chkconfig cgconfig on
Daniel Veillard ed9e42
fi
Daniel P. Berrange 350081
        %endif
Daniel P. Berrange 47ca46
    %endif
Daniel Veillard ed9e42
Daniel Veillard 7a6f07
/sbin/chkconfig --add libvirtd
Daniel P. Berrange 4a9c74
/sbin/chkconfig --add virtlogd
Daniel P. Berrange 65efaa
/sbin/chkconfig --add virtlockd
Daniel P. Berrange 47ca46
%endif
Daniel Veillard 7a6f07
Daniel P. Berrange 44699d
%preun daemon
Daniel P. Berrange 47ca46
%if %{with_systemd}
Daniel P. Berrange 47ca46
    %if %{with_systemd_macros}
Daniel P. Berrange 47ca46
        %systemd_preun libvirtd.service virtlogd.socket virtlogd.service virtlockd.socket virtlockd.service
Daniel P. Berrange 47ca46
    %else
Daniel Veillard 7069f7
if [ $1 -eq 0 ] ; then
Daniel Veillard 7069f7
    # Package removal, not upgrade
Daniel P. Berrange fefbae
    /bin/systemctl --no-reload disable \
Daniel P. Berrange fefbae
        libvirtd.service \
Daniel P. Berrange 4a9c74
        virtlogd.socket \
Daniel P. Berrange 4a9c74
        virtlogd.service \
Daniel P. Berrange fefbae
        virtlockd.socket \
Daniel P. Berrange fefbae
        virtlockd.service > /dev/null 2>&1 || :
Daniel P. Berrange fefbae
    /bin/systemctl stop \
Daniel P. Berrange fefbae
        libvirtd.service \
Daniel P. Berrange 4a9c74
        virtlogd.socket \
Daniel P. Berrange 4a9c74
        virtlogd.service \
Daniel P. Berrange fefbae
        virtlockd.socket \
Daniel P. Berrange fefbae
        virtlockd.service > /dev/null 2>&1 || :
Daniel Veillard 7069f7
fi
Daniel P. Berrange 47ca46
    %endif
Daniel P. Berrange 47ca46
%else
Daniel Veillard 7a6f07
if [ $1 = 0 ]; then
Daniel Veillard 7a6f07
    /sbin/service libvirtd stop 1>/dev/null 2>&1
Daniel Veillard 7a6f07
    /sbin/chkconfig --del libvirtd
Daniel P. Berrange 4a9c74
    /sbin/service virtlogd stop 1>/dev/null 2>&1
Daniel P. Berrange 4a9c74
    /sbin/chkconfig --del virtlogd
Daniel P. Berrange 65efaa
    /sbin/service virtlockd stop 1>/dev/null 2>&1
Daniel P. Berrange 65efaa
    /sbin/chkconfig --del virtlockd
Daniel Veillard 7a6f07
fi
Daniel P. Berrange 47ca46
%endif
Daniel Veillard 7069f7
Daniel P. Berrange 44699d
%postun daemon
Daniel P. Berrange 47ca46
%if %{with_systemd}
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
    /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
Daniel Veillard 7069f7
fi
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 65efaa
if [ $1 -ge 1 ]; then
Daniel P. Berrange 65efaa
    /sbin/service virtlockd reload > /dev/null 2>&1 || :
Daniel P. Berrange 4a9c74
    /sbin/service virtlogd reload > /dev/null 2>&1 || :
Daniel P. Berrange 65efaa
    /sbin/service libvirtd condrestart > /dev/null 2>&1
Daniel P. Berrange 65efaa
fi
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange 65efaa
Daniel P. Berrange 47ca46
%if %{with_systemd}
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 65efaa
%triggerpostun daemon -- libvirt-daemon < 1.2.1
Daniel P. Berrange 65efaa
if [ "$1" -ge "1" ]; then
Daniel P. Berrange 65efaa
    /sbin/service virtlockd reload > /dev/null 2>&1 || :
Daniel P. Berrange 4a9c74
    /sbin/service virtlogd reload > /dev/null 2>&1 || :
Daniel P. Berrange 65efaa
    /sbin/service libvirtd condrestart > /dev/null 2>&1
Daniel P. Berrange 65efaa
fi
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange 44699d
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. Berrange 47ca46
%if %{with_systemd}
Daniel P. Berrange 4a9c74
        /bin/systemctl is-enabled libvirtd.service 1>/dev/null 2>&1 &&
Daniel P. Berrange 4a9c74
            /bin/systemctl enable virtlogd.socket || :
Daniel P. Berrange 4a9c74
        /bin/systemctl is-active libvirtd.service 1>/dev/null 2>&1 &&
Daniel P. Berrange 4a9c74
            /bin/systemctl start virtlogd.socket || :
Daniel P. Berrange 47ca46
%else
Daniel P. Berrange 4a9c74
        /sbin/chkconfig libvirtd 1>/dev/null 2>&1 &&
Daniel P. Berrange 50e253
            /sbin/chkconfig virtlogd on || :
Daniel P. Berrange 4a9c74
        /sbin/service libvirtd status 1>/dev/null 2>&1 &&
Daniel P. Berrange 50e253
            /sbin/service virtlogd start || :
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange 4a9c74
fi
Daniel P. Berrange 4a9c74
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 47ca46
%if %{with_systemd}
611b2e
    /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 ||:
Daniel P. Berrange 47ca46
%else
611b2e
    /sbin/service libvirtd condrestart > /dev/null 2>&1 || :
Daniel P. Berrange 47ca46
%endif
611b2e
Daniel P. Berrange 44699d
fi
Daniel Veillard 7069f7
Daniel P. Berrange 47ca46
%if %{with_systemd}
Daniel Veillard 7069f7
%triggerun -- libvirt < 0.9.4
Daniel Veillard 7069f7
%{_bindir}/systemd-sysv-convert --save libvirtd >/dev/null 2>&1 ||:
Daniel Veillard 7069f7
Daniel Veillard 7069f7
# If the package is allowed to autostart:
Daniel Veillard 7069f7
/bin/systemctl --no-reload enable libvirtd.service >/dev/null 2>&1 ||:
Daniel Veillard 7069f7
Daniel Veillard 7069f7
# Run these because the SysV package being removed won't do them
Daniel Veillard 7069f7
/sbin/chkconfig --del libvirtd >/dev/null 2>&1 || :
Daniel Veillard 7069f7
/bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange 65efaa
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 Veillard 7e9981
Daniel Veillard 7069f7
%if %{with_systemd}
Daniel P. Berrange 350081
    %if %{with_systemd_macros}
Daniel P. Berrange 350081
        %systemd_preun libvirt-guests.service
Daniel P. Berrange 350081
    %endif
Daniel Veillard 7069f7
%else
Daniel Veillard 7e9981
if [ $1 = 0 ]; then
Daniel Veillard 7e9981
    /sbin/chkconfig --del libvirt-guests
Daniel Veillard 7e9981
    rm -f /var/lib/libvirt/libvirt-guests
Daniel Veillard 7e9981
fi
Daniel Veillard 7069f7
%endif
Daniel Veillard 7e9981
Daniel Veillard 7e9981
%post client
Daniel Veillard 7e9981
Daniel Veillard 7e9981
/sbin/ldconfig
Daniel Veillard 7069f7
%if %{with_systemd}
Daniel P. Berrange 350081
    %if %{with_systemd_macros}
Daniel P. Berrange 350081
        %systemd_post libvirt-guests.service
Daniel P. Berrange 350081
    %endif
Daniel Veillard 7069f7
%else
Daniel Veillard 7e9981
/sbin/chkconfig --add libvirt-guests
Daniel Veillard 7069f7
%endif
Mark McLoughlin 854b87
d3109a
%postun client
Daniel Veillard e2b90f
d3109a
/sbin/ldconfig
Daniel Veillard 7069f7
%if %{with_systemd}
Daniel P. Berrange 350081
    %if %{with_systemd_macros}
Daniel P. Berrange 8c9e40
        %systemd_postun libvirt-guests.service
Daniel P. Berrange 350081
    %endif
Daniel Veillard 7069f7
%triggerun client -- libvirt < 0.9.4
Daniel Veillard 7069f7
%{_bindir}/systemd-sysv-convert --save libvirt-guests >/dev/null 2>&1 ||:
Daniel Veillard 7069f7
Daniel Veillard 7069f7
# If the package is allowed to autostart:
Daniel Veillard 7069f7
/bin/systemctl --no-reload enable libvirt-guests.service >/dev/null 2>&1 ||:
Daniel Veillard 7069f7
Daniel P. Berrange 8c9e40
# Run this because the SysV package being removed won't do them
Daniel Veillard 7069f7
/sbin/chkconfig --del libvirt-guests >/dev/null 2>&1 || :
Daniel Veillard 7069f7
%endif
Daniel Veillard 7069f7
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
611b2e
%doc AUTHORS ChangeLog.gz NEWS README TODO
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 P. Berrange 47ca46
%if %{with_systemd}
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 Veillard f5ff4a
%{_unitdir}/virtlockd.service
Daniel Veillard f5ff4a
%{_unitdir}/virtlockd.socket
Daniel P. Berrange 47ca46
%else
Daniel Veillard f1867a
%{_sysconfdir}/rc.d/init.d/libvirtd
Daniel P. Berrange 4a9c74
%{_sysconfdir}/rc.d/init.d/virtlogd
Daniel Veillard f5ff4a
%{_sysconfdir}/rc.d/init.d/virtlockd
Daniel P. Berrange 47ca46
%endif
Daniel Veillard 957403
%doc daemon/libvirtd.upstart
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
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 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 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 44699d
%{_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 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 65efaa
%attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
Daniel Veillard 544ad4
%{_libdir}/%{name}/connection-driver/libvirt_driver_storage.so
Daniel Veillard 544ad4
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. 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_uml}
Daniel Veillard 544ad4
%files daemon-driver-uml
Daniel P. Berrange 65efaa
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/
Daniel P. Berrange 65efaa
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml
Daniel P. Berrange 65efaa
%ghost %dir %{_localstatedir}/run/libvirt/uml/
Daniel P. Berrange 65efaa
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/
Daniel Veillard 544ad4
%{_libdir}/%{name}/connection-driver/libvirt_driver_uml.so
Daniel P. Berrange 47ca46
%endif
Daniel Veillard 544ad4
Daniel P. Berrange 47ca46
%if %{with_xen}
Daniel Veillard 544ad4
%files daemon-driver-xen
Daniel P. Berrange 65efaa
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/xen/
Daniel Veillard 544ad4
%{_libdir}/%{name}/connection-driver/libvirt_driver_xen.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. Berrange 47ca46
%if %{with_uml}
Daniel P. Berrange e6d978
%files daemon-uml
Daniel P. Berrange 47ca46
%endif
Daniel P. Berrange e6d978
Daniel P. Berrange 47ca46
%if %{with_xen} || %{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
96b1b1
%{_datadir}/systemtap/tapset/libvirt_qemu_probes*.stp
Daniel P. Berrange 6763b2
%{_datadir}/systemtap/tapset/libvirt_functions.stp
Daniel P. Berrange 6763b2
Daniel P. Berrange b1ac7b
Daniel P. Berrange b1ac7b
%if %{with_systemd}
Daniel P. Berrange b1ac7b
%{_unitdir}/libvirt-guests.service
Daniel P. Berrange b1ac7b
%else
Daniel P. Berrange b1ac7b
%{_sysconfdir}/rc.d/init.d/libvirt-guests
Daniel P. Berrange b1ac7b
%endif
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 b1ac7b
%doc 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
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 Veillard a6831c
%{_datadir}/libvirt/schemas/storagevol.rng
Daniel Veillard a3e1cc
Daniel Veillard 4717aa
%{_datadir}/libvirt/cpu_map.xml
Daniel Veillard 4717aa
Daniel P. Berrange 2c49d1
%{_datadir}/libvirt/test-screenshot.png
Daniel P. Berrange 2c49d1
Daniel Veillard a3e1cc
%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
Daniel Veillard a3e1cc
Daniel P. Berrange b1ac7b
%files admin
Daniel P. Berrange b1ac7b
%{_mandir}/man1/virt-admin.1*
Daniel P. Berrange b1ac7b
%{_bindir}/virt-admin
Daniel P. Berrange b1ac7b
Daniel P. Berrange b1ac7b
Daniel P. Berrange 1b8b75
%if %{with_wireshark}
Daniel P. Berrange 1b8b75
%files wireshark
Daniel P. Berrange 281508
%{_libdir}/wireshark/plugins/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. Berrange 2c49d1
* Thu Jan 19 2017 Daniel P. Berrange <berrange@redhat.com> - 3.0.0-1
Daniel P. Berrange 2c49d1
- Rebase to version 3.0.0
Daniel P. Berrange 2c49d1
Igor Gnatenko 6e7bca
* Thu Jan 12 2017 Igor Gnatenko <ignatenko@redhat.com> - 2.5.0-3
Igor Gnatenko 6e7bca
- Rebuild for readline 7.x
Igor Gnatenko 6e7bca
Daniel P. Berrange 2fe145
* Thu Dec  8 2016 Daniel P. Berrange <berrange@redhat.com> - 2.5.0-2
Daniel P. Berrange 2fe145
- Rebuild to pick up new libxen* soname
Daniel P. Berrange 2fe145
Daniel P. Berrange 0b1a01
* Mon Dec  5 2016 Daniel P. Berrange <berrange@redhat.com> - 2.5.0-1
Daniel P. Berrange 0b1a01
- Rebase to version 2.5.0
Daniel P. Berrange 0b1a01
Daniel P. Berrange a97245
* Wed Nov  2 2016 Daniel P. Berrange <berrange@redhat.com> - 2.4.0-1
Daniel P. Berrange a97245
- Rebase to version 2.4.0
Daniel P. Berrange a97245
Daniel P. Berrange 67cfa3
* Thu Oct  6 2016 Daniel P. Berrange <berrange@redhat.com> - 2.3.0-1
Daniel P. Berrange 67cfa3
- Rebase to version 2.3.0
Daniel P. Berrange 67cfa3
Daniel P. Berrange fc2ebb
* Mon Sep  5 2016 Daniel P. Berrange <berrange@redhat.com> - 2.2.0-1
Daniel P. Berrange fc2ebb
- Rebase to version 2.2.0
Daniel P. Berrange fc2ebb
Daniel P. Berrange b1ac7b
* Tue Aug  2 2016 Daniel P. Berrange <berrange@redhat.com> - 2.1.0-1
Daniel P. Berrange b1ac7b
- Rebase to version 2.1.0
Daniel P. Berrange b1ac7b
88424e
* Sat Jul 23 2016 Richard W.M. Jones <rjones@redhat.com> - 2.0.0-2
88424e
- Rebuild to attempt to fix 'nothing provides libxenctrl.so.4.6()(64bit) needed
88424e
  by libvirt-daemon-2.0.0-1.fc25.x86_64'
88424e
Daniel P. Berrange a4bf27
* Fri Jul  1 2016 Daniel P. Berrange <berrange@redhat.com> - 2.0.0-1
Daniel P. Berrange a4bf27
- Rebase to version 2.0.0
Daniel P. Berrange f4bc1a
- Temporarily disable wireshark plugin due to broken wireshark headers (rhbz #1351984)
Daniel P. Berrange a4bf27
47cd44
* Mon Jun 13 2016 Richard W.M. Jones <rjones@redhat.com> - 1.3.5-2
47cd44
- Rebuild against new glibc
47cd44
  (see https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/VUOTESHSWFRCYPXIVG6BSMAUITS7QCK2/).
47cd44
Daniel P. Berrange 47ca46
* Mon Jun  6 2016 Daniel P. Berrange <berrange@redhat.com> - 1.3.5-1
Daniel P. Berrange 47ca46
- Rebase to version 1.3.5
Daniel P. Berrange 47ca46
- Pull in refactored, simplified spec file from upstream
Daniel P. Berrange 47ca46
860ffc
* Fri May 20 2016 Cole Robinson <crobinso@redhat.com> - 1.3.4-2
860ffc
- Fix libxl video config via virt-install (bz #1334557)
860ffc
- Advertise fedora edk2 firmware builds to apps (bz #1335395)
860ffc
611b2e
* Mon May 02 2016 Cole Robinson <crobinso@redhat.com> - 1.3.4-1
611b2e
- Rebased to version 1.3.4
611b2e
edcb92
* Tue Apr 19 2016 Cole Robinson <crobinso@redhat.com> - 1.3.3-3
edcb92
- Fix 200ms performance problem when waiting for monitor socket of new domains.
edcb92
8fa411
* Thu Apr 14 2016 Cole Robinson <crobinso@redhat.com> - 1.3.3-2
8fa411
- libvirt assigns same address to two PCI devices (bz #1325085)
8fa411
- Fix build with -Werror
8fa411
0debbf
* Thu Apr 07 2016 Cole Robinson <crobinso@redhat.com> - 1.3.3-1
0debbf
- Rebased to version 1.3.3
0debbf
d6cc78
* Thu Mar 17 2016 Cole Robinson <crobinso@redhat.com> - 1.3.2-3
d6cc78
- Fix qemu:///session disconnect after 30 seconds
d6cc78
- Fix 'permission denied' errors trying to unlink disk images (bz #1289327)
d6cc78
- Fix qemu:///session connect race failures (bz #1271183)
d6cc78
- driver: log missing modules as INFO, not WARN (bz #1274849)
d6cc78
8d9645
* Wed Mar  9 2016 Richard W.M. Jones <rjones@redhat.com> - 1.3.2-2
8d9645
- Add fix for RHBZ#1315606.
8d9645
Daniel P. Berrange 4c65f0
* Tue Mar  1 2016 Daniel Berrange <berrange@redhat.com> - 1.3.2-1
Daniel P. Berrange 4c65f0
- Update to 1.3.2 release
Daniel P. Berrange 4c65f0
d168e4
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-2
d168e4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
d168e4
Daniel P. Berrange 50e253
* Tue Jan 19 2016 Daniel Berrange <berrange@redhat.com> - 1.3.1-1
Daniel P. Berrange 50e253
- Update to 1.3.1 release
Daniel P. Berrange 50e253
Daniel P. Berrange 4a9c74
* Wed Dec  9 2015 Daniel Berrange <berrange@redhat.com> - 1.3.0-1
Daniel P. Berrange 4a9c74
- Update to 1.3.0 release
Daniel P. Berrange 4a9c74
Daniel P. Berrange 281508
* Wed Nov 11 2015 Cole Robinson <crobinso@redhat.com> - 1.2.21-1
Daniel P. Berrange 281508
- Update to 1.2.21 release
Daniel P. Berrange 281508
feb926
* Sun Oct 11 2015 Cole Robinson <crobinso@redhat.com> - 1.2.20-2
feb926
- Rebuild for xen 4.6
feb926
Daniel P. Berrange 93cadb
* Fri Oct  2 2015 Daniel P. Berrange <berrange@redhat.com> - 1.2.20-1
Daniel P. Berrange 93cadb
- Update to 1.2.20 release
Daniel P. Berrange 93cadb
Daniel P. Berrange dd6b57
* Wed Sep  2 2015 Daniel P. Berrange <berrange@redhat.com> - 1.2.19-1
Daniel P. Berrange dd6b57
- Update to 1.2.19 release
Daniel P. Berrange dd6b57
Daniel P. Berrange dbe615
* Tue Aug  4 2015 Daniel P. Berrange <berrange@redhat.com> - 1.2.18-1
Daniel P. Berrange dbe615
- Update to 1.2.18 release
Daniel P. Berrange dbe615
ce7b23
* Wed Jul 29 2015 Richard W.M. Jones <rjones@redhat.com> - 1.2.17-2
ce7b23
- Fix 'Cannot write data: Broken pipe [code=38 domain=7]' (RHBZ#1247746).
ce7b23
ee3bf3
* Tue Jul 14 2015 Cole Robinson <crobinso@redhat.com> - 1.2.17-1
ee3bf3
- numerous improvements and refactoring of the parallels driver
ee3bf3
- hardening of vcpu code
ee3bf3
- hardening of migration code
ee3bf3
- a lot of improvement and bug fixes
ee3bf3
Peter Robinson 7452a0
* Sun Jul 12 2015 Peter Robinson <pbrobinson@fedoraproject.org> 1.2.16-3
Peter Robinson 7452a0
- Rebuild (aarch64)
Peter Robinson 7452a0
Daniel P. Berrange 1b64f7
* Tue Jun 16 2015 Daniel P. Berrange <berrange@redhat.com> - 1.2.16-2
Daniel P. Berrange 1b64f7
- Rebuild for libwsman soname bump
Daniel P. Berrange 1b64f7
Daniel P. Berrange c81949
* Mon Jun 01 2015 Daniel P. Berrange <berrange@redhat.com> - 1.2.16-1
Daniel P. Berrange c81949
- Update to 1.2.16 release
Daniel P. Berrange c81949
e4b5ba
* Thu May 07 2015 Richard W.M. Jones <rjones@redhat.com> - 1.2.15-2
e4b5ba
- Add Cole Robinson's patch to fix arch selection (bz# 1219198, bz#1219191)
e4b5ba
5f1a42
* Mon May 04 2015 Cole Robinson <crobinso@redhat.com> - 1.2.15-1
5f1a42
- Rebased to version 1.2.15
5f1a42
c5b0b3
* Wed Apr 15 2015 Cole Robinson <crobinso@redhat.com> - 1.2.14-2
c5b0b3
- Fix LXC domain startup (bz #1210397)
c5b0b3
- Fix race starting multiple session daemons (bz #1200149)
c5b0b3
- Fix change-media success messages
c5b0b3
- Strip invalid control codes from XML (bz #1066564, bz #1184131)
c5b0b3
c0a04c
* Thu Apr 02 2015 Cole Robinson <crobinso@redhat.com> - 1.2.14-1
c0a04c
- Rebased to version 1.2.14
c0a04c
6b531d
* Tue Mar 10 2015 Cole Robinson <crobinso@redhat.com> - 1.2.13-2
6b531d
- Fix connecting to qemu:///session (bz #1198244)
6b531d
4d05ac
* Mon Mar 02 2015 Cole Robinson <crobinso@redhat.com> - 1.2.13-1
4d05ac
- Rebased to version 1.2.13
4d05ac
- lot of improvements around NUMA code
4d05ac
- a lot of improvement and bug fixes
4d05ac
Daniel P. Berrange a075ad
* Tue Feb  3 2015 Daniel P. Berrange <berrange@redhat.com> - 1.2.12-2
Daniel P. Berrange a075ad
- Rebuild for changed xen soname
Daniel P. Berrange a075ad
Daniel P. Berrange 4d0e63
* Tue Jan 27 2015 Daniel P. Berrange <berrange@redhat.com> - 1.2.12-1
Daniel P. Berrange 4d0e63
- Update to 1.2.12 release
Daniel P. Berrange 4d0e63