mirror of https://gitee.com/openkylin/libvirt.git
1611 lines
46 KiB
Plaintext
1611 lines
46 KiB
Plaintext
# -*- rpm-spec -*-
|
|
|
|
# If neither fedora nor rhel was defined, try to guess them from %{dist}
|
|
%if !0%{?rhel} && !0%{?fedora}
|
|
%{expand:%(echo "%{?dist}" | \
|
|
sed -ne 's/^\.el\([0-9]\+\).*/%%define rhel \1/p')}
|
|
%{expand:%(echo "%{?dist}" | \
|
|
sed -ne 's/^\.fc\?\([0-9]\+\).*/%%define fedora \1/p')}
|
|
%endif
|
|
|
|
# A client only build will create a libvirt.so only containing
|
|
# the generic RPC driver, and test driver and no libvirtd
|
|
# Default to a full server + client build
|
|
%define client_only 0
|
|
|
|
# Now turn off server build in certain cases
|
|
|
|
# RHEL-5 builds are client-only for s390, ppc
|
|
%if 0%{?rhel} == 5
|
|
%ifnarch i386 i586 i686 x86_64 ia64
|
|
%define client_only 1
|
|
%endif
|
|
%endif
|
|
|
|
# Disable all server side drivers if client only build requested
|
|
%if %{client_only}
|
|
%define server_drivers 0
|
|
%else
|
|
%define server_drivers 1
|
|
%endif
|
|
|
|
|
|
# Now set the defaults for all the important features, independent
|
|
# of any particular OS
|
|
|
|
# First the daemon itself
|
|
%define with_libvirtd 0%{!?_without_libvirtd:%{server_drivers}}
|
|
%define with_avahi 0%{!?_without_avahi:%{server_drivers}}
|
|
|
|
# Then the hypervisor drivers that run on local host
|
|
%define with_xen 0%{!?_without_xen:%{server_drivers}}
|
|
%define with_qemu 0%{!?_without_qemu:%{server_drivers}}
|
|
%define with_openvz 0%{!?_without_openvz:%{server_drivers}}
|
|
%define with_lxc 0%{!?_without_lxc:%{server_drivers}}
|
|
%define with_vbox 0%{!?_without_vbox:%{server_drivers}}
|
|
%define with_uml 0%{!?_without_uml:%{server_drivers}}
|
|
%define with_libxl 0%{!?_without_libxl:%{server_drivers}}
|
|
%define with_vmware 0%{!?_without_vmware:%{server_drivers}}
|
|
|
|
# Then the hypervisor drivers that talk a native remote protocol
|
|
%define with_phyp 0%{!?_without_phyp:1}
|
|
%define with_esx 0%{!?_without_esx:1}
|
|
%define with_hyperv 0%{!?_without_hyperv:1}
|
|
%define with_xenapi 0%{!?_without_xenapi:1}
|
|
|
|
# Then the secondary host drivers
|
|
%define with_network 0%{!?_without_network:%{server_drivers}}
|
|
%define with_storage_fs 0%{!?_without_storage_fs:%{server_drivers}}
|
|
%define with_storage_lvm 0%{!?_without_storage_lvm:%{server_drivers}}
|
|
%define with_storage_iscsi 0%{!?_without_storage_iscsi:%{server_drivers}}
|
|
%define with_storage_disk 0%{!?_without_storage_disk:%{server_drivers}}
|
|
%define with_storage_mpath 0%{!?_without_storage_mpath:%{server_drivers}}
|
|
%define with_numactl 0%{!?_without_numactl:%{server_drivers}}
|
|
%define with_selinux 0%{!?_without_selinux:%{server_drivers}}
|
|
|
|
# A few optional bits off by default, we enable later
|
|
%define with_polkit 0%{!?_without_polkit:0}
|
|
%define with_capng 0%{!?_without_capng:0}
|
|
%define with_netcf 0%{!?_without_netcf:0}
|
|
%define with_udev 0%{!?_without_udev:0}
|
|
%define with_hal 0%{!?_without_hal:0}
|
|
%define with_yajl 0%{!?_without_yajl:0}
|
|
%define with_nwfilter 0%{!?_without_nwfilter:0}
|
|
%define with_libpcap 0%{!?_without_libpcap:0}
|
|
%define with_macvtap 0%{!?_without_macvtap:0}
|
|
%define with_libnl 0%{!?_without_libnl:0}
|
|
%define with_audit 0%{!?_without_audit:0}
|
|
%define with_dtrace 0%{!?_without_dtrace:0}
|
|
%define with_cgconfig 0%{!?_without_cgconfig:0}
|
|
%define with_sanlock 0%{!?_without_sanlock:0}
|
|
|
|
# Non-server/HV driver defaults which are always enabled
|
|
%define with_python 0%{!?_without_python:1}
|
|
%define with_sasl 0%{!?_without_sasl:1}
|
|
|
|
|
|
# Finally set the OS / architecture specific special cases
|
|
|
|
# Xen is available only on i386 x86_64 ia64
|
|
%ifnarch i386 i586 i686 x86_64 ia64
|
|
%define with_xen 0
|
|
%endif
|
|
|
|
# Numactl is not available on s390[x]
|
|
%ifarch s390 s390x
|
|
%define with_numactl 0
|
|
%endif
|
|
|
|
# RHEL doesn't ship OpenVZ, VBox, UML, PowerHypervisor,
|
|
# VMWare, libxenserver (xenapi), or libxenlight (Xen 4.1 and newer)
|
|
%if 0%{?rhel}
|
|
%define with_openvz 0
|
|
%define with_vbox 0
|
|
%define with_uml 0
|
|
%define with_phyp 0
|
|
%define with_vmware 0
|
|
%define with_xenapi 0
|
|
%define with_libxl 0
|
|
%endif
|
|
|
|
# RHEL-5 has restricted QEMU to x86_64 only and is too old for LXC
|
|
%if 0%{?rhel} == 5
|
|
%ifnarch x86_64
|
|
%define with_qemu 0
|
|
%endif
|
|
%define with_lxc 0
|
|
%endif
|
|
|
|
# RHEL-6 has restricted QEMU to x86_64 only, stopped including Xen
|
|
# on all archs. Other archs all have LXC available though
|
|
%if 0%{?rhel} >= 6
|
|
%ifnarch x86_64
|
|
%define with_qemu 0
|
|
%endif
|
|
%define with_xen 0
|
|
%endif
|
|
|
|
# Fedora doesn't have any QEMU on ppc64 - only ppc
|
|
%if 0%{?fedora}
|
|
%ifarch ppc64
|
|
%define with_qemu 0
|
|
%endif
|
|
%endif
|
|
|
|
# Fedora doesn't have new enough Xen for libxl until F16
|
|
%if 0%{?fedora} < 16
|
|
%define with_libxl 0
|
|
%endif
|
|
|
|
# PolicyKit was introduced in Fedora 8 / RHEL-6 or newer
|
|
%if 0%{?fedora} >= 8 || 0%{?rhel} >= 6
|
|
%define with_polkit 0%{!?_without_polkit:1}
|
|
%endif
|
|
|
|
# libcapng is used to manage capabilities in Fedora 12 / RHEL-6 or newer
|
|
%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
|
|
%define with_capng 0%{!?_without_capng:1}
|
|
%endif
|
|
|
|
# netcf is used to manage network interfaces in Fedora 12 / RHEL-6 or newer
|
|
%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
|
|
%define with_netcf 0%{!?_without_netcf:%{server_drivers}}
|
|
%endif
|
|
|
|
# udev is used to manage host devices in Fedora 12 / RHEL-6 or newer
|
|
%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
|
|
%define with_udev 0%{!?_without_udev:%{server_drivers}}
|
|
%else
|
|
%define with_hal 0%{!?_without_hal:%{server_drivers}}
|
|
%endif
|
|
|
|
# Enable yajl library for JSON mode with QEMU
|
|
%if 0%{?fedora} >= 13 || 0%{?rhel} >= 6
|
|
%define with_yajl 0%{!?_without_yajl:%{server_drivers}}
|
|
%endif
|
|
|
|
# Enable sanlock library for lock management with QEMU
|
|
%if 0%{?fedora} >= 16 || 0%{?rhel} >= 6
|
|
%define with_sanlock 0%{!?_without_sanlock:%{server_drivers}}
|
|
%endif
|
|
|
|
# Disable some drivers when building without libvirt daemon.
|
|
# The logic is the same as in configure.ac
|
|
%if ! %{with_libvirtd}
|
|
%define with_network 0
|
|
%define with_qemu 0
|
|
%define with_lxc 0
|
|
%define with_uml 0
|
|
%define with_hal 0
|
|
%define with_udev 0
|
|
%define with_storage_fs 0
|
|
%define with_storage_lvm 0
|
|
%define with_storage_iscsi 0
|
|
%define with_storage_mpath 0
|
|
%define with_storage_disk 0
|
|
%endif
|
|
|
|
# Enable libpcap library
|
|
%if %{with_qemu}
|
|
%define with_nwfilter 0%{!?_without_nwfilter:%{server_drivers}}
|
|
%define with_libpcap 0%{!?_without_libpcap:%{server_drivers}}
|
|
%define with_macvtap 0%{!?_without_macvtap:%{server_drivers}}
|
|
%endif
|
|
|
|
%if %{with_macvtap}
|
|
%define with_libnl 1
|
|
%endif
|
|
|
|
%if 0%{?fedora} >= 11 || 0%{?rhel} >= 5
|
|
%define with_audit 0%{!?_without_audit:1}
|
|
%endif
|
|
|
|
%if 0%{?fedora} >= 13 || 0%{?rhel} >= 6
|
|
%define with_dtrace 1
|
|
%endif
|
|
|
|
# Pull in cgroups config system
|
|
%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
|
|
%if %{with_qemu} || %{with_lxc}
|
|
%define with_cgconfig 0%{!?_without_cgconfig:1}
|
|
%endif
|
|
%endif
|
|
|
|
# Force QEMU to run as non-root
|
|
%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
|
|
%define qemu_user qemu
|
|
%define qemu_group qemu
|
|
%else
|
|
%define qemu_user root
|
|
%define qemu_group root
|
|
%endif
|
|
|
|
|
|
# The RHEL-5 Xen package has some feature backports. This
|
|
# flag is set to enable use of those special bits on RHEL-5
|
|
%if 0%{?rhel} == 5
|
|
%define with_rhel5 1
|
|
%else
|
|
%define with_rhel5 0
|
|
%endif
|
|
|
|
Summary: Library providing a simple virtualization API
|
|
Name: libvirt
|
|
Version: @VERSION@
|
|
Release: 1%{?dist}%{?extra_release}
|
|
License: LGPLv2+
|
|
Group: Development/Libraries
|
|
Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
|
URL: http://libvirt.org/
|
|
|
|
# All runtime requirements for the libvirt package (runtime requrements
|
|
# for subpackages are listed later in those subpackages)
|
|
|
|
# The client side, i.e. shared libs and virsh are in a subpackage
|
|
Requires: %{name}-client = %{version}-%{release}
|
|
|
|
# Used by many of the drivers, so turn it on whenever the
|
|
# daemon is present
|
|
%if %{with_libvirtd}
|
|
Requires: bridge-utils
|
|
# for modprobe of pci devices
|
|
Requires: module-init-tools
|
|
# for /sbin/ip & /sbin/tc
|
|
Requires: iproute
|
|
%endif
|
|
%if %{with_network}
|
|
Requires: dnsmasq >= 2.41
|
|
Requires: radvd
|
|
%endif
|
|
%if %{with_network} || %{with_nwfilter}
|
|
Requires: iptables
|
|
Requires: iptables-ipv6
|
|
%endif
|
|
%if %{with_nwfilter}
|
|
Requires: ebtables
|
|
%endif
|
|
# needed for device enumeration
|
|
%if %{with_hal}
|
|
Requires: hal
|
|
%endif
|
|
%if %{with_udev}
|
|
Requires: udev >= 145
|
|
%endif
|
|
%if %{with_polkit}
|
|
%if 0%{?fedora} >= 12 || 0%{?rhel} >=6
|
|
Requires: polkit >= 0.93
|
|
%else
|
|
Requires: PolicyKit >= 0.6
|
|
%endif
|
|
%endif
|
|
%if %{with_storage_fs}
|
|
Requires: nfs-utils
|
|
# For mkfs
|
|
Requires: util-linux-ng
|
|
# For pool-build probing for existing pools
|
|
BuildRequires: libblkid-devel >= 2.17
|
|
# For glusterfs
|
|
%if 0%{?fedora} >= 11
|
|
Requires: glusterfs-client >= 2.0.1
|
|
%endif
|
|
%endif
|
|
%if %{with_qemu}
|
|
# From QEMU RPMs
|
|
Requires: /usr/bin/qemu-img
|
|
# For image compression
|
|
Requires: gzip
|
|
Requires: bzip2
|
|
Requires: lzop
|
|
Requires: xz
|
|
%else
|
|
%if %{with_xen}
|
|
# From Xen RPMs
|
|
Requires: /usr/sbin/qcow-create
|
|
%endif
|
|
%endif
|
|
%if %{with_storage_lvm}
|
|
# For LVM drivers
|
|
Requires: lvm2
|
|
%endif
|
|
%if %{with_storage_iscsi}
|
|
# For ISCSI driver
|
|
Requires: iscsi-initiator-utils
|
|
%endif
|
|
%if %{with_storage_disk}
|
|
# For disk driver
|
|
Requires: parted
|
|
Requires: device-mapper
|
|
%endif
|
|
%if %{with_storage_mpath}
|
|
# For multipath support
|
|
Requires: device-mapper
|
|
%endif
|
|
%if %{with_cgconfig}
|
|
Requires: libcgroup
|
|
%endif
|
|
|
|
# All build-time requirements
|
|
BuildRequires: python-devel
|
|
|
|
%if %{with_xen}
|
|
BuildRequires: xen-devel
|
|
%endif
|
|
BuildRequires: libxml2-devel
|
|
BuildRequires: xhtml1-dtds
|
|
BuildRequires: libxslt
|
|
BuildRequires: readline-devel
|
|
BuildRequires: ncurses-devel
|
|
BuildRequires: gettext
|
|
BuildRequires: libtasn1-devel
|
|
BuildRequires: gnutls-devel
|
|
%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
|
|
# for augparse, optionally used in testing
|
|
BuildRequires: augeas
|
|
%endif
|
|
%if %{with_hal}
|
|
BuildRequires: hal-devel
|
|
%endif
|
|
%if %{with_udev}
|
|
BuildRequires: libudev-devel >= 145
|
|
BuildRequires: libpciaccess-devel >= 0.10.9
|
|
%endif
|
|
%if %{with_yajl}
|
|
BuildRequires: yajl-devel
|
|
%endif
|
|
%if %{with_sanlock}
|
|
BuildRequires: sanlock-devel >= 1.8
|
|
%endif
|
|
%if %{with_libpcap}
|
|
BuildRequires: libpcap-devel
|
|
%endif
|
|
%if %{with_libnl}
|
|
BuildRequires: libnl-devel
|
|
%endif
|
|
%if %{with_avahi}
|
|
BuildRequires: avahi-devel
|
|
%endif
|
|
%if %{with_selinux}
|
|
BuildRequires: libselinux-devel
|
|
%endif
|
|
%if %{with_network}
|
|
BuildRequires: dnsmasq >= 2.41
|
|
BuildRequires: iptables
|
|
BuildRequires: iptables-ipv6
|
|
BuildRequires: radvd
|
|
%endif
|
|
%if %{with_nwfilter}
|
|
BuildRequires: ebtables
|
|
%endif
|
|
BuildRequires: bridge-utils
|
|
BuildRequires: module-init-tools
|
|
%if %{with_sasl}
|
|
BuildRequires: cyrus-sasl-devel
|
|
%endif
|
|
%if %{with_polkit}
|
|
%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
|
|
# Only need the binary, not -devel
|
|
BuildRequires: polkit >= 0.93
|
|
%else
|
|
BuildRequires: PolicyKit-devel >= 0.6
|
|
%endif
|
|
%endif
|
|
%if %{with_storage_fs}
|
|
# For mount/umount in FS driver
|
|
BuildRequires: util-linux
|
|
%endif
|
|
%if %{with_qemu}
|
|
# From QEMU RPMs
|
|
BuildRequires: /usr/bin/qemu-img
|
|
%else
|
|
%if %{with_xen}
|
|
# From Xen RPMs
|
|
BuildRequires: /usr/sbin/qcow-create
|
|
%endif
|
|
%endif
|
|
%if %{with_storage_lvm}
|
|
# For LVM drivers
|
|
BuildRequires: lvm2
|
|
%endif
|
|
%if %{with_storage_iscsi}
|
|
# For ISCSI driver
|
|
BuildRequires: iscsi-initiator-utils
|
|
%endif
|
|
%if %{with_storage_disk}
|
|
# For disk driver
|
|
BuildRequires: parted-devel
|
|
%if 0%{?rhel} == 5
|
|
# Broken RHEL-5 parted RPM is missing a dep
|
|
BuildRequires: e2fsprogs-devel
|
|
%endif
|
|
%endif
|
|
%if %{with_storage_mpath}
|
|
# For Multipath support
|
|
%if 0%{?rhel} == 5
|
|
# Broken RHEL-5 packaging has header files in main RPM :-(
|
|
BuildRequires: device-mapper
|
|
%else
|
|
BuildRequires: device-mapper-devel
|
|
%endif
|
|
%endif
|
|
%if %{with_numactl}
|
|
# For QEMU/LXC numa info
|
|
BuildRequires: numactl-devel
|
|
%endif
|
|
%if %{with_capng}
|
|
BuildRequires: libcap-ng-devel >= 0.5.0
|
|
%endif
|
|
%if %{with_phyp}
|
|
BuildRequires: libssh2-devel
|
|
%endif
|
|
%if %{with_netcf}
|
|
%if 0%{?fedora} >= 16 || 0%{?rhel} >= 6
|
|
BuildRequires: netcf-devel >= 0.1.8
|
|
%else
|
|
BuildRequires: netcf-devel >= 0.1.4
|
|
%endif
|
|
%endif
|
|
%if %{with_esx}
|
|
%if 0%{?fedora} >= 9 || 0%{?rhel} >= 6
|
|
BuildRequires: libcurl-devel
|
|
%else
|
|
BuildRequires: curl-devel
|
|
%endif
|
|
%endif
|
|
%if %{with_hyperv}
|
|
BuildRequires: libwsman-devel >= 2.2.3
|
|
%endif
|
|
%if %{with_audit}
|
|
BuildRequires: audit-libs-devel
|
|
%endif
|
|
%if %{with_dtrace}
|
|
# we need /usr/sbin/dtrace
|
|
BuildRequires: systemtap-sdt-devel
|
|
%endif
|
|
|
|
%if %{with_storage_fs}
|
|
# For mount/umount in FS driver
|
|
BuildRequires: util-linux
|
|
# For showmount in FS driver (netfs discovery)
|
|
BuildRequires: nfs-utils
|
|
%endif
|
|
|
|
# Fedora build root suckage
|
|
BuildRequires: gawk
|
|
|
|
%description
|
|
Libvirt is a C toolkit to interact with the virtualization capabilities
|
|
of recent versions of Linux (and other OSes). The main package includes
|
|
the libvirtd server exporting the virtualization support.
|
|
|
|
%package client
|
|
Summary: Client side library and utilities of the libvirt library
|
|
Group: Development/Libraries
|
|
Requires: readline
|
|
Requires: ncurses
|
|
# So remote clients can access libvirt over SSH tunnel
|
|
# (client invokes 'nc' against the UNIX socket on the server)
|
|
Requires: nc
|
|
# Needed by libvirt-guests init script.
|
|
Requires: gettext
|
|
# Needed by virt-pki-validate script.
|
|
Requires: gnutls-utils
|
|
%if %{with_sasl}
|
|
Requires: cyrus-sasl
|
|
# Not technically required, but makes 'out-of-box' config
|
|
# work correctly & doesn't have onerous dependencies
|
|
Requires: cyrus-sasl-md5
|
|
%endif
|
|
|
|
%description client
|
|
Shared libraries and client binaries needed to access to the
|
|
virtualization capabilities of recent versions of Linux (and other OSes).
|
|
|
|
%package devel
|
|
Summary: Libraries, includes, etc. to compile with the libvirt library
|
|
Group: Development/Libraries
|
|
Requires: %{name}-client = %{version}-%{release}
|
|
Requires: pkgconfig
|
|
%if %{with_xen}
|
|
Requires: xen-devel
|
|
%endif
|
|
|
|
%description devel
|
|
Includes and documentations for the C library providing an API to use
|
|
the virtualization capabilities of recent versions of Linux (and other OSes).
|
|
|
|
%if %{with_sanlock}
|
|
%package lock-sanlock
|
|
Summary: Sanlock lock manager plugin for QEMU driver
|
|
Group: Development/Libraries
|
|
Requires: sanlock >= 1.8
|
|
#for virt-sanlock-cleanup require augeas
|
|
Requires: augeas
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
%description lock-sanlock
|
|
Includes the Sanlock lock manager plugin for the QEMU
|
|
driver
|
|
%endif
|
|
|
|
%if %{with_python}
|
|
%package python
|
|
Summary: Python bindings for the libvirt library
|
|
Group: Development/Libraries
|
|
Requires: %{name}-client = %{version}-%{release}
|
|
|
|
%description python
|
|
The libvirt-python package contains a module that permits applications
|
|
written in the Python programming language to use the interface
|
|
supplied by the libvirt library to use the virtualization capabilities
|
|
of recent versions of Linux (and other OSes).
|
|
%endif
|
|
|
|
%prep
|
|
%setup -q
|
|
|
|
%build
|
|
%if ! %{with_xen}
|
|
%define _without_xen --without-xen
|
|
%endif
|
|
|
|
%if ! %{with_qemu}
|
|
%define _without_qemu --without-qemu
|
|
%endif
|
|
|
|
%if ! %{with_openvz}
|
|
%define _without_openvz --without-openvz
|
|
%endif
|
|
|
|
%if ! %{with_lxc}
|
|
%define _without_lxc --without-lxc
|
|
%endif
|
|
|
|
%if ! %{with_vbox}
|
|
%define _without_vbox --without-vbox
|
|
%endif
|
|
|
|
%if ! %{with_xenapi}
|
|
%define _without_xenapi --without-xenapi
|
|
%endif
|
|
|
|
%if ! %{with_libxl}
|
|
%define _without_libxl --without-libxl
|
|
%endif
|
|
|
|
%if ! %{with_sasl}
|
|
%define _without_sasl --without-sasl
|
|
%endif
|
|
|
|
%if ! %{with_avahi}
|
|
%define _without_avahi --without-avahi
|
|
%endif
|
|
|
|
%if ! %{with_phyp}
|
|
%define _without_phyp --without-phyp
|
|
%endif
|
|
|
|
%if ! %{with_esx}
|
|
%define _without_esx --without-esx
|
|
%endif
|
|
|
|
%if ! %{with_hyperv}
|
|
%define _without_hyperv --without-hyperv
|
|
%endif
|
|
|
|
%if ! %{with_vmware}
|
|
%define _without_vmware --without-vmware
|
|
%endif
|
|
|
|
%if ! %{with_polkit}
|
|
%define _without_polkit --without-polkit
|
|
%endif
|
|
|
|
%if ! %{with_python}
|
|
%define _without_python --without-python
|
|
%endif
|
|
|
|
%if ! %{with_libvirtd}
|
|
%define _without_libvirtd --without-libvirtd
|
|
%endif
|
|
|
|
%if ! %{with_uml}
|
|
%define _without_uml --without-uml
|
|
%endif
|
|
|
|
%if %{with_rhel5}
|
|
%define _with_rhel5_api --with-rhel5-api
|
|
%endif
|
|
|
|
%if ! %{with_network}
|
|
%define _without_network --without-network
|
|
%endif
|
|
|
|
%if ! %{with_storage_fs}
|
|
%define _without_storage_fs --without-storage-fs
|
|
%endif
|
|
|
|
%if ! %{with_storage_lvm}
|
|
%define _without_storage_lvm --without-storage-lvm
|
|
%endif
|
|
|
|
%if ! %{with_storage_iscsi}
|
|
%define _without_storage_iscsi --without-storage-iscsi
|
|
%endif
|
|
|
|
%if ! %{with_storage_disk}
|
|
%define _without_storage_disk --without-storage-disk
|
|
%endif
|
|
|
|
%if ! %{with_storage_mpath}
|
|
%define _without_storage_mpath --without-storage-mpath
|
|
%endif
|
|
|
|
%if ! %{with_numactl}
|
|
%define _without_numactl --without-numactl
|
|
%endif
|
|
|
|
%if ! %{with_capng}
|
|
%define _without_capng --without-capng
|
|
%endif
|
|
|
|
%if ! %{with_netcf}
|
|
%define _without_netcf --without-netcf
|
|
%endif
|
|
|
|
%if ! %{with_selinux}
|
|
%define _without_selinux --without-selinux
|
|
%endif
|
|
|
|
%if ! %{with_hal}
|
|
%define _without_hal --without-hal
|
|
%endif
|
|
|
|
%if ! %{with_udev}
|
|
%define _without_udev --without-udev
|
|
%endif
|
|
|
|
%if ! %{with_yajl}
|
|
%define _without_yajl --without-yajl
|
|
%endif
|
|
|
|
%if ! %{with_sanlock}
|
|
%define _without_sanlock --without-sanlock
|
|
%endif
|
|
|
|
%if ! %{with_libpcap}
|
|
%define _without_libpcap --without-libpcap
|
|
%endif
|
|
|
|
%if ! %{with_macvtap}
|
|
%define _without_macvtap --without-macvtap
|
|
%endif
|
|
|
|
%if ! %{with_audit}
|
|
%define _without_audit --without-audit
|
|
%endif
|
|
|
|
%if ! %{with_dtrace}
|
|
%define _without_dtrace --without-dtrace
|
|
%endif
|
|
|
|
%define when %(date +"%%F-%%T")
|
|
%define where %(hostname)
|
|
%define who %{?packager}%{!?packager:Unknown}
|
|
%define with_packager --with-packager="%{who}, %{when}, %{where}"
|
|
%define with_packager_version --with-packager-version="%{release}"
|
|
|
|
|
|
%configure %{?_without_xen} \
|
|
%{?_without_qemu} \
|
|
%{?_without_openvz} \
|
|
%{?_without_lxc} \
|
|
%{?_without_vbox} \
|
|
%{?_without_xenapi} \
|
|
%{?_without_sasl} \
|
|
%{?_without_avahi} \
|
|
%{?_without_polkit} \
|
|
%{?_without_python} \
|
|
%{?_without_libvirtd} \
|
|
%{?_without_uml} \
|
|
%{?_without_one} \
|
|
%{?_without_phyp} \
|
|
%{?_without_esx} \
|
|
%{?_without_hyperv} \
|
|
%{?_without_vmware} \
|
|
%{?_without_network} \
|
|
%{?_with_rhel5_api} \
|
|
%{?_without_storage_fs} \
|
|
%{?_without_storage_lvm} \
|
|
%{?_without_storage_iscsi} \
|
|
%{?_without_storage_disk} \
|
|
%{?_without_storage_mpath} \
|
|
%{?_without_numactl} \
|
|
%{?_without_capng} \
|
|
%{?_without_netcf} \
|
|
%{?_without_selinux} \
|
|
%{?_without_hal} \
|
|
%{?_without_udev} \
|
|
%{?_without_yajl} \
|
|
%{?_without_sanlock} \
|
|
%{?_without_libpcap} \
|
|
%{?_without_macvtap} \
|
|
%{?_without_audit} \
|
|
%{?_without_dtrace} \
|
|
%{with_packager} \
|
|
%{with_packager_version} \
|
|
--with-qemu-user=%{qemu_user} \
|
|
--with-qemu-group=%{qemu_group} \
|
|
--with-init-script=redhat \
|
|
--with-remote-pid-file=%{_localstatedir}/run/libvirtd.pid
|
|
make %{?_smp_mflags}
|
|
gzip -9 ChangeLog
|
|
|
|
%install
|
|
rm -fr %{buildroot}
|
|
|
|
%makeinstall
|
|
for i in domain-events/events-c dominfo domsuspend hellolibvirt openauth python xml/nwfilter systemtap
|
|
do
|
|
(cd examples/$i ; make clean ; rm -rf .deps .libs Makefile Makefile.in)
|
|
done
|
|
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
|
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
|
|
rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.la
|
|
rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.a
|
|
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.la
|
|
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.a
|
|
|
|
%if %{with_network}
|
|
install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/lib/libvirt/dnsmasq/
|
|
# We don't want to install /etc/libvirt/qemu/networks in the main %files list
|
|
# because if the admin wants to delete the default network completely, we don't
|
|
# want to end up re-incarnating it on every RPM upgrade.
|
|
install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/
|
|
cp $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml \
|
|
$RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
|
|
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
|
|
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
|
|
# Strip auto-generated UUID - we need it generated per-install
|
|
sed -i -e "/<uuid>/d" $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
|
|
%else
|
|
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
|
|
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
|
|
%endif
|
|
%if ! %{with_qemu}
|
|
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_qemu.aug
|
|
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
|
|
%endif
|
|
%find_lang %{name}
|
|
|
|
%if ! %{with_lxc}
|
|
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_lxc.aug
|
|
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
|
|
%endif
|
|
|
|
%if ! %{with_python}
|
|
rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-python-%{version}
|
|
%endif
|
|
|
|
%if %{client_only}
|
|
rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{version}
|
|
%endif
|
|
|
|
%if ! %{with_libvirtd}
|
|
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/nwfilter
|
|
mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{version}/html \
|
|
$RPM_BUILD_ROOT%{_datadir}/doc/libvirt-devel-%{version}/
|
|
%endif
|
|
|
|
%if ! %{with_qemu}
|
|
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf
|
|
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.qemu
|
|
%endif
|
|
%if ! %{with_lxc}
|
|
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/lxc.conf
|
|
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.lxc
|
|
%endif
|
|
%if ! %{with_uml}
|
|
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.uml
|
|
%endif
|
|
|
|
%clean
|
|
rm -fr %{buildroot}
|
|
|
|
%check
|
|
cd tests
|
|
# These 3 tests don't current work in a mock build root
|
|
for i in nodeinfotest daemon-conf seclabeltest
|
|
do
|
|
rm -f $i
|
|
printf "#!/bin/sh\nexit 0\n" > $i
|
|
chmod +x $i
|
|
done
|
|
make check
|
|
|
|
%pre
|
|
%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
|
|
# Normally 'setup' adds this in /etc/passwd, but this is
|
|
# here for case of upgrades from earlier Fedora/RHEL. This
|
|
# UID/GID pair is reserved for qemu:qemu
|
|
getent group kvm >/dev/null || groupadd -g 36 -r kvm
|
|
getent group qemu >/dev/null || groupadd -g 107 -r qemu
|
|
getent passwd qemu >/dev/null || \
|
|
useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
|
|
-c "qemu user" qemu
|
|
%endif
|
|
|
|
%post
|
|
|
|
%if %{with_libvirtd}
|
|
%if %{with_network}
|
|
# We want to install the default network for initial RPM installs
|
|
# or on the first upgrade from a non-network aware libvirt only.
|
|
# We check this by looking to see if the daemon is already installed
|
|
/sbin/chkconfig --list libvirtd 1>/dev/null 2>&1
|
|
if test $? != 0 && test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml
|
|
then
|
|
UUID=`/usr/bin/uuidgen`
|
|
sed -e "s,</name>,</name>\n <uuid>$UUID</uuid>," \
|
|
< %{_datadir}/libvirt/networks/default.xml \
|
|
> %{_sysconfdir}/libvirt/qemu/networks/default.xml
|
|
ln -s ../default.xml %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
|
|
fi
|
|
|
|
# All newly defined networks will have a mac address for the bridge
|
|
# auto-generated, but networks already existing at the time of upgrade
|
|
# will not. We need to go through all the network configs, look for
|
|
# those that don't have a mac address, and add one.
|
|
|
|
network_files=$( (cd %{_localstatedir}/lib/libvirt/network && \
|
|
grep -L "mac address" *.xml; \
|
|
cd %{_sysconfdir}/libvirt/qemu/networks && \
|
|
grep -L "mac address" *.xml) 2>/dev/null \
|
|
| sort -u)
|
|
|
|
for file in $network_files
|
|
do
|
|
# each file exists in either the config or state directory (or both) and
|
|
# does not have a mac address specified in either. We add the same mac
|
|
# address to both files (or just one, if the other isn't there)
|
|
|
|
mac4=`printf '%X' $(($RANDOM % 256))`
|
|
mac5=`printf '%X' $(($RANDOM % 256))`
|
|
mac6=`printf '%X' $(($RANDOM % 256))`
|
|
for dir in %{_localstatedir}/lib/libvirt/network \
|
|
%{_sysconfdir}/libvirt/qemu/networks
|
|
do
|
|
if test -f $dir/$file
|
|
then
|
|
sed -i.orig -e \
|
|
"s|\(<bridge.*$\)|\0\n <mac address='52:54:00:$mac4:$mac5:$mac6'/>|" \
|
|
$dir/$file
|
|
if test $? != 0
|
|
then
|
|
echo "failed to add <mac address='52:54:00:$mac4:$mac5:$mac6'/>" \
|
|
"to $dir/$file"
|
|
mv -f $dir/$file.orig $dir/$file
|
|
else
|
|
rm -f $dir/$file.orig
|
|
fi
|
|
fi
|
|
done
|
|
done
|
|
%endif
|
|
|
|
%if %{with_cgconfig}
|
|
# Starting with Fedora 15, systemd automounts all cgroups, and cgconfig is
|
|
# no longer a necessary service.
|
|
%if 0%{?fedora} <= 14 || 0%{?rhel} <= 6
|
|
if [ "$1" -eq "1" ]; then
|
|
/sbin/chkconfig cgconfig on
|
|
fi
|
|
%endif
|
|
%endif
|
|
|
|
/sbin/chkconfig --add libvirtd
|
|
if [ "$1" -ge "1" ]; then
|
|
/sbin/service libvirtd condrestart > /dev/null 2>&1
|
|
fi
|
|
%endif
|
|
|
|
%preun
|
|
%if %{with_libvirtd}
|
|
if [ $1 = 0 ]; then
|
|
/sbin/service libvirtd stop 1>/dev/null 2>&1
|
|
/sbin/chkconfig --del libvirtd
|
|
fi
|
|
%endif
|
|
|
|
%preun client
|
|
|
|
if [ $1 = 0 ]; then
|
|
/sbin/chkconfig --del libvirt-guests
|
|
rm -f /var/lib/libvirt/libvirt-guests
|
|
fi
|
|
|
|
%post client
|
|
|
|
/sbin/ldconfig
|
|
/sbin/chkconfig --add libvirt-guests
|
|
if [ $1 -ge 1 ]; then
|
|
level=$(/sbin/runlevel | /bin/cut -d ' ' -f 2)
|
|
if /sbin/chkconfig --list libvirt-guests 2>/dev/null \
|
|
| /bin/grep -q $level:on ; then
|
|
# this doesn't do anything but allowing for libvirt-guests to be
|
|
# stopped on the first shutdown
|
|
/sbin/service libvirt-guests start > /dev/null 2>&1 || true
|
|
fi
|
|
fi
|
|
|
|
%postun client -p /sbin/ldconfig
|
|
|
|
%if %{with_libvirtd}
|
|
%files
|
|
%defattr(-, root, root)
|
|
|
|
%doc AUTHORS ChangeLog.gz NEWS README COPYING.LIB TODO
|
|
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
|
|
|
|
%if %{with_network}
|
|
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
|
|
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/
|
|
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
|
|
%endif
|
|
|
|
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/
|
|
%{_sysconfdir}/libvirt/nwfilter/*.xml
|
|
|
|
%{_sysconfdir}/rc.d/init.d/libvirtd
|
|
%doc daemon/libvirtd.upstart
|
|
%config(noreplace) %{_sysconfdir}/sysconfig/libvirtd
|
|
%config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
|
|
%if %{with_dtrace}
|
|
%{_datadir}/systemtap/tapset/libvirtd.stp
|
|
%endif
|
|
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
|
|
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/
|
|
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/
|
|
%if %{with_libxl}
|
|
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/libxl/
|
|
%endif
|
|
|
|
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd
|
|
%if %{with_qemu}
|
|
%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
|
|
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu
|
|
%endif
|
|
%if %{with_lxc}
|
|
%config(noreplace) %{_sysconfdir}/libvirt/lxc.conf
|
|
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc
|
|
%endif
|
|
%if %{with_uml}
|
|
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml
|
|
%endif
|
|
|
|
%dir %{_datadir}/libvirt/
|
|
|
|
%if %{with_network}
|
|
%dir %{_datadir}/libvirt/networks/
|
|
%{_datadir}/libvirt/networks/default.xml
|
|
%endif
|
|
|
|
%dir %{_localstatedir}/run/libvirt/
|
|
|
|
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/images/
|
|
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/boot/
|
|
%dir %attr(0711, root, root) %{_localstatedir}/cache/libvirt/
|
|
|
|
%if %{with_qemu}
|
|
%dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/
|
|
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
|
|
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/
|
|
%endif
|
|
%if %{with_lxc}
|
|
%dir %{_localstatedir}/run/libvirt/lxc/
|
|
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/
|
|
%endif
|
|
%if %{with_uml}
|
|
%dir %{_localstatedir}/run/libvirt/uml/
|
|
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/
|
|
%endif
|
|
%if %{with_libxl}
|
|
%dir %{_localstatedir}/run/libvirt/libxl/
|
|
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/
|
|
%endif
|
|
%if %{with_network}
|
|
%dir %{_localstatedir}/run/libvirt/network/
|
|
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/
|
|
%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/
|
|
%endif
|
|
|
|
%if %{with_qemu}
|
|
%{_datadir}/augeas/lenses/libvirtd_qemu.aug
|
|
%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
|
|
%endif
|
|
|
|
%if %{with_lxc}
|
|
%{_datadir}/augeas/lenses/libvirtd_lxc.aug
|
|
%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
|
|
%endif
|
|
|
|
%{_datadir}/augeas/lenses/libvirtd.aug
|
|
%{_datadir}/augeas/lenses/tests/test_libvirtd.aug
|
|
|
|
%if %{with_polkit}
|
|
%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
|
|
%{_datadir}/polkit-1/actions/org.libvirt.unix.policy
|
|
%else
|
|
%{_datadir}/PolicyKit/policy/org.libvirt.unix.policy
|
|
%endif
|
|
%endif
|
|
|
|
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/
|
|
|
|
%if %{with_lxc}
|
|
%attr(0755, root, root) %{_libexecdir}/libvirt_lxc
|
|
%endif
|
|
|
|
%if %{with_storage_disk}
|
|
%attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
|
|
%endif
|
|
|
|
%attr(0755, root, root) %{_libexecdir}/libvirt_iohelper
|
|
%attr(0755, root, root) %{_sbindir}/libvirtd
|
|
|
|
%{_mandir}/man8/libvirtd.8*
|
|
|
|
%doc docs/*.xml
|
|
%endif
|
|
|
|
%if %{with_sanlock}
|
|
%files lock-sanlock
|
|
%defattr(-, root, root)
|
|
%if %{with_qemu}
|
|
%config(noreplace) %{_sysconfdir}/libvirt/qemu-sanlock.conf
|
|
%endif
|
|
%attr(0755, root, root) %{_libdir}/libvirt/lock-driver/sanlock.so
|
|
%{_datadir}/augeas/lenses/libvirt_sanlock.aug
|
|
%{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug
|
|
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/sanlock
|
|
%{_sbindir}/virt-sanlock-cleanup
|
|
%{_mandir}/man8/virt-sanlock-cleanup.8*
|
|
%endif
|
|
|
|
%files client -f %{name}.lang
|
|
%defattr(-, root, root)
|
|
%doc AUTHORS ChangeLog.gz NEWS README COPYING.LIB TODO
|
|
|
|
%{_mandir}/man1/virsh.1*
|
|
%{_mandir}/man1/virt-xml-validate.1*
|
|
%{_mandir}/man1/virt-pki-validate.1*
|
|
%{_bindir}/virsh
|
|
%{_bindir}/virt-xml-validate
|
|
%{_bindir}/virt-pki-validate
|
|
%{_libdir}/lib*.so.*
|
|
|
|
%dir %{_datadir}/libvirt/
|
|
%dir %{_datadir}/libvirt/schemas/
|
|
|
|
%{_datadir}/libvirt/schemas/basictypes.rng
|
|
%{_datadir}/libvirt/schemas/capability.rng
|
|
%{_datadir}/libvirt/schemas/domain.rng
|
|
%{_datadir}/libvirt/schemas/domaincommon.rng
|
|
%{_datadir}/libvirt/schemas/domainsnapshot.rng
|
|
%{_datadir}/libvirt/schemas/interface.rng
|
|
%{_datadir}/libvirt/schemas/network.rng
|
|
%{_datadir}/libvirt/schemas/networkcommon.rng
|
|
%{_datadir}/libvirt/schemas/nodedev.rng
|
|
%{_datadir}/libvirt/schemas/nwfilter.rng
|
|
%{_datadir}/libvirt/schemas/secret.rng
|
|
%{_datadir}/libvirt/schemas/storageencryption.rng
|
|
%{_datadir}/libvirt/schemas/storagepool.rng
|
|
%{_datadir}/libvirt/schemas/storagevol.rng
|
|
|
|
%{_datadir}/libvirt/cpu_map.xml
|
|
|
|
%{_sysconfdir}/rc.d/init.d/libvirt-guests
|
|
%config(noreplace) %{_sysconfdir}/sysconfig/libvirt-guests
|
|
%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/
|
|
|
|
%if %{with_sasl}
|
|
%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
|
|
%endif
|
|
|
|
%files devel
|
|
%defattr(-, root, root)
|
|
|
|
%{_libdir}/lib*.so
|
|
%dir %{_includedir}/libvirt
|
|
%{_includedir}/libvirt/*.h
|
|
%{_libdir}/pkgconfig/libvirt.pc
|
|
%dir %{_datadir}/gtk-doc/html/libvirt/
|
|
%doc %{_datadir}/gtk-doc/html/libvirt/*.devhelp
|
|
%doc %{_datadir}/gtk-doc/html/libvirt/*.html
|
|
%doc %{_datadir}/gtk-doc/html/libvirt/*.png
|
|
%doc %{_datadir}/gtk-doc/html/libvirt/*.css
|
|
|
|
%doc docs/*.html docs/html docs/*.gif
|
|
%doc docs/libvirt-api.xml
|
|
%doc examples/hellolibvirt
|
|
%doc examples/domain-events/events-c
|
|
%doc examples/dominfo
|
|
%doc examples/domsuspend
|
|
%doc examples/openauth
|
|
%doc examples/xml
|
|
%doc examples/systemtap
|
|
|
|
%if %{with_python}
|
|
%files python
|
|
%defattr(-, root, root)
|
|
|
|
%doc AUTHORS NEWS README COPYING.LIB
|
|
%{_libdir}/python*/site-packages/libvirt.py*
|
|
%{_libdir}/python*/site-packages/libvirt_qemu.py*
|
|
%{_libdir}/python*/site-packages/libvirtmod*
|
|
%doc python/tests/*.py
|
|
%doc python/TODO
|
|
%doc examples/python
|
|
%doc examples/domain-events/events-python
|
|
%endif
|
|
|
|
%changelog
|
|
* Thu Sep 22 2011 Daniel Veillard <veillard@redhat.com> - 0.9.6-1
|
|
- Fix the qemu reboot bug and a few others bug fixes
|
|
|
|
* Tue Sep 20 2011 Daniel Veillard <veillard@redhat.com> - 0.9.5-1
|
|
- many snapshot improvements (Eric Blake)
|
|
- latency: Define new public API and structure (Osier Yang)
|
|
- USB2 and various USB improvements (Marc-André Lureau)
|
|
- storage: Add fs pool formatting (Osier Yang)
|
|
- Add public API for getting migration speed (Jim Fehlig)
|
|
- Add basic driver for Microsoft Hyper-V (Matthias Bolte)
|
|
- many improvements and bug fixes
|
|
|
|
* Wed Aug 3 2011 Daniel Veillard <veillard@redhat.com> - 0.9.4-1
|
|
- network bandwidth QoS control
|
|
- Add new API virDomainBlockPull*
|
|
- save: new API to manipulate save file images
|
|
- CPU bandwidth limits support
|
|
- allow to send NMI and key event to guests
|
|
- new API virDomainUndefineFlags
|
|
- Implement code to attach to external QEMU instances
|
|
- bios: Add support for SGA
|
|
- various missing python binding
|
|
- many improvements and bug fixes
|
|
|
|
* Mon Jul 4 2011 Daniel Veillard <veillard@redhat.com> - 0.9.3-1
|
|
- new API virDomainGetVcpupinInfo
|
|
- Add TXT record support for virtual DNS service
|
|
- Support reboots with the QEMU driver
|
|
- New API virDomainGetControlInfo API
|
|
- New API virNodeGetMemoryStats
|
|
- New API virNodeGetCPUTime
|
|
- New API for send-key
|
|
- New API virDomainPinVcpuFlags
|
|
- support multifunction PCI device
|
|
- lxc: various improvements
|
|
- many improvements and bug fixes
|
|
|
|
* Mon Jun 6 2011 Daniel Veillard <veillard@redhat.com> - 0.9.2-1
|
|
- Framework for lock manager plugins
|
|
- API for network config change transactions
|
|
- flags for setting memory parameters
|
|
- virDomainGetState public API
|
|
- qemu: allow blkstat/blkinfo calls during migration
|
|
- Introduce migration v3 API
|
|
- Defining the Screenshot public API
|
|
- public API for NMI injection
|
|
- Various improvements and bug fixes
|
|
|
|
* Thu May 5 2011 Daniel Veillard <veillard@redhat.com> - 0.9.1-1
|
|
- support various persistent domain updates
|
|
- improvements on memory APIs
|
|
- Add virDomainEventRebootNew
|
|
- various improvements to libxl driver
|
|
- Spice: support audio, images and stream compression
|
|
- Various improvements and bug fixes
|
|
|
|
* Mon Apr 4 2011 Daniel Veillard <veillard@redhat.com> - 0.9.0-1
|
|
- Support cputune cpu usage tuning
|
|
- Add public APIs for storage volume upload/download
|
|
- Add public API for setting migration speed on the fly
|
|
- Add libxenlight driver
|
|
- qemu: support migration to fd
|
|
- libvirt: add virDomain{Get,Set}BlkioParameters
|
|
- setmem: introduce a new libvirt API (virDomainSetMemoryFlags)
|
|
- Expose event loop implementation as a public API
|
|
- Dump the debug buffer to libvirtd.log on fatal signal
|
|
- Audit support
|
|
- Various improvements and bug fixes
|
|
|
|
* Thu Feb 17 2011 Daniel Veillard <veillard@redhat.com> - 0.8.8-1
|
|
- expose new API for sysinfo extraction
|
|
- cgroup blkio weight support
|
|
- smartcard device support
|
|
- qemu: Support per-device boot ordering
|
|
- Various improvements and bug fixes
|
|
|
|
* Tue Jan 4 2011 Daniel Veillard <veillard@redhat.com> - 0.8.7-1
|
|
- Preliminary support for VirtualBox 4.0
|
|
- IPv6 support
|
|
- Add VMware Workstation and Player driver driver
|
|
- Add network disk support
|
|
- Various improvements and bug fixes
|
|
|
|
* Tue Nov 30 2010 Daniel Veillard <veillard@redhat.com> - 0.8.6-1
|
|
- Add support for iSCSI target auto-discovery
|
|
- QED: Basic support for QED images
|
|
- remote console support
|
|
- support for SPICE graphics
|
|
- sysinfo and VMBIOS support
|
|
- virsh qemu-monitor-command
|
|
- various improvements and bug fixes
|
|
|
|
* Fri Oct 29 2010 Daniel Veillard <veillard@redhat.com> - 0.8.5-1
|
|
- Enable JSON and netdev features in QEMU >= 0.13
|
|
- framework for auditing integration
|
|
- framework DTrace/SystemTap integration
|
|
- Setting the number of vcpu at boot
|
|
- Enable support for nested SVM
|
|
- Virtio plan9fs filesystem QEMU
|
|
- Memory parameter controls
|
|
- various improvements and bug fixes
|
|
|
|
* Fri Sep 10 2010 Daniel Veillard <veillard@redhat.com> - 0.8.4-1
|
|
- big improvements to UML driver
|
|
- various improvements and bug fixes
|
|
|
|
* Wed Aug 4 2010 Daniel Veillard <veillard@redhat.com> - 0.8.3-1
|
|
- esx: Support vSphere 4.1
|
|
- Qemu arbitrary monitor commands
|
|
- Qemu Monitor API entry point
|
|
- various improvements and bug fixes
|
|
|
|
* Mon Jul 5 2010 Daniel Veillard <veillard@redhat.com> - 0.8.2-1
|
|
- phyp: adding support for IVM
|
|
- libvirt: introduce domainCreateWithFlags API
|
|
- add 802.1Qbh and 802.1Qbg switches handling
|
|
- Support for VirtualBox version 3.2
|
|
- Init script for handling guests on shutdown/boot
|
|
- qemu: live migration with non-shared storage for kvm
|
|
|
|
* Fri Apr 30 2010 Daniel Veillard <veillard@redhat.com> - 0.8.1-1
|
|
- Starts dnsmasq from libvirtd with --dhcp-hostsfile
|
|
- Add virDomainGetBlockInfo API to query disk sizing
|
|
- a lot of bug fixes and cleanups
|
|
|
|
* Mon Apr 12 2010 Daniel Veillard <veillard@redhat.com> - 0.8.0-1
|
|
- Snapshotting support (QEmu/VBox/ESX)
|
|
- Network filtering API
|
|
- XenAPI driver
|
|
- new APIs for domain events
|
|
- Libvirt managed save API
|
|
- timer subselection for domain clock
|
|
- synchronous hooks
|
|
- API to update guest CPU to host CPU
|
|
- virDomainUpdateDeviceFlags new API
|
|
- migrate max downtime API
|
|
- volume wiping API
|
|
- and many bug fixes
|
|
|
|
* Fri Mar 5 2010 Daniel Veillard <veillard@redhat.com> - 0.7.7-1
|
|
- macvtap support
|
|
- async job handling
|
|
- virtio channel
|
|
- computing baseline CPU
|
|
- virDomain{Attach,Detach}DeviceFlags
|
|
- assorted bug fixes and lots of cleanups
|
|
|
|
* Wed Feb 3 2010 Daniel Veillard <veillard@redhat.com> - 0.7.6-1
|
|
|
|
* Wed Dec 23 2009 Daniel Veillard <veillard@redhat.com> - 0.7.5-1
|
|
- Add new API virDomainMemoryStats
|
|
- Public API and domain extension for CPU flags
|
|
- vbox: Add support for version 3.1
|
|
- Support QEMU's virtual FAT block device driver
|
|
- a lot of fixes
|
|
|
|
* Fri Nov 20 2009 Daniel Veillard <veillard@redhat.com> - 0.7.3-1
|
|
- udev node device backend
|
|
- API to check object properties
|
|
- better QEmu monitor processing
|
|
- MAC address based port filtering for qemu
|
|
- support IPv6 and multiple addresses per interfaces
|
|
- a lot of fixes
|
|
|
|
* Tue Sep 15 2009 Daniel Veillard <veillard@redhat.com> - 0.7.1-1
|
|
- ESX, VBox driver updates
|
|
- mutipath support
|
|
- support for encrypted (qcow) volume
|
|
- compressed save image format for Qemu/KVM
|
|
- QEmu host PCI device hotplug support
|
|
- configuration of huge pages in guests
|
|
- a lot of fixes
|
|
|
|
* Wed Aug 5 2009 Daniel Veillard <veillard@redhat.com> - 0.7.0-1
|
|
- ESX, VBox3, Power Hypervisor drivers
|
|
- new net filesystem glusterfs
|
|
- Storage cloning for LVM and Disk backends
|
|
- interface implementation based on netcf
|
|
- Support cgroups in QEMU driver
|
|
- QEmu hotplug NIC support
|
|
- a lot of fixes
|
|
|
|
* Fri Jul 3 2009 Daniel Veillard <veillard@redhat.com> - 0.6.5-1
|
|
- release of 0.6.5
|
|
|
|
* Fri May 29 2009 Daniel Veillard <veillard@redhat.com> - 0.6.4-1
|
|
- release of 0.6.4
|
|
- various new APIs
|
|
|
|
* Fri Apr 24 2009 Daniel Veillard <veillard@redhat.com> - 0.6.3-1
|
|
- release of 0.6.3
|
|
- VirtualBox driver
|
|
|
|
* Fri Apr 3 2009 Daniel Veillard <veillard@redhat.com> - 0.6.2-1
|
|
- release of 0.6.2
|
|
|
|
* Fri Mar 4 2009 Daniel Veillard <veillard@redhat.com> - 0.6.1-1
|
|
- release of 0.6.1
|
|
|
|
* Sat Jan 31 2009 Daniel Veillard <veillard@redhat.com> - 0.6.0-1
|
|
- release of 0.6.0
|
|
|
|
* Tue Nov 25 2008 Daniel Veillard <veillard@redhat.com> - 0.5.0-1
|
|
- release of 0.5.0
|
|
|
|
* Tue Sep 23 2008 Daniel Veillard <veillard@redhat.com> - 0.4.6-1
|
|
- release of 0.4.6
|
|
|
|
* Mon Sep 8 2008 Daniel Veillard <veillard@redhat.com> - 0.4.5-1
|
|
- release of 0.4.5
|
|
|
|
* Wed Jun 25 2008 Daniel Veillard <veillard@redhat.com> - 0.4.4-1
|
|
- release of 0.4.4
|
|
- mostly a few bug fixes from 0.4.3
|
|
|
|
* Thu Jun 12 2008 Daniel Veillard <veillard@redhat.com> - 0.4.3-1
|
|
- release of 0.4.3
|
|
- lots of bug fixes and small improvements
|
|
|
|
* Tue Apr 8 2008 Daniel Veillard <veillard@redhat.com> - 0.4.2-1
|
|
- release of 0.4.2
|
|
- lots of bug fixes and small improvements
|
|
|
|
* Mon Mar 3 2008 Daniel Veillard <veillard@redhat.com> - 0.4.1-1
|
|
- Release of 0.4.1
|
|
- Storage APIs
|
|
- xenner support
|
|
- lots of assorted improvements, bugfixes and cleanups
|
|
- documentation and localization improvements
|
|
|
|
* Tue Dec 18 2007 Daniel Veillard <veillard@redhat.com> - 0.4.0-1
|
|
- Release of 0.4.0
|
|
- SASL based authentication
|
|
- PolicyKit authentication
|
|
- improved NUMA and statistics support
|
|
- lots of assorted improvements, bugfixes and cleanups
|
|
- documentation and localization improvements
|
|
|
|
* Sun Sep 30 2007 Daniel Veillard <veillard@redhat.com> - 0.3.3-1
|
|
- Release of 0.3.3
|
|
- Avahi support
|
|
- NUMA support
|
|
- lots of assorted improvements, bugfixes and cleanups
|
|
- documentation and localization improvements
|
|
|
|
* Tue Aug 21 2007 Daniel Veillard <veillard@redhat.com> - 0.3.2-1
|
|
- Release of 0.3.2
|
|
- API for domains migration
|
|
- APIs for collecting statistics on disks and interfaces
|
|
- lots of assorted bugfixes and cleanups
|
|
- documentation and localization improvements
|
|
|
|
* Tue Jul 24 2007 Daniel Veillard <veillard@redhat.com> - 0.3.1-1
|
|
- Release of 0.3.1
|
|
- localtime clock support
|
|
- PS/2 and USB input devices
|
|
- lots of assorted bugfixes and cleanups
|
|
- documentation and localization improvements
|
|
|
|
* Mon Jul 9 2007 Daniel Veillard <veillard@redhat.com> - 0.3.0-1
|
|
- Release of 0.3.0
|
|
- Secure remote access support
|
|
- unification of daemons
|
|
- lots of assorted bugfixes and cleanups
|
|
- documentation and localization improvements
|
|
|
|
* Fri Jun 8 2007 Daniel Veillard <veillard@redhat.com> - 0.2.3-1
|
|
- Release of 0.2.3
|
|
- lot of assorted bugfixes and cleanups
|
|
- support for Xen-3.1
|
|
- new scheduler API
|
|
|
|
* Tue Apr 17 2007 Daniel Veillard <veillard@redhat.com> - 0.2.2-1
|
|
- Release of 0.2.2
|
|
- lot of assorted bugfixes and cleanups
|
|
- preparing for Xen-3.0.5
|
|
|
|
* Thu Mar 22 2007 Jeremy Katz <katzj@redhat.com> - 0.2.1-2.fc7
|
|
- don't require xen; we don't need the daemon and can control non-xen now
|
|
- fix scriptlet error (need to own more directories)
|
|
- update description text
|
|
|
|
* Fri Mar 16 2007 Daniel Veillard <veillard@redhat.com> - 0.2.1-1
|
|
- Release of 0.2.1
|
|
- lot of bug and portability fixes
|
|
- Add support for network autostart and init scripts
|
|
- New API to detect the virtualization capabilities of a host
|
|
- Documentation updates
|
|
|
|
* Fri Feb 23 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-4.fc7
|
|
- Fix loading of guest & network configs
|
|
|
|
* Fri Feb 16 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-3.fc7
|
|
- Disable kqemu support since its not in Fedora qemu binary
|
|
- Fix for -vnc arg syntax change in 0.9.0 QEMU
|
|
|
|
* Thu Feb 15 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-2.fc7
|
|
- Fixed path to qemu daemon for autostart
|
|
- Fixed generation of <features> block in XML
|
|
- Pre-create config directory at startup
|
|
|
|
* Wed Feb 14 2007 Daniel Veillard <veillard@redhat.com> 0.2.0-1.fc7
|
|
- support for KVM and QEmu
|
|
- support for network configuration
|
|
- assorted fixes
|
|
|
|
* Mon Jan 22 2007 Daniel Veillard <veillard@redhat.com> 0.1.11-1.fc7
|
|
- finish inactive Xen domains support
|
|
- memory leak fix
|
|
- RelaxNG schemas for XML configs
|
|
|
|
* Wed Dec 20 2006 Daniel Veillard <veillard@redhat.com> 0.1.10-1.fc7
|
|
- support for inactive Xen domains
|
|
- improved support for Xen display and vnc
|
|
- a few bug fixes
|
|
- localization updates
|
|
|
|
* Thu Dec 7 2006 Jeremy Katz <katzj@redhat.com> - 0.1.9-2
|
|
- rebuild against python 2.5
|
|
|
|
* Wed Nov 29 2006 Daniel Veillard <veillard@redhat.com> 0.1.9-1
|
|
- better error reporting
|
|
- python bindings fixes and extensions
|
|
- add support for shareable drives
|
|
- add support for non-bridge style networking
|
|
- hot plug device support
|
|
- added support for inactive domains
|
|
- API to dump core of domains
|
|
- various bug fixes, cleanups and improvements
|
|
- updated the localization
|
|
|
|
* Tue Nov 7 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-3
|
|
- it's pkgconfig not pgkconfig !
|
|
|
|
* Mon Nov 6 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-2
|
|
- fixing spec file, added %dist, -devel requires pkgconfig and xen-devel
|
|
- Resolves: rhbz#202320
|
|
|
|
* Mon Oct 16 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-1
|
|
- fix missing page size detection code for ia64
|
|
- fix mlock size when getting domain info list from hypervisor
|
|
- vcpu number initialization
|
|
- don't label crashed domains as shut off
|
|
- fix virsh man page
|
|
- blktapdd support for alternate drivers like blktap
|
|
- memory leak fixes (xend interface and XML parsing)
|
|
- compile fix
|
|
- mlock/munlock size fixes
|
|
|
|
* Fri Sep 22 2006 Daniel Veillard <veillard@redhat.com> 0.1.7-1
|
|
- Fix bug when running against xen-3.0.3 hypercalls
|
|
- Fix memory bug when getting vcpus info from xend
|
|
|
|
* Fri Sep 22 2006 Daniel Veillard <veillard@redhat.com> 0.1.6-1
|
|
- Support for localization
|
|
- Support for new Xen-3.0.3 cdrom and disk configuration
|
|
- Support for setting VNC port
|
|
- Fix bug when running against xen-3.0.2 hypercalls
|
|
- Fix reconnection problem when talking directly to http xend
|
|
|
|
* Tue Sep 5 2006 Jeremy Katz <katzj@redhat.com> - 0.1.5-3
|
|
- patch from danpb to support new-format cd devices for HVM guests
|
|
|
|
* Tue Sep 5 2006 Daniel Veillard <veillard@redhat.com> 0.1.5-2
|
|
- reactivating ia64 support
|
|
|
|
* Tue Sep 5 2006 Daniel Veillard <veillard@redhat.com> 0.1.5-1
|
|
- new release
|
|
- bug fixes
|
|
- support for new hypervisor calls
|
|
- early code for config files and defined domains
|
|
|
|
* Mon Sep 4 2006 Daniel Berrange <berrange@redhat.com> - 0.1.4-5
|
|
- add patch to address dom0_ops API breakage in Xen 3.0.3 tree
|
|
|
|
* Mon Aug 28 2006 Jeremy Katz <katzj@redhat.com> - 0.1.4-4
|
|
- add patch to support paravirt framebuffer in Xen
|
|
|
|
* Mon Aug 21 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-3
|
|
- another patch to fix network handling in non-HVM guests
|
|
|
|
* Thu Aug 17 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-2
|
|
- patch to fix virParseUUID()
|
|
|
|
* Wed Aug 16 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-1
|
|
- vCPUs and affinity support
|
|
- more complete XML, console and boot options
|
|
- specific features support
|
|
- enforced read-only connections
|
|
- various improvements, bug fixes
|
|
|
|
* Wed Aug 2 2006 Jeremy Katz <katzj@redhat.com> - 0.1.3-6
|
|
- add patch from pvetere to allow getting uuid from libvirt
|
|
|
|
* Wed Aug 2 2006 Jeremy Katz <katzj@redhat.com> - 0.1.3-5
|
|
- build on ia64 now
|
|
|
|
* Thu Jul 27 2006 Jeremy Katz <katzj@redhat.com> - 0.1.3-4
|
|
- don't BR xen, we just need xen-devel
|
|
|
|
* Thu Jul 27 2006 Daniel Veillard <veillard@redhat.com> 0.1.3-3
|
|
- need rebuild since libxenstore is now versionned
|
|
|
|
* Mon Jul 24 2006 Mark McLoughlin <markmc@redhat.com> - 0.1.3-2
|
|
- Add BuildRequires: xen-devel
|
|
|
|
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 0.1.3-1.1
|
|
- rebuild
|
|
|
|
* Tue Jul 11 2006 Daniel Veillard <veillard@redhat.com> 0.1.3-1
|
|
- support for HVM Xen guests
|
|
- various bugfixes
|
|
|
|
* Mon Jul 3 2006 Daniel Veillard <veillard@redhat.com> 0.1.2-1
|
|
- added a proxy mechanism for read only access using httpu
|
|
- fixed header includes paths
|
|
|
|
* Wed Jun 21 2006 Daniel Veillard <veillard@redhat.com> 0.1.1-1
|
|
- extend and cleanup the driver infrastructure and code
|
|
- python examples
|
|
- extend uuid support
|
|
- bug fixes, buffer handling cleanups
|
|
- support for new Xen hypervisor API
|
|
- test driver for unit testing
|
|
- virsh --conect argument
|
|
|
|
* Mon Apr 10 2006 Daniel Veillard <veillard@redhat.com> 0.1.0-1
|
|
- various fixes
|
|
- new APIs: for Node information and Reboot
|
|
- virsh improvements and extensions
|
|
- documentation updates and man page
|
|
- enhancement and fixes of the XML description format
|
|
|
|
* Tue Feb 28 2006 Daniel Veillard <veillard@redhat.com> 0.0.6-1
|
|
- added error handling APIs
|
|
- small bug fixes
|
|
- improve python bindings
|
|
- augment documentation and regression tests
|
|
|
|
* Thu Feb 23 2006 Daniel Veillard <veillard@redhat.com> 0.0.5-1
|
|
- new domain creation API
|
|
- new UUID based APIs
|
|
- more tests, documentation, devhelp
|
|
- bug fixes
|
|
|
|
* Fri Feb 10 2006 Daniel Veillard <veillard@redhat.com> 0.0.4-1
|
|
- fixes some problems in 0.0.3 due to the change of names
|
|
|
|
* Wed Feb 8 2006 Daniel Veillard <veillard@redhat.com> 0.0.3-1
|
|
- changed library name to libvirt from libvir, complete and test the python
|
|
bindings
|
|
|
|
* Sun Jan 29 2006 Daniel Veillard <veillard@redhat.com> 0.0.2-1
|
|
- upstream release of 0.0.2, use xend, save and restore added, python bindings
|
|
fixed
|
|
|
|
* Wed Nov 2 2005 Daniel Veillard <veillard@redhat.com> 0.0.1-1
|
|
- created
|