File libvirt.spec of Package libvirt

# spec file for package libvirt
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via

# The configuration of libvirt is modified slightly for SLE
%define with_sle_build     %{?is_opensuse:0}%{!?is_opensuse:1}

# openSUSE13.1 and 13.2 do not understand %is_opensuse. Check for those
# explicitly and disable SLE build
%if 0%{?suse_version} == 1310 || 0%{?suse_version} == 1320
    %define with_sle_build 0

# The hypervisor drivers that run in libvirtd
%define with_xen           0%{!?_without_xen:1}
%define with_qemu          0%{!?_without_qemu:1}
%define with_lxc           0%{!?_without_lxc:1}
%define with_uml           0%{!?_without_uml:1}
%define with_libxl         0%{!?_without_libxl:1}
%define with_vbox          0%{!?_without_vbox:1}

# Then the hypervisor drivers that run outside libvirtd, in
%define with_openvz        0%{!?_without_openvz:1}
%define with_vmware        0%{!?_without_vmware:1}
%define with_phyp          0%{!?_without_phyp:0}
%define with_esx           0%{!?_without_esx:1}
%define with_hyperv        0%{!?_without_hyperv:0}

# Then the secondary host drivers, which run inside libvirtd
%define with_storage_rbd   0%{!?_without_storage_rbd:0}
%define with_storage_sheepdog 0
%define with_storage_gluster  0
%define with_apparmor      0%{!?_without_apparmor:1}

# Optional bits on by default
%define with_sanlock       0%{!?_without_sanlock:1}
%define with_polkit_rules  1

# A few optional bits off by default, we enable later
%define with_cgconfig      0%{!?_without_cgconfig:0}
%define with_systemd       0%{!?_without_systemd:0}
%define with_numactl       0%{!?_without_numactl:0}
%define with_numad         0%{!?_without_numad:0}
%define with_firewalld     0%{!?_without_firewalld:0}
%define with_wireshark     0%{!?_without_wireshark:0}

# Xen no longer contains xm/xend so disable building the legacy Xen driver
%define with_xen           0

# Set the OS / architecture specific special cases

# Xen is available only on x86_64 and arm
%ifnarch x86_64 %arm aarch64
    %define with_xen       0
    %define with_libxl     0

# For SLE, further restrice Xen support to x86_64 only
%if %{with_sle_build}
    %ifarch %arm aarch64
        %define with_xen   0
        %define with_libxl 0

# Enable numactl for most architectures. Handle aarch64 separately
%ifnarch s390 s390x %arm %ix86 aarch64
    %define with_numactl   0%{!?_without_numactl:1}

# For aarch64, numactl is only available on newer than 1320, or SLE12
# family newer than 120100
%ifarch aarch64
    %if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && ( 0%{?sle_version} > 120100 ) )
        %define with_numactl 0%{!?_without_numactl:1}

# vbox is available only on i386 x86_64
%ifnarch %{ix86} x86_64
    %define with_vbox      0

# Disable hypervisor drivers not supported in SLE
%if %{with_sle_build}
    %define with_openvz    0
    %define with_vbox      0
    %define with_uml       0
    %define with_vmware    0
    %define with_hyperv    0

# Enable phyp driver for IBM Power systems
%ifarch ppc64
    %define with_phyp      1

# rbd enablement is a bit tricky. For x86_64
%ifarch x86_64
# enable on anything newer than 1320, or SLE12 family newer than 120100
# use librbd-devel as build dependency
    %if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && ( 0%{?sle_version} > 120100 ) )
        %define with_storage_rbd 0%{!?_without_storage_rbd:1}
        %define with_rbd_lib     librbd-devel
# enable for SLE12 family <= 120100 (SLE12GA/SP1, Leap 42.1)
# use ceph-devel as build dependency
    %if 0%{?suse_version} == 1315 && 0%{?sle_version} <= 120100
        %define with_storage_rbd 0%{!?_without_storage_rbd:1}
        %define with_rbd_lib     ceph-devel

# For arm
%ifarch aarch64
# enable on anything newer than 1320, or SLE12 family newer than 120100
# use librbd-devel as build dependency
    %if 0%{?suse_version} > 1320 || ( 0%{?is_opensuse} == 0 && 0%{?sle_version} > 120100 )
        %define with_storage_rbd 0%{!?_without_storage_rbd:1}
        %define with_rbd_lib     librbd-devel

# Support systemd on 12.1 and later
%if 0%{?suse_version} >= 1210
    %define with_systemd        0%{!?_without_systemd:1}

# libvirt commit 37397320 changed the configure check for wireshark to
# use pkgconfig, but our wireshark packages do not provide wireshark.pc.
# Disable the dissector for now
%define with_wireshark     0

# numad is used to manage the CPU and memory placement dynamically for
# qemu, lxc, and uml drivers
%if %{with_qemu} || %{with_lxc} || %{with_uml}
# Enable numad for most architectures. Handle aarch64 separately
    %ifnarch s390 s390x %arm %ix86 aarch64
        %define with_numad 0%{!?_without_numad:1}
# For aarch64, enable on anything newer than 1320, or SLE12 family newer
# than 120100
    %ifarch aarch64
        %if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 )
            %define with_numad 0%{!?_without_numad:1}

# Force QEMU to run as qemu:qemu
%define qemu_user          qemu
%define qemu_group         qemu

# Pull in cgroups config system
%if %{with_qemu} || %{with_lxc}
    %define with_cgconfig  0%{!?_without_cgconfig:1}

%define _fwdefdir /etc/sysconfig/SuSEfirewall2.d/services

Name:           libvirt
Version:        2.0.0
Release:        9.1
Summary:        Library providing a simple virtualization API
License:        LGPL-2.1+
Group:          Development/Libraries/C and C++

Requires:       libvirt-daemon = %{version}-%{release}
Requires:       libvirt-daemon-config-network = %{version}-%{release}
Requires:       libvirt-daemon-config-nwfilter = %{version}-%{release}
%if %{with_libxl}
Requires:       libvirt-daemon-driver-libxl = %{version}-%{release}
%if %{with_lxc}
Requires:       libvirt-daemon-driver-lxc = %{version}-%{release}
%if %{with_qemu}
Requires:       libvirt-daemon-driver-qemu = %{version}-%{release}
%if %{with_uml}
Requires:       libvirt-daemon-driver-uml = %{version}-%{release}
%if %{with_xen}
Requires:       libvirt-daemon-driver-xen = %{version}-%{release}
%if %{with_vbox}
Requires:       libvirt-daemon-driver-vbox = %{version}-%{release}
Requires:       libvirt-client = %{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}

# All build-time requirements. Run-time requirements are
# listed against each sub-RPM
BuildRequires:  autoconf
BuildRequires:  openssl = 1.0.1e
BuildRequires:  automake
BuildRequires:  gettext-tools
BuildRequires:  libtool
# Needed for virkmodtest in 'make check'
BuildRequires:  modutils
%if %{with_systemd}
BuildRequires:  systemd
BuildRequires:  pkgconfig(systemd)
%if %{with_xen} || %{with_libxl}
BuildRequires:  xen-devel
BuildRequires:  fdupes
BuildRequires:  libattr-devel
BuildRequires:  libgcrypt-devel
BuildRequires:  libgnutls-devel
BuildRequires:  libtasn1-devel
BuildRequires:  libxml2-devel
BuildRequires:  libxslt
BuildRequires:  ncurses-devel
BuildRequires:  perl
BuildRequires:  python
BuildRequires:  python-xml
BuildRequires:  readline-devel
BuildRequires:  xhtml-dtd
# perl XPath is needed since we have a patch touching files that cause
# hvsupport.html to be regenerated
BuildRequires:  perl(XML::XPath)
# For pool-build probing for existing pools
BuildRequires:  libblkid-devel >= 2.17
BuildRequires:  libpciaccess0-devel >= 0.10.9
BuildRequires:  libudev-devel >= 145
BuildRequires:  libyajl-devel
%if %{with_sanlock}
BuildRequires:  sanlock-devel >= 2.4
BuildRequires:  libavahi-devel
BuildRequires:  libnl3-devel
BuildRequires:  libpcap-devel
BuildRequires:  libselinux-devel
%if %{with_apparmor}
BuildRequires:  libapparmor-devel
BuildRequires:  dnsmasq >= 2.41
BuildRequires:  iptables
# TODO BuildRequires:  iptables-ipv6
BuildRequires:  cyrus-sasl-devel
BuildRequires:  ebtables
BuildRequires:  polkit >= 0.93
BuildRequires:  polkit-devel >= 0.93
BuildRequires:  radvd
# For mount/umount in FS driver
BuildRequires:  util-linux
# For LVM drivers
BuildRequires:  lvm2
# For ISCSI driver
BuildRequires:  open-iscsi
# For disk driver
BuildRequires:  parted-devel
# For Multipath support
BuildRequires:  device-mapper-devel
%if %{with_storage_rbd}
BuildRequires:  %{with_rbd_lib}
%if %{with_numactl}
# For QEMU/LXC numa info
BuildRequires:  libnuma-devel
BuildRequires:  fuse-devel >= 2.8.6
BuildRequires:  libcap-ng-devel >= 0.5.0
BuildRequires:  libnetcontrol-devel >= 0.2.0
BuildRequires:  libssh2-devel
%if %{with_esx}
BuildRequires:  libcurl-devel
%if %{with_hyperv}
BuildRequires:  libwsman-devel >= 2.2.3
BuildRequires:  audit-devel
# we need /usr/sbin/dtrace
BuildRequires:  systemtap-sdt-devel
%if %{with_numad}
BuildRequires:  numad
%if %{with_wireshark}
BuildRequires:  wireshark-devel > 1.12.1
%if %{with_qemu}
# BuildRequire qemu-tools so configure can detect qemu-bridge-helper
# path.
BuildRequires:  qemu-tools

Source0:        %{name}-%{version}.tar.xz
Source1:        %{name}-%{version}.tar.xz.asc
Source2:        %{name}.keyring
Source3:        libvirtd.init
Source4:        libvirtd-relocation-server.fw
Source99:       baselibs.conf
Source100:      %{name}-rpmlintrc
# Upstream patches
Patch0:         c8f08e48-systemd-notify-fix.patch
Patch1:         a7f84cb1-qemu-virtio-disk-error-cleanup.patch
Patch2:         60c40ce3-qemuDomainSecretDiskCapable.patch
Patch3:         fceeeda2-qemu-secinfo-hotplug-disk.patch
Patch4:         541e9ae6-cpu-vendor-crash-fix.patch
Patch5:         d53d4650-qemu-rbd-auth.patch
Patch6:         ea46e00f-virHostdevFindUSBDevice-privsyms.patch
Patch7:         e01d300b-libxl-usb-vendor.patch
Patch8:         f820d5bf6-USB-port-path-as-an-array-of-integers.patch
Patch9:         82c142b3-introduce-virDomainUSBAddressSet.patch
Patch10:        6b3e4e2b-functions-usb-controllers-to-addr.patch
Patch11:        be146b34-extend-usb-controller-model.patch
Patch12:        770bf992-libxl-usb-controller-creation.patch
Patch13:        44304c6e-libxl-usb-controller-hotplug.patch
Patch14:        f5359e55-libxl-autocreate-usb-controller.patch
Patch15:        9a361bbb-xenconfig-usb-controller-conversion.patch
Patch16:        c6f0e177-qusb-qemu-check.patch
Patch17:        70f83f9d-pci-driver-override.patch
Patch18:        36f57ad-advertise-migv3.patch
Patch19:        c0960aab-libxl-shadow-mem.patch
Patch20:        dbb14bb0-cmt-fix1.patch
Patch21:        1ac897a1-cmt-fix2.patch
Patch22:        58ba240d-cmt-fix3.patch
Patch23:        300f668c-cmt-fix4.patch
Patch24:        1fc90ae9-libxl-mig-persist.patch
Patch25:        839a0608-virtlogd-lifecycle1.patch
Patch26:        f496ce1d-virtlogd-lifecycle2.patch
Patch27:        4c600de7-libxl-schedinfo.patch
Patch28:        f4332dd2-virsh-pod-sched-fix.patch
# Patches pending upstream review
Patch100:       libxl-dom-reset.patch
# Need to go upstream
Patch150:       xen-pv-cdrom.patch
Patch151:       blockcopy-check-dst-identical-device.patch
Patch152:       libvirt-power8-models.patch
Patch153:       ppc64le-canonical-name.patch
Patch154:       libxl-set-migration-constraints.patch
Patch155:       libxl-set-cach-mode.patch
Patch156:       apparmor-fixes.patch
Patch157:       apparmor-qemu-bridge-helper.patch
Patch158:       xen-pvusb-hvm.patch
Patch159:       libxl-release-mig-port.patch
# Our patches
Patch200:       libvirtd-defaults.patch
Patch201:       libvirtd-init-script.patch
Patch202:       libvirt-guests-init-script.patch
Patch203:       virtlockd-init-script.patch
Patch204:       virtlogd-init-script.patch
Patch205:       suse-qemu-conf.patch
Patch206:       support-managed-pci-xen-driver.patch
Patch207:       systemd-service-xen.patch
Patch208:       xen-sxpr-disk-type.patch
Patch209:       libxl-support-block-script.patch
Patch210:       apparmor-no-mount.patch
Patch211:       qemu-apparmor-screenshot.patch
Patch212:       libvirt-suse-netcontrol.patch
Patch213:       lxc-wait-after-eth-del.patch
Patch214:       libxl-qemu-emulator-caps.patch
# SLES-Only patches
Patch300:       virt-create-rootfs.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

Libvirt is a C toolkit to interact with the virtualization
capabilities of Linux. Virtualization of the Linux Operating System means
the ability to run multiple instances of Operating Systems concurrently
on a single hardware system where the basic resources are driven by a
Linux instance. The library aims to provide long term stable C API
to interact with Linux virtualization technologies.

    Daniel Veillard <>
    Karel Zak <>

%package doc
Summary:        API reference and website documentation
Group:          Development/Libraries/C and C++

%description doc
Includes the API reference for the libvirt C library, and a complete
copy of the website documentation.

%package daemon
Summary:        Server side daemon and supporting files for libvirt library
Group:          Development/Libraries/C and C++

# All runtime requirements for the libvirt package (runtime requirements
# 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}

# for modprobe of pci devices
Requires:       modutils
# for /sbin/ip & /sbin/tc
Requires:       bridge-utils
Requires:       iproute
Requires:       logrotate
Requires:       udev >= 145
Recommends:     polkit >= 0.93
%ifarch i386 i586 i686 x86_64 ia64
# For virConnectGetSysinfo
Requires:       dmidecode
%if %{with_systemd}
# For service management
%if %{with_numad}
Requires:       numad

%description daemon
Server side daemon required to manage the virtualization capabilities
of recent versions of Linux. Requires a hypervisor specific sub-RPM
for specific drivers.

%package daemon-config-network
Summary:        Default configuration files for the libvirtd daemon
Group:          Development/Libraries/C and C++

Requires:       libvirt-daemon = %{version}-%{release}
Requires:       libvirt-daemon-driver-network = %{version}-%{release}

%description daemon-config-network
Default configuration files for setting up NAT based networking

%package daemon-config-nwfilter
Summary:        Network filter configuration files for the libvirtd
Group:          Development/Libraries/C and C++

Requires:       libvirt-daemon = %{version}-%{release}
Requires:       libvirt-daemon-driver-nwfilter = %{version}-%{release}

%description daemon-config-nwfilter
Network filter configuration files for the libvirt daemon, used for
cleaning guest network traffic.

%package daemon-driver-network
Summary:        Network driver plugin for the libvirtd daemon
Group:          Development/Libraries/C and C++
Requires:       dnsmasq >= 2.41
Requires:       iptables
# TODO Requires:       iptables-ipv6
Requires:       libvirt-daemon = %{version}-%{release}
Requires:       radvd

%description daemon-driver-network
The network driver plugin for the libvirtd daemon, providing
an implementation of the virtual network APIs using the Linux
bridge capabilities.

%package daemon-driver-nwfilter
Summary:        A nwfilter driver plugin for the libvirtd daemon
Group:          Development/Libraries/C and C++
Requires:       ebtables
Requires:       iptables
# TODO Requires:       iptables-ipv6
Requires:       libvirt-daemon = %{version}-%{release}

%description daemon-driver-nwfilter
The nwfilter driver plugin for the libvirtd daemon, providing
an implementation of the firewall APIs using the ebtables,
iptables and ip6tables capabilities

%package daemon-driver-nodedev
Summary:        Nodedev driver plugin for the libvirtd daemon
Group:          Development/Libraries/C and C++
Requires:       libvirt-daemon = %{version}-%{release}

%description daemon-driver-nodedev
The nodedev driver plugin for the libvirtd daemon, providing
an implementation of the node device APIs using the udev

%package daemon-driver-interface
Summary:        Interface driver plugin for the libvirtd daemon
Group:          Development/Libraries/C and C++
Requires:       libvirt-daemon = %{version}-%{release}

%description daemon-driver-interface
The interface driver plugin for the libvirtd daemon, providing
an implementation of the network interface APIs using the
netcontrol library

%package daemon-driver-secret
Summary:        Secret driver plugin for the libvirtd daemon
Group:          Development/Libraries/C and C++
Requires:       libvirt-daemon = %{version}-%{release}

%description daemon-driver-secret
The secret driver plugin for the libvirtd daemon, providing
an implementation of the secret key APIs.

%package daemon-driver-storage
Summary:        Storage driver plugin for the libvirtd daemon
Group:          Development/Libraries/C and C++
Requires:       libvirt-daemon = %{version}-%{release}
Requires:       nfs-utils
# For mkfs
Requires:       util-linux
%if %{with_qemu}
# From QEMU RPMs
Requires:       /usr/bin/qemu-img
# For LVM drivers
Requires:       lvm2
# For ISCSI driver
Requires:       open-iscsi
# For disk driver
Requires:       device-mapper
Requires:       parted
# For multipath support
Requires:       device-mapper

%description daemon-driver-storage
The storage driver plugin for the libvirtd daemon, providing
an implementation of the storage APIs using LVM, iSCSI,
parted and more.

%if %{with_qemu}

%package daemon-driver-qemu
Summary:        Qemu driver plugin for the libvirtd daemon
Group:          Development/Libraries/C and C++
Requires:       libvirt-daemon = %{version}-%{release}
# There really is a hard cross-driver dependency here
Requires:       /usr/bin/qemu-img
Requires:       libvirt-daemon-driver-network = %{version}-%{release}
Requires:       libvirt-daemon-driver-storage = %{version}-%{release}
# For image compression
Requires:       bzip2
Requires:       gzip
Requires:       lzop
Requires:       qemu
Requires:       xz

%description daemon-driver-qemu
The qemu driver plugin for the libvirtd daemon, providing
an implementation of the hypervisor driver APIs using QEMU.

%if %{with_lxc}

%package daemon-driver-lxc
Summary:        LXC driver plugin for the libvirtd daemon
Group:          Development/Libraries/C and C++
Requires:       libvirt-daemon = %{version}-%{release}
# There really is a hard cross-driver dependency here
Requires:       libvirt-daemon-driver-network = %{version}-%{release}

%description daemon-driver-lxc
The LXC driver plugin for the libvirtd daemon, providing
an implementation of the hypervisor driver APIs using
the Linux kernel

%if %{with_uml}

%package daemon-driver-uml
Summary:        Uml driver plugin for the libvirtd daemon
Group:          Development/Libraries/C and C++
Requires:       libvirt-daemon = %{version}-%{release}

%description daemon-driver-uml
The UML driver plugin for the libvirtd daemon, providing
an implementation of the hypervisor driver APIs using
User Mode Linux

%if %{with_xen}

%package daemon-driver-xen
Summary:        Xen driver plugin for the libvirtd daemon
Group:          Development/Libraries/C and C++
Requires:       libvirt-daemon = %{version}-%{release}

%description daemon-driver-xen
The Xen driver plugin for the libvirtd daemon, providing
an implementation of the hypervisor driver APIs using Xen.

%if %{with_vbox}

%package daemon-driver-vbox
Summary:        VirtualBox driver plugin for the libvirtd daemon
Group:          Development/Libraries/C and C++
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

%if %{with_libxl}

%package daemon-driver-libxl
Summary:        Libxl driver plugin for the libvirtd daemon
Group:          Development/Libraries/C and C++
Requires:       libvirt-daemon = %{version}-%{release}

%description daemon-driver-libxl
The Libxl driver plugin for the libvirtd daemon, providing
an implementation of the hypervisor driver APIs using libxl.

%if %{with_qemu}

%package daemon-qemu
Summary:        Server side daemon & driver required to run QEMU guests
Group:          Development/Libraries/C and C++

Requires:       libvirt-daemon = %{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-qemu = %{version}-%{release}
Requires:       libvirt-daemon-driver-secret = %{version}-%{release}

%description daemon-qemu
Server side daemon and driver required to manage the virtualization
capabilities of the QEMU emulators

%if %{with_lxc}

%package daemon-lxc
Summary:        Server side daemon & driver required to run LXC guests
Group:          Development/Libraries/C and C++

Requires:       libvirt-daemon = %{version}-%{release}
Requires:       libvirt-daemon-driver-interface = %{version}-%{release}
Requires:       libvirt-daemon-driver-lxc = %{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}

%description daemon-lxc
Server side daemon and driver required to manage the virtualization
capabilities of LXC

%if %{with_uml}

%package daemon-uml
Summary:        Server side daemon & driver required to run UML guests
Group:          Development/Libraries/C and C++

Requires:       libvirt-daemon = %{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}
Requires:       libvirt-daemon-driver-uml = %{version}-%{release}

%description daemon-uml
Server side daemon and driver required to manage the virtualization
capabilities of UML

%if %{with_xen} || %{with_libxl}

%package daemon-xen
Summary:        Server side daemon & driver required to run XEN guests
Group:          Development/Libraries/C and C++

Requires:       libvirt-daemon = %{version}-%{release}
    %if %{with_xen}
Requires:       libvirt-daemon-driver-xen = %{version}-%{release}
    %if %{with_libxl}
Requires:       libvirt-daemon-driver-libxl = %{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}
Requires:       xen

%description daemon-xen
Server side daemon and driver required to manage the virtualization
capabilities of XEN

%if %{with_vbox}

%package daemon-vbox
Summary:        Server side daemon & driver required to run VirtualBox guests
Group:          Development/Libraries/C and C++
Requires:       libvirt-daemon = %{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}
Requires:       libvirt-daemon-driver-vbox = %{version}-%{release}
Requires:       virtualbox

%description daemon-vbox
Server side daemon and driver required to manage the virtualization
capabilities of VirtualBox

%package client
Summary:        Client side library and utilities of the libvirt library
Group:          Development/Libraries/C and C++
Requires:       ncurses
Requires:       readline
# So remote clients can access libvirt over SSH tunnel
# (client invokes 'nc' against the UNIX socket on the server)
Requires:       netcat-openbsd
# Needed by libvirt-guests init script.
Requires:       gettext-runtime
# Needed by virt-pki-validate script.
Requires:       cyrus-sasl
Requires:       gnutls
# Not technically required, but makes 'out-of-box' config
# work correctly & doesn't have onerous dependencies
Requires:       cyrus-sasl-digestmd5

%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/C and C++
Requires:       %{name}-client = %{version}-%{release}
Requires:       %{name}-doc = %{version}-%{release}
Requires:       pkg-config

%description devel
Include header files & development libraries for the libvirt C library.

%if %{with_sanlock}

%package lock-sanlock
Summary:        Sanlock lock manager plugin for QEMU driver
Group:          Development/Libraries/C and C++
Requires:       sanlock >= 2.4
# for virt-sanlock-cleanup require augeas
Requires:       %{name}-client = %{version}-%{release}
Requires:       %{name}-daemon = %{version}-%{release}
Requires:       augeas

%description lock-sanlock
Includes the Sanlock lock manager plugin for the QEMU driver

%if %{with_wireshark}

%package -n wireshark-plugin-libvirt
Summary:        Wireshark plugin for libvirt RPC protocol
Group:          Productivity/Networking/Diagnostic
Requires:       %{name}-client = %{version}-%{release}
Requires:       wireshark

%description -n wireshark-plugin-libvirt
Wireshark dissector plugin for better analysis of libvirt RPC traffic.

%package nss
Summary:        Libvirt plugin for Name Service Switch
Group:          Development/Libraries/C and C++
Requires:       libvirt-daemon-driver-network = %{version}-%{release}

%description nss
libvirt plugin for NSS for translating domain names into IP addresses.

%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch25 -p1
%patch26 -p1
%patch27 -p1
%patch28 -p1
%patch100 -p1
%patch150 -p1
%patch151 -p1
%patch152 -p1
%patch153 -p1
%patch154 -p1
%patch155 -p1
%patch156 -p1
%patch157 -p1
%patch158 -p1
%patch159 -p1
%patch200 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
%patch204 -p1
%patch205 -p1
%patch206 -p1
%patch207 -p1
%patch208 -p1
%patch209 -p1
%patch210 -p1
%patch211 -p1
%patch212 -p1
%patch213 -p1
%patch214 -p1
%patch300 -p1

%if %{with_xen}
    %define arg_xen --with-xen
    %define arg_xen --without-xen
%if %{with_qemu}
    %define arg_qemu --with-qemu
    %define arg_qemu --without-qemu
%if %{with_openvz}
    %define arg_openvz --with-openvz
    %define arg_openvz --without-openvz
%if %{with_lxc}
    %define arg_lxc --with-lxc
    %define arg_lxc --without-lxc
%if %{with_vbox}
    %define arg_vbox --with-vbox
    %define arg_vbox --without-vbox
%if %{with_uml}
    %define arg_uml --with-uml
    %define arg_uml --without-uml
%if %{with_phyp}
    %define arg_phyp --with-phyp
    %define arg_phyp --without-phyp
%if %{with_esx}
    %define arg_esx --with-esx
    %define arg_esx --without-esx
%if %{with_vmware}
    %define arg_vmware --with-vmware
    %define arg_vmware --without-vmware
%if %{with_hyperv}
    %define arg_hyperv --with-hyperv
    %define arg_hyperv --without-hyperv
%if %{with_libxl}
    %define arg_libxl --with-libxl
    %define arg_libxl --without-libxl
%if %{with_storage_rbd}
    %define arg_storage_rbd --with-storage-rbd
    %define arg_storage_rbd --without-storage-rbd
%if %{with_storage_sheepdog}
    %define arg_storage_sheepdog --with-storage-sheepdog
    %define arg_storage_sheepdog --without-storage-sheepdog
%if %{with_storage_gluster}
    %define arg_storage_gluster --with-storage-gluster
    %define arg_storage_gluster --without-storage-gluster
%if %{with_numactl}
    %define arg_numactl --with-numactl
    %define arg_numactl --without-numactl
%if %{with_numad}
    %define arg_numad --with-numad
    %define arg_numad --without-numad
%if %{with_apparmor}
    %define arg_apparmor --with-apparmor
    %define arg_apparmor_profiles --with-apparmor-profiles
    %define arg_apparmor --without-apparmor
%if %{with_sanlock}
    %define arg_sanlock --with-sanlock
    %define arg_sanlock --without-sanlock
%if %{with_systemd}
    %define arg_init_script --with-init-script=systemd
    %define arg_init_script --with-init-script=redhat
%if %{with_firewalld}
    %define arg_firewalld --with-firewalld
    %define arg_firewalld --without-firewalld
%if %{with_wireshark}
    %define arg_wireshark --with-wireshark-dissector
    %define arg_wireshark --without-wireshark-dissector

%define arg_selinux_mount --with-selinux-mount="/selinux"

# x86_64 UEFI firmwares
# To more closely resemble actual hardware, we use the firmwares with
# embedded Microsoft keys
# aarch64 UEFI firmwares
%define arg_loader_nvram --with-loader-nvram="$LOADERS"

autoreconf -f -i
%configure --disable-static --with-pic \
           %{?arg_xen} \
           %{?arg_qemu} \
           %{?arg_openvz} \
           %{?arg_lxc} \
           %{?arg_vbox} \
           %{?arg_libxl} \
           --with-sasl \
           --with-avahi \
           --with-polkit \
           --with-libvirtd \
           %{?arg_uml} \
           %{?arg_phyp} \
           %{?arg_esx} \
           %{?arg_hyperv} \
           %{?arg_vmware} \
           --without-xenapi \
           --without-vz \
           --without-bhyve \
           --with-interface \
           --with-network \
           --with-storage-fs \
           --with-storage-lvm \
           --with-storage-iscsi \
           --with-storage-disk \
           --with-storage-mpath \
           %{?arg_storage_rbd} \
           %{?arg_storage_sheepdog} \
           %{?arg_storage_gluster} \
           %{?arg_numactl} \
           %{?arg_numad} \
           --with-capng \
           --with-fuse \
           --without-netcf \
           --with-netcontrol \
           --with-selinux \
           %{?arg_selinux_mount} \
           %{?arg_apparmor} \
           %{?arg_apparmor_profiles} \
           --with-udev \
           --with-yajl \
           %{?arg_sanlock} \
           --with-libpcap \
           --with-macvtap \
           --with-audit \
           --with-dtrace \
           --with-driver-modules \
           %{?arg_firewalld} \
           %{?arg_wireshark} \
           --with-nss-plugin \
           --libexecdir=%{_libdir}/%{name} \
           --with-qemu-user=%{qemu_user} \
           --with-qemu-group=%{qemu_group} \
           %{?arg_loader_nvram} \
           --without-login-shell \
           %{arg_init_script} \
           ac_cv_path_MODPROBE=/sbin/modprobe \
           ac_cv_path_UDEVADM=/sbin/udevadm \
make V=1 %{?jobs:-j%jobs} DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name}
gzip -9 ChangeLog

%makeinstall SYSTEMD_UNIT_DIR=%{_unitdir} DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name}
make -C examples distclean
cp examples/lxcconvert/virt-lxc-convert $RPM_BUILD_ROOT%{_bindir}
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
%if %{with_wireshark}
rm -f $RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/*/
mv $RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/*/ \
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/lock-driver/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/lock-driver/*.a
rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/connection-driver/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/connection-driver/*.a
# remove currently unsupported locale(s)
for dir in $RPM_BUILD_ROOT/usr/share/locale/*
  sdir=`echo $dir | sed "s|$RPM_BUILD_ROOT||"`
  if test -d $sdir ; then continue ; fi
  rm -rfv "$dir"
# temporarily remove polkit ACL policiy configuration - bnc#827644
rm -f $RPM_BUILD_ROOT/%{_datadir}/polkit-1/actions/org.libvirt.api.policy

mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/libvirt
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/libvirt/hooks
%find_lang %{name}
# Add a README to the libvirt package with a note about the empty
# file list
cat > $RPM_BUILD_ROOT%{_docdir}/libvirt/libvirt.README << 'EOF'
The libvirt package no longer contains any files.  It exists now
only to fulfill its 'Provides' contract.
install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/lib/libvirt/dnsmasq/
install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/
cp $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/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
%if %{with_lxc}
cat > $RPM_BUILD_ROOT%{_docdir}/libvirt/libvirt-daemon-lxc.README << 'EOF'
Any empty package encapsulating requirements for a libvirtd capable
of managing LXC.
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/lxc.conf
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_lxc.aug
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.lxc
%if %{with_qemu}
cat > $RPM_BUILD_ROOT%{_docdir}/libvirt/libvirt-daemon-qemu.README << 'EOF'
Any empty package encapsulating requirements for a libvirtd capable
of managing QEMU/KVM.
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_qemu.aug
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.qemu
%if %{with_uml}
cat > $RPM_BUILD_ROOT%{_docdir}/libvirt/libvirt-daemon-uml.README << 'EOF'
Any empty package encapsulating requirements for a libvirtd capable
of managing UML.
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.uml
%if %{with_vbox}
cat > $RPM_BUILD_ROOT%{_docdir}/libvirt/libvirt-daemon-vbox.README << 'EOF'
Any empty package encapsulating requirements for a libvirtd capable
of managing VirtualBox.
%if %{with_xen} || %{with_libxl}
cat > $RPM_BUILD_ROOT%{_docdir}/libvirt/libvirt-daemon-xen.README << 'EOF'
Any empty package encapsulating requirements for a libvirtd capable
of managing Xen.
%if ! %{with_libxl}
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/libxl.conf
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.libxl
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_libxl.aug
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.aug
%if ! %{with_sanlock}
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirt_sanlock.aug
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug

# init scripts
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/init.d
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/adm/fillup-templates
# Currently using our own libvirtd init script
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/libvirtd
%if %{with_systemd}
ln -s %{_sbindir}/service $RPM_BUILD_ROOT%{_sbindir}/rclibvirtd
install %SOURCE3 $RPM_BUILD_ROOT%{_sysconfdir}/init.d/libvirtd
ln -s /etc/init.d/libvirtd $RPM_BUILD_ROOT%{_sbindir}/rclibvirtd
mv $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/libvirtd $RPM_BUILD_ROOT%{_localstatedir}/adm/fillup-templates/sysconfig.libvirtd
rm -f $RPM_BUILD_ROOT/usr/lib/sysctl.d/60-libvirtd.conf
# For other services, use the in-tree scripts
%if %{with_systemd}
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/virtlogd
ln -s %{_sbindir}/service $RPM_BUILD_ROOT%{_sbindir}/rcvirtlogd
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/virtlockd
ln -s %{_sbindir}/service $RPM_BUILD_ROOT%{_sbindir}/rcvirtlockd
mv $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/virtlogd $RPM_BUILD_ROOT%{_sysconfdir}/init.d/virtlogd
ln -s /etc/init.d/virtlogd $RPM_BUILD_ROOT%{_sbindir}/rcvirtlogd
mv $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/virtlockd $RPM_BUILD_ROOT%{_sysconfdir}/init.d/virtlockd
ln -s /etc/init.d/virtlockd $RPM_BUILD_ROOT%{_sbindir}/rcvirtlockd
mv $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/virtlogd $RPM_BUILD_ROOT%{_localstatedir}/adm/fillup-templates/sysconfig.virtlogd
mv $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/virtlockd $RPM_BUILD_ROOT%{_localstatedir}/adm/fillup-templates/sysconfig.virtlockd
#install firewall definitions format is described here:
mkdir -p $RPM_BUILD_ROOT/%{_fwdefdir}
install -m 644 %{S:4} $RPM_BUILD_ROOT/%{_fwdefdir}/libvirtd-relocation-server
%if %{with_systemd}
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/libvirt-guests
ln -s %{_sbindir}/service $RPM_BUILD_ROOT%{_sbindir}/rclibvirt-guests
mv $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/libvirt-guests $RPM_BUILD_ROOT%{_sysconfdir}/init.d/libvirt-guests
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
ln -s %{_sysconfdir}/init.d/libvirt-guests $RPM_BUILD_ROOT%{_sbindir}/rclibvirt-guests
mv $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/libvirt-guests $RPM_BUILD_ROOT%{_localstatedir}/adm/fillup-templates/sysconfig.libvirt-guests
%ifarch %{power64} s390x x86_64
mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes.stp \
mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes.stp \
%fdupes -s $RPM_BUILD_ROOT


cd tests
# These tests don't current work in a mock build root
# virnetsockettest: needs unsupported linux-user syscalls
SKIP_TESTS="$SKIP_TESTS virnetsockettest"
# virportallocatortest fails on aarch64 due to unsupported IPV6_V6ONLY flag
%ifarch aarch64
SKIP_TESTS="$SKIP_TESTS virportallocatortest"
for i in $SKIP_TESTS
  rm -f $i
  printf 'int main(void) { return 0; }' > $i.c

if ! make check VIR_TEST_DEBUG=1
  cat test-suite.log || true
  exit 1

%pre daemon
%if %{with_systemd}
%service_add_pre libvirtd.service
%service_add_pre virtlockd.service virtlockd.socket
%service_add_pre virtlogd.service virtlogd.socket
%{_bindir}/getent group libvirt >/dev/null || \
  %{_sbindir}/groupadd -r libvirt || :

%post daemon
%if %{with_systemd}
%service_add_post libvirtd.service
%service_add_post virtlockd.service virtlockd.socket
%service_add_post virtlogd.service virtlogd.socket
%{fillup_only -n libvirtd}
%{fillup_only -n virtlockd}
%{fillup_only -n virtlogd}

%preun daemon
%if %{with_systemd}
%service_del_preun libvirtd.service
%service_del_preun virtlockd.service virtlockd.socket
%service_del_preun virtlogd.service virtlogd.socket
%stop_on_removal libvirtd
%stop_on_removal virtlockd
%stop_on_removal virtlogd

%postun daemon
%if %{with_systemd}
# On upgrade, defer restarting daemons until %posttrans
if test $1 -eq 0 ; then
    for service in libvirtd virtlockd virtlogd ; do
        rm -f "/var/lib/systemd/migrated/$service" 2> /dev/null || :
    /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
%restart_on_update libvirtd
%restart_on_update virtlockd
%restart_on_update virtlogd

%posttrans daemon
# All connection drivers should be installed post transaction.
# Time to restart daemons.
%if %{with_systemd}
if test "$YAST_IS_RUNNING" != "instsys" -a "$DISABLE_RESTART_ON_UPDATE" != yes ; then
    for service in libvirtd virtlockd virtlogd ; do
        /usr/bin/systemctl try-restart ${service}.service >/dev/null 2>&1 || :

# In upgrade scenario we must explicitly enable virtlockd/virtlogd
# sockets, if libvirtd is already enabled and start them if
# libvirtd is running, otherwise you'll get failures to start
# guests
%triggerpostun daemon -- libvirt-daemon < 1.3.0
if [ $1 -ge 1 ] ; then
%if %{with_systemd}
        /usr/bin/systemctl is-enabled libvirtd.service 1>/dev/null 2>&1 &&
            /usr/bin/systemctl enable virtlogd.socket || :
        /usr/bin/systemctl is-active libvirtd.service 1>/dev/null 2>&1 &&
            /usr/bin/systemctl start virtlogd.socket || :
        /sbin/chkconfig libvirtd 1>/dev/null 2>&1 &&
            /sbin/chkconfig virtlogd on || :
        /sbin/service libvirtd status 1>/dev/null 2>&1 &&
            /sbin/service virtlogd start || :

%post daemon-config-network
# Install the default network if one doesn't exist
if test $1 -eq 1 && test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml ; then
    sed -e "s,</name>,</name>\n  <uuid>$UUID</uuid>," \
         < %{_datadir}/libvirt/networks/default.xml \
         > %{_sysconfdir}/libvirt/qemu/networks/default.xml

%pre client
%if %{with_systemd}
%service_add_pre libvirt-guests.service

%post client
%if %{with_systemd}
%service_add_post libvirt-guests.service
%{fillup_only -n libvirt-guests}

%preun client
%if %{with_systemd}
%service_del_preun libvirt-guests.service
%stop_on_removal libvirt-guests
if [ $1 = 0 ]; then
    rm -f /var/lib/libvirt/libvirt-guests

%postun client
%if %{with_systemd}
%service_del_postun libvirt-guests.service

%post nss

%postun nss

%doc %{_docdir}/%{name}/libvirt.README

%files daemon
%dir %{_libdir}/%{name}
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/hooks
%if %{with_systemd}
%config /etc/init.d/libvirtd
%config /etc/init.d/virtlogd
%config /etc/init.d/virtlockd
%config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd
%config(noreplace) %{_sysconfdir}/libvirt/virtlogd.conf
%config(noreplace) %{_sysconfdir}/libvirt/virtlockd.conf
%dir %{_datadir}/augeas/
%dir %{_datadir}/augeas/lenses
%dir %{_datadir}/augeas/lenses/tests
%dir %{_localstatedir}/lib/libvirt/
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/images/
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/filesystems/
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/boot/
%dir %attr(0711, root, root) %{_localstatedir}/cache/libvirt/
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/
%dir %attr(0755, root, root) %{_libdir}/%{name}/lock-driver
%attr(0755, root, root) %{_libdir}/%{name}/lock-driver/
%if %{with_polkit_rules}
%attr(0755, root, root) %{_libdir}/%{name}/libvirt_iohelper
%doc %{_mandir}/man8/libvirtd.8*
%doc %{_mandir}/man8/virtlogd.8*
%doc %{_mandir}/man8/virtlockd.8*
%if %{with_apparmor}
%dir %{_sysconfdir}/apparmor.d
%dir %{_sysconfdir}/apparmor.d/abstractions
%dir %{_sysconfdir}/apparmor.d/libvirt
%config(noreplace) %{_sysconfdir}/apparmor.d/usr.sbin.libvirtd
%config(noreplace) %{_sysconfdir}/apparmor.d/usr.lib.libvirt.virt-aa-helper
%config(noreplace) %{_sysconfdir}/apparmor.d/abstractions/libvirt-qemu
%config(noreplace) %{_sysconfdir}/apparmor.d/abstractions/libvirt-lxc
%config(noreplace) %{_sysconfdir}/apparmor.d/libvirt/TEMPLATE.lxc
%config(noreplace) %{_sysconfdir}/apparmor.d/libvirt/TEMPLATE.qemu
%config %{_fwdefdir}/libvirtd-relocation-server

%files daemon-config-network
%dir %{_datadir}/libvirt/networks/

%files daemon-config-nwfilter
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/

%files daemon-driver-interface
%dir %{_libdir}/%{name}/connection-driver

%files daemon-driver-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
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/
%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/
%attr(0755, root, root) %{_libdir}/%{name}/libvirt_leaseshelper
%dir %{_libdir}/%{name}/connection-driver

%files daemon-driver-nodedev
%dir %{_libdir}/%{name}/connection-driver

%files daemon-driver-nwfilter
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/
%dir %{_libdir}/%{name}/connection-driver

%files daemon-driver-secret
%dir %{_libdir}/%{name}/connection-driver

%files daemon-driver-storage
%attr(0755, root, root) %{_libdir}/%{name}/libvirt_parthelper
%dir %{_libdir}/%{name}/connection-driver

%if %{with_qemu}

%files daemon-driver-qemu
%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
%config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
%dir %{_libdir}/%{name}/connection-driver

%if %{with_lxc}

%files daemon-driver-lxc
%config(noreplace) %{_sysconfdir}/libvirt/lxc.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/
%attr(0755, root, root) %{_libdir}/%{name}/libvirt_lxc
%dir %{_libdir}/%{name}/connection-driver
%attr(0755, root, root) %{_bindir}/virt-lxc-convert
%doc %{_mandir}/man1/virt-create-rootfs.1*

%if %{with_uml}

%files daemon-driver-uml
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/
%dir %{_libdir}/%{name}/connection-driver

%if %{with_xen}

%files daemon-driver-xen
%dir %{_libdir}/%{name}/connection-driver

%if %{with_libxl}

%files daemon-driver-libxl
%config(noreplace) %{_sysconfdir}/libvirt/libxl.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.libxl
%config(noreplace) %{_sysconfdir}/libvirt/libxl-lockd.conf
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/libxl/
%dir %{_libdir}/%{name}/connection-driver

%if %{with_vbox}

%files daemon-driver-vbox

%if %{with_qemu}

%files daemon-qemu
%doc %{_docdir}/%{name}/libvirt-daemon-qemu.README

%if %{with_lxc}

%files daemon-lxc
%doc %{_docdir}/%{name}/libvirt-daemon-lxc.README

%if %{with_uml}

%files daemon-uml
%doc %{_docdir}/%{name}/libvirt-daemon-uml.README

%if %{with_xen} || %{with_libxl}

%files daemon-xen
%doc %{_docdir}/%{name}/libvirt-daemon-xen.README

%if %{with_vbox}

%files daemon-vbox
%doc %{_docdir}/%{name}/libvirt-daemon-vbox.README

%files client -f %{name}.lang
%doc %{_mandir}/man1/virsh.1*
%doc %{_mandir}/man1/virt-admin.1*
%doc %{_mandir}/man1/virt-xml-validate.1*
%doc %{_mandir}/man1/virt-pki-validate.1*
%doc %{_mandir}/man1/virt-host-validate.1*
%config(noreplace) %{_sysconfdir}/%{name}/libvirt.conf
%config(noreplace) %{_sysconfdir}/%{name}/libvirt-admin.conf
%dir %{_libdir}/%{name}
%attr(0755, root, root) %{_libdir}/%{name}/
%if %{with_systemd}
%config /etc/init.d/libvirt-guests

%dir %{_datadir}/libvirt/
%dir %{_datadir}/libvirt/schemas/

%dir %{_sysconfdir}/sasl2/
%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf

%files devel
%dir %{_datadir}/libvirt/api/

%files doc
# Website
%dir %{_docdir}/libvirt
%doc %{_docdir}/%{name}/*.png
%doc %{_docdir}/%{name}/*.html
%doc %{_docdir}/%{name}/*.gif
%doc %{_docdir}/%{name}/*.css
%doc %{_docdir}/%{name}/html
%doc %{_docdir}/%{name}/internals

# API docs
%dir %{_datadir}/gtk-doc/html/libvirt/
%doc %{_datadir}/gtk-doc/html/libvirt/*

%if %{with_sanlock}

%files lock-sanlock
%doc %{_mandir}/man8/virt-sanlock-cleanup.8*
    %if %{with_qemu}
%config(noreplace) %{_sysconfdir}/%{name}/qemu-sanlock.conf
    %if %{with_libxl}
%config(noreplace) %{_sysconfdir}/%{name}/libxl-sanlock.conf
%dir %{_libdir}/%{name}/lock-driver/
%attr(0755, root, root) %{_libdir}/%{name}/lock-driver/
%dir %{_datadir}/augeas/
%dir %{_datadir}/augeas/lenses
%dir %{_datadir}/augeas/lenses/tests
%dir %attr(0700, root, root) %{_localstatedir}/lib/%{name}/sanlock
%attr(0755, root, root) %{_libdir}/%{name}/libvirt_sanlock_helper

%if %{with_wireshark}

%files -n wireshark-plugin-libvirt

%files nss

* Fri Oct 14 2016
- libxl: fix leaking of migration ports
* Wed Sep 28 2016
- libxl: fix handling of credit scheduler weight parameter
- virtlogd.socket: Tie lifecycle to libvirtd.service
* Wed Sep 21 2016
- libxl: support VIR_MIGRATE_PERSIST_DEST migration flag
* Wed Sep 21 2016
- Don't provide empty usb device list to libxl.
* Fri Sep 16 2016
- cpu_x86: Fix host-model CPUs on hosts with CMT
  dbb14bb0-cmt-fix1.patch, 1ac897a1-cmt-fix2.patch,
  58ba240d-cmt-fix3.patch, 300f668c-cmt-fix4.patch
* Tue Sep  6 2016
- libxl: allow libxl to calculate shadow mem requirements
- libxl: advertise support for migration V3
* Tue Sep  6 2016
- Replace pci-use-driver-override-sysfs.patch with upstream variant
* Mon Sep  5 2016
- Updated patches with the version accepted upstream. bsc#989646
  * libxl-usb-vendor.patch replaced by
  * virHostdevFindUSBDevice-privsyms.patch replaced by
- Add USB Controller support for libxl driver. bsc#989646
* Mon Aug 29 2016
- Reintroduce mistakenly removed virt-create-rootfs.
  virt-create-rootfs.patch. bsc#995981
* Wed Aug 17 2016
- Replace qemu-auth-AEX-fix.patch with upstream variant
* Wed Aug 17 2016
- libxl: allow vendor/product addressing for USB hostdevs
  virHostdevFindUSBDevice-privsyms.patch, libxl-usb-vendor.patch
* Sat Aug 13 2016
- Replace cpumodel-vendor-crash-fix.patch with upstream variant
* Fri Aug 12 2016
- qemu: fix auth for curl, iscsi, and rbd network disks
  fceeeda2-qemu-secinfo-hotplug-disk.patch, qemu-auth-AEX-fix.patch
* Fri Aug  5 2016
- cpu_x86: fix libvirtd segfault when host cpu is 'qemu64'
* Fri Aug  5 2016
- bsc#988279. Move the qemu-bridge-helper apparmor profile from the
  qemu abstraction to the usr.sbin.libvirtd profile.
* Wed Aug  3 2016
- spec: minor improvements to logic enabling numactl and numad
  support and fix nested if indentation
* Tue Aug  2 2016
- Update patches providing support for driver_override sysfs
  interface with latest upstream variant. Dropped
  pci-simplify-stub.patch and updated
* Sat Jul 30 2016
- spec: enable numactl and numad support for aarch64
  FATE#319979, bsc#991377
* Fri Jul 15 2016
- BuildRequires: use librbd-devel instead of ceph-devel
- Enable rbd support for aarch64
* Thu Jul 14 2016
- Use driver_override sysfs interface for binding/unbinding
  PCI stub drivers
  pci-simplify-stub.patch, pci-use-driver-override-sysfs.patch
* Tue Jul 12 2016
- systemd: fix ready notification on abstract socket
* Fri Jul  1 2016
- Update to libvirt 2.0.0
  - Change version scheme to match libvirt's time-driven release
    schedule. <major> will be incremented on first release of
    new calendar year, <minor> on each monthly release, and
    <micro> on stable branch maintenance release
  - Include libvirt-admin utility and API
  - Many incremental improvements and bug fixes, see
  - Dropped patches:
  - FATE#316228, FATE#316628, FATE#319531, FATE#319810,
* Mon Jun 20 2016
- spec: Recent simplification allows using a common spec file for
  SLE and openSUSE
* Thu Jun 16 2016
- xenconfig: fix conversion of <driver> to backendtype
* Wed Jun 15 2016
- Advertise aarch64 UEFI firmware paths
  - adjust spec file to include aarch64 paths in
    '--with-loader-nvram=' configure option
  - adjust qemu.conf 'nvram' option to include the SUSE paths
  bsc#981836, bsc#983747
* Thu Jun  9 2016
- apparmor: Don't scrub environment of virtlogd process
* Mon Jun  6 2016
- Update to libvirt 1.3.5
  - Many incremental improvements and bug fixes, see
  - Dropped patches:
    538012c8-default-vram.patch, 96b21fb0-vram-tests.patch,
    libxl-migv2-save-restore.patch, libxl-migv2-migration.patch,
  - FATE#316228, FATE#316628, FATE#319531, FATE#319810,
  - Includes fixes for bsc#903757, bsc#936524, bsc#948686,
    bsc#952889, bsc#956298, bsc#960305, and bsc#964465
- spec: simplify and cleanup by removing many conditionals that
  are never toogled. Also drop conditionals for suse_version <
* Wed May 25 2016
-  libxl: add domainInterfaceAddresses API
* Wed May 25 2016
- libxl: default to qemu driver for network disks
* Wed May 18 2016
- spec: Remove %%defattr usage
  Inspired by upstream commit 90f9193c
* Fri May 13 2016
- Fix default video RAM setting
  538012c8-default-vram.patch, 96b21fb0-vram-tests.patch,
* Wed May  4 2016
- libxl: support Xen migration stream V2
  libxl-api-version4.4.patch, libxl-migv2-save-restore.patch,
* Tue May  3 2016
- Update to libvirt 1.3.4
  - Add support for migration data compression in QEMU driver
  - Drop libvirtd.socket
  - Many incremental improvements and bug fixes, see
  - Dropped patches: 216650f1-libxl-build-fix.patch,
  - FATE#316228, FATE#316628, FATE#319531, FATE#319810,
* Mon Apr 18 2016
- qemu: perf: Fix crash/memory corruption on failed VM start
* Mon Apr 18 2016
- Fix setting implicit video devices as primary
* Tue Apr 12 2016
- Update to libvirt 1.3.3
  - perf events
  - post-copy migration support
  - NSS module
  - Many incremental improvements and bug fixes, see
  - Add rpmlintrc file to filter shlib-policy-name-error for
    new libnss_libvirt plugin
  - FATE#316228, FATE#316628, FATE#319531, FATE#319810,
- Fix build with Xen4.7
* Fri Mar 18 2016
- spec: restart daemons in %%posttrans after connection drivers
  have been processed
  bsc#854343, bsc#968483
* Thu Mar  3 2016
- libxl: advertise system qemu instead of qemu-xen in caps
* Tue Mar  1 2016
- Update to libvirt 1.3.2
  - Many incremental improvements and bug fixes, see
  - FATE#319531, FATE#319810, FATE#320490
* Thu Feb 18 2016
- libxl: Add support for block-{dmmd,drbd,npiv} scripts
  bsc#954872 and FATE#319810
* Thu Jan 28 2016
- Update to libvirt 1.3.1
  - CVE-2015-5313
  - Many incremental improvements and bug fixes, see
  - Dropped patches: ba25c214-libxl-log-level.patch,
  - FATE#319531, FATE#320490
* Tue Dec 29 2015
- Update to libvirt stable release
  - Inherit many upstream bug fixes, including CVE-2015-5313
  - Drop patches included in the stable release
* Tue Nov 17 2015
- Don't add apparmor deny rw rule for 9P readonly mounts.
  bsc#952849. virt-aa-helper-rw-mounts.patch
* Fri Oct 16 2015
- spec: remove all dependencies on apparmor to keep it optional.
* Tue Oct 13 2015
- xenconfig: set disk type to BLOCK when driver is not tap or file
* Fri Oct  9 2015
- spec: the libvirt apparmor profiles #include files from the
  apparmor-profiles package, thus should have a dependency on it
* Tue Oct  6 2015
- Fix profile_status to distringuish between errors and unconfined
  domains. a1bdf04b-apparmor-dominfo.patch. bsc#948516
* Wed Sep 23 2015
- Update to libvirt stable release
  - Inherit many upstream bug fixes
  - Drop patches included in the stable release
  - Drop signature file. Stable releases are not signed
  - FATE#314466, FATE#314497, FATE#315157, FATE#318383
* Thu Sep 17 2015
- bsc#945962: SLES12 SP1 Beta3 - Pass-through NIC device via virsh
  not available to VM.
* Tue Sep 15 2015
- libxl: set driver log level to the log_level specified in
* Mon Sep 14 2015
- CVE-2015-5247 - denial of service through root-squash NFS storage
* Fri Aug 28 2015
- Replace local libxl patch with upstream variants
- Added another virt-aa-helper upstream patch
- Added upstream patch to fix libvirt-tck memory balloon test
  failure on Xen
* Wed Aug 26 2015
- Fix generated apparmor profile to allow access to ovmf and nvram.
* Mon Aug 24 2015
- storage: only run safezero if allocation is > 0
* Wed Aug  5 2015
- Update to libvirt 1.2.18
  - libxl: support dom0
  - Many incremental improvements and bug fixes, see
  - Dropped upstream patches: 45697fe5-libxl-support-dom0.patch,
    8dd8df6-qemu-cleanup-fix.patch, 4749fec-nbd-wait.patch
  - FATE#314466, FATE#314497, FATE#315157, FATE#318383
* Mon Jul 20 2015
- Fix crash in libxl driver on receiving side
- Refresh libxl-set-cach-mode.patch for xen-4.5
* Wed Jul 15 2015
- Fixed virt-aa-helper bugs preventing virt-sandbox to work.
- Fixed crasher due to uninitialized values.
* Thu Jul  9 2015
- libxl: set dom0 state to running
* Tue Jul  7 2015
- libxl: support management of dom0
- libxl: libxl: fix setting state of virDomainObj
* Thu Jul  2 2015
- Update to libvirt 1.2.17
  - parallels driver renamed to vz (Virtuozzo)
  - Many incremental improvements and bug fixes, see
  - FATE#314466, FATE#314497, FATE#315157, FATE#318383
- spec: re-enable tests that have received upstream fixes and
  are now passing
* Thu Jun 11 2015
- spec: remove guard around declaration of
* Wed Jun  3 2015
- Remove unsupported settings in libvirtd.socket unit file when
  systemd version < 214
* Tue Jun  2 2015
- Update to libvirt to 1.2.16
  - See for a list of features,
    enhancements, and bug fixes since version 1.2.5 found in
  - Drop upstream patches c0d3f608-libxl-soundhw.patch and
  - Drop polkit-10-virt.rules in favor of upstream 50-libvirt.rules
  - FATE#314466, FATE#314497, FATE#315157, FATE#318383
* Tue Jun  2 2015
- spec: fix building of rbd storage backend for x86
* Thu May 21 2015
- Update to libvirt to 1.2.15
  - See for a list of features,
    enhancements, and bug fixes since version 1.2.5 found in
  - FATE#314466, FATE#314497, FATE#315157, FATE#318383
* Wed Apr 22 2015
- Fixed apparmor generated profile for PCI hostdevs. bsc#921555
* Thu Mar 12 2015
- Include additional upstream fixes for systemd TerminateMachine
* Tue Mar 10 2015
- Fix security driver default settings in /etc/libvirt/qemu.conf
  Modified suse-qemu-conf.patch
* Mon Mar  9 2015
- Fixed a number of QEMU apparmor abstraction problems. bsc#921355
* Fri Feb  6 2015
- bsc#911737: additionnal fix for the case where security labels
  aren't automatically set. a58e1cb4-container-cleanup.patch
* Wed Jan 28 2015
- CVE-2015-0236: libvirt: access control bypass
  03c3c0c8-CVE-2015-0236.patch, b347c0c2-CVE-2015-0236.patch
* Thu Jan 22 2015
- virt-create-rootfs: allow setting the URL of an SMT server to use
  in place of SCC. virt-create-rootfs.patch. bsc#914297
* Fri Jan 16 2015
- Backported route definition changes. bsc#904432
* Mon Jan 12 2015
- Fix build failure for test case securityselinuxlabeltest
* Thu Jan  8 2015
- enable building with rbd on x86_64 (FATE#318349)
* Thu Jan  8 2015
- Apparmor profile regression breaks Xen domains. bsc#913799
* Wed Jan  7 2015
- Transformed Errors into warnings in detect_scsi_host_caps.
* Tue Jan  6 2015
- Fix a missing cleanup for lxc containers.
  a58e1cb4-container-cleanup.patch. bsc#911737
- Renamed patches as they went upstream:
  - lxc-net-target-name.patch
  - > 3ba0469c-lxc-net-target-name.patch
  - lxc-net-target-name-conversion.patch
  - > 7c10a774-lxc-net-target-name-conversion.patch
  - lxc-keep-caps-feature.patch
  - > 47e5b5ae-lxc-keep-caps.patch
  - lxc-keep-caps-feature-conversion.patch
  - > 26d67015-lxc-keep-caps-conversion.patch
  - ifname_guest-cleanup.patch
  - > b11a75dc-ifname_guest-cleanup.patch
- Removed patches as merged into another when upstreaming:
  - lxc-net-target-name-doc.patch merged into
  - lxc-keep-caps-feature-doc.patch merged into
- Adding network configuration to containers. bsc#904432
* Mon Jan  5 2015
- Replaced hard to maintain install-apparmor-profiles.patch by
  upstream 30c6aecc-apparmor-profile-lib64.patch
* Mon Dec 22 2014
- CVE-2014-8136: libvirt: local denial of service in qemu driver
* Sun Dec 14 2014
- Fix segfault in fs storage driver
  Updated c110cdb2-fix-format-probe.patch
* Wed Dec 10 2014
- Fix potential crasher in virt-aa-helper
- Fixes for virt-sandbox-service to work. bsc#909249:
  - Allow adding virt-sandbox service config to apparmor rules.
  - fix symlink resolving for containers to start.
  - fix unmounting file system if it contains the source to mount.
  - Reworked the patch mounting ipv[46] folders RW to get rid of
    temporary mounts. sys-net-rw.patch
* Fri Dec  5 2014
- qemu: allow setting migration max downtime any time
* Fri Dec  5 2014
- Fix mounting of /sys in containers, and ease maintenance by adding
  a86b6215-sysfs-userns-nonetns.patch. bsc#904432
* Mon Dec  1 2014
- Get /proc/sys/net/ipv[46] read-write for wicked to work in
  containers. bsc#904432. sys-net-rw.patch
- Clean unfreed variable. ifname_guest-cleanup.patch
* Mon Nov 24 2014
- libxl: several migration improvements
  cb88d433-libxl-mig-thread.patch, a1f38951-libxl-mig-job.patch,
- libxl: allow libxl to find pygrub binary
* Mon Nov 17 2014
- Fix Qemu AppArmor abstraction.
  - was denied on x86_64.
  - Temporary fix access to screenshot temporary file. bsc#904426.
* Thu Nov 13 2014
- Fix build when enabling with_dtrace
  Modified libvirt.spec
* Tue Nov 11 2014
- CVE-2014-7823: dumpxml: security hole with migratable flag
* Tue Oct 28 2014
- AppArmor confined kvm domains couldn't find the apparmor profile
  template. apparmor-rework-fix.patch
* Sat Oct 11 2014
- backport commit c110cdb2 to fix non-raw storage format error
* Thu Oct  2 2014
- qemu: use systemd's TerminateMachine to kill all processes
* Thu Oct  2 2014
- CVE-2014-3657: Fix domain deadlock
* Tue Sep 23 2014
- libvirt-guests: start after instead of
  ntp-wait.service as agreed upstream
  Replace libvirt-guests-wait-for-ntp.patch with upstream patch
* Fri Sep 19 2014
- libxl: Support user-specified emulator and keymap
  libxl-dev-model.patch, libxl-support-emulator.patch,
* Fri Sep 19 2014
- libxl: Drop driver lock in libxlDomainDefineXML
* Fri Sep 19 2014
- CVE-2014-3633: Use correct definition when looking up disk in
  qemu blkiotune
* Tue Sep 16 2014
- libxl: Fix HVM direct kernel boot
* Mon Sep 15 2014
- Fix mapping of libvirt and libxl lifecycle events
* Mon Sep  8 2014
- Wait for ntp service before running libvirt-guests
* Thu Sep  4 2014
- Canonicalize host arch name ppc64le to ppc64
* Thu Sep  4 2014
- bnc#888166 - unix domain sockets for qemu chardev with
  insufficient permissions
* Fri Aug 29 2014
- bnc#894232 - Update apparmor profile to allow raw packets
* Tue Aug 26 2014
- virsh: Fix initialization of vshData in cmdMigrate to avoid
  calling virConnectClose with uninitialized data
* Tue Aug 26 2014
- libxl: Fix libvirtd crash triggered by some guest <graphics>
- Replace virsh-migration-hang.patch with upstream
* Wed Aug 20 2014
- remove not necessary hunks from libvirt-ppc64le-support.patch
- move new patches to section for to be upstreamed
* Tue Aug 19 2014
- add patch: libvirt-power8-models.patch
  add current power8 cpu models to map
* Tue Aug 19 2014
- add patch: libvirt-ppc64le-support.patch
  add preliminary ppc64le support to libvirt
* Fri Aug 15 2014
- Fix apparent hang of 'virsh migrate' command
* Fri Aug  8 2014
- bnc#820399 - virsh blockcopy should refuse identical device
* Thu Aug  7 2014
- libxl: Implement domainReset
* Wed Jul 30 2014
- Added a patch to remove all mount rules in apparmor profile
  abstraction for lxc: those aren't supported by the kernel and
  cause YaST apparmor to fail. bnc#883060.
- Domain configuration changed capabilities weren't written back if
  all features are set to default. bnc#889552.
* Thu Jul 17 2014
- Update add-nocow-to-vol-xml.patch with upstream patch
* Wed Jul 16 2014
- Renamed virt-lxc-convert-fix.patch into
  dba3432b-virt-lxc-convert-fix.patch as it went upstream
* Wed Jul 16 2014
- lxc AppArmor profile now only restricting potentially dangerous
  accesses. fdo#886460
- added patches:
  * 9265f8ab-apparmor-lxc-rework.patch
  * 9b1e4cd5-skip-useless-apparmor-files.patch
- modified patches:
  * install-apparmor-profiles.patch
* Tue Jul 15 2014
- libxl: fixes for PCI/SR-IOV passthrough
* Wed Jul  9 2014
- libxl: migration improvements, particularly on error paths
* Fri Jul  4 2014
- virt-lxc-convert: force free to output values in bytes
- added patches:
  * virt-lxc-convert-fix.patch
* Wed Jul  2 2014
- Move 'Requires' of qemu from libvirt-daemon-qemu subpackage to
* Wed Jul  2 2014
- lxc: allow setting a custom name for container NICs as LXC is
  is able to do it.
- lxc-keep-caps-feature.patch: updated to match the version approved
  by upstream
* Mon Jun 30 2014
- libxl: detect support for save and restore, which is not
  supported on all architectures
* Mon Jun 30 2014
- libxl: add PV console if not explicitly specified
  Fixes SLES11 -> SLES12 upgrades
* Tue Jun 24 2014
- libxl: use qdisk instead of tapdisk backend when
  <driver name='file'/>.  Fixes SLES11 -> SLES12 upgrades.
* Fri Jun 20 2014
- libxl: Use cooperative resume for migration
  Xen project bug#30:
* Thu Jun 19 2014
- Fix conversion of xm config contain 'root='
* Thu Jun 19 2014
- Drop libxl-iface-network.patch and libxl-iface-script.patch.
  Replace with upstream equivalents:
* Wed Jun 18 2014
- virt-lxc-convert.patch accepted upstream. Dropped and replaced
  with b73aafd6-virt-lxc-convert.patch
* Mon Jun 16 2014
- lxc-keep-caps-feature.patch: allow to keep/drop additional
  capabilities for LXC containers. bnc#881465
- lxc-keep-caps-feature-conversion.patch: convert lxc.cap.drop to
  the new domain configuration.
- lxc-keep-caps-feature-doc.patch: documentation for the new feature.
* Fri Jun 13 2014
- libxl: fix domxml-to-native with qemu disk driver
* Wed Jun 11 2014
- libxl: support interface type=network
  libxl-iface-network.patch, libxl-iface-script.patch
* Tue Jun 10 2014
- Remove unnecessary patches for the legacy Xen driver, which is
  not built for SLE12
  Dropped fix-pci-attach-xen-driver.patch, xen-name-for-devid.patch
* Tue Jun 10 2014
- qemu: fix use of encrypted qcow2 disks
* Thu Jun  5 2014
- Replace libxl-migration-support.patch with upstream equivalents
  d9a099a4-libxl-abi-check.patch and 9b8d6e1e-libxl-migration.patch
* Mon Jun  2 2014
- virt-create-rootfs.patch: Add a script to help creating SLE and
  openSUSE rootfs. bnc#871885
* Mon Jun  2 2014
- Update to libvirt 1.2.5
  - Introduce virDomain{Get,Set}Time APIs
  - Introduce virDomainFSFreeze() and virDomainFSThaw() public API
  - Many incremental improvements and bug fixes, see
  - Drop upstream patches:
    1d98e713-sec-dac5.patch 292d3f2d-libselinux-build-fix1.patch,
    3c2487ab-sec-dac8.patch, 3de7e4ec-sec-dac6.patch,
    5099084e-sec-dac3.patch, 88e36a69-sec-dac11.patch,
    9369a562-sec-dac7.patch, 99f50208-managed-hostdev-iface.patch,
    a0f82fd2-sec-dac10.patch, b109c097-libselinux-build-fix2.patch,
    b98bf811-add-paravirt-shutdown-flag.patch, bb917a90-sec-dac9.patch,
    c4fe29f8-use-shutdown-flag.patch, d6b27d3e-CVE-2014-0179.patch,
    d77fa847-sec-dac2.patch, da744120-use-reboot-flag.patch,
    e1ce6d83-sec-dac4.patch. fcf5ea7f-sec-dac1.patch,
* Wed May 28 2014
- Add upstream patches that fix build with libselinux 2.3
  Added: 292d3f2d-libselinux-build-fix1.patch,
  Dropped: libselinux-build-fix.patch
* Wed May 28 2014
- Better fix for the libselinux 2.3 build breaker
* Wed May 28 2014
- set cache= mode in libxl driver (unsafe|directsync)
  Added: libxl-set-cach-mode.patch
* Wed May 28 2014
- Update discard support for libxl_device_disk to allow more values
  in overloaded ->readwrite member
* Tue May 27 2014
- Fix build with libselinux 2.3
* Tue May 20 2014
- spec: libvirt-daemon package owns /etc/libvirt, not libvirt-client
* Mon May 19 2014
- DAC security driver: Fix crash with no seclables
* Fri May 16 2014
- spec: Drop useless ia64-clone.patch
* Fri May 16 2014
- libxl: Add support for setting migration constraints
* Fri May 16 2014
- DAC security driver: honor relabel='no' attribute in device
  * -sec-dac*.patch
* Mon May 12 2014
- libxl: Fix <interface type='hostdev'> syntax for SR-IOV devices
* Tue May  6 2014
- Update to libvirt 1.2.4
  - Primarily a bug-fix release.  See
    for a detailed list of bug fixes and improvements
  - Drop upstream patches:
    0e0c1a74-domid-fix.patch, 7a1452f5-libxl-empty-cdrom.patch,
    lxcconf2xml-vpcus-fix.patch, drop-pm-utils.patch
- Renamed patches to include upstream commit id
  libxl-new-shutdown-flag.patch -> b98bf811-add-paravirt-shutdown-flag.patch
  libxl-use-shutdown-flag.patch -> c4fe29f8-use-shutdown-flag.patch
  libxl-use-reboot-flag.patch -> da744120-use-reboot-flag.patch
* Mon May  5 2014
- CVE-2014-0179: Don't expand entities when parsing XML
* Fri May  2 2014
- libxl: Support ACPI shutdown event
  libxl-new-shutdown-flag.patch, libxl-use-shutdown-flag.patch,
- libx: Support migration
* Tue Apr 22 2014
- spec: Change libvirt-daemon-qemu subpackage to require qemu-kvm
  for x86_64 and s390x only.  For all other architectures, require
  qemu.  This ensures existing domains using
  <emulator>/usr/bin/qemu-kvm</emulator> continue to work, without
  burdening new architectures with a qemu-kvm dependency.
* Tue Apr  8 2014
- libxl: Set disk format for empty cdrom device
  0e0c1a74-domid-fix.patch, 7a1452f5-libxl-empty-cdrom.patch
* Mon Apr  7 2014
- Fate#315125: add NOCOW flag
* Fri Apr  4 2014
- lxc config conversion fixes:
  - updated virt-lxc-convert with new version submitted upstream
  - make virt-lxc-convert executable
  - the number of current vcpus can't be 0.
    added patch: lxcconf2xml-vpcus-fix.patch
  - virt-lxc-convert now fixes the rootfs of sles11 containers to
    properly start on sles12: lxc-convert-fix-sle11-rootfs.patch
* Wed Apr  2 2014
- drop-pm-utils.patch: use systemd API instead of pm-is-supported.
  FATE: 316824. bnc#856381.
* Tue Apr  1 2014
- Update to libvirt 1.2.3
  - add new virDomainCoreDumpWithFormat API
  - conf: Introduce virDomainDeviceGetInfo API
  - more features and fixes on bhyve driver
  - lot of cleanups and improvement on the Xen driver
  - Many incremental improvements and bug fixes, see
  - Drop upstream patches:
    43c030f-lxc-apparmor.patch, a3e4eef-lxc-apparmor.patch,
    500b2e9-lxc-apparmor.patch, ef7dc7d-lxc-apparmor.patch,
    9194cce-lxc-apparmor.patch, f68246ac-libxl-sexpr.patch,
    apparmor-qemu-fix.patch, apparmor-vfio.patch,
  - FATES: 313213, 315155, 315468, 315423, 315429, 315430, 315431,
    315428, 315479, 315684, 315740, 315793, 316083, 316100, 316917
* Wed Mar 26 2014
- Add virt-lxc-convert tool as a wrapper around virsh to ease
  conversion from LXC configuration to libvirt domain XML config.
  virt-lxc-convert.patch. fate#316917.
* Tue Mar 25 2014
- Fix AppArmor profiles for qemu guests.
  apparmor-qemu-fix.patch: fixes a regression
  apparmor-vfio.patch: fix profile for vfio pci passthrough.
* Fri Mar 14 2014
- Add /usr/sbin/rc{libvirtd,virtlockd,libvirt-guests} symlinks
  to preserve backwards compatibility
* Tue Mar 11 2014
- libxl: support sexpr in native to XML conversion, providing
  another way to import legacy Xen configuration into libvirt
* Fri Mar  7 2014
- Implement securing LXC containers with AppArmor
  43c030f-lxc-apparmor.patch, 500b2e9-lxc-apparmor.patch
  9194cce-lxc-apparmor.patch, a3e4eef-lxc-apparmor.patch,
* Tue Mar  4 2014
- Improve lock manager comments in qemu.conf
  Updated suse-qemu-conf.patch
* Tue Mar  4 2014
- Create /etc/libvirt/hooks to allow using hook scripts
* Mon Mar  3 2014
- Update to libvirt 1.2.2
  - add LXC from native conversion tool
  - Many incremental improvements and bug fixes, see
  - FATES: 313213, 315155, 315468, 315423, 315429, 315430, 315431,
    315428, 315479, 315684, 315740, 315793, 316083, 316100
  - bnc#857490
* Fri Feb 28 2014
- libvirtd: notify systemd when ready to accept connections
* Wed Feb 26 2014
- Update to libvirt 1.2.2 RC2
  - Many incremental improvements and bug fixes, see
  - Dropped upstream patches:
  - Add local disable-virCgroupGetPercpuStats-test.patch to disable
    failing virCgroupGetPercpuStats test in 'make check'
  - FATES: 313213, 315155, 315468, 315423, 315429, 315430, 315431,
    315428, 315479, 315684, 315740, 315793, 316083, 316100
* Mon Feb 24 2014
- daemon-qemu: Require qemu-kvm instead of kvm to align with
  recent changes to the qemu package structure
* Fri Feb 14 2014
- spec: fix dependencies of daemon-config-network and
  daemon-config-nwfilter subpackages.  Influenced by upstream
  commits cf76c4b3 and dca5ce4c
* Fri Feb 14 2014
- Remove libvirtd, virtlockd, and libvirt-guests init scripts when
  using systemd
* Wed Feb 12 2014
- Fix the path to libvirtd AppArmor template profile:
* Mon Feb 10 2014
- disable virnetsockettest: Unstable under test environment
* Wed Feb  5 2014
- Add discard support to libxl_device_disk in libxl driver
* Wed Feb  5 2014
- Explicitly disable hypervisor drivers not supported in SLES12
* Thu Jan 23 2014
- Fate#313213 extend lxc monitoring features:
  * add Add-util-virCgroupGetBlkioIo-Serviced-methods.patch
  * add Implement-domainGetCPUStats-for-lxc-driver.patch
  * add Implement-domainMemoryStats-API-slot-for-LXC-driver.patch
  * add Implement-lxcDomainBlockStatsFlags-for-lxc-driver.patch
  * add Implemet-lxcDomainBlockStats-for-lxc-driver.patch
  * add Make-qemuGetDomainTotalCPUStats-a-virCgroup-function.patch
  * add Widening-API-change-accept-empty-path-for-virDomainB.patch
* Wed Jan 22 2014
- Add CAP_SYS_PACCT capability to libvirtd AppArmor profile
  Modified install-apparmor-profiles.patch
* Wed Jan 22 2014
- Following the upstream pattern, introduce the
  daemon-config-network subpackage to handle defining the default
* Fri Jan 17 2014
- Update to libvirt 1.2.1
  - CVE-2014-0028, CVE-2014-1447, CVE-2013-6458, CVE-2013-6457,
  - Many incremental improvements and bug fixes, see
  - Dropped upstream patches: 5e397d9c-test-fix-dbus-crash.patch,
    9faf3f29-LXC-memtune.patch, f8c1cb90-CVE-2013-6436.patch,
  - FATES: 315155, 315468, 315423, 315429, 315430, 315431, 315428,
    315479, 315684, 315740, 315793, 316083, 316100
* Fri Dec 27 2013
- Ignore 'make check' on older, code 11 base
* Thu Dec 26 2013
- Fixed and reenabled unit tests. bnc#854694
* Fri Dec 20 2013
- Remove dependency on pm-utils from libvirt-client
* Fri Dec 20 2013
- CVE-2013-6436: Fix crashes in lxc memtune code, one of which
  results in DoS
  f8c1cb90-CVE-2013-6436.patch, 9faf3f29-LXC-memtune.patch
* Fri Dec  6 2013
- More adjustments to the spec file to fix package dependency
* Fri Dec  6 2013
- Update to libvirt 1.2.0
  - Add support for gluster pool
  - Separation of python binding
  - vbox: add support for 4.3 APIs
  - Many incremental improvements and bug fixes, see
  - Updated and renamed clone.patch to ia64-clone.patch
- Enabled numad support for openSUSE >= 13.1
* Wed Dec  4 2013
- Link with same versions of libnl used by netcontrol to prevent
  crashing libvirtd on start
* Wed Dec  4 2013
- Add '/etc/sasl2' to libvirt-client file list to fix Factory build
* Wed Nov 27 2013
- Fix starting of libvirtd when NetworkManager is enabled
  Modified libvirt-suse-netcontrol.patch
* Tue Nov 26 2013
- Allow execution of libvirt hook scripts in /etc/libvirt/hooks/
  in libvirtd AppArmor profile
* Wed Nov 20 2013
- Update to libvirt 1.1.4
  - Add support for AArch64 architecture
  - Various improvements on test code and test driver
  - Don't link virt-login-shell against
  - Close all non-stdio FDs in virt-login-shell
  - Only allow 'stderr' log output when running setuid
  - Fix perms for virConnectDomainXML{To,From}Native
  - Many incremental improvements and bug fixes, see
  - Drop upstream patches: e7f400a1-CVE-2013-4296.patch,
    2dba0323-CVE-2013-4297.patch, db7a5688-CVE-2013-4311.patch,
    e65667c0-CVE-2013-4311.patch, 922b7fda-CVE-2013-4311.patch,
    e4697b92-CVE-2013-4311.patch, 8294aa0c-CVE-2013-4399.patch,
    57687fd6-CVE-2013-4401.patch, ae53e5d1-CVE-2013-4400.patch,
    8c3586ea-CVE-2013-4400.patch, b7fcc799a-CVE-2013-4400.patch,
    3e2f27e1-CVE-2013-4400.patch, 5a0ea4b7-CVE-2013-4400.patch,
* Tue Nov 19 2013
- Allow execution of Xen binaries in /usr/lib{,64}/xen/bin in
  libvirtd AppArmor profile
* Tue Nov 19 2013
- Require libvirt-daemon-<hypervisor> in the main libvirt package
  for each supported hypervisor
* Mon Nov  4 2013
- Fix initialization of libxl NIC devices
* Wed Oct 30 2013
- Fix typo in libvirtd apparmor profile which prevented the profile
  from loading
* Fri Oct 25 2013
- libxl driver: fix initialization of VNC and SDL info for
  HVM domains
- Allow libvirtd apparmor profile to access /etc/xen/scripts/*
* Wed Oct 23 2013
- Fix file descriptor passing in python bindings
* Tue Oct 22 2013
- Have systemd terminate the machine as a workaround of fdo#68370
* Tue Oct 22 2013
- Spec file fixes to only package libvirt-login-shell when
  building the LXC driver
* Mon Oct 21 2013
- CVE-2013-4400: Unsantized use of env variables allows privilege
  escalation via virt-login-shell
  ae53e5d1-CVE-2013-4400.patch, 8c3586ea-CVE-2013-4400.patch,
  b7fcc799a-CVE-2013-4400.patch, 3e2f27e1-CVE-2013-4400.patch,
  5a0ea4b7-CVE-2013-4400.patch, 843bdb2f-CVE-2013-4400.patch
- CVE-2013-4401: Fix perms for virConnectDomainXML{To,From}Native
* Fri Oct 18 2013
- Move hypervisor-specific files out of libvirt-daemon package
  and into libvirt-daemon-<hypervisor> subpackage
- conf: Don't crash on invalid chardev source definition
  bnc#845704, rhb#1012196
* Thu Oct 17 2013
- Use newer libnl3 instead of libnl-1_1
* Tue Oct 15 2013
- Move virt-login-shell to new subpackage libvirt-login-shell,
  requiring users to opt-in for this setuid binary.  Note: For now,
  virt-login-shell will not have setuid permissions, pending
  resolution of bnc#837609
* Tue Oct 15 2013
- qemu: Fix seamless SPICE migration
* Tue Oct 15 2013
- CVE-2013-4399: Fix crash in libvirtd when events are registered
  and ACLs active
  bnc#844052, bnc#842300
* Mon Oct 14 2013
- Update the stale gettext BuildRequires and Requires dependencies
  in the spec file
* Mon Oct 14 2013
- virt-aa-helper apparmor profile was denying read access to
  /proc/$PID/*.  Give read accesss to these files.
  Updated install-apparmor-profiles.patch
* Mon Oct 14 2013
- libvirtd apparmor profile was denying access to
  /usr/lib/xen/bin/qemu-system-i386, which is now the default
  emulator used with Xen guests
  Updated install-apparmor-profiles.patch
* Thu Oct  3 2013
- Fix condrestart|try-restart invocation of virtlockd init script
  Modifed virtlockd-init-script.patch
* Tue Sep 17 2013
- CVE-2013-4311: Add support for using 3-arg pkcheck syntax for
  db7a5688-CVE-2013-4311.patch, e65667c0-CVE-2013-4311.patch,
  922b7fda-CVE-2013-4311.patch, e4697b92-CVE-2013-4311.patch
* Thu Sep  5 2013
- CVE-2013-4296: Fix crash in remoteDispatchDomainMemoryStats
- CVE-2013-4297: Fix crash in virFileNBDDeviceAssociate
* Tue Sep  3 2013
- Update to libvirt 1.1.2
  - 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
  - Many incremental improvements and bug fixes, see
  - Drop upstream patches: bcef0f01-libxl-console.patch,
    d7a45bf2-legacy-xen-dumpxml.patch, 0e671a16-CVE-2013-4239.patch
  - Includes fixes for bnc#837530, bnc#837531, bnc#837999
* Tue Aug 13 2013
- Fix memory corruption in legacy Xen driver
- Upstream patches to fix dumpxml in legacy Xen driver
* Wed Jul 31 2013
- Backport upstream patch implementing domainOpenConsole in the
  libxl driver.  Allows 'virsh console dom-name' to work with
  Xen libxl toolstack.
* Tue Jul 30 2013
- Update to libvirt 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
  - Many incremental improvements and bug fixes, see
  - Drop upstream patches: f38c8185-CVE-2013-2230.patch,
    fd2e3c4c-xen-sysctl-domctl.patch, dfc69235-CVE-2013-4153.patch,
    96518d43-CVE-2013-4154.patch, fe89fd3b-storage-pool-deadlock.patch
  - Drop relax-qemu-usergroup-check.patch - no longer needed
    after hypervisor-specific daemon package split
* Mon Jul 22 2013
- Unlock the storage volume object after looking it up
* Mon Jul 22 2013
- CVE-2013-4153: Fix double free of returned JSON array in
- CVE-2013-4154: Prevent crash of libvirtd without guest agent
* Wed Jul 17 2013
- Fix legacy xen driver with Xen 4.3
* Wed Jul 10 2013
- CVE-2013-2230: Fix crash when multiple event callbacks were
* Wed Jul 10 2013
- Update to libvirt 1.1.0
  - Extensible migration APIs
  - Add a policy kit access control driver
  - various improvements in the Xen and libxl drivers
  - improve networking support on BSD
  - agent based vCPU hotplug support
  - Many incremental improvements and bug fixes, see
  - Drop upstream patches: 244e0b8c-CVE-2013-2218.patch
* Mon Jul  8 2013
- Only require lzop if suse_version > 1210
* Wed Jul  3 2013
- Fix typo in spec file
* Wed Jul  3 2013
- Enable support for netcontrol by default
- Only require libvirt-daemon-driver-interface when building the
  interface driver
* Mon Jul  1 2013
- CVE-2013-2218: Fix crash listing network interfaces with filters
* Tue Jun 11 2013
- Add xencommons as 'Wanted' in the systemd libvirtd service file
* Mon Jun 10 2013
- Fix build for SLE11 SP2
* Fri Jun  7 2013
- Add a README to the empty packages.  Provides some info about
  their purpose and satisfies suse-filelist-empty check.
  Drop rpmlintrc
* Fri Jun  7 2013
- Fix typo in spec file: devel package requires doc package, not
* Thu Jun  6 2013
- Add rpmlintrc to get around suse-filelist-empty error on
  older distros.
* Thu Jun  6 2013
- Refactor libvirt spec file to create subpackages for the various
  libvirtd components.  This allows installing a libvirtd tailored
  for the underlying virtualizer.  E.g. on a KVM/QEMU virtualizer
  only the libvirt-daemon-qemu package needs installed.
  Similarly, only libvirt-daemon-xen on a Xen virtualizer and
  libvirt-daemon-lxc on LXC.
* Tue Jun  4 2013
- Update to libvirt 1.0.6
  - 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
  - Many incremental improvements and bug fixes, see
  - Drop upstream patches: f493d83f-cgroup-swap-control.patch,
    486a86eb-cgroups-docs.patch, 0ced83dc-cgroup-escape-dot.patch,
    bbe97ae9-no-cgroups.patch, c2cf5f1c-no-cgroups-fix.patch,
* Tue May 21 2013
- Update to libvirt stable release
  - qemu: Fix cgroup handling when setting VCPU BW
  - daemon: fix leak after listing all volumes
  - Fix iohelper usage with streams opened for read
  - util: fix virFileOpenAs return value and resulting error logs
  - iscsi: don't leak portal string when starting a pool
  - don't mention disk controllers in generic controller errors
  - conf: don't crash on a tpm device with no backends
  - qemu: allocate network connections sooner during domain startup
  - Make detect_scsi_host_caps a function on all architectures
  - Fix release of resources with lockd plugin
  - Fix potential use of undefined variable in remote dispatch code
  - Fix F_DUPFD_CLOEXEC operation args
  - qemu: fix stupid typos in VFIO cgroup setup/teardown
  - network: fix network driver startup for qemu:///session
- Remove patches that are included in the release
  0471637d-cgroups-vcpu-bw.patch, a2214c52-iohelper.patch,
* Mon May 20 2013
- Don't mount selinux fs in LXC if selinux is disabled
* Sat May 18 2013
- fix leak after listing all volumes - CVE-2013-1962
- Fix iohelper usage with streams opened for read
- Cope with missing swap cgroup controls
- Fix cgroup handling when setting VCPU BW
- Escape a leading '.' with '_' in the cgroup names
- Add missing documentation on new cgroup layout
- Another fix related to systems with no cgroups
* Thu May 16 2013
- Fix botched backport of commit bbe97ae9
* Mon May 13 2013
- Fix starting domains when kernel has no cgroups support
* Thu May  2 2013
- Update to libvirt 1.0.5
  - PPC64: Add NVRAM device
  - Add XML config for resource partitions
  - Add support for TPM
  - NPIV storage migration support
  - Many incremental improvements and bug fixes, see
* Tue Apr  2 2013
- Update to libvirt 1.0.4
  - qemu: support passthrough for iscsi disks
  - various S390 improvements
  - various LXC bugs fixes and improvements
  - add API for thread cancellation
  - Many incremental improvements and bug fixes, see
  - Drop upstream patches: ce4557c3-apparmor-tapfd-label.patch
* Sun Mar 24 2013
- add libvirt-iptables-1.4.18.diff, fix masquerading with iptables
  v1.4.18 (--state match is deprectated, use conntrack instead)
* Fri Mar  8 2013
- Fix PCI device attach for xen HVM domains
* Fri Mar  8 2013
- Apparmor security driver: Ensure tapfd's are labled when
  generating the guest profile.
  Modified install-apparmor-profiles.patch, added upstream patch
* Thu Mar  7 2013
- Grant permission to use datagram packets in libvirtd apparmor
  Remove AF_PACKET.patch, modify install-apparmor-profiles.patch
* Wed Mar  6 2013
- Add 'managed' PCI passthrough support to legacy xen driver
* Tue Mar  5 2013
- Update to libvirt 1.0.3
  - Introduce virDomainMigrate*CompressionCache APIs
  - Introduce virDomainGetJobStats API
  - Add basic support for VDI images
  - Introduce API virNodeDeviceLookupSCSIHostByWWN
  - Various locking improvements
  - Many incremental improvements and bug fixes, see
  - Drop upstream patches: a6b8bae5-python-generator-fix1.patch,
* Fri Mar  1 2013
- Fix path to qemu-bridge-helper in libvirt-qemu apparmor profile
  Modified install-apparmor-profiles.patch
* Mon Feb 25 2013
- Fix detach of managed PCI devices from inactive domains.
  Detected while running test cases for FATE #313570.
  Modified xen-name-for-devid.patch
* Thu Feb 21 2013
- spec: Fix installation of default network
* Wed Feb 20 2013
- Fix default setting of backend field of libxl_device_disk
* Tue Feb 12 2013
- Fix build on IA64
  Modified clone.patch
* Thu Feb  7 2013
- Fix error handling in python bindings
* Sun Feb  3 2013
- Require modutils instead of module-init-tools.
* Wed Jan 30 2013
- Update to libvirt 1.0.2
  - LXC improvements
  - S390 architecture improvements
  - Power architecture improvements
  - large Coverity report cleanups and associated bug fixes
  - virTypedParams* APIs to help with those data structures
  - libxenlight driver improvements
  - Fixes CVE-2013-0170, bnc#800976
  - Drop upstream patches: 68e7bc45-libxl-link-fix.patch,
    462a6962-script-fixes1.patch, cb854b8f-script-fixes2.patch,
    5ec4b22b-script-fixes3.patch, a1fd56cb-script-fixes4.patch,
* Tue Jan 22 2013
- Unconditionally build sanlock support
* Tue Jan 22 2013
- Fix interface management functions that were broken when
  rebasing libvirt-suse-netcontrol.patch
  bnc#799444 (SLES bug that affect Factory too)
* Sat Jan  5 2013
- Update to libvirt 1.0.1
  - Introduce virtlockd daemon
  - parallels: add disk and network device support
  - Add virDomainSendProcessSignal API
  - Introduce virDomainFSTrim() public API
  - add fuse support for libvirt lxc
  - Add Gluster protocol as supported network disk backend
  - various snapshot improvements
- Add upstream patches to fix bugs in 1.0.1
  462a6962-script-fixes1.patch, cb854b8f-script-fixes2.patch,
  5ec4b22b-script-fixes3.patch, a1fd56cb-script-fixes4.patch,
- Rework SUSE patches for the various init scripts
  Dropped use-init-script-redhat.patch and added
  libvirtd-init-script.patch, libvirt-guests-init-script.patch,
  and virtlockd-init-script.patch
* Fri Nov  2 2012
- Update to libvirt 1.0.0
  - virNodeGetCPUMap: Define public API
  - Add systemd journal support
  - Add a qemu capabilities cache manager
  - USB migration support
  - various improvement and fixes when using QMP QEmu interface
  - Support for Xen 4.2 in legacy xen driver
  - Lot of localization enhancements
  - Drop upstream patches: 371ddc98-xen-sysctl-9.patch,
    f644361b-virCommand-env.patch, 2b32735a-virCommand-env.patch,
* Tue Oct 23 2012
- Fix Xen sysctl version 9 support
* Thu Oct 11 2012
- Add upstream patches to support latest libguestfs
* Thu Sep 27 2012
- Fix build when using -werror
* Wed Sep 26 2012
- Support Xen sysctl version 9
* Tue Sep 25 2012
- Temporarily disable building libxl driver.  The current
  implementation does not support libxl in Xen 4.2.
* Tue Sep 25 2012
- Update to libvirt 0.10.2
  - network: define new API virNetworkUpdate
  - add support for QEmu sandbox support
  - blockjob: add virDomainBlockCommit
  - node_memory: Define the APIs to get/set memory parameters
  - list: Define new API virConnectListAllSecrets
  - list: Define new API virConnectListAllNWFilter
  - list: Define new API virConnectListAllNodeDevices
  - list: Define new API virConnectListAllInterfaces
  - list: Define new API virConnectListAllNetworks
  - list: Define new API virStoragePoolListAllVolumes
  - list: Define new API virStorageListAllStoragePools
  - parallels: add support of containers to the driver
  - Add PMSUSPENDED life cycle event
  - Add per-guest S3/S4 state configuration
  - qemu: Support for Block Device IO Limits
* Fri Sep  7 2012
- Update to libvirt 0.10.1
  - Bug fix release for critical bugs in 0.10.0
  - Drop upstream patch f781e276-xen-driver-fix.patch
* Fri Aug 31 2012
- Update to libvirt 0.10.0
  - agent: add qemuAgentArbitraryCommand()
  - Introduce virDomainPinEmulator and virDomainGetEmulatorPinInfo
  - network: use firewalld instead of iptables, when available
  - network: make network driver vlan-aware
  - esx: Implement network driver
  - driver for parallels hypervisor
  - Various LXC improvements
  - Add virDomainGetHostname
  - Drop upstream patches
* Fri Aug 31 2012
- Fix xen driver following changes to make it stateful
* Wed Aug  8 2012
- Update to libvirt 0.9.13
  - S390: support for s390(x)
  - snapshot: implement new APIs for esx and vbox
  - snapshot: new query APIs and many improvements
  - virsh: Allow users to reedit rejected XML
  - nwfilter: add DHCP snooping
  - storage backend: Add RBD (RADOS Block Device) support
  - sVirt support for LXC domains inprovement
  - Drop upstream patches
* Tue Aug  7 2012
  _ Update to libvirt 0.9.12
  - qemu: allow snapshotting of sheepdog and rbd disks
  - blockjob: add new AP
  - many bug fixes and improvements
* Wed Aug  1 2012
- daemon: Fix crash in virTypedParameterArrayClear
* Tue Jul 10 2012
- libvirtd.service: ensure libvirtd starts after network
* Fri Jun 22 2012
- Add upstream patch to fix ref count of virNetServer object
* Thu Jun 21 2012
- Fix libvirtd deadlock on shutdown
* Thu Jun 21 2012
- Fix segfault in libvirt_lxc
* Wed Jun 20 2012
- Fix build on i586
* Tue Jun 19 2012
- Update to libvirt stable release
* Tue Jun 12 2012
- VUL-1: Fix hotplug support for usb devices with same vendorID,
* Wed May 30 2012
- Add capability 'audit_write' to libvirtd apparmor profile
  update install-apparmor-profiles.patch
- Update to libvirt stable release
* Wed Apr 25 2012
- Copy user in virURIParse
* Wed Apr 25 2012
- yajl is availabile in all supported SUSE products, so always
  use it when building libvirtd
* Thu Apr 12 2012
- Update to libvirt 0.9.11
  - Add support for the suspend event
  - Add support for event tray moved of removable disks
  - qemu: Support numad
  - cpustats: API, improvements and qemu support
  - qemu: support type='hostdev' network devices at domain start
  - Introduce virDomainPMWakeup API
  - network: support Open vSwitch
  - snapshot improvements
* Mon Mar 26 2012
- Remove unconditional define of 'with_netcontrol'
* Thu Feb 16 2012
- Add a note in /etc/libvirt/qemu.conf describing administrator
  vigilance required when enabling a lock manager such as sanlock
* Thu Feb 16 2012
- Recommend dmidecode if suse_version > 1110.  dmidecode is used
  by virConnectGetSysinfo.
* Thu Feb 16 2012
- Add upstream patches to fix issues with older PolicyKit
* Wed Feb 15 2012
- Update to libvirt 0.9.10
  - Add support for sVirt in the LXC driver
  - Add new API virDomainBlockRebase
  - Add api to set and get domain metadata
  - virDomainGetDiskErrors public API
  - Add rawio attribute to disk element of domain XML
  - Introduce virDomainPMSuspendForDuration API
  - Add virStorageVolResize() API
  - Add a virt-host-validate command to sanity check HV config
  - Add new virDomainShutdownFlags API
  - QEMU guest agent support
* Wed Feb  8 2012
- Fix libvirtd apparmor profile to work with libxenlight toolstack
  Updated install-apparmor-profiles.patch
* Wed Jan 25 2012
- Fix init script packaging after enabling systemd support
* Tue Jan 24 2012
- Fix %%files after enabling sanlock support
* Wed Jan 18 2012
- Enable libvirt integration with sanlock
* Wed Jan 11 2012
- During configure, libvirt checks for availability of iptables
  binary and doesn't actually use anything from iptables-devel
  package, hence only need 'BuildRequires: iptables'.
* Mon Jan  9 2012
- Update to libvirt 0.9.9
  - Add new API virDomain{S,G}etInterfaceParameters
  - Add new API virDomain{G,S}etNumaParameters
  - Add support for ppc64 qemu
  - Support Xen domctl v8
* Wed Jan  4 2012
- Fixup systemd support as per openSUSE systemd packaging
* Tue Jan  3 2012
- Use %%fdupes for duplicate file checking instead of hand-rolled
* Thu Dec 15 2011
- CVE-2011-4600: unintended firewall port exposure after restarting
  libvirtd when defining a bridged forward-mode network
- Post-0.9.8 upstream systemd patches
  10404671-systemd-build-fix.patch 478a4d07-systemd-build-fix.patch
- Update to libvirt 0.9.8
  - Add support for QEMU 1.0
  - Add first parts of PPC cpu driver
  - Add new API virDomain{Set, Get}BlockIoTune
  - block_resize: Define the new API
  - Add a public API to invoke suspend/resume on the host
  - Various improvements for LXC containers
  - Define keepalive protocol and add virConnectIsAlive API
  - Add support for STP and VLANfiltering
  - Numerous bug fixes and improvements
* Wed Dec 14 2011
- Add support for QEMU 1.0
* Wed Nov 30 2011
- Allow qemu driver (and hence libvirtd) to load when qemu
  user:group does not exist.  The kvm or qemu package, which may
  not exist on a xen host, creates qemu user:group.
* Mon Nov 28 2011
- Handle empty strings in s-expression returned by xend
- Allow libvirtd to access libvirt_{io,part}helper when confined
  by apparmor
  Update install-apparmor-profiles.patch
* Mon Nov 21 2011
- Accommodate Xen domctl version 8
* Sun Nov 20 2011
- add libtool as buildrequire to avoid implicit dependency
* Tue Nov 15 2011
- Fix build when using older PolicyKit
* Thu Nov 10 2011
- Update to libvirt 0.9.7
  - esx: support vSphere 5.x
  - vbox: support for VirtualBox 4.1
  - Introduce the virDomainOpenGraphics API
  - Add AHCI support to qemu driver
  - snapshot: many improvements and 2 new APIs
  - api: Add public api for 'reset'
* Tue Oct 18 2011
- Add AHCI controller support to qemu driver
- Set security driver to 'none' in /etc/libvirt/qemu.conf.  Users
  must opt-in for Apparmor confinement of qemu instances.
* Fri Sep 23 2011
- Revert upstream commit f84aedad, which is not needed since
  affected SUSE kvm packages have the necessary qemu fix
* Fri Sep 23 2011
- Update to libvirt 0.9.6
  - Fix shutdown regression with buggy qemu
* Wed Sep 21 2011
- Fixed typos in libvirt.spec
* Tue Sep 20 2011
- Update to libvirt 0.9.5
  - many snapshot improvements
  - latency: Define new public API and structure
  - USB2 and various USB improvements
  - storage: Add fs pool formatting
  - Add public API for getting migration speed
  - Add basic driver for Microsoft Hyper-V
  - Many bug fixes and improvements
* Fri Sep 16 2011
- Enable building with libnetcontrol
* Fri Sep 16 2011
- Select libnl-1_1-devel
* Wed Sep 14 2011
- Set qemu migration speed unlimited when migrating to file
  7e5f6a51-rpc-generator.patch b12354be-mig-speed-1.patch
  1282bd80-mig-speed-2.patch 6f84e110-mig-speed-3.patch
  829bce17-mig-speed-4.patch 8fc40c51-mig-speed-5.patch
  ef1065cf-mig-speed-6.patch 0257ba8f-mig-speed-7.patch
* Wed Sep 14 2011
- Increase max size of buffer used to receive xend response
- Don't overwrite useful error messages in legacy xen driver
* Wed Sep 14 2011
- Add upstream patches to stop excessive logging
  7f2498ef-no-log-invalid.patch 6ff9fc26-quiet-libxl-logging.patch
* Wed Sep 14 2011
- Add 'Conflicts: kvm < 0.14.1' to ensure libvirt is using a
  kvm package that creates qemu user:group.  Remove user:group
  creation from libvirt
- Add libvirt group at package installation
* Thu Sep  8 2011
- Explicitly add 'BuildRequires: libgcrypt-devel' since it is no
  longer required by libgnutls-devel
* Thu Sep  8 2011
- netcf is buggy and not well maintained in SUSE.  Disable it in
* Thu Sep  8 2011
- polkit support was mistakenly disabled, re-enable
* Thu Aug 25 2011
- Add cgconfig to Should-{Start,Stop} in libvirtd init script
* Fri Aug 19 2011
- Fix apparmor profile location and content
  update install-apparmor-profiles.patch
* Wed Aug 17 2011
- Fix libvirtd SIGHUP handler
* Wed Aug 17 2011
- add baselibs.conf to sources
* Mon Aug  8 2011
- Enable apparmor security dirver, SLES bnc#705668
* Thu Aug  4 2011
- Update to libvirt 0.9.4
  - 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
  - various missing python binding
  - bios: Add support for SGA
  - Numerous improvements and documentation / bug fixes
* Wed Jul 13 2011
- Add some upstream patches to fix memory leaks and some bugs
  in new rpc code
  c2ddd536-cert-key-order.patch 3e5d48ef-rpc-1.patch
  927dfcf6-rpc-2.patch 2c85644b-rpc-3.patch afe8839f-rpc-4.patch
  3cfdc57b-rpc-5.patch 7518ad75-remote-mem-leak.patch
  a34e193f-statstest.patch 41828514-skip-xen-tests.patch
  eb314315-pv-kernel-cmdline.patch 00d3c5a6-remove-dead-code.patch
  b8adfcc6-fix-polkit0-build.patch b2534529-unused-param.patch
* Tue Jul  5 2011
- Update to libvirt 0.9.3
  - vcpupin: introduce the new libvirt API (virDomainGetVcpupinInfo)
  - Add TXT record support for virtual DNS service
  - Support reboots with the QEMU driver
  - Introduce virDomainGetControlInfo API
  - virNodeGetMemoryStats: Expose new API
  - virNodeGetCPUTime: Implement public API
  - send-key: Defining the public API
  - vcpupin: introduce a new libvirt API (virDomainPinVcpuFlags)
  - support multifunction PCI device
  - lxc: various improvements
* Fri Jul  1 2011
- Create qemu user:group if necessary at package installation.
  More fallout from bnc#694883
* Thu Jun 30 2011
- VUL-0: libvirt: integer overflow in VirDomainGetVcpus
* Thu Jun 30 2011
- Enable building libvirt with audit support
* Mon Jun 13 2011
- fate#311371 Enhance yast to configure live migration for
  Xen and KVM
  add firewall service file for libvirt
* Thu Jun  9 2011
- Invoke qemu instances as user:group qemu:qemu by default
* Mon Jun  6 2011
- Update to libvirt 0.9.2
  - Framework for lock manager plugins
  - API for network config change transactions (netcf required)
  - 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
- spec file: Adjust some directory attributes to support running
  non-privileged qemu instances
* Sun May 15 2011
- Remove vi_VN locale if suse_version < 11.3
* Thu May 12 2011
- Enable cap_ng when building lxc support.
* Fri May  6 2011
- Update to libvirt 0.9.1
  - support various persistent domain updates
  - improvements on memory APIs
  - Add virDomainEventRebootNew
  - various improvements to libxl drive
  - Spice: support audio, images and stream compression
* Tue Apr 12 2011
- Move libvirt-iohelper from client to base package
* Tue Apr 12 2011
- fix baselibs.conf not to requires source 32bit
* Mon Apr 11 2011
- Install log dir for libxl
* Mon Apr  4 2011
- Update to libvirt 0.9.0 final
  - Support 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
  - add virDomain{Get,Set}BlkioParameters
  - 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
  - Numerous enhancements and bug fixes
* Thu Mar 31 2011
- Update to libvirt 0.9.0 RC3
* Thu Mar 24 2011
- use %%first_lang before changing symlinks, find_lang removes
  unsupported languages
* Tue Mar 15 2011
- VUL-0: libvirt: several API calls do not honour read-only
* Mon Mar  7 2011
- Add baselibs.conf file to build xxbit packages
  for multilib support
* Fri Feb 25 2011
- Minor fixes for libvirt-guests
* Fri Feb 18 2011
- Do not add drive 'boot=on' param when a kernel is specified
* Thu Feb 17 2011
- Update to libvirt 0.8.8 final
  - sysinfo: expose new API
  - cgroup blkio weight support
  - smartcard device support
  - qemu: Support per-device boot ordering
* Tue Feb 15 2011
- Update to libvirt 0.8.8 RC3
* Fri Feb 11 2011
- Update to libvirt 0.8.8 RC1
* Mon Jan 31 2011
- Remove explicit dependency on libyajl
* Fri Jan 21 2011
- Retry JSON monitor 'cont' cmd on MigrationExpected error
* Tue Jan 18 2011
- Add support for specifying Hardware Assisted Paging (HAP) in
  libvirt domain XML.
* Tue Jan 18 2011
- Enabled yajl for suse_version >= 1140
* Fri Jan 14 2011
- Fix generation of dnsmasq's --dhcp-hostsfile option
- Disable yajl support as the library does not yet exist in
  SuSE distros.
* Tue Jan 11 2011
- Support libvirt-guests on SuSE distros
* Mon Jan  3 2011
- Update to libvirt 0.8.7
  - Preliminary support for VirtualBox 4.0
  - IPv6 support
  - Add VMware Workstation and Player driver
  - Add network disk support
* Wed Dec 22 2010
- Fix VNC port reservation race in qemu driver
* Fri Dec 10 2010
- Do not limit insserv_cleanup to SLES
* Thu Dec  9 2010
- disable building openvz driver
* Mon Nov  1 2010
- Update to libvirt 0.8.6
  - new API virDomainIsUpdated
  - Add support for iSCSI target auto-discovery
  - QED: Basic support for QED images
  - Introduce a virDomainOpenConsole API
  - Support for SPICE graphics
  - Add a sysinfo and SMBIOS support
  - Implement virsh qemu-monitor-command
- Enabled yajl, macvtap, and virtualport for suse_version >= 1140
* Mon Nov  1 2010
- Fix build when using "policy kit 0"
* Mon Nov  1 2010
- Update to libvirt 0.8.5
  - Enable JSON and netdev features in QEMU > 0.13
  - framework for auditing integration
  - framework for DTrace/SystemTap integration
  - Setting the number of vcpu at boot
  - Enable support for nested SVM
  - Virtio plan9fs filesystem QEMU
  - Memory parameter controls
  - portability to OS-X
  - lot of bug fixes and other improvements
* Wed Oct 13 2010
- cannot restart dead libvirtd without manually removing pidfile
  modified libvirtd.init
* Mon Oct 11 2010
- Fix package dependencies so can be installed without
  pulling excess of optional components
* Tue Oct  5 2010
- Support dropping capabilities with cap-ng library in
  openSUSE >= 11.3
* Tue Sep 28 2010
- Fix build when virtualport support is available but macvtap is
* Thu Sep 23 2010
- Fix CDROM media change for Xen PV domains
  modified xen-pv-cdrom.patch
* Fri Sep 10 2010
- Update to libvirt 0.8.4
  - various improvements to UML driver
  - documentation improvements
  - lot of bug fixes and other improvements
  - enable ESX driver for openSUSE
* Sat Aug  7 2010
- Update to libvirt 0.8.3
  - Support vSphere 4.1
  - Qemu arbitrary monitor commands
  - Qemu Monitor API entry point
  - lots of improvements and bug fixes
* Fri Jul  9 2010
- VUL-0: multiple issues in libvirt
  CVE-2010-223x-000[1-0].patch, CVE-2010-223x-0010.patch,
* Fri Jun 25 2010
- Use netcat-openbsd, which contains a proper 'nc' program
  supporting the '-U' option.  Drop socat.patch.
* Mon Jun 21 2010
- Re-enable numa support now that bnc#598488 is resolved.
* Fri Jun  4 2010
- Allocate buffer to hold xend content
- Add upstream fixes to bitmap code that was introduced to fix
* Tue Jun  1 2010
- Fix race in VNC port reservation with qemu/KVM domains
* Wed May 12 2010
- Don't package directories/files under /var/run
- Add upstream commit 34a7f3f6 to fix unintentional breakage of
  RPC protocol.
- Disable numa support in openSUSE11.3/Factory pending resolution
  of bnc#598488
* Fri Apr 30 2010
- Update to libvirt 0.8.1
  - Add virDomainGetBlockInfo API to query disk sizing
  - Start dnsmasq from libvirtd with --dhcp-hostsfile option
  - lots of improvements and bug fixes
* Tue Apr 13 2010
- Update to libvirt 0.8.0
  - Snapshot API framework
  - Add managed save API entry points
  - Timer subselection for domain clock
  - Add hook utilities
  - Network filtering API
  - Introduce a new virDomainUpdateDeviceFlags public API
  - Introduce a new public API for domain events
  - Public virDomainMigrateSetMaxDowntime API
  - Add public API for volume wiping
  - xenapi: Initial commit of the new driver
  - lots of improvements and bug fixes
* Fri Mar 26 2010
- Fix 'virsh dominfo' crash when no security driver is configured
* Mon Mar 22 2010
- Updated to version 0.7.7
  - Introduce public API for domain async job handling
  - macvtap support
  - Add QEMU support for virtio channel
  - Add persistence of PCI addresses to QEMU
  - Functions for computing baseline CPU from a set of host CPUs
  - Public API for virDomain{Attach,Detach}DeviceFlags
  - lots of improvements and bug fixes
* Tue Mar  9 2010
- Ensure yast-created bridges are not manipulated by libvirt
  Modified suse-network.patch
* Thu Mar  4 2010
- Fix ordering of xen disks to preserve 'bootable' flag
- Add support for blktap2 disks
* Mon Mar  1 2010
- Fix listing of yast-created bridges
  Modified suse-network.patch
* Mon Feb 22 2010
- Add support for new XEN_DOMCTL_INTERFACE_VERSION version 7.
* Mon Feb 15 2010
- Unconditionally add /var/log/libvirt/{qemu,lxc,uml} directories.
* Thu Feb  4 2010
- Updated to version 0.7.6
  - Implement support for multi IQN
  - Implement CPU topology support for QEMU driver
  - Use QEmu new device adressing when possible
  - Implement SCSI controller hotplug/unplug for QEMU
  - lots of improvements and bug fixes
* Thu Jan 28 2010
- Support new XEN_SYSCTL_INTERFACE_VERSION 7 in libvirt
- Add upstream patches as prelude to fixing various device
  attach/detach issues
- Fix attaching/detaching disk device from inactive Xen guest
  bnc#500586 and bnc#573748
* Tue Jan 12 2010
- Fix migration with Xen4.0
  Add xen-migration-params.patch
  Remove migrate-params.patch
* Thu Jan  7 2010
- Fix freeing of uninitialized pointer when using HAL in
  node device driver
* Mon Jan  4 2010
- Require virt-utils package for common tools such as qemu-img
* Tue Dec 29 2009
- Updated to version 0.7.5
  - Add new API virDomainMemoryStats to header and drivers
  - Public API and domain extension for CPU flags
  - expose SR IOV physical/virtual function relationships
  - Support for JSON mode monitor [deactivated]
  - Support for interface model='netfront'
  - vbox: Add support for version 3.1
  - Support QEMU's virtual FAT block device driver
  - lots of improvements and bug fixes
- Fix libvirt xen hypervisor driver to work with domctl interface
  version 6
* Mon Dec  7 2009
- Plumb domain description in xend backend
* Wed Nov 25 2009
- Fix listing of defined but inactive Xen domains
* Tue Nov 24 2009
- Updated to version 0.7.4
  - Implement a node device backend using libudev
  - New APIs for checking some object properties
  - Fully asynchronous monitor I/O processing
  - add MAC address based port filtering to qemu
  - support for IPv6 / multiple addresses per interfaces
  - lots of improvements and bug fixes
* Thu Nov 19 2009
- Fix compilation against xen-unstable
- Modify detach-disk.patch as per upstream suggestions
* Thu Nov  5 2009
- spec file: Fix polkit vs PolicyKit Requires
* Mon Oct 19 2009
- Fix compilation when selinux is enabled
- Fix compilation warnings
  updated snapshots.patch
* Fri Oct 16 2009
- Updated to version 0.7.2
  - sVirt AppArmor security driver
  - Add public API definition for data stream handling
  - ESX add esxDomainDefineXML()
  - LXC: suspend/resume support
  - Big code tree cleanup
  - Lots of bug fixes and improvements
* Tue Oct 13 2009
- Add ocfs2 to list of supported fs pool types
* Tue Oct 13 2009
- Build phyp driver ifarch ppc64
- Fix memory leaks in libvirtd's message processing
* Tue Sep 29 2009
- Fix connection ref counting in xen drivers
* Fri Sep 25 2009
- Fix abort in virsh when specifying a connection URI
* Wed Sep 23 2009
- Workaround for missing pkgconfig file in device-mapper-devel
* Mon Sep 21 2009
- Updated to version 0.7.1
  - Add support for encrypted (qcow) volume creation
  - Secret manipulation public API
  - Multipath storage support module
  - VBox add Storage Volume support
  - Support configuration of huge pages in guests
  - Support new PolicyKit 1.0 API
  - Compressed save image format for Qemu
  - Qemu add host PCI device hotplug support
* Wed Aug 26 2009
- Updated to version 0.7.0
  - Interface implementation based on netcf (disabled on SuSE)
  - Add new net filesystem glusterfs
  - Initial VMWare ESX driver
  - Add support for VBox 3 and event callbacks on vbox
  - First version of the Power Hypervisor driver
  - Run QEMU guests as an unprivileged user (still root on SuSE)
  - Support cgroups in QEMU driver
  - QEmu hotplug NIC support
  - Storage cloning for LVM and Disk backends
* Tue Jul  7 2009
- Updated to version 0.6.5
  - create storage volumes on disk backend
  - drop of capabilities based on libcap-ng when possible
  - forbid autostart on transcient networks
  - re-detection of transient VMs after libvirtd restart
  - create and destroy NPIV support
  - other bug fixes and cleanups
* Fri Apr 24 2009
- Removed unnecessary call to fillup_and_insserv macro in
  %%post scriptlet
* Wed Apr 22 2009
- Updated to version 0.6.2
  - support SASL auth for VNC server
  - memory ballooning in QEMU
  - SCSI HBA storage pool support
  - PCI passthrough in Xen driver
  - new APIs for Node device detach reattach and reset
  - sVirt mandatory access control support
  - thread safety of the API and event handling
  - allow QEmu domains to survive daemon restart
  - extended logging capabilities
  - support copy-on-write storage volumes
  - support of storage cache control options for QEMU/KVM
- Improvements from
  - add %%jobs macro again
  - package default qemu network and augeas config files again
  - don't start libvirtd by default (bnc#496838)
* Mon Apr 20 2009
- use --disable-static instead of just removing static libraries
* Fri Jan 30 2009
- Fix build for architectures not supporting numa
- Forward port suse-network.patch and snapshots.patch
* Wed Jan 28 2009
- Updated to version 0.5.1
  - CPU and scheduler support for LXC
  - SDL display configuration
  - domain lifecycle event support for QEmu and Xen with python
  - KVM/QEmu migration support
  - User Mode Linux driver
  - API for node device enumeration using HAL and DeviceKit with
    python bindings
  - Many bug fixes and improvements
* Fri Jan  9 2009
- Added missing html and png files to libvirt-doc package
* Mon Dec 15 2008
- Patch for CVE-2008-5086
* Fri Dec  5 2008
- Fix migration of Xen domains
* Tue Dec  2 2008
- Refresh xen-maxmem.patch to match upstream
* Tue Nov 25 2008
- Add network to Required-Start in libvirtd init script
* Mon Nov 24 2008
- Fix connecting/disconnecting ISO via virt-manager
* Fri Nov 21 2008
- Fix detach of Xen tap devices
  bnc#410644 and bnc#411633
* Fri Nov  7 2008
- Fix handling of iso/cdrom for xen pv domains.
* Wed Nov  5 2008
- Expose networks managed outside of libvirt as read-only.
* Wed Nov  5 2008
- Fix vnc port assignement in domain XML
* Thu Oct 23 2008
- Add upstream patches to fix ordering problem with setting up
  cgroup containment on LXC domains.
* Mon Oct 20 2008
- Remove IA64 from list of architectures supporting Xen.
* Fri Oct 10 2008
- Added upstream patches providing additional LXC support
* Mon Oct  6 2008
- Use xend vs hypercall interface to change max mem setting
* Wed Oct  1 2008
- Enabled libvirtd listen mode in libvirtd init script.
* Wed Oct  1 2008
- Updated to version 0.4.6
  - avoid a segfault if missing qemu emulator
  - reading vncdisplay from xend domain
  - segfault in OpenVZ
  - fix parsing of pool without a source
- Fixed bug in network interface parsing
  - vif-parsing.patch submitted upstream
* Tue Sep 16 2008
- open-iscsi package required for iscsi storage backend
* Mon Sep 15 2008
- Updated to version 0.4.5
  - NETNS support for Linux containers
  - unified XML domain and network parsing for all drivers
  - OpenVZ features improvements
  - OpenVZ and Linux containers support now default
  - USB device passthrough for QEmu/KVM
  - storage pool source discovery
  - other bug fixes and improvements
* Thu Sep  4 2008
- Added Python bindings for the snapshot functions
* Wed Sep  3 2008
- Implemented listing of snapshots for Xen and in virsh
* Tue Sep  2 2008
- Added snapshot support. Implemented snapshot_create/apply/delete
  for Xen.
* Fri Aug 29 2008
- Fixed bugs in nfs storage pool creation/deletion
* Fri Aug 29 2008
- Fixed bugs in LVM storage pool creation.
  logical-storage-driver.patch submitted upstream
* Wed Aug 27 2008
- Changed mDNS advertisement of libvirtd service to disabled by
  default.  Enable in libvirtd.conf.
- Disable libvirtd from listening on TLS socket by default.  User
  must enable after setting up CA and issuing certificates.
* Mon Aug 25 2008
- Enabled iscsi storage driver support
- Enabled ssh transport using socat.  SuSE's version of netcat
  does not support connecting to UDS.
- Fixed spec file breakage due to SELinux enablement
* Fri Aug 22 2008
- enabled SELinux support [Fate#303662]
* Tue Aug 12 2008
- Cleanup of libvirtd init script
- Removed dnsmasq from BuildRequires
* Sat Aug  9 2008
- Adjustments to spec file
  + Added /var/lib/libvirt directory
  + Enabled LXC support if suse_version > 1100, fate #304001
  + Cleaned up some rpmlint warnings
* Sun Jul  6 2008
- Updated to libvirt 0.4.4
  + Bug fixes: QEmu network serialization, internal memory allocation
    fixes, virsh large file config problem, xen list APIs when max is
    zero, string escape problems in the xm driver
  + Improvements: add autogen to tarballs, improve iSCSI support
  + Cleanups: const-ness fixed, string helpers for enumeations
- spec file adjustments
  + Remove ExclusiveArch
  + Common spec file for all products
  + Support for building/running without Xen
* Fri May  9 2008
- Adjust libvirtd PolicyKit configuration file to match standard
  suse procedures.  bnc#388769
* Mon May  5 2008
- Fix path to iptables.  bnc#386280
* Thu Apr 24 2008
- Fix Xen 3.2 hypercalls.  bnc#378798
* Thu Apr 10 2008
- Fix NULL pointer dereference in auth callback.  bnc#373180,
* Wed Jan  9 2008
- Remove Requires of nc package.  netcat is the equivalent but it
  does not support unix domain sockets so no need to require it
* Tue Jan  8 2008
- do not require a non existant package, but change it to a recommend
  to digestmd5
* Fri Jan  4 2008
- Updated to libvirt-0.4.0
  - SASL based authentication for libvirt remote support
  - PolicyKit authentication
  - Documentation: example files for QEMU and libvirtd configuations,
    authentication documentation updates
  - Bug fixes, improvements and code cleanup
* Tue Oct  9 2007
- Updated to libvirt 0.3.3
  - Avahi mDNS daemon export
  - NUMA support
  - Bug fixes
- Cleanup rpmlint warnings
* Mon Oct  8 2007
- Removed 'jobs' option from make invocation in spec file.  Appears
  to be a subtle dependency issue in one of the makefiles which is
  causing problems with generation of python bindings when jobs > 1.
  Bug #329032.
* Mon Aug 20 2007
- Added init script for libvirtd.  libvirtd is needed to support
  management of qemu/kvm guests.  Some Xen networking is handled
  through libvirt as well - bug #298021.
* Mon Jul 23 2007
- Update to libvirt-0.3.0
  - Secure Remote support
  - Documentation: remote support, description of the URI connection
    strings, update of virsh man page, matrix of libvirt API/hypervisor
    support with version informations
  - Bug fixes: examples generation, SetMem fix, URI
    handling and ordering of drivers, fix virsh help without hypervisor,
    id marshalling fix, fix virConnectGetMaxVcpus on remote, avoid
    a realloc leak, scheduler parameters handling for Xen, various
    early remote bug fixes, remove virsh leaks of domains references,
    configCache refill bug, fix XML serialization bugs
  - Improvements: QEmu switch to XDR-based protocol, device attach/detach
    commands OCaml bindings, new entry points virDomainGetConnect and
    virNetworkGetConnect useful for bindings, reunitifaction of remote
    and qemu daemon under a single libvirtd with a config file
  - Cleanups: parsing of connection URIs, messages from virsh,
    Coverage files, Solaris fixes, avoid [r]index calls, release
    information in Xen backend, virsh cpupin command cleanups,
    xen:/// suppport as standard Xen URI, improve driver
    selection/decline mechanism, error reporting on XML dump,
    Remove unused virDomainKernel structure, daemon event loop event
    handling, various unifications cleanup in the daemon merging,
    internal file and timer monitoring API, remove libsysfs dependancy,
    call brctl program directly, virBuffer functions cleanups,
    make init script LSB compliant, error handling on lookup functions,
    remove internal virGetDomainByID, revamp of xen subdrivers interfaces
  - Localization updates
* Tue Jun 12 2007
- Update to libvirt-0.2.3.
- Fix duplicate files found by rpmlint.
* Wed May 23 2007
- Fix rpmlint errors.
* Fri Apr 27 2007
- Update to libvirt-0.2.2.
* Wed Mar  7 2007
- Created -doc subpackage (#248813).
- Do not remove valid locales.
- Fixed docdir destination.
- Build with CFLAGS.
- Spec file cleanup.
* Tue Feb 20 2007
- Removed usr/lib/libvirt_proxy setuid binary from package.  Fixes
  bug #246610.
* Sat Feb 17 2007
- Updated to latest release.  Many of the issues seen in virt-manager
  have been caused by bugs / missing functionality in libvirt.  This
  upate provides a better basis for virt-manager.
* Thu Jan 11 2007
- Updated to latest release, version 0.1.10.  Submitting to SLES10 SP1
  to provide base functionality for FATE feature 301181.
  - more localizations
  - bug fixes:
  - VCPU info breakages on xen 3.0.3
  - xenDaemonListDomains buffer overflow (Daniel Berrange)
  - reference count bug when creating Xen domains (Daniel Berrange)
  - improvements:
  - support graphic framebuffer for Xen paravirt (Daniel Berrange)
  - VNC listen IP range support (Daniel Berrange)
  - support for default Xen config files and inactive domains of 3.0.4 (Daniel Berrange)
* Fri Dec  8 2006
- Updated to latest release, version 0.1.9.
  - python bindings: release interpeter lock when calling C (Daniel Berrange)
  - don't raise HTTP error when looking informations for a domain
  - some refactoring to use the driver for all entry points
  - better error reporting (Daniel Berrange)
  - fix OS reporting when running as non-root
  - provide XML parsing errors
  - extension of the test framework (Daniel Berrange)
  - fix the reconnect regression test
  - python bindings: Domain instances now link to the Connect to avoid garbage collection and disconnect
  - separate the notion of maximum memory and current use at the XML level
  - Fix a memory leak (Daniel Berrange)
  - add support for shareable drives
  - add support for non-bridge style networking configs for guests(Daniel Berrange)
  - python bindings: fix unsigned long marshalling (Daniel Berrange)
  - new config APIs virConfNew() and virConfSetValue() to build configs from scratch
  - hot plug device support based on Michel Ponceau patch
  - added support for inactive domains, new APIs, various associated cleanup (Daniel Berrange)
  - special device model for HVM guests (Daniel Berrange)
  - add API to dump core of domains (but requires a patched xend)
  - pygrub bootloader informations take over <os> informations
  - updated the localization strings
* Fri Oct 20 2006
- Updated to latest release, version 0.1.8.
  - Bug for system with page size != 4k
  - vcpu number initialization (Philippe Berthault)
  - don't label crashed domains as shut off (Peter Vetere)
  - fix virsh man page (Noriko Mizumoto)
  - blktapdd support for alternate drivers like blktap (Daniel Berrange)
  - memory leak fixes (xend interface and XML parsing) (Daniel Berrange)
  - compile fix
  - mlock/munlock size fixes (Daniel Berrange)
  - improve error reporting
- Updated to latest release, version 0.1.7.
  - fix a memory bug on getting vcpu informations from xend (Daniel Berrange)
  - fix another problem in the hypercalls change in Xen changeset
    86d26e6ec89b when getting domain informations (Daniel Berrange)
* Tue Sep 26 2006
- Updated to latest release, version 0.1.6.  This release includes
  fix in hypercall driver so local patch has been removed.
* Wed Sep 13 2006
- Fixed bug in hypercall driver introduced in version 0.1.5.
  Patch sumbmitted upstream and included locally until next release.
* Mon Sep 11 2006
- Updated to latest release, version 0.1.5
  - Support for new hypercalls change in Xen changeset 86d26e6ec89b
  - bug fixes: virParseUUID() was wrong, netwoking for paravirt guestsi
    (Daniel Berrange), virsh on non-existent domains (Daniel Berrange),
    string cast bug when handling error in python (Pete Vetere), HTTP
    500 xend error code handling (Pete Vetere and Daniel Berrange)
  - improvements: test suite for SEXPR <-> XML format conversions (Daniel
    Berrange), virsh output regression suite (Daniel Berrange), new environ
    variable VIRSH_DEFAULT_CONNECT_URI for the default URI when connecting
    (Daniel Berrange), graphical console support for paravirt guests
    (Jeremy Katz), parsing of simple Xen config files (with Daniel Berrange),
    early work on defined (not running) domains (Daniel Berrange),
    virsh output improvement (Daniel Berrange
* Mon Aug 28 2006
- Updated to latest release, version 0.1.4
  - bug fixes: spec file fix (Mark McLoughlin), error report problem (with
    Hugh Brock), long integer in Python bindings (with Daniel Berrange), XML
    generation bug for CDRom (Daniel Berrange), bug whem using number() XPath
    function (Mark McLoughlin), fix python detection code, remove duplicate
    initialization errors (Daniel Berrange)
  - improvements: UUID in XML description (Peter Vetere), proxy code
    cleanup, virtual CPU and affinity support + virsh support (Michel
    Ponceau, Philippe Berthault, Daniel Berrange), port and tty informations
    for console in XML (Daniel Berrange), added XML dump to driver and proxy
    support (Daniel Berrange), extention of boot options with support for
    floppy and cdrom (Daniel Berrange), features block in XML to report/ask
    PAE, ACPI, APIC for HVM domains (Daniel Berrange), fail saide-effect
    operations when using read-only connection, large improvements to test
    driver (Daniel Berrange)
  - documentation: spelling (Daniel Berrange), test driver examples.
* Wed Aug 16 2006
- Added ExclusiveArch tag so as to only build on x86 and x86_64
* Mon Jul 31 2006
- initial submission of libvirt package, version 0.1.3