X-Git-Url: http://git.onelab.eu/?p=libvirt.git;a=blobdiff_plain;f=libvirt.spec;h=03ec02b4b2869d80f7d0cc91c026bdfdedac991d;hp=27c8323d091580c9a43c95990a3983bb92631f18;hb=e5b0c8c44217264bea08a73cc463f13e887057db;hpb=65073a600b43a400a6021e61775efc0e83250d42 diff --git a/libvirt.spec b/libvirt.spec index 27c8323..03ec02b 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -1,38 +1,41 @@ # -*- rpm-spec -*- -%define mainstream_version 1.0.4 +%define mainstream_version 1.2.11 %define module_version_varname mainstream_version -%define taglevel 0 +%define taglevel 1 +%define packager PlanetLab/OneLab #libvirt-RPMFLAGS := --without storage-disk --without storage-iscsi --without storage-scsi \ -# --without storage-fs --without storage-lvm \ -# --without polkit --without sasl --without audit --with capng --with udev \ -# --without netcf --without avahi --without sanlock \ -# --without xen --without qemu --without hyperv --without phyp --without esx \ -# --without libxl \ -%define _without_storage_disk true -%define _without_storage_iscsi true -%define _without_storage_fs true -%define _without_storage_lvm true -%define _without_polkit true -%define _without_sasl true -%define _without_audit true -#interface requires netcf -#%define _without_netcf true -%define _without_avahi true -%define _without_sanlock true -%define _without_xen true -%define _without_qemu true -%define _without_hyperv true -%define _without_phyp true -%define _without_esx true -%define _without_libxl true - -# turn this off even on f18 as an attempt to get back /proc/meminfo -%define _without_fuse true - -%define enable_autotools 1 - +## --without storage-fs --without storage-lvm \ +## --without polkit --without sasl --without audit --with capng --with udev \ +## --without netcf --without avahi --without sanlock \ +## --without xen --without qemu --without hyperv --without phyp --without esx \ +## --without libxl --without vbox \ +%define _without_storage_disk true +%define _without_storage_iscsi true +%define _without_storage_fs true +%define _without_storage_lvm true +%define _without_polkit true +%define _without_sasl true +%define _without_audit true +%define _without_avahi true +%define _without_sanlock true +%define _without_xen true +%define _without_qemu true +%define _without_hyperv true +%define _without_phyp true +%define _without_esx true +%define _without_libxl true +%define _without_vbox true +%define _without_uml true + +#turn this off even on f18 as an attempt to get back /proc/meminfo +%define _without_fuse true + +%define enable_autotools 1 + +# This spec file assumes you are building for Fedora 13 or newer, +# or for RHEL 5 or newer. It may need some tweaks for other distros. # If neither fedora nor rhel was defined, try to guess them from %{dist} %if !0%{?rhel} && !0%{?fedora} %{expand:%(echo "%{?dist}" | \ @@ -48,8 +51,9 @@ # 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 +# Default to a full server + client build, but with the possibility +# of a command-line or ~/.rpmmacros override for client-only. +%{!?client_only:%define client_only 0} # Now turn off server build in certain cases @@ -83,13 +87,30 @@ %define with_lxc 0%{!?_without_lxc:%{server_drivers}} %define with_uml 0%{!?_without_uml:%{server_drivers}} %define with_libxl 0%{!?_without_libxl:%{server_drivers}} +%define with_vbox 0%{!?_without_vbox:%{server_drivers}} %define with_qemu_tcg %{with_qemu} -# Change if we ever provide qemu-kvm binaries on non-x86 hosts -%if 0%{?fedora} >= 18 - %define qemu_kvm_arches %{ix86} x86_64 ppc64 s390x -%else - %define qemu_kvm_arches %{ix86} x86_64 +%define qemu_kvm_arches %{ix86} x86_64 + +%if 0%{?fedora} + %if 0%{?fedora} < 16 + # Fedora doesn't have any QEMU on ppc64 until FC16 - only ppc + # I think F17 is the first release with the power64 macro + %ifarch ppc64 + %define with_qemu_tcg 0 + %endif + %endif + %if 0%{?fedora} >= 18 + %define qemu_kvm_arches %{ix86} x86_64 %{power64} s390x + %endif + %if 0%{?fedora} >= 20 + %define qemu_kvm_arches %{ix86} x86_64 %{power64} s390x %{arm} aarch64 + %endif +%endif + +%if 0%{?rhel} + %define with_qemu_tcg 0 + %define qemu_kvm_arches x86_64 %endif %ifarch %{qemu_kvm_arches} @@ -98,15 +119,19 @@ %define with_qemu_kvm 0 %endif +%if ! %{with_qemu_tcg} && ! %{with_qemu_kvm} + %define with_qemu 0 +%endif + # Then the hypervisor drivers that run outside libvirtd, in libvirt.so %define with_openvz 0%{!?_without_openvz:1} -%define with_vbox 0%{!?_without_vbox:1} %define with_vmware 0%{!?_without_vmware:1} %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} %define with_parallels 0%{!?_without_parallels:1} +# No test for bhyve, because it does not build on Linux # Then the secondary host drivers, which run inside libvirtd %define with_interface 0%{!?_without_interface:%{server_drivers}} @@ -126,9 +151,17 @@ %else %define with_storage_sheepdog 0 %endif +%if 0%{?fedora} >= 19 || 0%{?rhel} >= 6 + %define with_storage_gluster 0%{!?_without_storage_gluster:%{server_drivers}} +%else + %define with_storage_gluster 0 +%endif %define with_numactl 0%{!?_without_numactl:%{server_drivers}} %define with_selinux 0%{!?_without_selinux:%{server_drivers}} +# Just hardcode to off, since few people ever have apparmor RPMs installed +%define with_apparmor 0%{!?_without_apparmor:0} + # A few optional bits off by default, we enable later %define with_polkit 0%{!?_without_polkit:0} %define with_capng 0%{!?_without_capng:0} @@ -141,7 +174,6 @@ %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} @@ -149,10 +181,13 @@ %define with_numad 0%{!?_without_numad:0} %define with_firewalld 0%{!?_without_firewalld:0} %define with_libssh2 0%{!?_without_libssh2:0} +%define with_wireshark 0%{!?_without_wireshark:0} +%define with_systemd_daemon 0%{!?_without_systemd_daemon:0} +%define with_pm_utils 1 # Non-server/HV driver defaults which are always enabled -%define with_python 0%{!?_without_python:1} %define with_sasl 0%{!?_without_sasl:1} +%define with_audit 0%{!?_without_audit:1} # Finally set the OS / architecture specific special cases @@ -163,11 +198,23 @@ %define with_libxl 0 %endif +# vbox is available only on i386 x86_64 +%ifnarch %{ix86} x86_64 + %define with_vbox 0 +%endif + # Numactl is not available on s390[x] and ARM %ifarch s390 s390x %{arm} %define with_numactl 0 %endif +# libgfapi is built only on x86_64 on rhel +%ifnarch x86_64 + %if 0%{?rhel} >= 6 + %define with_storage_gluster 0 + %endif +%endif + # RHEL doesn't ship OpenVZ, VBox, UML, PowerHypervisor, # VMWare, libxenserver (xenapi), libxenlight (Xen 4.1 and newer), # or HyperV. @@ -187,6 +234,8 @@ # Fedora has systemd, libvirt still used sysvinit there. %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 %define with_systemd 1 + %define with_systemd_daemon 1 + %define with_pm_utils 0 %endif # Fedora 18 / RHEL-7 are first where firewalld support is enabled @@ -194,64 +243,36 @@ %define with_firewalld 1 %endif -# RHEL-5 has restricted QEMU to x86_64 only and is too old for LXC +# RHEL-5 is too old for LXC %if 0%{?rhel} == 5 - %define with_qemu_tcg 0 - %ifnarch x86_64 - %define with_qemu 0 - %define with_qemu_kvm 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 +# RHEL-6 stopped including Xen on all archs. %if 0%{?rhel} >= 6 - %define with_qemu_tcg 0 - %ifnarch x86_64 - %define with_qemu 0 - %define with_qemu_kvm 0 - %endif %define with_xen 0 %endif -# Fedora doesn't have any QEMU on ppc64 until FC16 - only ppc -%if 0%{?fedora} && 0%{?fedora} < 16 - %ifarch ppc64 - %define with_qemu 0 - %endif -%endif - # Fedora doesn't have new enough Xen for libxl until F18 %if 0%{?fedora} && 0%{?fedora} < 18 %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 - # fuse is used to provide virtualized /proc for LXC %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 %define with_fuse 0%{!?_without_fuse: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 +# RHEL 5 lacks newer tools +%if 0%{?rhel} == 5 %define with_hal 0%{!?_without_hal:%{server_drivers}} +%else + %define with_polkit 0%{!?_without_polkit:1} + %define with_capng 0%{!?_without_capng:1} + %define with_netcf 0%{!?_without_netcf:%{server_drivers}} + %define with_udev 0%{!?_without_udev:%{server_drivers}} + %define with_yajl 0%{!?_without_yajl:%{server_drivers}} + %define with_dtrace 1 %endif # interface requires netcf @@ -259,27 +280,31 @@ %define with_interface 0 %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 -# Sanlock is available only on i686 x86_64 for RHEL %if 0%{?fedora} >= 16 %define with_sanlock 0%{!?_without_sanlock:%{server_drivers}} %endif -%if 0%{?rhel} >= 6 - %ifarch %{ix86} x86_64 +%if 0%{?rhel} == 6 + %ifarch %{qemu_kvm_arches} + %define with_sanlock 0%{!?_without_sanlock:%{server_drivers}} + %endif +%endif +%if 0%{?rhel} >= 7 + %ifarch x86_64 %define with_sanlock 0%{!?_without_sanlock:%{server_drivers}} %endif %endif # Enable libssh2 transport for new enough distros -%if 0%{?fedora} >= 17 || 0%{?rhel} >= 6 +%if 0%{?fedora} >= 17 %define with_libssh2 0%{!?_without_libssh2:1} %endif +# Enable wireshark plugins for all distros shipping libvirt 1.2.2 or newer +%if 0%{?fedora} >= 21 + %define with_wireshark 0%{!?_without_wireshark:1} +%endif + # Disable some drivers when building without libvirt daemon. # The logic is the same as in configure.ac %if ! %{with_libvirtd} @@ -296,6 +321,7 @@ %define with_storage_mpath 0 %define with_storage_rbd 0 %define with_storage_sheepdog 0 + %define with_storage_gluster 0 %define with_storage_disk 0 %endif @@ -318,16 +344,8 @@ %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 0%{?fedora} || 0%{?rhel} >= 6 %if %{with_qemu} || %{with_lxc} %define with_cgconfig 0%{!?_without_cgconfig:1} %endif @@ -347,7 +365,7 @@ # Force QEMU to run as non-root -%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6 +%if 0%{?fedora} || 0%{?rhel} >= 6 %define qemu_user qemu %define qemu_group qemu %else @@ -371,6 +389,14 @@ %endif +# RHEL releases provide stable tool chains and so it is safe to turn +# compiler warning into errors without being worried about frequent +# changes in reported warnings +%if 0%{?rhel} + %define enable_werror --enable-werror +%endif + + Summary: Library providing a simple virtualization API Name: libvirt Version: %{mainstream_version} @@ -384,7 +410,6 @@ URL: http://libvirt.org/ %define mainturl stable_updates/ %endif Source: http://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.gz -Patch1: virgetlasterror.patch %if %{with_libvirtd} Requires: libvirt-daemon = %{version}-%{release} @@ -410,6 +435,12 @@ Requires: libvirt-daemon-driver-uml = %{version}-%{release} %if %{with_xen} Requires: libvirt-daemon-driver-xen = %{version}-%{release} %endif + %if %{with_vbox} +Requires: libvirt-daemon-driver-vbox = %{version}-%{release} + %endif + %if %{with_nwfilter} +Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release} + %endif %if %{with_interface} Requires: libvirt-daemon-driver-interface = %{version}-%{release} @@ -418,7 +449,6 @@ Requires: libvirt-daemon-driver-secret = %{version}-%{release} Requires: libvirt-daemon-driver-storage = %{version}-%{release} Requires: libvirt-daemon-driver-network = %{version}-%{release} Requires: libvirt-daemon-driver-nodedev = %{version}-%{release} -Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release} %endif %endif Requires: libvirt-client = %{version}-%{release} @@ -430,12 +460,18 @@ BuildRequires: autoconf BuildRequires: automake BuildRequires: gettext-devel BuildRequires: libtool +BuildRequires: /usr/bin/pod2man %endif -BuildRequires: python-devel +BuildRequires: git +BuildRequires: perl +BuildRequires: python %if %{with_systemd} BuildRequires: systemd-units %endif -%if %{with_xen} +%if %{with_systemd_daemon} +BuildRequires: systemd-devel +%endif +%if %{with_xen} || %{with_libxl} BuildRequires: xen-devel %endif BuildRequires: libxml2-devel @@ -445,9 +481,16 @@ BuildRequires: readline-devel BuildRequires: ncurses-devel BuildRequires: gettext BuildRequires: libtasn1-devel +%if (0%{?rhel} && 0%{?rhel} < 7) || (0%{?fedora} && 0%{?fedora} < 19) +BuildRequires: libgcrypt-devel +%endif BuildRequires: gnutls-devel BuildRequires: libattr-devel -%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6 +%if %{with_libvirtd} +# For pool-build probing for existing pools +BuildRequires: libblkid-devel >= 2.17 +%endif +%if 0%{?fedora} || 0%{?rhel} >= 6 # for augparse, optionally used in testing BuildRequires: augeas %endif @@ -490,10 +533,15 @@ BuildRequires: avahi-devel %if %{with_selinux} BuildRequires: libselinux-devel %endif +%if %{with_apparmor} +BuildRequires: libapparmor-devel +%endif %if %{with_network} BuildRequires: dnsmasq >= 2.41 BuildRequires: iptables + %if (0%{?fedora} && 0%{?fedora} < 17) || (0%{?rhel} && 0%{?rhel} < 7) BuildRequires: iptables-ipv6 + %endif BuildRequires: radvd %endif %if %{with_nwfilter} @@ -504,11 +552,14 @@ BuildRequires: module-init-tools 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 + %if 0%{?fedora} >= 20 || 0%{?rhel} >= 7 +BuildRequires: polkit-devel >= 0.112 %else + %if 0%{?fedora} || 0%{?rhel} >= 6 +BuildRequires: polkit-devel >= 0.93 + %else BuildRequires: PolicyKit-devel >= 0.6 + %endif %endif %endif %if %{with_storage_fs} @@ -540,7 +591,7 @@ BuildRequires: parted-devel BuildRequires: e2fsprogs-devel %endif %endif -%if %{with_storage_mpath} +%if %{with_storage_mpath} || %{with_storage_disk} # For Multipath support %if 0%{?rhel} == 5 # Broken RHEL-5 packaging has header files in main RPM :-( @@ -548,8 +599,17 @@ BuildRequires: device-mapper %else BuildRequires: device-mapper-devel %endif - %if %{with_storage_rbd} +%endif +%if %{with_storage_rbd} BuildRequires: ceph-devel +%endif +%if %{with_storage_gluster} + %if 0%{?rhel} >= 6 +BuildRequires: glusterfs-api-devel >= 3.4.0 +BuildRequires: glusterfs-devel >= 3.4.0 + %else +BuildRequires: glusterfs-api-devel >= 3.4.1 +BuildRequires: glusterfs-devel >= 3.4.1 %endif %endif %if %{with_numactl} @@ -561,7 +621,6 @@ BuildRequires: libcap-ng-devel >= 0.5.0 %endif %if %{with_fuse} BuildRequires: fuse-devel >= 2.8.6 -Requires: fuse %endif %if %{with_phyp} || %{with_libssh2} BuildRequires: libssh2-devel >= 1.3.0 @@ -579,7 +638,7 @@ BuildRequires: netcf-devel >= 0.1.4 %endif %endif %if %{with_esx} - %if 0%{?fedora} >= 9 || 0%{?rhel} >= 6 + %if 0%{?fedora} || 0%{?rhel} >= 6 BuildRequires: libcurl-devel %else BuildRequires: curl-devel @@ -618,6 +677,10 @@ BuildRequires: scrub BuildRequires: numad %endif +%if %{with_wireshark} +BuildRequires: wireshark-devel +%endif + Provides: bundled(gnulib) %description @@ -655,84 +718,17 @@ Requires: avahi Requires: avahi-libs %endif %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 - %if %{with_netcf} && (0%{?fedora} >= 18 || 0%{?rhel} >= 7) -Requires: netcf-libs >= 0.2.2 - %endif -# needed for device enumeration - %if %{with_hal} -Requires: hal - %endif - %if %{with_udev} - %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7 -Requires: systemd >= 185 - %else -Requires: udev >= 145 - %endif - %endif %if %{with_polkit} - %if 0%{?fedora} >= 12 || 0%{?rhel} >=6 -Requires: polkit >= 0.93 + %if 0%{?fedora} >= 20 || 0%{?rhel} >= 7 +Requires: polkit >= 0.112 %else + %if 0%{?fedora} || 0%{?rhel} >=6 +Requires: polkit >= 0.93 + %else Requires: PolicyKit >= 0.6 + %endif %endif %endif - %if %{with_storage_fs} -Requires: nfs-utils -# For mkfs -Requires: util-linux -# 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_storage_sheepdog} -# For Sheepdog support -Requires: sheepdog - %endif %if %{with_cgconfig} Requires: libcgroup %endif @@ -752,6 +748,8 @@ Requires: numad %endif # libvirtd depends on 'messagebus' service Requires: dbus +# For uid creation during pre +Requires(pre): shadow-utils %description daemon Server side daemon required to manage the virtualization capabilities @@ -764,6 +762,9 @@ Summary: Default configuration files for the libvirtd daemon Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} + %if %{with_driver_modules} +Requires: libvirt-daemon-driver-network = %{version}-%{release} + %endif %description daemon-config-network Default configuration files for setting up NAT based networking @@ -775,6 +776,9 @@ Summary: Network filter configuration files for the libvirtd daemon Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} + %if %{with_driver_modules} +Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release} + %endif %description daemon-config-nwfilter Network filter configuration files for cleaning guest traffic @@ -786,6 +790,12 @@ Network filter configuration files for cleaning guest traffic Summary: Network driver plugin for the libvirtd daemon Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} +Requires: dnsmasq >= 2.41 +Requires: radvd +Requires: iptables + %if (0%{?fedora} && 0%{?fedora} < 17) || (0%{?rhel} && 0%{?rhel} < 7) +Requires: iptables-ipv6 + %endif %description daemon-driver-network The network driver plugin for the libvirtd daemon, providing @@ -799,6 +809,11 @@ bridge capabilities. Summary: Nwfilter driver plugin for the libvirtd daemon Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} +Requires: iptables + %if (0%{?fedora} && 0%{?fedora} < 17) || (0%{?rhel} && 0%{?rhel} < 7) +Requires: iptables-ipv6 + %endif +Requires: ebtables %description daemon-driver-nwfilter The nwfilter driver plugin for the libvirtd daemon, providing @@ -812,6 +827,17 @@ iptables and ip6tables capabilities Summary: Nodedev driver plugin for the libvirtd daemon Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} +# needed for device enumeration + %if %{with_hal} +Requires: hal + %endif + %if %{with_udev} + %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7 +Requires: systemd >= 185 + %else +Requires: udev >= 145 + %endif + %endif %description daemon-driver-nodedev The nodedev driver plugin for the libvirtd daemon, providing @@ -825,6 +851,9 @@ capabilities. Summary: Interface driver plugin for the libvirtd daemon Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} + %if %{with_netcf} && (0%{?fedora} >= 18 || 0%{?rhel} >= 7) +Requires: netcf-libs >= 0.2.2 + %endif %description daemon-driver-interface The interface driver plugin for the libvirtd daemon, providing @@ -848,6 +877,45 @@ an implementation of the secret key APIs. Summary: Storage driver plugin for the libvirtd daemon Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} + %if %{with_storage_fs} +Requires: nfs-utils +# For mkfs +Requires: util-linux +# For glusterfs + %if 0%{?fedora} +Requires: glusterfs-client >= 2.0.1 + %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_storage_sheepdog} +# For Sheepdog support +Requires: sheepdog + %endif + %if %{with_qemu} +# From QEMU RPMs +Requires: /usr/bin/qemu-img + %else + %if %{with_xen} +# From Xen RPMs +Requires: /usr/sbin/qcow-create + %endif + %endif %description daemon-driver-storage The storage driver plugin for the libvirtd daemon, providing @@ -863,6 +931,12 @@ Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} # There really is a hard cross-driver dependency here Requires: libvirt-daemon-driver-network = %{version}-%{release} +Requires: /usr/bin/qemu-img +# For image compression +Requires: gzip +Requires: bzip2 +Requires: lzop +Requires: xz %description daemon-driver-qemu The qemu driver plugin for the libvirtd daemon, providing @@ -912,6 +986,19 @@ Xen %endif + %if %{with_vbox} +%package daemon-driver-vbox +Summary: VirtualBox driver plugin for the libvirtd daemon +Group: Development/Libraries +Requires: libvirt-daemon = %{version}-%{release} + +%description daemon-driver-vbox +The vbox driver plugin for the libvirtd daemon, providing +an implementation of the hypervisor driver APIs using +VirtualBox + %endif + + %if %{with_libxl} %package daemon-driver-libxl Summary: Libxl driver plugin for the libvirtd daemon @@ -1044,6 +1131,27 @@ Requires: xen Server side daemon and driver required to manage the virtualization capabilities of XEN %endif + + %if %{with_vbox} +%package daemon-vbox +Summary: Server side daemon & driver required to run VirtualBox guests +Group: Development/Libraries + +Requires: libvirt-daemon = %{version}-%{release} + %if %{with_driver_modules} +Requires: libvirt-daemon-driver-vbox = %{version}-%{release} +Requires: libvirt-daemon-driver-interface = %{version}-%{release} +Requires: libvirt-daemon-driver-network = %{version}-%{release} +Requires: libvirt-daemon-driver-nodedev = %{version}-%{release} +Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release} +Requires: libvirt-daemon-driver-secret = %{version}-%{release} +Requires: libvirt-daemon-driver-storage = %{version}-%{release} + %endif + +%description daemon-vbox +Server side daemon and driver required to manage the virtualization +capabilities of VirtualBox + %endif %endif # %{with_libvirtd} %package client @@ -1054,12 +1162,14 @@ 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. +# Needed by /usr/libexec/libvirt-guests.sh script. Requires: gettext # Needed by virt-pki-validate script. Requires: gnutls-utils +%if %{with_pm_utils} # Needed for probing the power management features of the host. Requires: pm-utils +%endif %if %{with_sasl} Requires: cyrus-sasl # Not technically required, but makes 'out-of-box' config @@ -1071,6 +1181,29 @@ Requires: cyrus-sasl-md5 Shared libraries and client binaries needed to access to the virtualization capabilities of recent versions of Linux (and other OSes). +%if %{with_wireshark} +%package wireshark +Summary: Wireshark dissector plugin for libvirt RPC transactions +Group: Development/Libraries +Requires: wireshark +Requires: %{name}-client = %{version}-%{release} + +%description wireshark +Wireshark dissector plugin for better analysis of libvirt RPC traffic. +%endif + +%if %{with_lxc} +%package login-shell +Summary: Login shell for connecting users to an LXC container +Group: Development/Libraries +Requires: %{name}-client = %{version}-%{release} + +%description login-shell +Provides the set-uid virt-login-shell binary that is used to +connect a user to an LXC container when they login, by switching +namespaces. +%endif + %package devel Summary: Libraries, includes, etc. to compile with the libvirt library Group: Development/Libraries @@ -1100,22 +1233,43 @@ 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 -%patch1 -p1 + +# Patches have to be stored in a temporary file because RPM has +# a limit on the length of the result of any macro expansion; +# if the string is longer, it's silently cropped +%{lua: + tmp = os.tmpname(); + f = io.open(tmp, "w+"); + count = 0; + for i, p in ipairs(patches) do + f:write(p.."\n"); + count = count + 1; + end; + f:close(); + print("PATCHCOUNT="..count.."\n") + print("PATCHLIST="..tmp.."\n") +} + +git init -q +git config user.name rpm-build +git config user.email rpm-build +git config gc.auto 0 +git add . +git commit -q -a --author 'rpm-build ' \ + -m '%{name}-%{version} base' + +COUNT=$(grep '\.patch$' $PATCHLIST | wc -l) +if [ $COUNT -ne $PATCHCOUNT ]; then + echo "Found $COUNT patches in $PATCHLIST, expected $PATCHCOUNT" + exit 1 +fi +if [ $COUNT -gt 0 ]; then + xargs git am <$PATCHLIST || exit 1 +fi +echo "Applied $COUNT patches" +rm -f $PATCHLIST %build %if ! %{with_xen} @@ -1178,10 +1332,6 @@ of recent versions of Linux (and other OSes). %define _without_polkit --without-polkit %endif -%if ! %{with_python} - %define _without_python --without-python -%endif - %if ! %{with_libvirtd} %define _without_libvirtd --without-libvirtd %endif @@ -1230,6 +1380,10 @@ of recent versions of Linux (and other OSes). %define _without_storage_sheepdog --without-storage-sheepdog %endif +%if ! %{with_storage_gluster} + %define _without_storage_gluster --without-storage-gluster +%endif + %if ! %{with_numactl} %define _without_numactl --without-numactl %endif @@ -1254,6 +1408,10 @@ of recent versions of Linux (and other OSes). %define _without_selinux --without-selinux %endif +%if ! %{with_apparmor} + %define _without_apparmor --without-apparmor +%endif + %if ! %{with_hal} %define _without_hal --without-hal %endif @@ -1294,6 +1452,18 @@ of recent versions of Linux (and other OSes). %define _with_firewalld --with-firewalld %endif +%if ! %{with_wireshark} + %define _without_wireshark --without-wireshark-dissector +%endif + +%if ! %{with_systemd_daemon} + %define _without_systemd_daemon --without-systemd-daemon +%endif + +%if ! %{with_pm_utils} + %define _without_pm_utils --without-pm-utils +%endif + %define when %(date +"%%F-%%T") %define where %(hostname) %define who %{?packager}%{!?packager:Unknown} @@ -1306,10 +1476,6 @@ of recent versions of Linux (and other OSes). %define init_scripts --with-init_script=redhat %endif -%if 0%{?enable_autotools} - autoreconf -if -%endif - %if %{with_selinux} %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7 %define with_selinux_mount --with-selinux-mount="/sys/fs/selinux" @@ -1318,6 +1484,13 @@ of recent versions of Linux (and other OSes). %endif %endif +# place macros above and build commands below this comment + +%if 0%{?enable_autotools} + autoreconf -if +%endif + +rm -f po/stamp-po %configure %{?_without_xen} \ %{?_without_qemu} \ %{?_without_openvz} \ @@ -1328,7 +1501,6 @@ of recent versions of Linux (and other OSes). %{?_without_sasl} \ %{?_without_avahi} \ %{?_without_polkit} \ - %{?_without_python} \ %{?_without_libvirtd} \ %{?_without_uml} \ %{?_without_phyp} \ @@ -1336,6 +1508,7 @@ of recent versions of Linux (and other OSes). %{?_without_hyperv} \ %{?_without_vmware} \ %{?_without_parallels} \ + --without-bhyve \ %{?_without_interface} \ %{?_without_network} \ %{?_with_rhel5_api} \ @@ -1346,6 +1519,7 @@ of recent versions of Linux (and other OSes). %{?_without_storage_mpath} \ %{?_without_storage_rbd} \ %{?_without_storage_sheepdog} \ + %{?_without_storage_gluster} \ %{?_without_numactl} \ %{?_without_numad} \ %{?_without_capng} \ @@ -1353,6 +1527,7 @@ of recent versions of Linux (and other OSes). %{?_without_netcf} \ %{?_without_selinux} \ %{?_with_selinux_mount} \ + %{?_without_apparmor} \ %{?_without_hal} \ %{?_without_udev} \ %{?_without_yajl} \ @@ -1363,10 +1538,15 @@ of recent versions of Linux (and other OSes). %{?_without_dtrace} \ %{?_without_driver_modules} \ %{?_with_firewalld} \ + %{?_without_wireshark} \ + %{?_without_systemd_daemon} \ + %{?_without_pm_utils} \ %{with_packager} \ %{with_packager_version} \ --with-qemu-user=%{qemu_user} \ --with-qemu-group=%{qemu_group} \ + %{?enable_werror} \ + --enable-expensive-tests \ %{init_scripts} make %{?_smp_mflags} gzip -9 ChangeLog @@ -1374,21 +1554,26 @@ gzip -9 ChangeLog %install rm -fr %{buildroot} -%makeinstall SYSTEMD_UNIT_DIR=%{buildroot}%{_unitdir} -for i in domain-events/events-c dominfo domsuspend hellolibvirt openauth python xml/nwfilter systemtap +# Avoid using makeinstall macro as it changes prefixes rather than setting +# DESTDIR. Newer make_install macro would be better but it's not available +# on RHEL 5, thus we need to expand it here. +make install DESTDIR=%{?buildroot} SYSTEMD_UNIT_DIR=%{_unitdir} + +for i in object-events dominfo domsuspend hellolibvirt openauth xml/nwfilter systemtap dommigrate domtop 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_driver_modules} rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.la rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.a %endif +%if %{with_wireshark} +rm -f $RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/*/libvirt.la +%endif %if %{with_network} install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/lib/libvirt/dnsmasq/ @@ -1422,12 +1607,6 @@ 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} -%else -rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-python-%{version}/examples -%endif - %if ! %{with_qemu} rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.qemu @@ -1440,8 +1619,8 @@ rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.lxc rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.uml %endif -mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{version} \ - $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-docs-%{version} +# Copied into libvirt-docs subpackage eventually +mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{version} libvirt-docs %if %{with_dtrace} %ifarch %{power64} s390x x86_64 ia64 alpha sparc64 @@ -1452,7 +1631,7 @@ mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes.stp \ %endif %endif -%if 0%{?fedora} < 14 && 0%{?rhel} < 6 +%if 0%{?rhel} == 5 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/sysctl.d/libvirtd.conf %endif @@ -1460,6 +1639,12 @@ rm -f $RPM_BUILD_ROOT%{_prefix}/lib/sysctl.d/libvirtd.conf rm -fr %{buildroot} %check +# PlanetLab build +# do not run tests, this is mainstream business, and more importantly +# our own setup is ti build inside a container already and we've seen +# occasional red herrings because of that +exit +# cd tests make # These tests don't current work in a mock build root @@ -1470,73 +1655,45 @@ do printf '#!/bin/sh\nexit 0\n' > $i chmod +x $i done -make check +if ! make check VIR_TEST_DEBUG=1 +then + cat test-suite.log || true + exit 1 +fi %if %{with_libvirtd} + %if ! %{with_driver_modules} + %if %{with_qemu} %pre daemon - %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 + %if 0%{?fedora} || 0%{?rhel} >= 6 +# We want soft static allocation of well-known ids, as disk images +# are commonly shared across NFS mounts by id rather than name; see +# https://fedoraproject.org/wiki/Packaging:UsersAndGroups +getent group kvm >/dev/null || groupadd -f -g 36 -r kvm +getent group qemu >/dev/null || groupadd -f -g 107 -r qemu +if ! getent passwd qemu >/dev/null; then + if ! getent passwd 107 >/dev/null; then + useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu + else + useradd -r -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu + fi +fi +exit 0 + %endif + %endif %endif %post daemon - %if %{with_network} -# 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|\(|" \ - $dir/$file - if test $? != 0 - then - echo "failed to add " \ - "to $dir/$file" - mv -f $dir/$file.orig $dir/$file - else - rm -f $dir/$file.orig - fi - fi - done -done - %endif - %if %{with_systemd} %if %{with_systemd_macros} - %systemd_post libvirtd.service + %systemd_post virtlockd.socket libvirtd.service libvirtd.socket %else if [ $1 -eq 1 ] ; then # Initial installation - /bin/systemctl enable virtlockd.socket >/dev/null 2>&1 || : - /bin/systemctl enable libvirtd.service >/dev/null 2>&1 || : + /bin/systemctl enable \ + virtlockd.socket \ + libvirtd.service >/dev/null 2>&1 || : fi %endif %else @@ -1551,53 +1708,94 @@ fi %endif /sbin/chkconfig --add libvirtd -if [ "$1" -ge "1" ]; then - /sbin/service libvirtd condrestart > /dev/null 2>&1 -fi +/sbin/chkconfig --add virtlockd %endif %preun daemon %if %{with_systemd} %if %{with_systemd_macros} - %systemd_preun libvirtd.service + %systemd_preun libvirtd.socket libvirtd.service virtlockd.socket virtlockd.service %else if [ $1 -eq 0 ] ; then # Package removal, not upgrade - /bin/systemctl --no-reload disable virtlockd.socket > /dev/null 2>&1 || : - /bin/systemctl --no-reload disable libvirtd.service > /dev/null 2>&1 || : - /bin/systemctl stop libvirtd.service > /dev/null 2>&1 || : - /bin/systemctl stop virtlockd.service > /dev/null 2>&1 || : + /bin/systemctl --no-reload disable \ + libvirtd.socket \ + libvirtd.service \ + virtlockd.socket \ + virtlockd.service > /dev/null 2>&1 || : + /bin/systemctl stop \ + libvirtd.socket \ + libvirtd.service \ + virtlockd.socket \ + virtlockd.service > /dev/null 2>&1 || : fi %endif %else if [ $1 = 0 ]; then /sbin/service libvirtd stop 1>/dev/null 2>&1 /sbin/chkconfig --del libvirtd + /sbin/service virtlockd stop 1>/dev/null 2>&1 + /sbin/chkconfig --del virtlockd fi %endif %postun daemon %if %{with_systemd} - %if %{with_systemd_macros} - %systemd_postun_with_restart libvirtd.service - %else /bin/systemctl daemon-reload >/dev/null 2>&1 || : if [ $1 -ge 1 ] ; then - # Package upgrade, not uninstall - /bin/systemctl status virtlockd.service >/dev/null 2>&1 - if [ $? = 1 ] ; then - /bin/systemctl kill --signal=USR1 virtlockd.service >/dev/null 2>&1 || : - fi + /bin/systemctl reload-or-try-restart virtlockd.service >/dev/null 2>&1 || : /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || : fi - %endif + %else +if [ $1 -ge 1 ]; then + /sbin/service virtlockd reload > /dev/null 2>&1 || : + /sbin/service libvirtd condrestart > /dev/null 2>&1 +fi + %endif + + %if %{with_systemd} + %else +%triggerpostun daemon -- libvirt-daemon < 1.2.1 +if [ "$1" -ge "1" ]; then + /sbin/service virtlockd reload > /dev/null 2>&1 || : + /sbin/service libvirtd condrestart > /dev/null 2>&1 +fi %endif %if %{with_network} %post daemon-config-network if test $1 -eq 1 && test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml ; then + # see if the network used by default network creates a conflict, + # and try to resolve it + # NB: 192.168.122.0/24 is used in the default.xml template file; + # do not modify any of those values here without also modifying + # them in the template. + orig_sub=122 + sub=${orig_sub} + nl=' +' + routes="${nl}$(ip route show | cut -d' ' -f1)${nl}" + case ${routes} in + *"${nl}192.168.${orig_sub}.0/24${nl}"*) + # there was a match, so we need to look for an unused subnet + for new_sub in $(seq 124 254); do + case ${routes} in + *"${nl}192.168.${new_sub}.0/24${nl}"*) + ;; + *) + sub=$new_sub + break; + ;; + esac + done + ;; + *) + ;; + esac + UUID=`/usr/bin/uuidgen` - sed -e "s,,\n $UUID," \ + sed -e "s/${orig_sub}/${sub}/g" \ + -e "s,,\n $UUID," \ < %{_datadir}/libvirt/networks/default.xml \ > %{_sysconfdir}/libvirt/qemu/networks/default.xml ln -s ../default.xml %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml @@ -1615,6 +1813,27 @@ fi /sbin/chkconfig --del libvirtd >/dev/null 2>&1 || : /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || : %endif + + %if %{with_driver_modules} + %if %{with_qemu} +%pre daemon-driver-qemu + %if 0%{?fedora} || 0%{?rhel} >= 6 +# We want soft static allocation of well-known ids, as disk images +# are commonly shared across NFS mounts by id rather than name; see +# https://fedoraproject.org/wiki/Packaging:UsersAndGroups +getent group kvm >/dev/null || groupadd -f -g 36 -r kvm +getent group qemu >/dev/null || groupadd -f -g 107 -r qemu +if ! getent passwd qemu >/dev/null; then + if ! getent passwd 107 >/dev/null; then + useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu + else + useradd -r -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu + fi +fi +exit 0 + %endif + %endif + %endif %endif # %{with_libvirtd} %preun client @@ -1646,7 +1865,7 @@ fi /sbin/ldconfig %if %{with_systemd} %if %{with_systemd_macros} - %systemd_postun_with_restart libvirt-guests.service + %systemd_postun libvirt-guests.service %endif %triggerun client -- libvirt < 0.9.4 %{_bindir}/systemd-sysv-convert --save libvirt-guests >/dev/null 2>&1 ||: @@ -1654,9 +1873,8 @@ fi # If the package is allowed to autostart: /bin/systemctl --no-reload enable libvirt-guests.service >/dev/null 2>&1 ||: -# Run these because the SysV package being removed won't do them +# Run this because the SysV package being removed won't do them /sbin/chkconfig --del libvirt-guests >/dev/null 2>&1 || : -/bin/systemctl try-restart libvirt-guests.service >/dev/null 2>&1 || : %endif %if %{with_sanlock} @@ -1667,15 +1885,18 @@ if getent group sanlock > /dev/null ; then fi %endif +%if %{with_lxc} +%pre login-shell +getent group virtlogin >/dev/null || groupadd -r virtlogin +exit 0 +%endif + %files %defattr(-, root, root) %files docs %defattr(-, root, root) -# Website -%dir %{_datadir}/doc/libvirt-docs-%{version} -%dir %{_datadir}/doc/libvirt-docs-%{version}/html -%{_datadir}/doc/libvirt-docs-%{version}/html/* +%doc AUTHORS ChangeLog.gz NEWS README TODO libvirt-docs/* # API docs %dir %{_datadir}/gtk-doc/html/libvirt/ @@ -1688,19 +1909,11 @@ fi %files daemon %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/ - %if %{with_systemd} %{_unitdir}/libvirtd.service +%{_unitdir}/libvirtd.socket %{_unitdir}/virtlockd.service %{_unitdir}/virtlockd.socket %else @@ -1711,37 +1924,14 @@ fi %config(noreplace) %{_sysconfdir}/sysconfig/libvirtd %config(noreplace) %{_sysconfdir}/sysconfig/virtlockd %config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf - %if 0%{?fedora} >= 14 || 0%{?rhel} >= 6 +%config(noreplace) %{_sysconfdir}/libvirt/virtlockd.conf + %if 0%{?fedora} || 0%{?rhel} >= 6 %config(noreplace) %{_prefix}/lib/sysctl.d/libvirtd.conf %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}/libvirt/qemu-lockd.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 - %ghost %dir %{_localstatedir}/run/libvirt/ %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/images/ @@ -1749,53 +1939,22 @@ fi %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/boot/ %dir %attr(0711, root, root) %{_localstatedir}/cache/libvirt/ - %if %{with_qemu} -%ghost %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} -%ghost %dir %{_localstatedir}/run/libvirt/lxc/ -%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/ - %endif - %if %{with_uml} -%ghost %dir %{_localstatedir}/run/libvirt/uml/ -%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/ - %endif - %if %{with_libxl} -%ghost %dir %{_localstatedir}/run/libvirt/libxl/ -%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/ - %endif - %if %{with_xen} -%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/xen/ - %endif - %if %{with_network} -%ghost %dir %{_localstatedir}/run/libvirt/network/ -%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/ -%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/ - %endif %dir %attr(0755, root, root) %{_libdir}/libvirt/lock-driver %attr(0755, root, root) %{_libdir}/libvirt/lock-driver/lockd.so - %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 +%{_datadir}/augeas/lenses/virtlockd.aug +%{_datadir}/augeas/lenses/tests/test_virtlockd.aug %{_datadir}/augeas/lenses/libvirt_lockd.aug -%{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug +# PL: is it because we don't run tests ? +#%{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug %if %{with_polkit} - %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6 + %if 0%{?fedora} || 0%{?rhel} >= 6 %{_datadir}/polkit-1/actions/org.libvirt.unix.policy +%{_datadir}/polkit-1/actions/org.libvirt.api.policy %else %{_datadir}/PolicyKit/policy/org.libvirt.unix.policy %endif @@ -1803,32 +1962,92 @@ fi %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/ - %if %{with_lxc} -%attr(0755, root, root) %{_libexecdir}/libvirt_lxc - %endif +%attr(0755, root, root) %{_libexecdir}/libvirt_iohelper - %if %{with_storage_disk} -%attr(0755, root, root) %{_libexecdir}/libvirt_parthelper + %if %{with_apparmor} +%attr(0755, root, root) %{_libexecdir}/virt-aa-helper %endif -%attr(0755, root, root) %{_libexecdir}/libvirt_iohelper %attr(0755, root, root) %{_sbindir}/libvirtd %attr(0755, root, root) %{_sbindir}/virtlockd %{_mandir}/man8/libvirtd.8* +%{_mandir}/man8/virtlockd.8* - %if %{with_driver_modules} + %if ! %{with_driver_modules} + %if %{with_network} || %{with_qemu} +%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/ + %endif + %if %{with_network} || %{with_nwfilter} +%ghost %dir %{_localstatedir}/run/libvirt/network/ + %endif %if %{with_network} +%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/ +%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/ +%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/ +%attr(0755, root, root) %{_libexecdir}/libvirt_leaseshelper + %endif + %if %{with_nwfilter} +%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/ + %endif + %if %{with_storage_disk} +%attr(0755, root, root) %{_libexecdir}/libvirt_parthelper + %endif + %if %{with_qemu} +%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf +%config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf +%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/ +%ghost %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}/lib/libvirt/qemu/channel/ +%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/channel/target/ +%dir %attr(0711, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/nvram/ +%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/ +%{_datadir}/augeas/lenses/libvirtd_qemu.aug +%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug + %endif + %if %{with_lxc} +%config(noreplace) %{_sysconfdir}/libvirt/lxc.conf +%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/ +%ghost %dir %{_localstatedir}/run/libvirt/lxc/ +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/ +%{_datadir}/augeas/lenses/libvirtd_lxc.aug +%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug +%attr(0755, root, root) %{_libexecdir}/libvirt_lxc + %endif + %if %{with_uml} +%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/ +%ghost %dir %{_localstatedir}/run/libvirt/uml/ +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/ + %endif + %if %{with_libxl} +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/libxl/ +%ghost %dir %{_localstatedir}/run/libvirt/libxl/ +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/ + %endif + %if %{with_xen} +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/xen/ + %endif + %endif # ! %{with_driver_modules} + + %if %{with_network} %files daemon-config-network %defattr(-, root, root) - %endif +%dir %{_datadir}/libvirt/networks/ +%{_datadir}/libvirt/networks/default.xml + %endif - %if %{with_nwfilter} + %if %{with_nwfilter} %files daemon-config-nwfilter %defattr(-, root, root) %{_sysconfdir}/libvirt/nwfilter/*.xml - %endif + %endif + %if %{with_driver_modules} %if %{with_interface} %files daemon-driver-interface %defattr(-, root, root) @@ -1838,6 +2057,13 @@ fi %if %{with_network} %files daemon-driver-network %defattr(-, root, root) +%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 +%ghost %dir %{_localstatedir}/run/libvirt/network/ +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/ +%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/ +%attr(0755, root, root) %{_libexecdir}/libvirt_leaseshelper %{_libdir}/%{name}/connection-driver/libvirt_driver_network.so %endif @@ -1850,6 +2076,8 @@ fi %if %{with_nwfilter} %files daemon-driver-nwfilter %defattr(-, root, root) +%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/ +%ghost %dir %{_localstatedir}/run/libvirt/network/ %{_libdir}/%{name}/connection-driver/libvirt_driver_nwfilter.so %endif @@ -1860,38 +2088,78 @@ fi %if %{with_storage} %files daemon-driver-storage %defattr(-, root, root) + %if %{with_storage_disk} +%attr(0755, root, root) %{_libexecdir}/libvirt_parthelper + %endif %{_libdir}/%{name}/connection-driver/libvirt_driver_storage.so %endif %if %{with_qemu} %files daemon-driver-qemu %defattr(-, root, root) +%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/ +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/ +%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf +%config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf +%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu +%ghost %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}/lib/libvirt/qemu/channel/ +%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/channel/target/ +%dir %attr(0711, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/nvram/ +%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/ +%{_datadir}/augeas/lenses/libvirtd_qemu.aug +%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug %{_libdir}/%{name}/connection-driver/libvirt_driver_qemu.so %endif %if %{with_lxc} %files daemon-driver-lxc %defattr(-, root, root) +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/ +%config(noreplace) %{_sysconfdir}/libvirt/lxc.conf +%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc +%ghost %dir %{_localstatedir}/run/libvirt/lxc/ +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/ +%{_datadir}/augeas/lenses/libvirtd_lxc.aug +%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug +%attr(0755, root, root) %{_libexecdir}/libvirt_lxc %{_libdir}/%{name}/connection-driver/libvirt_driver_lxc.so %endif %if %{with_uml} %files daemon-driver-uml %defattr(-, root, root) +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/ +%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml +%ghost %dir %{_localstatedir}/run/libvirt/uml/ +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/ %{_libdir}/%{name}/connection-driver/libvirt_driver_uml.so %endif %if %{with_xen} %files daemon-driver-xen %defattr(-, root, root) +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/xen/ %{_libdir}/%{name}/connection-driver/libvirt_driver_xen.so %endif %if %{with_libxl} %files daemon-driver-libxl %defattr(-, root, root) +%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/libxl/ +%ghost %dir %{_localstatedir}/run/libvirt/libxl/ +%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/ %{_libdir}/%{name}/connection-driver/libvirt_driver_libxl.so %endif + + %if %{with_vbox} +%files daemon-driver-vbox +%defattr(-, root, root) +%{_libdir}/%{name}/connection-driver/libvirt_driver_vbox.so +%{_libdir}/%{name}/connection-driver/libvirt_driver_vbox_network.so +%{_libdir}/%{name}/connection-driver/libvirt_driver_vbox_storage.so + %endif %endif # %{with_driver_modules} %if %{with_qemu_tcg} @@ -1916,6 +2184,11 @@ fi %if %{with_xen} || %{with_libxl} %files daemon-xen +%defattr(-, root, root) + %endif + + %if %{with_vbox} +%files daemon-vbox %defattr(-, root, root) %endif %endif # %{with_libvirtd} @@ -1937,7 +2210,7 @@ fi %files client -f %{name}.lang %defattr(-, root, root) -%doc AUTHORS ChangeLog.gz NEWS README COPYING.LIB TODO +%doc COPYING COPYING.LESSER %config(noreplace) %{_sysconfdir}/libvirt/libvirt.conf %{_mandir}/man1/virsh.1* @@ -1948,7 +2221,9 @@ fi %{_bindir}/virt-xml-validate %{_bindir}/virt-pki-validate %{_bindir}/virt-host-validate -%{_libdir}/lib*.so.* +%{_libdir}/libvirt.so.* +%{_libdir}/libvirt-qemu.so.* +%{_libdir}/libvirt-lxc.so.* %if %{with_dtrace} %{_datadir}/systemtap/tapset/libvirt_probes*.stp @@ -1962,6 +2237,7 @@ fi %{_datadir}/libvirt/schemas/basictypes.rng %{_datadir}/libvirt/schemas/capability.rng %{_datadir}/libvirt/schemas/domain.rng +%{_datadir}/libvirt/schemas/domaincaps.rng %{_datadir}/libvirt/schemas/domaincommon.rng %{_datadir}/libvirt/schemas/domainsnapshot.rng %{_datadir}/libvirt/schemas/interface.rng @@ -1970,11 +2246,12 @@ fi %{_datadir}/libvirt/schemas/nodedev.rng %{_datadir}/libvirt/schemas/nwfilter.rng %{_datadir}/libvirt/schemas/secret.rng -%{_datadir}/libvirt/schemas/storageencryption.rng +%{_datadir}/libvirt/schemas/storagecommon.rng %{_datadir}/libvirt/schemas/storagepool.rng %{_datadir}/libvirt/schemas/storagevol.rng %{_datadir}/libvirt/cpu_map.xml +%{_datadir}/libvirt/libvirtLogo.png %if %{with_systemd} %{_unitdir}/libvirt-guests.service @@ -1989,13 +2266,43 @@ fi %config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf %endif +%if %{with_wireshark} +%files wireshark +%{_libdir}/wireshark/plugins/*/libvirt.so +%endif + +%if %{with_lxc} +%files login-shell +%attr(4750, root, virtlogin) %{_bindir}/virt-login-shell +%config(noreplace) %{_sysconfdir}/libvirt/virt-login-shell.conf +%{_mandir}/man1/virt-login-shell.1* +%endif + %files devel %defattr(-, root, root) -%{_libdir}/lib*.so +%{_libdir}/libvirt.so +%{_libdir}/libvirt-qemu.so +%{_libdir}/libvirt-lxc.so %dir %{_includedir}/libvirt -%{_includedir}/libvirt/*.h +%{_includedir}/libvirt/virterror.h +%{_includedir}/libvirt/libvirt.h +%{_includedir}/libvirt/libvirt-domain.h +%{_includedir}/libvirt/libvirt-domain-snapshot.h +%{_includedir}/libvirt/libvirt-event.h +%{_includedir}/libvirt/libvirt-host.h +%{_includedir}/libvirt/libvirt-interface.h +%{_includedir}/libvirt/libvirt-network.h +%{_includedir}/libvirt/libvirt-nodedev.h +%{_includedir}/libvirt/libvirt-nwfilter.h +%{_includedir}/libvirt/libvirt-secret.h +%{_includedir}/libvirt/libvirt-storage.h +%{_includedir}/libvirt/libvirt-stream.h +%{_includedir}/libvirt/libvirt-qemu.h +%{_includedir}/libvirt/libvirt-lxc.h %{_libdir}/pkgconfig/libvirt.pc +%{_libdir}/pkgconfig/libvirt-qemu.pc +%{_libdir}/pkgconfig/libvirt-lxc.pc %dir %{_datadir}/libvirt/api/ %{_datadir}/libvirt/api/libvirt-api.xml @@ -2005,31 +2312,176 @@ fi %doc docs/*.html docs/html docs/*.gif %doc docs/libvirt-api.xml %doc examples/hellolibvirt -%doc examples/domain-events/events-c +%doc examples/object-events %doc examples/dominfo %doc examples/domsuspend +%doc examples/dommigrate %doc examples/openauth %doc examples/xml %doc examples/systemtap -%if %{with_python} -%files python -%defattr(-, root, root) +%changelog +* Sat Dec 13 2014 Daniel Veillard - 1.2.11-1 +- CVE-2014-8131: Fix possible deadlock and segfault in qemuConnectGetAllDomainStats() +- CVE-2014-7823: dumpxml: security hole with migratable flag +- Implement public API for virDomainGetFSInfo +- Add define support for the new throttle options +- a number of improvements and bug fixes + +* Mon Nov 3 2014 Daniel Veillard - 1.2.10-1 +- vbox: various drivers improvements +- libxl: various drivers improvements +- Internal driver refactoring +- a number of improvements and bug fixes + +* Wed Oct 1 2014 Daniel Veillard - 1.2.9-1 +- CVE-2014-3657: domain_conf: fix domain deadlock +- CVE-2014-3633: qemu: blkiotune: Use correct definition when looking up disk +- Introduce virNodeAllocPages +- event: introduce new event for tunable values +- add migration support for OpenVZ driver +- Add support for fetching statistics of completed jobs +- many improvements and bug fixes -%doc AUTHORS NEWS README COPYING.LIB -%{_libdir}/python*/site-packages/libvirt.py* -%{_libdir}/python*/site-packages/libvirt_qemu.py* -%{_libdir}/python*/site-packages/libvirt_lxc.py* -%{_libdir}/python*/site-packages/libvirtmod* -%doc python/tests/*.py -%doc python/TODO -%doc examples/python -%doc examples/domain-events/events-python -%endif +* Tue Sep 2 2014 Daniel Veillard - 1.2.8-1 +- blockcopy: virDomainBlockCopy with XML destination, typed params +- Introduce API for retrieving bulk domain stats +- Introduce virDomainOpenGraphicsFD API +- storage: ZFS support +- many improvements and bug fixes -%changelog -* Thu Mar 07 2013 Thierry Parmentelat - libvirt-1.0.2-2 -- turn off fuse no matter what, as this conflicts with the way procprotect works +* Sun Aug 3 2014 Daniel Veillard - 1.2.7-1 +- Introduce virConnectGetDomainCapabilities +- many improvements and bug fixes + +* Wed Jul 2 2014 Daniel Veillard - 1.2.6-1 +- libxl: add migration support and fixes +- various improvements and fixes for NUMA +- many improvements and bug fixes + +* Wed Jul 16 2014 Thierry Parmentelat - libvirt-1.2.5-1 +- libvirt 1.2.5 for PL + +* Mon Jun 2 2014 Daniel Veillard - 1.2.5-1 +- LSN-2014-0003: Don't expand entities when parsing XML (security) +- Introduce virDomain{Get,Set}Time APIs +- Introduce virDomainFSFreeze() and virDomainFSThaw() public API +- various improvements and bug fixes + +* Mon Jun 02 2014 Thierry Parmentelat - libvirt-1.2.4-1 +- complete build for 1.2.4, works fine on f18, still has an issue with f20 for slice re-creation + +* Sun May 4 2014 Daniel Veillard - 1.2.4-1 +- various improvements and bug fixes +- lot of internal code refactoring + +* Mon Apr 28 2014 Thierry Parmentelat - libvirt-1.2.3-2 +- no change +- libvirt-python needs a release of libvirt that matches its own +- and there was a screw up when tagging libvirt-python, so we catch up + +* Mon Apr 28 2014 Thierry Parmentelat - libvirt-1.2.3-1 +- tested version of 1.2.3 + +* Tue Apr 1 2014 Daniel Veillard - 1.2.3-1 +- add new virDomainCoreDumpWithFormat API (Qiao Nuohan) +- conf: Introduce virDomainDeviceGetInfo API (Jiri Denemark) +- more features and fixes on bhyve driver (Roman Bogorodskiy) +- lot of cleanups and improvement on the Xen driver (Chunyan Liu, Jim Fehlig) +- a lot of various improvements and bug fixes + +* Fri Mar 21 2014 Thierry Parmentelat - libvirt-1.2.1-1 +- builds fine on f{18,20} + +* Sun Mar 2 2014 Daniel Veillard - 1.2.2-1 +- add LXC from native conversion tool +- vbox: add support for v4.2.20+ and v4.3.4+ +- Introduce Libvirt Wireshark dissector +- Fix CVE-2013-6456: Avoid unsafe use of /proc/$PID/root in LXC +- a lot of various improvements and bug fixes + +* Thu Jan 16 2014 Daniel Veillard - 1.2.1-1 +- Fix s CVE-2014-0028 event: filter global events by domain:getattr ACL +- Fix CVE-2014-1447 Don't crash if a connection closes early +- Fix CVE-2013-6458-1 qemu: Do not access stale data in virDomainBlockStats +- Fix CVE-2013-6457 libxl: avoid crashing if calling `virsh numatune' on inactive domain +- Fix CVE-2013-6436: fix crash in lxcDomainGetMemoryParameters +- many doc and bug fixes and improvements + +* Mon Dec 2 2013 Daniel Veillard - 1.2.0-1 +- Separation of python binding as libvirt-python srpm +- Add support for gluster pool +- vbox: add support for 4.3 APIs +- a number of doc, bug fixes and various improvements + +* Mon Nov 4 2013 Daniel Veillard - 1.1.4-1 +- Add support for AArch64 architecture +- Various improvements on test code and test driver +- 4 security bug fixes +- a lot of bug fixes and various improvements + +* Tue Oct 1 2013 Daniel Veillard - 1.1.3-1 +- VMware: Initial VMware Fusion support and various improvements +- libvirt: add new public API virConnectGetCPUModelNames +- various libxl driver improvements +- LXC many container driver improvement +- ARM cpu improvements +- 3 security bug fixes +- a lot of bug and leak fixes and various improvements + +* Mon Sep 2 2013 Daniel Veillard - 1.1.2-1 +- various improvements to libxl driver +- systemd integration improvements +- Add flag to BaselineCPU API to return detailed CPU features +- Introduce a virt-login-shell binary +- conf: add startupPolicy attribute for harddisk +- various bug fixes and improvements including localizations + +* Tue Jul 30 2013 Daniel Veillard - 1.1.1-1 +- Adding device removal or deletion events +- Introduce new domain create APIs to pass pre-opened FDs to LXC +- Add interface versions for Xen 4.3 +- Add new public API virDomainSetMemoryStatsPeriod +- Various LXC improvements +- various bug fixes and improvements including localizations + +* Mon Jul 1 2013 Daniel Veillard - 1.1.0-1 +- CVE-2013-2218: Fix crash listing network interfaces with filters +- Fine grained ACL support for the API +- Extensible migration APIs +- various improvements in the Xen driver +- agent based vCPU hotplug support +- various bug fixes and improvements including localizations + +* Mon Jun 3 2013 Daniel Veillard - 1.0.6-1 +- Move VirtualBox driver into libvirtd +- Support for static routes on a virtual bridge +- Various improvement for hostdev SCSI support +- Switch to VIR_STRDUP and VIR_STRNDUP +- Various cleanups and improvement in Xen and LXC drivers +- various bug fixes and improvements including localizations + +* Thu May 2 2013 Daniel Veillard - 1.0.5-1 +- add support for NVRAM device +- Add XML config for resource partitions +- Add support for TPM +- NPIV storage migration support +- various bug fixes and improvements including localizations + +* Mon Apr 1 2013 Daniel Veillard - 1.0.4-1 +- qemu: support passthrough for iscsi disks +- various S390 improvements +- various LXC bugs fixes and improvements +- Add API for thread cancellation +- various bug fixes and improvements + +* Tue Mar 5 2013 Daniel Veillard - 1.0.3-1 +- Introduce virDomainMigrate*CompressionCache APIs +- Introduce virDomainGetJobStats API +- Add basic support for VDI images +- Introduce API virNodeDeviceLookupSCSIHostByWWN +- Various locking improvements +- a lot of bug fixes and overall improvements * Wed Jan 30 2013 Daniel Veillard - 1.0.2-1 - LXC improvements @@ -2346,7 +2798,7 @@ fi * Fri Apr 3 2009 Daniel Veillard - 0.6.2-1 - release of 0.6.2 -* Fri Mar 4 2009 Daniel Veillard - 0.6.1-1 +* Wed Mar 4 2009 Daniel Veillard - 0.6.1-1 - release of 0.6.1 * Sat Jan 31 2009 Daniel Veillard - 0.6.0-1 @@ -2485,7 +2937,7 @@ fi - it's pkgconfig not pgkconfig ! * Mon Nov 6 2006 Daniel Veillard 0.1.8-2 -- fixing spec file, added %dist, -devel requires pkgconfig and xen-devel +- fixing spec file, added %%dist, -devel requires pkgconfig and xen-devel - Resolves: rhbz#202320 * Mon Oct 16 2006 Daniel Veillard 0.1.8-1