3 %define mainstream_version 1.0.2
4 %define module_version_varname mainstream_version
7 #libvirt-RPMFLAGS := --without storage-disk --without storage-iscsi --without storage-scsi \
8 # --without storage-fs --without storage-lvm \
9 # --without polkit --without sasl --without audit --with capng --with udev \
10 # --without netcf --without avahi --without sanlock \
11 # --without xen --without qemu --without hyperv --without phyp --without esx \
13 %define _without_storage_disk true
14 %define _without_storage_iscsi true
15 %define _without_storage_fs true
16 %define _without_storage_lvm true
17 %define _without_polkit true
18 %define _without_sasl true
19 %define _without_audit true
20 %define _without_netcf true
21 %define _without_avahi true
22 %define _without_sanlock true
23 %define _without_xen true
24 %define _without_qemu true
25 %define _without_hyperv true
26 %define _without_phyp true
27 %define _without_esx true
28 %define _without_libxl true
30 # If neither fedora nor rhel was defined, try to guess them from %{dist}
31 %if !0%{?rhel} && !0%{?fedora}
32 %{expand:%(echo "%{?dist}" | \
33 sed -ne 's/^\.el\([0-9]\+\).*/%%define rhel \1/p')}
34 %{expand:%(echo "%{?dist}" | \
35 sed -ne 's/^\.fc\?\([0-9]\+\).*/%%define fedora \1/p')}
38 # Default to skipping autoreconf. Distros can change just this one line
39 # (or provide a command-line override) if they backport any patches that
40 # touch configure.ac or Makefile.am.
41 %{!?enable_autotools:%define enable_autotools 0}
43 # A client only build will create a libvirt.so only containing
44 # the generic RPC driver, and test driver and no libvirtd
45 # Default to a full server + client build
48 # Now turn off server build in certain cases
50 # RHEL-5 builds are client-only for s390, ppc
52 %ifnarch %{ix86} x86_64 ia64
57 # Disable all server side drivers if client only build requested
59 %define server_drivers 0
61 %define server_drivers 1
64 # Always build with dlopen'd modules
65 %define with_driver_modules 1
67 # Now set the defaults for all the important features, independent
68 # of any particular OS
70 # First the daemon itself
71 %define with_libvirtd 0%{!?_without_libvirtd:%{server_drivers}}
72 %define with_avahi 0%{!?_without_avahi:%{server_drivers}}
74 # Then the hypervisor drivers that run in libvirtd
75 %define with_xen 0%{!?_without_xen:%{server_drivers}}
76 %define with_qemu 0%{!?_without_qemu:%{server_drivers}}
77 %define with_lxc 0%{!?_without_lxc:%{server_drivers}}
78 %define with_uml 0%{!?_without_uml:%{server_drivers}}
79 %define with_libxl 0%{!?_without_libxl:%{server_drivers}}
81 %define with_qemu_tcg %{with_qemu}
82 # Change if we ever provide qemu-kvm binaries on non-x86 hosts
84 %define qemu_kvm_arches %{ix86} x86_64 ppc64 s390x
86 %define qemu_kvm_arches %{ix86} x86_64
89 %ifarch %{qemu_kvm_arches}
90 %define with_qemu_kvm %{with_qemu}
92 %define with_qemu_kvm 0
95 # Then the hypervisor drivers that run outside libvirtd, in libvirt.so
96 %define with_openvz 0%{!?_without_openvz:1}
97 %define with_vbox 0%{!?_without_vbox:1}
98 %define with_vmware 0%{!?_without_vmware:1}
99 %define with_phyp 0%{!?_without_phyp:1}
100 %define with_esx 0%{!?_without_esx:1}
101 %define with_hyperv 0%{!?_without_hyperv:1}
102 %define with_xenapi 0%{!?_without_xenapi:1}
103 %define with_parallels 0%{!?_without_parallels:1}
105 # Then the secondary host drivers, which run inside libvirtd
106 %define with_interface 0%{!?_without_interface:%{server_drivers}}
107 %define with_network 0%{!?_without_network:%{server_drivers}}
108 %define with_storage_fs 0%{!?_without_storage_fs:%{server_drivers}}
109 %define with_storage_lvm 0%{!?_without_storage_lvm:%{server_drivers}}
110 %define with_storage_iscsi 0%{!?_without_storage_iscsi:%{server_drivers}}
111 %define with_storage_disk 0%{!?_without_storage_disk:%{server_drivers}}
112 %define with_storage_mpath 0%{!?_without_storage_mpath:%{server_drivers}}
113 %if 0%{?fedora} >= 16
114 %define with_storage_rbd 0%{!?_without_storage_rbd:%{server_drivers}}
116 %define with_storage_rbd 0
118 %if 0%{?fedora} >= 17
119 %define with_storage_sheepdog 0%{!?_without_storage_sheepdog:%{server_drivers}}
121 %define with_storage_sheepdog 0
123 %define with_numactl 0%{!?_without_numactl:%{server_drivers}}
124 %define with_selinux 0%{!?_without_selinux:%{server_drivers}}
126 # A few optional bits off by default, we enable later
127 %define with_polkit 0%{!?_without_polkit:0}
128 %define with_capng 0%{!?_without_capng:0}
129 %define with_fuse 0%{!?_without_fuse:0}
130 %define with_netcf 0%{!?_without_netcf:0}
131 %define with_udev 0%{!?_without_udev:0}
132 %define with_hal 0%{!?_without_hal:0}
133 %define with_yajl 0%{!?_without_yajl:0}
134 %define with_nwfilter 0%{!?_without_nwfilter:0}
135 %define with_libpcap 0%{!?_without_libpcap:0}
136 %define with_macvtap 0%{!?_without_macvtap:0}
137 %define with_libnl 0%{!?_without_libnl:0}
138 %define with_audit 0%{!?_without_audit:0}
139 %define with_dtrace 0%{!?_without_dtrace:0}
140 %define with_cgconfig 0%{!?_without_cgconfig:0}
141 %define with_sanlock 0%{!?_without_sanlock:0}
142 %define with_systemd 0%{!?_without_systemd:0}
143 %define with_numad 0%{!?_without_numad:0}
144 %define with_firewalld 0%{!?_without_firewalld:0}
145 %define with_libssh2 0%{!?_without_libssh2:0}
147 # Non-server/HV driver defaults which are always enabled
148 %define with_python 0%{!?_without_python:1}
149 %define with_sasl 0%{!?_without_sasl:1}
152 # Finally set the OS / architecture specific special cases
154 # Xen is available only on i386 x86_64 ia64
155 %ifnarch %{ix86} x86_64 ia64
160 # Numactl is not available on s390[x] and ARM
161 %ifarch s390 s390x %{arm}
162 %define with_numactl 0
165 # RHEL doesn't ship OpenVZ, VBox, UML, PowerHypervisor,
166 # VMWare, libxenserver (xenapi), libxenlight (Xen 4.1 and newer),
169 %define with_openvz 0
173 %define with_vmware 0
174 %define with_xenapi 0
176 %define with_hyperv 0
177 %define with_parallels 0
180 # Fedora 17 / RHEL-7 are first where we use systemd. Although earlier
181 # Fedora has systemd, libvirt still used sysvinit there.
182 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
183 %define with_systemd 1
186 # Fedora 18 / RHEL-7 are first where firewalld support is enabled
187 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
188 %define with_firewalld 1
191 # RHEL-5 has restricted QEMU to x86_64 only and is too old for LXC
193 %define with_qemu_tcg 0
196 %define with_qemu_kvm 0
201 # RHEL-6 has restricted QEMU to x86_64 only, stopped including Xen
202 # on all archs. Other archs all have LXC available though
204 %define with_qemu_tcg 0
207 %define with_qemu_kvm 0
212 # Fedora doesn't have any QEMU on ppc64 until FC16 - only ppc
213 %if 0%{?fedora} && 0%{?fedora} < 16
219 # Fedora doesn't have new enough Xen for libxl until F18
220 %if 0%{?fedora} && 0%{?fedora} < 18
224 # PolicyKit was introduced in Fedora 8 / RHEL-6 or newer
225 %if 0%{?fedora} >= 8 || 0%{?rhel} >= 6
226 %define with_polkit 0%{!?_without_polkit:1}
229 # libcapng is used to manage capabilities in Fedora 12 / RHEL-6 or newer
230 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
231 %define with_capng 0%{!?_without_capng:1}
234 # fuse is used to provide virtualized /proc for LXC
235 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
236 %define with_fuse 0%{!?_without_fuse:1}
239 # netcf is used to manage network interfaces in Fedora 12 / RHEL-6 or newer
240 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
241 %define with_netcf 0%{!?_without_netcf:%{server_drivers}}
244 # udev is used to manage host devices in Fedora 12 / RHEL-6 or newer
245 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
246 %define with_udev 0%{!?_without_udev:%{server_drivers}}
248 %define with_hal 0%{!?_without_hal:%{server_drivers}}
251 # interface requires netcf
252 %if ! 0%{?with_netcf}
253 %define with_interface 0
256 # Enable yajl library for JSON mode with QEMU
257 %if 0%{?fedora} >= 13 || 0%{?rhel} >= 6
258 %define with_yajl 0%{!?_without_yajl:%{server_drivers}}
261 # Enable sanlock library for lock management with QEMU
262 # Sanlock is available only on i686 x86_64 for RHEL
263 %if 0%{?fedora} >= 16
264 %define with_sanlock 0%{!?_without_sanlock:%{server_drivers}}
267 %ifarch %{ix86} x86_64
268 %define with_sanlock 0%{!?_without_sanlock:%{server_drivers}}
272 # Enable libssh2 transport for new enough distros
273 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 6
274 %define with_libssh2 0%{!?_without_libssh2:1}
277 # Disable some drivers when building without libvirt daemon.
278 # The logic is the same as in configure.ac
279 %if ! %{with_libvirtd}
280 %define with_interface 0
281 %define with_network 0
287 %define with_storage_fs 0
288 %define with_storage_lvm 0
289 %define with_storage_iscsi 0
290 %define with_storage_mpath 0
291 %define with_storage_rbd 0
292 %define with_storage_sheepdog 0
293 %define with_storage_disk 0
296 %if %{with_qemu} || %{with_lxc} || %{with_uml}
297 %define with_nwfilter 0%{!?_without_nwfilter:%{server_drivers}}
298 # Enable libpcap library
299 %define with_libpcap 0%{!?_without_libpcap:%{server_drivers}}
300 %define with_macvtap 0%{!?_without_macvtap:%{server_drivers}}
302 # numad is used to manage the CPU and memory placement dynamically,
303 # it's not available on s390[x] and ARM.
304 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 6
305 %ifnarch s390 s390x %{arm}
306 %define with_numad 0%{!?_without_numad:%{server_drivers}}
315 %if 0%{?fedora} >= 11 || 0%{?rhel} >= 5
316 %define with_audit 0%{!?_without_audit:1}
319 %if 0%{?fedora} >= 13 || 0%{?rhel} >= 6
320 %define with_dtrace 1
323 # Pull in cgroups config system
324 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
325 %if %{with_qemu} || %{with_lxc}
326 %define with_cgconfig 0%{!?_without_cgconfig:1}
330 %if %{with_udev} || %{with_hal}
331 %define with_nodedev 1
333 %define with_nodedev 0
336 %if %{with_storage_fs} || %{with_storage_mpath} || %{with_storage_iscsi} || %{with_storage_lvm} || %{with_storage_disk}
337 %define with_storage 1
339 %define with_storage 0
343 # Force QEMU to run as non-root
344 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
345 %define qemu_user qemu
346 %define qemu_group qemu
348 %define qemu_user root
349 %define qemu_group root
353 # The RHEL-5 Xen package has some feature backports. This
354 # flag is set to enable use of those special bits on RHEL-5
361 %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
362 %define with_systemd_macros 1
364 %define with_systemd_macros 0
368 Summary: Library providing a simple virtualization API
370 Version: %{mainstream_version}
373 Group: Development/Libraries
374 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
375 URL: http://libvirt.org/
377 %if %(echo %{version} | grep -o \\. | wc -l) == 3
378 %define mainturl stable_updates/
380 Source: http://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.gz
381 Patch1: selinux-mkdir.patch
384 Requires: libvirt-daemon = %{version}-%{release}
386 Requires: libvirt-daemon-config-network = %{version}-%{release}
389 Requires: libvirt-daemon-config-nwfilter = %{version}-%{release}
391 %if %{with_driver_modules}
393 Requires: libvirt-daemon-driver-libxl = %{version}-%{release}
396 Requires: libvirt-daemon-driver-lxc = %{version}-%{release}
399 Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
402 Requires: libvirt-daemon-driver-uml = %{version}-%{release}
405 Requires: libvirt-daemon-driver-xen = %{version}-%{release}
408 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
409 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
410 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
411 Requires: libvirt-daemon-driver-network = %{version}-%{release}
412 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
413 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
416 Requires: libvirt-client = %{version}-%{release}
418 # All build-time requirements. Run-time requirements are
419 # listed against each sub-RPM
420 %if 0%{?enable_autotools}
421 BuildRequires: autoconf
422 BuildRequires: automake
423 BuildRequires: gettext-devel
424 BuildRequires: libtool
426 BuildRequires: python-devel
428 BuildRequires: systemd-units
431 BuildRequires: xen-devel
433 BuildRequires: libxml2-devel
434 BuildRequires: xhtml1-dtds
435 BuildRequires: libxslt
436 BuildRequires: readline-devel
437 BuildRequires: ncurses-devel
438 BuildRequires: gettext
439 BuildRequires: libtasn1-devel
440 BuildRequires: gnutls-devel
441 BuildRequires: libattr-devel
442 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
443 # for augparse, optionally used in testing
444 BuildRequires: augeas
447 BuildRequires: hal-devel
450 %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
451 BuildRequires: systemd-devel >= 185
453 BuildRequires: libudev-devel >= 145
455 BuildRequires: libpciaccess-devel >= 0.10.9
458 BuildRequires: yajl-devel
461 # make sure libvirt is built with new enough sanlock on
462 # distros that have it; required for on_lockfailure
463 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 6
464 BuildRequires: sanlock-devel >= 2.4
466 BuildRequires: sanlock-devel >= 1.8
470 BuildRequires: libpcap-devel
473 %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
474 BuildRequires: libnl3-devel
476 BuildRequires: libnl-devel
480 BuildRequires: avahi-devel
483 BuildRequires: libselinux-devel
486 BuildRequires: dnsmasq >= 2.41
487 BuildRequires: iptables
488 BuildRequires: iptables-ipv6
492 BuildRequires: ebtables
494 BuildRequires: module-init-tools
496 BuildRequires: cyrus-sasl-devel
499 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
500 # Only need the binary, not -devel
501 BuildRequires: polkit >= 0.93
503 BuildRequires: PolicyKit-devel >= 0.6
506 %if %{with_storage_fs}
507 # For mount/umount in FS driver
508 BuildRequires: util-linux
512 BuildRequires: /usr/bin/qemu-img
516 BuildRequires: /usr/sbin/qcow-create
519 %if %{with_storage_lvm}
523 %if %{with_storage_iscsi}
525 BuildRequires: iscsi-initiator-utils
527 %if %{with_storage_disk}
529 BuildRequires: parted-devel
531 # Broken RHEL-5 parted RPM is missing a dep
532 BuildRequires: e2fsprogs-devel
535 %if %{with_storage_mpath}
536 # For Multipath support
538 # Broken RHEL-5 packaging has header files in main RPM :-(
539 BuildRequires: device-mapper
541 BuildRequires: device-mapper-devel
543 %if %{with_storage_rbd}
544 BuildRequires: ceph-devel
548 # For QEMU/LXC numa info
549 BuildRequires: numactl-devel
552 BuildRequires: libcap-ng-devel >= 0.5.0
555 BuildRequires: fuse-devel >= 2.8.6
557 %if %{with_phyp} || %{with_libssh2}
558 BuildRequires: libssh2-devel >= 1.3.0
562 %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
563 BuildRequires: netcf-devel >= 0.2.2
565 %if 0%{?fedora} >= 16 || 0%{?rhel} >= 6
566 BuildRequires: netcf-devel >= 0.1.8
568 BuildRequires: netcf-devel >= 0.1.4
573 %if 0%{?fedora} >= 9 || 0%{?rhel} >= 6
574 BuildRequires: libcurl-devel
576 BuildRequires: curl-devel
580 BuildRequires: libwsman-devel >= 2.2.3
583 BuildRequires: audit-libs-devel
586 # we need /usr/sbin/dtrace
587 BuildRequires: systemtap-sdt-devel
590 %if %{with_storage_fs}
591 # For mount/umount in FS driver
592 BuildRequires: util-linux
593 # For showmount in FS driver (netfs discovery)
594 BuildRequires: nfs-utils
597 %if %{with_firewalld}
598 # Communication with the firewall daemon uses DBus
599 BuildRequires: dbus-devel
602 # Fedora build root suckage
605 # For storage wiping with different algorithms
612 Provides: bundled(gnulib)
615 Libvirt is a C toolkit to interact with the virtualization capabilities
616 of recent versions of Linux (and other OSes). The main package includes
617 the libvirtd server exporting the virtualization support.
620 Summary: API reference and website documentation
621 Group: Development/Libraries
624 Includes the API reference for the libvirt C library, and a complete
625 copy of the libvirt.org website documentation.
629 Summary: Server side daemon and supporting files for libvirt library
630 Group: Development/Libraries
632 # All runtime requirements for the libvirt package (runtime requrements
633 # for subpackages are listed later in those subpackages)
635 # The client side, i.e. shared libs and virsh are in a subpackage
636 Requires: %{name}-client = %{version}-%{release}
638 # for modprobe of pci devices
639 Requires: module-init-tools
640 # for /sbin/ip & /sbin/tc
650 Requires: dnsmasq >= 2.41
653 %if %{with_network} || %{with_nwfilter}
655 Requires: iptables-ipv6
660 %if %{with_netcf} && (0%{?fedora} >= 18 || 0%{?rhel} >= 7)
661 Requires: netcf-libs >= 0.2.2
663 # needed for device enumeration
668 %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
669 Requires: systemd >= 185
671 Requires: udev >= 145
675 %if 0%{?fedora} >= 12 || 0%{?rhel} >=6
676 Requires: polkit >= 0.93
678 Requires: PolicyKit >= 0.6
681 %if %{with_storage_fs}
685 # For pool-build probing for existing pools
686 BuildRequires: libblkid-devel >= 2.17
688 %if 0%{?fedora} >= 11
689 Requires: glusterfs-client >= 2.0.1
694 Requires: /usr/bin/qemu-img
695 # For image compression
703 Requires: /usr/sbin/qcow-create
706 %if %{with_storage_lvm}
710 %if %{with_storage_iscsi}
712 Requires: iscsi-initiator-utils
714 %if %{with_storage_disk}
717 Requires: device-mapper
719 %if %{with_storage_mpath}
720 # For multipath support
721 Requires: device-mapper
723 %if %{with_storage_sheepdog}
724 # For Sheepdog support
730 %ifarch %{ix86} x86_64 ia64
731 # For virConnectGetSysinfo
734 # For service management
736 Requires(post): systemd-units
737 Requires(post): systemd-sysv
738 Requires(preun): systemd-units
739 Requires(postun): systemd-units
744 # libvirtd depends on 'messagebus' service
748 Server side daemon required to manage the virtualization capabilities
749 of recent versions of Linux. Requires a hypervisor specific sub-RPM
750 for specific drivers.
753 %package daemon-config-network
754 Summary: Default configuration files for the libvirtd daemon
755 Group: Development/Libraries
757 Requires: libvirt-daemon = %{version}-%{release}
759 %description daemon-config-network
760 Default configuration files for setting up NAT based networking
764 %package daemon-config-nwfilter
765 Summary: Network filter configuration files for the libvirtd daemon
766 Group: Development/Libraries
768 Requires: libvirt-daemon = %{version}-%{release}
770 %description daemon-config-nwfilter
771 Network filter configuration files for cleaning guest traffic
774 %if %{with_driver_modules}
776 %package daemon-driver-network
777 Summary: Network driver plugin for the libvirtd daemon
778 Group: Development/Libraries
779 Requires: libvirt-daemon = %{version}-%{release}
781 %description daemon-driver-network
782 The network driver plugin for the libvirtd daemon, providing
783 an implementation of the virtual network APIs using the Linux
789 %package daemon-driver-nwfilter
790 Summary: Nwfilter driver plugin for the libvirtd daemon
791 Group: Development/Libraries
792 Requires: libvirt-daemon = %{version}-%{release}
794 %description daemon-driver-nwfilter
795 The nwfilter driver plugin for the libvirtd daemon, providing
796 an implementation of the firewall APIs using the ebtables,
797 iptables and ip6tables capabilities
802 %package daemon-driver-nodedev
803 Summary: Nodedev driver plugin for the libvirtd daemon
804 Group: Development/Libraries
805 Requires: libvirt-daemon = %{version}-%{release}
807 %description daemon-driver-nodedev
808 The nodedev driver plugin for the libvirtd daemon, providing
809 an implementation of the node device APIs using the udev
814 %if %{with_interface}
815 %package daemon-driver-interface
816 Summary: Interface driver plugin for the libvirtd daemon
817 Group: Development/Libraries
818 Requires: libvirt-daemon = %{version}-%{release}
820 %description daemon-driver-interface
821 The interface driver plugin for the libvirtd daemon, providing
822 an implementation of the network interface APIs using the
827 %package daemon-driver-secret
828 Summary: Secret driver plugin for the libvirtd daemon
829 Group: Development/Libraries
830 Requires: libvirt-daemon = %{version}-%{release}
832 %description daemon-driver-secret
833 The secret driver plugin for the libvirtd daemon, providing
834 an implementation of the secret key APIs.
838 %package daemon-driver-storage
839 Summary: Storage driver plugin for the libvirtd daemon
840 Group: Development/Libraries
841 Requires: libvirt-daemon = %{version}-%{release}
843 %description daemon-driver-storage
844 The storage driver plugin for the libvirtd daemon, providing
845 an implementation of the storage APIs using LVM, iSCSI,
851 %package daemon-driver-qemu
852 Summary: Qemu driver plugin for the libvirtd daemon
853 Group: Development/Libraries
854 Requires: libvirt-daemon = %{version}-%{release}
855 # There really is a hard cross-driver dependency here
856 Requires: libvirt-daemon-driver-network = %{version}-%{release}
858 %description daemon-driver-qemu
859 The qemu driver plugin for the libvirtd daemon, providing
860 an implementation of the hypervisor driver APIs using
866 %package daemon-driver-lxc
867 Summary: LXC driver plugin for the libvirtd daemon
868 Group: Development/Libraries
869 Requires: libvirt-daemon = %{version}-%{release}
870 # There really is a hard cross-driver dependency here
871 Requires: libvirt-daemon-driver-network = %{version}-%{release}
873 %description daemon-driver-lxc
874 The LXC driver plugin for the libvirtd daemon, providing
875 an implementation of the hypervisor driver APIs using
881 %package daemon-driver-uml
882 Summary: Uml driver plugin for the libvirtd daemon
883 Group: Development/Libraries
884 Requires: libvirt-daemon = %{version}-%{release}
886 %description daemon-driver-uml
887 The UML driver plugin for the libvirtd daemon, providing
888 an implementation of the hypervisor driver APIs using
894 %package daemon-driver-xen
895 Summary: Xen driver plugin for the libvirtd daemon
896 Group: Development/Libraries
897 Requires: libvirt-daemon = %{version}-%{release}
899 %description daemon-driver-xen
900 The Xen driver plugin for the libvirtd daemon, providing
901 an implementation of the hypervisor driver APIs using
907 %package daemon-driver-libxl
908 Summary: Libxl driver plugin for the libvirtd daemon
909 Group: Development/Libraries
910 Requires: libvirt-daemon = %{version}-%{release}
912 %description daemon-driver-libxl
913 The Libxl driver plugin for the libvirtd daemon, providing
914 an implementation of the hypervisor driver APIs using
917 %endif # %{with_driver_modules}
923 Summary: Server side daemon & driver required to run QEMU guests
924 Group: Development/Libraries
926 Requires: libvirt-daemon = %{version}-%{release}
927 %if %{with_driver_modules}
928 Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
929 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
930 Requires: libvirt-daemon-driver-network = %{version}-%{release}
931 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
932 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
933 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
934 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
938 %description daemon-qemu
939 Server side daemon and driver required to manage the virtualization
940 capabilities of the QEMU TCG emulators
946 Summary: Server side daemon & driver required to run KVM guests
947 Group: Development/Libraries
949 Requires: libvirt-daemon = %{version}-%{release}
950 %if %{with_driver_modules}
951 Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
952 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
953 Requires: libvirt-daemon-driver-network = %{version}-%{release}
954 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
955 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
956 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
957 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
961 %description daemon-kvm
962 Server side daemon and driver required to manage the virtualization
963 capabilities of the KVM hypervisor
969 Summary: Server side daemon & driver required to run LXC guests
970 Group: Development/Libraries
972 Requires: libvirt-daemon = %{version}-%{release}
973 %if %{with_driver_modules}
974 Requires: libvirt-daemon-driver-lxc = %{version}-%{release}
975 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
976 Requires: libvirt-daemon-driver-network = %{version}-%{release}
977 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
978 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
979 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
980 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
983 %description daemon-lxc
984 Server side daemon and driver required to manage the virtualization
991 Summary: Server side daemon & driver required to run UML guests
992 Group: Development/Libraries
994 Requires: libvirt-daemon = %{version}-%{release}
995 %if %{with_driver_modules}
996 Requires: libvirt-daemon-driver-uml = %{version}-%{release}
997 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
998 Requires: libvirt-daemon-driver-network = %{version}-%{release}
999 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
1000 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
1001 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
1002 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
1004 # There are no UML kernel RPMs in Fedora/RHEL to depend on.
1006 %description daemon-uml
1007 Server side daemon and driver required to manage the virtualization
1012 %if %{with_xen} || %{with_libxl}
1014 Summary: Server side daemon & driver required to run XEN guests
1015 Group: Development/Libraries
1017 Requires: libvirt-daemon = %{version}-%{release}
1018 %if %{with_driver_modules}
1020 Requires: libvirt-daemon-driver-xen = %{version}-%{release}
1023 Requires: libvirt-daemon-driver-libxl = %{version}-%{release}
1025 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
1026 Requires: libvirt-daemon-driver-network = %{version}-%{release}
1027 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
1028 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
1029 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
1030 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
1034 %description daemon-xen
1035 Server side daemon and driver required to manage the virtualization
1038 %endif # %{with_libvirtd}
1041 Summary: Client side library and utilities of the libvirt library
1042 Group: Development/Libraries
1045 # So remote clients can access libvirt over SSH tunnel
1046 # (client invokes 'nc' against the UNIX socket on the server)
1048 # Needed by libvirt-guests init script.
1050 # Needed by virt-pki-validate script.
1051 Requires: gnutls-utils
1052 # Needed for probing the power management features of the host.
1055 Requires: cyrus-sasl
1056 # Not technically required, but makes 'out-of-box' config
1057 # work correctly & doesn't have onerous dependencies
1058 Requires: cyrus-sasl-md5
1062 Shared libraries and client binaries needed to access to the
1063 virtualization capabilities of recent versions of Linux (and other OSes).
1066 Summary: Libraries, includes, etc. to compile with the libvirt library
1067 Group: Development/Libraries
1068 Requires: %{name}-client = %{version}-%{release}
1069 Requires: %{name}-docs = %{version}-%{release}
1073 Include header files & development libraries for the libvirt C library.
1076 %package lock-sanlock
1077 Summary: Sanlock lock manager plugin for QEMU driver
1078 Group: Development/Libraries
1079 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 6
1080 Requires: sanlock >= 2.4
1082 Requires: sanlock >= 1.8
1084 #for virt-sanlock-cleanup require augeas
1086 Requires: %{name}-daemon = %{version}-%{release}
1087 Requires: %{name}-client = %{version}-%{release}
1089 %description lock-sanlock
1090 Includes the Sanlock lock manager plugin for the QEMU
1096 Summary: Python bindings for the libvirt library
1097 Group: Development/Libraries
1098 Requires: %{name}-client = %{version}-%{release}
1101 The libvirt-python package contains a module that permits applications
1102 written in the Python programming language to use the interface
1103 supplied by the libvirt library to use the virtualization capabilities
1104 of recent versions of Linux (and other OSes).
1113 %define _without_xen --without-xen
1117 %define _without_qemu --without-qemu
1120 %if ! %{with_openvz}
1121 %define _without_openvz --without-openvz
1125 %define _without_lxc --without-lxc
1129 %define _without_vbox --without-vbox
1132 %if ! %{with_xenapi}
1133 %define _without_xenapi --without-xenapi
1137 %define _without_libxl --without-libxl
1141 %define _without_sasl --without-sasl
1145 %define _without_avahi --without-avahi
1149 %define _without_phyp --without-phyp
1153 %define _without_esx --without-esx
1156 %if ! %{with_hyperv}
1157 %define _without_hyperv --without-hyperv
1160 %if ! %{with_vmware}
1161 %define _without_vmware --without-vmware
1164 %if ! %{with_parallels}
1165 %define _without_parallels --without-parallels
1168 %if ! %{with_polkit}
1169 %define _without_polkit --without-polkit
1172 %if ! %{with_python}
1173 %define _without_python --without-python
1176 %if ! %{with_libvirtd}
1177 %define _without_libvirtd --without-libvirtd
1181 %define _without_uml --without-uml
1185 %define _with_rhel5_api --with-rhel5-api
1188 %if ! %{with_interface}
1189 %define _without_interface --without-interface
1192 %if ! %{with_network}
1193 %define _without_network --without-network
1196 %if ! %{with_storage_fs}
1197 %define _without_storage_fs --without-storage-fs
1200 %if ! %{with_storage_lvm}
1201 %define _without_storage_lvm --without-storage-lvm
1204 %if ! %{with_storage_iscsi}
1205 %define _without_storage_iscsi --without-storage-iscsi
1208 %if ! %{with_storage_disk}
1209 %define _without_storage_disk --without-storage-disk
1212 %if ! %{with_storage_mpath}
1213 %define _without_storage_mpath --without-storage-mpath
1216 %if ! %{with_storage_rbd}
1217 %define _without_storage_rbd --without-storage-rbd
1220 %if ! %{with_storage_sheepdog}
1221 %define _without_storage_sheepdog --without-storage-sheepdog
1224 %if ! %{with_numactl}
1225 %define _without_numactl --without-numactl
1229 %define _without_numad --without-numad
1233 %define _without_capng --without-capng
1237 %define _without_fuse --without-fuse
1241 %define _without_netcf --without-netcf
1244 %if ! %{with_selinux}
1245 %define _without_selinux --without-selinux
1249 %define _without_hal --without-hal
1253 %define _without_udev --without-udev
1257 %define _without_yajl --without-yajl
1260 %if ! %{with_sanlock}
1261 %define _without_sanlock --without-sanlock
1264 %if ! %{with_libpcap}
1265 %define _without_libpcap --without-libpcap
1268 %if ! %{with_macvtap}
1269 %define _without_macvtap --without-macvtap
1273 %define _without_audit --without-audit
1276 %if ! %{with_dtrace}
1277 %define _without_dtrace --without-dtrace
1280 %if ! %{with_driver_modules}
1281 %define _without_driver_modules --without-driver-modules
1284 %if %{with_firewalld}
1285 %define _with_firewalld --with-firewalld
1288 %define when %(date +"%%F-%%T")
1289 %define where %(hostname)
1290 %define who %{?packager}%{!?packager:Unknown}
1291 %define with_packager --with-packager="%{who}, %{when}, %{where}"
1292 %define with_packager_version --with-packager-version="%{release}"
1295 %define init_scripts --with-init_script=systemd
1297 %define init_scripts --with-init_script=redhat
1300 %if 0%{?enable_autotools}
1305 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
1306 %define with_selinux_mount --with-selinux-mount="/sys/fs/selinux"
1308 %define with_selinux_mount --with-selinux-mount="/selinux"
1312 %configure %{?_without_xen} \
1314 %{?_without_openvz} \
1317 %{?_without_libxl} \
1318 %{?_without_xenapi} \
1320 %{?_without_avahi} \
1321 %{?_without_polkit} \
1322 %{?_without_python} \
1323 %{?_without_libvirtd} \
1327 %{?_without_hyperv} \
1328 %{?_without_vmware} \
1329 %{?_without_parallels} \
1330 %{?_without_interface} \
1331 %{?_without_network} \
1332 %{?_with_rhel5_api} \
1333 %{?_without_storage_fs} \
1334 %{?_without_storage_lvm} \
1335 %{?_without_storage_iscsi} \
1336 %{?_without_storage_disk} \
1337 %{?_without_storage_mpath} \
1338 %{?_without_storage_rbd} \
1339 %{?_without_storage_sheepdog} \
1340 %{?_without_numactl} \
1341 %{?_without_numad} \
1342 %{?_without_capng} \
1344 %{?_without_netcf} \
1345 %{?_without_selinux} \
1346 %{?_with_selinux_mount} \
1350 %{?_without_sanlock} \
1351 %{?_without_libpcap} \
1352 %{?_without_macvtap} \
1353 %{?_without_audit} \
1354 %{?_without_dtrace} \
1355 %{?_without_driver_modules} \
1356 %{?_with_firewalld} \
1358 %{with_packager_version} \
1359 --with-qemu-user=%{qemu_user} \
1360 --with-qemu-group=%{qemu_group} \
1362 make %{?_smp_mflags}
1368 %makeinstall SYSTEMD_UNIT_DIR=%{buildroot}%{_unitdir}
1369 for i in domain-events/events-c dominfo domsuspend hellolibvirt openauth python xml/nwfilter systemtap
1371 (cd examples/$i ; make clean ; rm -rf .deps .libs Makefile Makefile.in)
1373 rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
1374 rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
1375 rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.la
1376 rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.a
1377 rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.la
1378 rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.a
1379 %if %{with_driver_modules}
1380 rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.la
1381 rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.a
1385 install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/lib/libvirt/dnsmasq/
1386 # We don't want to install /etc/libvirt/qemu/networks in the main %files list
1387 # because if the admin wants to delete the default network completely, we don't
1388 # want to end up re-incarnating it on every RPM upgrade.
1389 install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/
1390 cp $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml \
1391 $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
1392 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
1393 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
1394 # Strip auto-generated UUID - we need it generated per-install
1395 sed -i -e "/<uuid>/d" $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
1397 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
1398 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
1401 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_qemu.aug
1402 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
1406 %if ! %{with_sanlock}
1407 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirt_sanlock.aug
1408 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug
1412 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_lxc.aug
1413 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
1416 %if ! %{with_python}
1417 rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-python-%{version}
1419 rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-python-%{version}/examples
1423 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf
1424 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.qemu
1427 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/lxc.conf
1428 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.lxc
1431 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.uml
1434 mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{version} \
1435 $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-docs-%{version}
1438 %ifarch %{power64} s390x x86_64 ia64 alpha sparc64
1439 mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes.stp \
1440 $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes-64.stp
1441 mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes.stp \
1442 $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes-64.stp
1446 %if 0%{?fedora} < 14 && 0%{?rhel} < 6
1447 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/sysctl.d/libvirtd.conf
1456 # These tests don't current work in a mock build root
1457 for i in nodeinfotest seclabeltest
1460 printf 'int main(void) { return 0; }' > $i.c
1461 printf '#!/bin/sh\nexit 0\n' > $i
1466 %if %{with_libvirtd}
1468 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
1469 # Normally 'setup' adds this in /etc/passwd, but this is
1470 # here for case of upgrades from earlier Fedora/RHEL. This
1471 # UID/GID pair is reserved for qemu:qemu
1472 getent group kvm >/dev/null || groupadd -g 36 -r kvm
1473 getent group qemu >/dev/null || groupadd -g 107 -r qemu
1474 getent passwd qemu >/dev/null || \
1475 useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
1482 # All newly defined networks will have a mac address for the bridge
1483 # auto-generated, but networks already existing at the time of upgrade
1484 # will not. We need to go through all the network configs, look for
1485 # those that don't have a mac address, and add one.
1487 network_files=$( (cd %{_localstatedir}/lib/libvirt/network && \
1488 grep -L "mac address" *.xml; \
1489 cd %{_sysconfdir}/libvirt/qemu/networks && \
1490 grep -L "mac address" *.xml) 2>/dev/null \
1493 for file in $network_files
1495 # each file exists in either the config or state directory (or both) and
1496 # does not have a mac address specified in either. We add the same mac
1497 # address to both files (or just one, if the other isn't there)
1499 mac4=`printf '%X' $(($RANDOM % 256))`
1500 mac5=`printf '%X' $(($RANDOM % 256))`
1501 mac6=`printf '%X' $(($RANDOM % 256))`
1502 for dir in %{_localstatedir}/lib/libvirt/network \
1503 %{_sysconfdir}/libvirt/qemu/networks
1505 if test -f $dir/$file
1508 "s|\(<bridge.*$\)|\0\n <mac address='52:54:00:$mac4:$mac5:$mac6'/>|" \
1512 echo "failed to add <mac address='52:54:00:$mac4:$mac5:$mac6'/>" \
1514 mv -f $dir/$file.orig $dir/$file
1516 rm -f $dir/$file.orig
1524 %if %{with_systemd_macros}
1525 %systemd_post libvirtd.service
1527 if [ $1 -eq 1 ] ; then
1528 # Initial installation
1529 /bin/systemctl enable virtlockd.socket >/dev/null 2>&1 || :
1530 /bin/systemctl enable libvirtd.service >/dev/null 2>&1 || :
1534 %if %{with_cgconfig}
1535 # Starting with Fedora 16/RHEL-7, systemd automounts all cgroups,
1536 # and cgconfig is no longer a necessary service.
1537 %if (0%{?rhel} && 0%{?rhel} < 7) || (0%{?fedora} && 0%{?fedora} < 16)
1538 if [ "$1" -eq "1" ]; then
1539 /sbin/chkconfig cgconfig on
1544 /sbin/chkconfig --add libvirtd
1545 if [ "$1" -ge "1" ]; then
1546 /sbin/service libvirtd condrestart > /dev/null 2>&1
1552 %if %{with_systemd_macros}
1553 %systemd_preun libvirtd.service
1555 if [ $1 -eq 0 ] ; then
1556 # Package removal, not upgrade
1557 /bin/systemctl --no-reload disable virtlockd.socket > /dev/null 2>&1 || :
1558 /bin/systemctl --no-reload disable libvirtd.service > /dev/null 2>&1 || :
1559 /bin/systemctl stop libvirtd.service > /dev/null 2>&1 || :
1560 /bin/systemctl stop virtlockd.service > /dev/null 2>&1 || :
1565 /sbin/service libvirtd stop 1>/dev/null 2>&1
1566 /sbin/chkconfig --del libvirtd
1572 %if %{with_systemd_macros}
1573 %systemd_postun_with_restart libvirtd.service
1575 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
1576 if [ $1 -ge 1 ] ; then
1577 # Package upgrade, not uninstall
1578 /bin/systemctl status virtlockd.service >/dev/null 2>&1
1579 if [ $? = 1 ] ; then
1580 /bin/systemctl kill --signal=USR1 virtlockd.service >/dev/null 2>&1 || :
1582 /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
1588 %post daemon-config-network
1589 if test $1 -eq 1 && test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml ; then
1590 UUID=`/usr/bin/uuidgen`
1591 sed -e "s,</name>,</name>\n <uuid>$UUID</uuid>," \
1592 < %{_datadir}/libvirt/networks/default.xml \
1593 > %{_sysconfdir}/libvirt/qemu/networks/default.xml
1594 ln -s ../default.xml %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
1599 %triggerun -- libvirt < 0.9.4
1600 %{_bindir}/systemd-sysv-convert --save libvirtd >/dev/null 2>&1 ||:
1602 # If the package is allowed to autostart:
1603 /bin/systemctl --no-reload enable libvirtd.service >/dev/null 2>&1 ||:
1605 # Run these because the SysV package being removed won't do them
1606 /sbin/chkconfig --del libvirtd >/dev/null 2>&1 || :
1607 /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
1609 %endif # %{with_libvirtd}
1614 %if %{with_systemd_macros}
1615 %systemd_preun libvirt-guests.service
1619 /sbin/chkconfig --del libvirt-guests
1620 rm -f /var/lib/libvirt/libvirt-guests
1628 %if %{with_systemd_macros}
1629 %systemd_post libvirt-guests.service
1632 /sbin/chkconfig --add libvirt-guests
1639 %if %{with_systemd_macros}
1640 %systemd_postun_with_restart libvirt-guests.service
1642 %triggerun client -- libvirt < 0.9.4
1643 %{_bindir}/systemd-sysv-convert --save libvirt-guests >/dev/null 2>&1 ||:
1645 # If the package is allowed to autostart:
1646 /bin/systemctl --no-reload enable libvirt-guests.service >/dev/null 2>&1 ||:
1648 # Run these because the SysV package being removed won't do them
1649 /sbin/chkconfig --del libvirt-guests >/dev/null 2>&1 || :
1650 /bin/systemctl try-restart libvirt-guests.service >/dev/null 2>&1 || :
1655 if getent group sanlock > /dev/null ; then
1656 chmod 0770 %{_localstatedir}/lib/libvirt/sanlock
1657 chown root:sanlock %{_localstatedir}/lib/libvirt/sanlock
1662 %defattr(-, root, root)
1665 %defattr(-, root, root)
1667 %dir %{_datadir}/doc/libvirt-docs-%{version}
1668 %dir %{_datadir}/doc/libvirt-docs-%{version}/html
1669 %{_datadir}/doc/libvirt-docs-%{version}/html/*
1672 %dir %{_datadir}/gtk-doc/html/libvirt/
1673 %doc %{_datadir}/gtk-doc/html/libvirt/*.devhelp
1674 %doc %{_datadir}/gtk-doc/html/libvirt/*.html
1675 %doc %{_datadir}/gtk-doc/html/libvirt/*.png
1676 %doc %{_datadir}/gtk-doc/html/libvirt/*.css
1678 %if %{with_libvirtd}
1680 %defattr(-, root, root)
1682 %doc AUTHORS ChangeLog.gz NEWS README COPYING.LIB TODO
1683 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
1686 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
1687 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/
1688 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
1691 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/
1694 %{_unitdir}/libvirtd.service
1695 %{_unitdir}/virtlockd.service
1696 %{_unitdir}/virtlockd.socket
1698 %{_sysconfdir}/rc.d/init.d/libvirtd
1699 %{_sysconfdir}/rc.d/init.d/virtlockd
1701 %doc daemon/libvirtd.upstart
1702 %config(noreplace) %{_sysconfdir}/sysconfig/libvirtd
1703 %config(noreplace) %{_sysconfdir}/sysconfig/virtlockd
1704 %config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
1705 %if 0%{?fedora} >= 14 || 0%{?rhel} >= 6
1706 %config(noreplace) %{_prefix}/lib/sysctl.d/libvirtd.conf
1708 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
1709 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/
1710 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/
1712 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/libxl/
1715 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd
1717 %config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
1718 %config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf
1719 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu
1722 %config(noreplace) %{_sysconfdir}/libvirt/lxc.conf
1723 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc
1726 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml
1729 %dir %{_datadir}/libvirt/
1732 %dir %{_datadir}/libvirt/networks/
1733 %{_datadir}/libvirt/networks/default.xml
1736 %ghost %dir %{_localstatedir}/run/libvirt/
1738 %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/images/
1739 %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/filesystems/
1740 %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/boot/
1741 %dir %attr(0711, root, root) %{_localstatedir}/cache/libvirt/
1744 %ghost %dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/
1745 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
1746 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/
1749 %ghost %dir %{_localstatedir}/run/libvirt/lxc/
1750 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/
1753 %ghost %dir %{_localstatedir}/run/libvirt/uml/
1754 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/
1757 %ghost %dir %{_localstatedir}/run/libvirt/libxl/
1758 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/
1761 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/xen/
1764 %ghost %dir %{_localstatedir}/run/libvirt/network/
1765 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/
1766 %dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/
1769 %dir %attr(0755, root, root) %{_libdir}/libvirt/lock-driver
1770 %attr(0755, root, root) %{_libdir}/libvirt/lock-driver/lockd.so
1773 %{_datadir}/augeas/lenses/libvirtd_qemu.aug
1774 %{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
1778 %{_datadir}/augeas/lenses/libvirtd_lxc.aug
1779 %{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
1782 %{_datadir}/augeas/lenses/libvirtd.aug
1783 %{_datadir}/augeas/lenses/tests/test_libvirtd.aug
1784 %{_datadir}/augeas/lenses/libvirt_lockd.aug
1785 %{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug
1788 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
1789 %{_datadir}/polkit-1/actions/org.libvirt.unix.policy
1791 %{_datadir}/PolicyKit/policy/org.libvirt.unix.policy
1795 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/
1798 %attr(0755, root, root) %{_libexecdir}/libvirt_lxc
1801 %if %{with_storage_disk}
1802 %attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
1805 %attr(0755, root, root) %{_libexecdir}/libvirt_iohelper
1806 %attr(0755, root, root) %{_sbindir}/libvirtd
1807 %attr(0755, root, root) %{_sbindir}/virtlockd
1809 %{_mandir}/man8/libvirtd.8*
1811 %if %{with_driver_modules}
1813 %files daemon-config-network
1814 %defattr(-, root, root)
1817 %if %{with_nwfilter}
1818 %files daemon-config-nwfilter
1819 %defattr(-, root, root)
1820 %{_sysconfdir}/libvirt/nwfilter/*.xml
1823 %if %{with_interface}
1824 %files daemon-driver-interface
1825 %defattr(-, root, root)
1826 %{_libdir}/%{name}/connection-driver/libvirt_driver_interface.so
1830 %files daemon-driver-network
1831 %defattr(-, root, root)
1832 %{_libdir}/%{name}/connection-driver/libvirt_driver_network.so
1836 %files daemon-driver-nodedev
1837 %defattr(-, root, root)
1838 %{_libdir}/%{name}/connection-driver/libvirt_driver_nodedev.so
1841 %if %{with_nwfilter}
1842 %files daemon-driver-nwfilter
1843 %defattr(-, root, root)
1844 %{_libdir}/%{name}/connection-driver/libvirt_driver_nwfilter.so
1847 %files daemon-driver-secret
1848 %defattr(-, root, root)
1849 %{_libdir}/%{name}/connection-driver/libvirt_driver_secret.so
1852 %files daemon-driver-storage
1853 %defattr(-, root, root)
1854 %{_libdir}/%{name}/connection-driver/libvirt_driver_storage.so
1858 %files daemon-driver-qemu
1859 %defattr(-, root, root)
1860 %{_libdir}/%{name}/connection-driver/libvirt_driver_qemu.so
1864 %files daemon-driver-lxc
1865 %defattr(-, root, root)
1866 %{_libdir}/%{name}/connection-driver/libvirt_driver_lxc.so
1870 %files daemon-driver-uml
1871 %defattr(-, root, root)
1872 %{_libdir}/%{name}/connection-driver/libvirt_driver_uml.so
1876 %files daemon-driver-xen
1877 %defattr(-, root, root)
1878 %{_libdir}/%{name}/connection-driver/libvirt_driver_xen.so
1882 %files daemon-driver-libxl
1883 %defattr(-, root, root)
1884 %{_libdir}/%{name}/connection-driver/libvirt_driver_libxl.so
1886 %endif # %{with_driver_modules}
1888 %if %{with_qemu_tcg}
1890 %defattr(-, root, root)
1893 %if %{with_qemu_kvm}
1895 %defattr(-, root, root)
1900 %defattr(-, root, root)
1905 %defattr(-, root, root)
1908 %if %{with_xen} || %{with_libxl}
1910 %defattr(-, root, root)
1912 %endif # %{with_libvirtd}
1916 %defattr(-, root, root)
1918 %config(noreplace) %{_sysconfdir}/libvirt/qemu-sanlock.conf
1920 %attr(0755, root, root) %{_libdir}/libvirt/lock-driver/sanlock.so
1921 %{_datadir}/augeas/lenses/libvirt_sanlock.aug
1922 %{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug
1923 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/sanlock
1924 %{_sbindir}/virt-sanlock-cleanup
1925 %{_mandir}/man8/virt-sanlock-cleanup.8*
1926 %attr(0755, root, root) %{_libexecdir}/libvirt_sanlock_helper
1929 %files client -f %{name}.lang
1930 %defattr(-, root, root)
1931 %doc AUTHORS ChangeLog.gz NEWS README COPYING.LIB TODO
1933 %config(noreplace) %{_sysconfdir}/libvirt/libvirt.conf
1934 %{_mandir}/man1/virsh.1*
1935 %{_mandir}/man1/virt-xml-validate.1*
1936 %{_mandir}/man1/virt-pki-validate.1*
1937 %{_mandir}/man1/virt-host-validate.1*
1939 %{_bindir}/virt-xml-validate
1940 %{_bindir}/virt-pki-validate
1941 %{_bindir}/virt-host-validate
1942 %{_libdir}/lib*.so.*
1945 %{_datadir}/systemtap/tapset/libvirt_probes*.stp
1946 %{_datadir}/systemtap/tapset/libvirt_qemu_probes*.stp
1947 %{_datadir}/systemtap/tapset/libvirt_functions.stp
1950 %dir %{_datadir}/libvirt/
1951 %dir %{_datadir}/libvirt/schemas/
1953 %{_datadir}/libvirt/schemas/basictypes.rng
1954 %{_datadir}/libvirt/schemas/capability.rng
1955 %{_datadir}/libvirt/schemas/domain.rng
1956 %{_datadir}/libvirt/schemas/domaincommon.rng
1957 %{_datadir}/libvirt/schemas/domainsnapshot.rng
1958 %{_datadir}/libvirt/schemas/interface.rng
1959 %{_datadir}/libvirt/schemas/network.rng
1960 %{_datadir}/libvirt/schemas/networkcommon.rng
1961 %{_datadir}/libvirt/schemas/nodedev.rng
1962 %{_datadir}/libvirt/schemas/nwfilter.rng
1963 %{_datadir}/libvirt/schemas/secret.rng
1964 %{_datadir}/libvirt/schemas/storageencryption.rng
1965 %{_datadir}/libvirt/schemas/storagepool.rng
1966 %{_datadir}/libvirt/schemas/storagevol.rng
1968 %{_datadir}/libvirt/cpu_map.xml
1971 %{_unitdir}/libvirt-guests.service
1973 %{_sysconfdir}/rc.d/init.d/libvirt-guests
1975 %config(noreplace) %{_sysconfdir}/sysconfig/libvirt-guests
1976 %attr(0755, root, root) %{_libexecdir}/libvirt-guests.sh
1977 %dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/
1980 %config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
1984 %defattr(-, root, root)
1987 %dir %{_includedir}/libvirt
1988 %{_includedir}/libvirt/*.h
1989 %{_libdir}/pkgconfig/libvirt.pc
1991 %dir %{_datadir}/libvirt/api/
1992 %{_datadir}/libvirt/api/libvirt-api.xml
1993 %{_datadir}/libvirt/api/libvirt-qemu-api.xml
1994 %{_datadir}/libvirt/api/libvirt-lxc-api.xml
1996 %doc docs/*.html docs/html docs/*.gif
1997 %doc docs/libvirt-api.xml
1998 %doc examples/hellolibvirt
1999 %doc examples/domain-events/events-c
2000 %doc examples/dominfo
2001 %doc examples/domsuspend
2002 %doc examples/openauth
2004 %doc examples/systemtap
2008 %defattr(-, root, root)
2010 %doc AUTHORS NEWS README COPYING.LIB
2011 %{_libdir}/python*/site-packages/libvirt.py*
2012 %{_libdir}/python*/site-packages/libvirt_qemu.py*
2013 %{_libdir}/python*/site-packages/libvirt_lxc.py*
2014 %{_libdir}/python*/site-packages/libvirtmod*
2015 %doc python/tests/*.py
2017 %doc examples/python
2018 %doc examples/domain-events/events-python
2022 * Wed Jan 30 2013 Daniel Veillard <veillard@redhat.com> - 1.0.2-1
2024 - S390 architecture improvement
2025 - Power architecture improvement
2026 - large Coverity report cleanups and associated bug fixes
2027 - virTypedParams* APIs to helps with those data structures
2028 - a lot of bug fixes and overall improvements
2030 * Fri Nov 2 2012 Daniel Veillard <veillard@redhat.com> - 1.0.0-1
2031 - virNodeGetCPUMap: Define public API
2032 - Add systemd journal support
2033 - Add a qemu capabilities cache manager
2034 - USB migration support
2035 - various improvement and fixes when using QMP QEmu interface
2036 - Support for Xen 4.2
2037 - Lot of localization enhancements
2038 - a lot of bug fixes, improvements and portability work
2040 * Mon Sep 24 2012 Daniel Veillard <veillard@redhat.com> - 0.10.2-1
2041 - network: define new API virNetworkUpdate
2042 - add support for QEmu sandbox support
2043 - blockjob: add virDomainBlockCommit
2044 - New APIs to get/set Node memory parameters
2045 - new API virConnectListAllSecrets
2046 - new API virConnectListAllNWFilters
2047 - new API virConnectListAllNodeDevices
2048 - parallels: add support of containers to the driver
2049 - new API virConnectListAllInterfaces
2050 - new API virConnectListAllNetworks
2051 - new API virStoragePoolListAllVolumes
2052 - Add PMSUSPENDED life cycle event
2053 - new API virStorageListAllStoragePools
2054 - Add per-guest S3/S4 state configuration
2055 - qemu: Support for Block Device IO Limits
2056 - a lot of bug fixes, improvements and portability work
2058 * Fri Aug 31 2012 Daniel Veillard <veillard@redhat.com> - 0.10.1-1
2059 - bugfixes and a brown paper bag
2061 * Wed Aug 29 2012 Daniel Veillard <veillard@redhat.com> - 0.10.0-1
2062 - agent: add qemuAgentArbitraryCommand() for general qemu agent command
2063 - Introduce virDomainPinEmulator and virDomainGetEmulatorPinInfo functions
2064 - network: use firewalld instead of iptables, when available
2065 - network: make network driver vlan-aware
2066 - esx: Implement network driver
2067 - driver for parallels hypervisor
2068 - Various LXC improvements
2069 - Add virDomainGetHostname
2070 - a lot of bug fixes, improvements and portability work
2072 * Mon Jul 2 2012 Daniel Veillard <veillard@redhat.com> - 0.9.13-1
2073 - S390: support for s390(x)
2074 - snapshot: implement new APIs for esx and vbox
2075 - snapshot: new query APIs and many improvements
2076 - virsh: Allow users to reedit rejected XML
2077 - nwfilter: add DHCP snooping
2078 - Enable driver modules in libvirt RPM
2079 - Default to enable driver modules for libvirtd
2080 - storage backend: Add RBD (RADOS Block Device) support
2081 - sVirt support for LXC domains inprovement
2082 - a lot of bug fixes, improvements and portability work
2084 * Mon May 14 2012 Daniel Veillard <veillard@redhat.com> - 0.9.12-1
2085 - qemu: allow snapshotting of sheepdog and rbd disks
2086 - blockjob: add new APIs
2087 - a lot of bug fixes, improvements and portability work
2089 * Tue Apr 3 2012 Daniel Veillard <veillard@redhat.com> - 0.9.11-1
2090 - Add support for the suspend event
2091 - Add support for event tray moved of removable disks
2092 - qemu: Support numad
2093 - cpustats: API, improvements and qemu support
2094 - qemu: support type='hostdev' network devices at domain start
2095 - Introduce virDomainPMWakeup API
2096 - network: support Open vSwitch
2097 - a number of snapshot improvements
2098 - many improvements and bug fixes
2100 * Mon Feb 13 2012 Daniel Veillard <veillard@redhat.com> - 0.9.10-1
2101 - Add support for sVirt in the LXC driver
2102 - block rebase: add new API virDomainBlockRebase
2103 - API: Add api to set and get domain metadata
2104 - virDomainGetDiskErrors public API
2105 - conf: add rawio attribute to disk element of domain XML
2106 - Add new public API virDomainGetCPUStats()
2107 - Introduce virDomainPMSuspendForDuration API
2108 - resize: add virStorageVolResize() API
2109 - Add a virt-host-validate command to sanity check HV config
2110 - Add new virDomainShutdownFlags API
2111 - QEMU guest agent support
2112 - many improvements and bug fixes
2114 * Sat Jan 7 2012 Daniel Veillard <veillard@redhat.com> - 0.9.9-1
2115 - Add API virDomain{S,G}etInterfaceParameters
2116 - Add API virDomain{G, S}etNumaParameters
2117 - Add support for ppc64 qemu
2118 - Support Xen domctl v8
2119 - many improvements and bug fixes
2121 * Thu Dec 8 2011 Daniel Veillard <veillard@redhat.com> - 0.9.8-1
2122 - Add support for QEMU 1.0
2123 - Add preliminary PPC cpu driver
2124 - Add new API virDomain{Set, Get}BlockIoTune
2125 - block_resize: Define the new API
2126 - Add a public API to invoke suspend/resume on the host
2127 - various improvements for LXC containers
2128 - Define keepalive protocol and add virConnectIsAlive API
2129 - Add support for STP and VLAN filtering
2130 - many improvements and bug fixes
2132 * Tue Nov 8 2011 Daniel Veillard <veillard@redhat.com> - 0.9.7-1
2133 - esx: support vSphere 5.x
2134 - vbox: support for VirtualBox 4.1
2135 - Introduce the virDomainOpenGraphics API
2136 - Add AHCI support to qemu driver
2137 - snapshot: many improvements and 2 new APIs
2138 - api: Add public api for 'reset'
2139 - many improvements and bug fixes
2141 * Thu Sep 22 2011 Daniel Veillard <veillard@redhat.com> - 0.9.6-1
2142 - Fix the qemu reboot bug and a few others bug fixes
2144 * Tue Sep 20 2011 Daniel Veillard <veillard@redhat.com> - 0.9.5-1
2145 - many snapshot improvements (Eric Blake)
2146 - latency: Define new public API and structure (Osier Yang)
2147 - USB2 and various USB improvements (Marc-André Lureau)
2148 - storage: Add fs pool formatting (Osier Yang)
2149 - Add public API for getting migration speed (Jim Fehlig)
2150 - Add basic driver for Microsoft Hyper-V (Matthias Bolte)
2151 - many improvements and bug fixes
2153 * Wed Aug 3 2011 Daniel Veillard <veillard@redhat.com> - 0.9.4-1
2154 - network bandwidth QoS control
2155 - Add new API virDomainBlockPull*
2156 - save: new API to manipulate save file images
2157 - CPU bandwidth limits support
2158 - allow to send NMI and key event to guests
2159 - new API virDomainUndefineFlags
2160 - Implement code to attach to external QEMU instances
2161 - bios: Add support for SGA
2162 - various missing python binding
2163 - many improvements and bug fixes
2165 * Mon Jul 4 2011 Daniel Veillard <veillard@redhat.com> - 0.9.3-1
2166 - new API virDomainGetVcpupinInfo
2167 - Add TXT record support for virtual DNS service
2168 - Support reboots with the QEMU driver
2169 - New API virDomainGetControlInfo API
2170 - New API virNodeGetMemoryStats
2171 - New API virNodeGetCPUTime
2172 - New API for send-key
2173 - New API virDomainPinVcpuFlags
2174 - support multifunction PCI device
2175 - lxc: various improvements
2176 - many improvements and bug fixes
2178 * Mon Jun 6 2011 Daniel Veillard <veillard@redhat.com> - 0.9.2-1
2179 - Framework for lock manager plugins
2180 - API for network config change transactions
2181 - flags for setting memory parameters
2182 - virDomainGetState public API
2183 - qemu: allow blkstat/blkinfo calls during migration
2184 - Introduce migration v3 API
2185 - Defining the Screenshot public API
2186 - public API for NMI injection
2187 - Various improvements and bug fixes
2189 * Thu May 5 2011 Daniel Veillard <veillard@redhat.com> - 0.9.1-1
2190 - support various persistent domain updates
2191 - improvements on memory APIs
2192 - Add virDomainEventRebootNew
2193 - various improvements to libxl driver
2194 - Spice: support audio, images and stream compression
2195 - Various improvements and bug fixes
2197 * Mon Apr 4 2011 Daniel Veillard <veillard@redhat.com> - 0.9.0-1
2198 - Support cputune cpu usage tuning
2199 - Add public APIs for storage volume upload/download
2200 - Add public API for setting migration speed on the fly
2201 - Add libxenlight driver
2202 - qemu: support migration to fd
2203 - libvirt: add virDomain{Get,Set}BlkioParameters
2204 - setmem: introduce a new libvirt API (virDomainSetMemoryFlags)
2205 - Expose event loop implementation as a public API
2206 - Dump the debug buffer to libvirtd.log on fatal signal
2208 - Various improvements and bug fixes
2210 * Thu Feb 17 2011 Daniel Veillard <veillard@redhat.com> - 0.8.8-1
2211 - expose new API for sysinfo extraction
2212 - cgroup blkio weight support
2213 - smartcard device support
2214 - qemu: Support per-device boot ordering
2215 - Various improvements and bug fixes
2217 * Tue Jan 4 2011 Daniel Veillard <veillard@redhat.com> - 0.8.7-1
2218 - Preliminary support for VirtualBox 4.0
2220 - Add VMware Workstation and Player driver driver
2221 - Add network disk support
2222 - Various improvements and bug fixes
2224 * Tue Nov 30 2010 Daniel Veillard <veillard@redhat.com> - 0.8.6-1
2225 - Add support for iSCSI target auto-discovery
2226 - QED: Basic support for QED images
2227 - remote console support
2228 - support for SPICE graphics
2229 - sysinfo and VMBIOS support
2230 - virsh qemu-monitor-command
2231 - various improvements and bug fixes
2233 * Fri Oct 29 2010 Daniel Veillard <veillard@redhat.com> - 0.8.5-1
2234 - Enable JSON and netdev features in QEMU >= 0.13
2235 - framework for auditing integration
2236 - framework DTrace/SystemTap integration
2237 - Setting the number of vcpu at boot
2238 - Enable support for nested SVM
2239 - Virtio plan9fs filesystem QEMU
2240 - Memory parameter controls
2241 - various improvements and bug fixes
2243 * Fri Sep 10 2010 Daniel Veillard <veillard@redhat.com> - 0.8.4-1
2244 - big improvements to UML driver
2245 - various improvements and bug fixes
2247 * Wed Aug 4 2010 Daniel Veillard <veillard@redhat.com> - 0.8.3-1
2248 - esx: Support vSphere 4.1
2249 - Qemu arbitrary monitor commands
2250 - Qemu Monitor API entry point
2251 - various improvements and bug fixes
2253 * Mon Jul 5 2010 Daniel Veillard <veillard@redhat.com> - 0.8.2-1
2254 - phyp: adding support for IVM
2255 - libvirt: introduce domainCreateWithFlags API
2256 - add 802.1Qbh and 802.1Qbg switches handling
2257 - Support for VirtualBox version 3.2
2258 - Init script for handling guests on shutdown/boot
2259 - qemu: live migration with non-shared storage for kvm
2261 * Fri Apr 30 2010 Daniel Veillard <veillard@redhat.com> - 0.8.1-1
2262 - Starts dnsmasq from libvirtd with --dhcp-hostsfile
2263 - Add virDomainGetBlockInfo API to query disk sizing
2264 - a lot of bug fixes and cleanups
2266 * Mon Apr 12 2010 Daniel Veillard <veillard@redhat.com> - 0.8.0-1
2267 - Snapshotting support (QEmu/VBox/ESX)
2268 - Network filtering API
2270 - new APIs for domain events
2271 - Libvirt managed save API
2272 - timer subselection for domain clock
2274 - API to update guest CPU to host CPU
2275 - virDomainUpdateDeviceFlags new API
2276 - migrate max downtime API
2278 - and many bug fixes
2280 * Fri Mar 5 2010 Daniel Veillard <veillard@redhat.com> - 0.7.7-1
2282 - async job handling
2284 - computing baseline CPU
2285 - virDomain{Attach,Detach}DeviceFlags
2286 - assorted bug fixes and lots of cleanups
2288 * Wed Feb 3 2010 Daniel Veillard <veillard@redhat.com> - 0.7.6-1
2290 * Wed Dec 23 2009 Daniel Veillard <veillard@redhat.com> - 0.7.5-1
2291 - Add new API virDomainMemoryStats
2292 - Public API and domain extension for CPU flags
2293 - vbox: Add support for version 3.1
2294 - Support QEMU's virtual FAT block device driver
2297 * Fri Nov 20 2009 Daniel Veillard <veillard@redhat.com> - 0.7.3-1
2298 - udev node device backend
2299 - API to check object properties
2300 - better QEmu monitor processing
2301 - MAC address based port filtering for qemu
2302 - support IPv6 and multiple addresses per interfaces
2305 * Tue Sep 15 2009 Daniel Veillard <veillard@redhat.com> - 0.7.1-1
2306 - ESX, VBox driver updates
2308 - support for encrypted (qcow) volume
2309 - compressed save image format for Qemu/KVM
2310 - QEmu host PCI device hotplug support
2311 - configuration of huge pages in guests
2314 * Wed Aug 5 2009 Daniel Veillard <veillard@redhat.com> - 0.7.0-1
2315 - ESX, VBox3, Power Hypervisor drivers
2316 - new net filesystem glusterfs
2317 - Storage cloning for LVM and Disk backends
2318 - interface implementation based on netcf
2319 - Support cgroups in QEMU driver
2320 - QEmu hotplug NIC support
2323 * Fri Jul 3 2009 Daniel Veillard <veillard@redhat.com> - 0.6.5-1
2326 * Fri May 29 2009 Daniel Veillard <veillard@redhat.com> - 0.6.4-1
2330 * Fri Apr 24 2009 Daniel Veillard <veillard@redhat.com> - 0.6.3-1
2334 * Fri Apr 3 2009 Daniel Veillard <veillard@redhat.com> - 0.6.2-1
2337 * Fri Mar 4 2009 Daniel Veillard <veillard@redhat.com> - 0.6.1-1
2340 * Sat Jan 31 2009 Daniel Veillard <veillard@redhat.com> - 0.6.0-1
2343 * Tue Nov 25 2008 Daniel Veillard <veillard@redhat.com> - 0.5.0-1
2346 * Tue Sep 23 2008 Daniel Veillard <veillard@redhat.com> - 0.4.6-1
2349 * Mon Sep 8 2008 Daniel Veillard <veillard@redhat.com> - 0.4.5-1
2352 * Wed Jun 25 2008 Daniel Veillard <veillard@redhat.com> - 0.4.4-1
2354 - mostly a few bug fixes from 0.4.3
2356 * Thu Jun 12 2008 Daniel Veillard <veillard@redhat.com> - 0.4.3-1
2358 - lots of bug fixes and small improvements
2360 * Tue Apr 8 2008 Daniel Veillard <veillard@redhat.com> - 0.4.2-1
2362 - lots of bug fixes and small improvements
2364 * Mon Mar 3 2008 Daniel Veillard <veillard@redhat.com> - 0.4.1-1
2368 - lots of assorted improvements, bugfixes and cleanups
2369 - documentation and localization improvements
2371 * Tue Dec 18 2007 Daniel Veillard <veillard@redhat.com> - 0.4.0-1
2373 - SASL based authentication
2374 - PolicyKit authentication
2375 - improved NUMA and statistics support
2376 - lots of assorted improvements, bugfixes and cleanups
2377 - documentation and localization improvements
2379 * Sun Sep 30 2007 Daniel Veillard <veillard@redhat.com> - 0.3.3-1
2383 - lots of assorted improvements, bugfixes and cleanups
2384 - documentation and localization improvements
2386 * Tue Aug 21 2007 Daniel Veillard <veillard@redhat.com> - 0.3.2-1
2388 - API for domains migration
2389 - APIs for collecting statistics on disks and interfaces
2390 - lots of assorted bugfixes and cleanups
2391 - documentation and localization improvements
2393 * Tue Jul 24 2007 Daniel Veillard <veillard@redhat.com> - 0.3.1-1
2395 - localtime clock support
2396 - PS/2 and USB input devices
2397 - lots of assorted bugfixes and cleanups
2398 - documentation and localization improvements
2400 * Mon Jul 9 2007 Daniel Veillard <veillard@redhat.com> - 0.3.0-1
2402 - Secure remote access support
2403 - unification of daemons
2404 - lots of assorted bugfixes and cleanups
2405 - documentation and localization improvements
2407 * Fri Jun 8 2007 Daniel Veillard <veillard@redhat.com> - 0.2.3-1
2409 - lot of assorted bugfixes and cleanups
2410 - support for Xen-3.1
2413 * Tue Apr 17 2007 Daniel Veillard <veillard@redhat.com> - 0.2.2-1
2415 - lot of assorted bugfixes and cleanups
2416 - preparing for Xen-3.0.5
2418 * Thu Mar 22 2007 Jeremy Katz <katzj@redhat.com> - 0.2.1-2.fc7
2419 - don't require xen; we don't need the daemon and can control non-xen now
2420 - fix scriptlet error (need to own more directories)
2421 - update description text
2423 * Fri Mar 16 2007 Daniel Veillard <veillard@redhat.com> - 0.2.1-1
2425 - lot of bug and portability fixes
2426 - Add support for network autostart and init scripts
2427 - New API to detect the virtualization capabilities of a host
2428 - Documentation updates
2430 * Fri Feb 23 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-4.fc7
2431 - Fix loading of guest & network configs
2433 * Fri Feb 16 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-3.fc7
2434 - Disable kqemu support since its not in Fedora qemu binary
2435 - Fix for -vnc arg syntax change in 0.9.0 QEMU
2437 * Thu Feb 15 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-2.fc7
2438 - Fixed path to qemu daemon for autostart
2439 - Fixed generation of <features> block in XML
2440 - Pre-create config directory at startup
2442 * Wed Feb 14 2007 Daniel Veillard <veillard@redhat.com> 0.2.0-1.fc7
2443 - support for KVM and QEmu
2444 - support for network configuration
2447 * Mon Jan 22 2007 Daniel Veillard <veillard@redhat.com> 0.1.11-1.fc7
2448 - finish inactive Xen domains support
2450 - RelaxNG schemas for XML configs
2452 * Wed Dec 20 2006 Daniel Veillard <veillard@redhat.com> 0.1.10-1.fc7
2453 - support for inactive Xen domains
2454 - improved support for Xen display and vnc
2456 - localization updates
2458 * Thu Dec 7 2006 Jeremy Katz <katzj@redhat.com> - 0.1.9-2
2459 - rebuild against python 2.5
2461 * Wed Nov 29 2006 Daniel Veillard <veillard@redhat.com> 0.1.9-1
2462 - better error reporting
2463 - python bindings fixes and extensions
2464 - add support for shareable drives
2465 - add support for non-bridge style networking
2466 - hot plug device support
2467 - added support for inactive domains
2468 - API to dump core of domains
2469 - various bug fixes, cleanups and improvements
2470 - updated the localization
2472 * Tue Nov 7 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-3
2473 - it's pkgconfig not pgkconfig !
2475 * Mon Nov 6 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-2
2476 - fixing spec file, added %dist, -devel requires pkgconfig and xen-devel
2477 - Resolves: rhbz#202320
2479 * Mon Oct 16 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-1
2480 - fix missing page size detection code for ia64
2481 - fix mlock size when getting domain info list from hypervisor
2482 - vcpu number initialization
2483 - don't label crashed domains as shut off
2484 - fix virsh man page
2485 - blktapdd support for alternate drivers like blktap
2486 - memory leak fixes (xend interface and XML parsing)
2488 - mlock/munlock size fixes
2490 * Fri Sep 22 2006 Daniel Veillard <veillard@redhat.com> 0.1.7-1
2491 - Fix bug when running against xen-3.0.3 hypercalls
2492 - Fix memory bug when getting vcpus info from xend
2494 * Fri Sep 22 2006 Daniel Veillard <veillard@redhat.com> 0.1.6-1
2495 - Support for localization
2496 - Support for new Xen-3.0.3 cdrom and disk configuration
2497 - Support for setting VNC port
2498 - Fix bug when running against xen-3.0.2 hypercalls
2499 - Fix reconnection problem when talking directly to http xend
2501 * Tue Sep 5 2006 Jeremy Katz <katzj@redhat.com> - 0.1.5-3
2502 - patch from danpb to support new-format cd devices for HVM guests
2504 * Tue Sep 5 2006 Daniel Veillard <veillard@redhat.com> 0.1.5-2
2505 - reactivating ia64 support
2507 * Tue Sep 5 2006 Daniel Veillard <veillard@redhat.com> 0.1.5-1
2510 - support for new hypervisor calls
2511 - early code for config files and defined domains
2513 * Mon Sep 4 2006 Daniel Berrange <berrange@redhat.com> - 0.1.4-5
2514 - add patch to address dom0_ops API breakage in Xen 3.0.3 tree
2516 * Mon Aug 28 2006 Jeremy Katz <katzj@redhat.com> - 0.1.4-4
2517 - add patch to support paravirt framebuffer in Xen
2519 * Mon Aug 21 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-3
2520 - another patch to fix network handling in non-HVM guests
2522 * Thu Aug 17 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-2
2523 - patch to fix virParseUUID()
2525 * Wed Aug 16 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-1
2526 - vCPUs and affinity support
2527 - more complete XML, console and boot options
2528 - specific features support
2529 - enforced read-only connections
2530 - various improvements, bug fixes
2532 * Wed Aug 2 2006 Jeremy Katz <katzj@redhat.com> - 0.1.3-6
2533 - add patch from pvetere to allow getting uuid from libvirt
2535 * Wed Aug 2 2006 Jeremy Katz <katzj@redhat.com> - 0.1.3-5
2538 * Thu Jul 27 2006 Jeremy Katz <katzj@redhat.com> - 0.1.3-4
2539 - don't BR xen, we just need xen-devel
2541 * Thu Jul 27 2006 Daniel Veillard <veillard@redhat.com> 0.1.3-3
2542 - need rebuild since libxenstore is now versionned
2544 * Mon Jul 24 2006 Mark McLoughlin <markmc@redhat.com> - 0.1.3-2
2545 - Add BuildRequires: xen-devel
2547 * Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 0.1.3-1.1
2550 * Tue Jul 11 2006 Daniel Veillard <veillard@redhat.com> 0.1.3-1
2551 - support for HVM Xen guests
2554 * Mon Jul 3 2006 Daniel Veillard <veillard@redhat.com> 0.1.2-1
2555 - added a proxy mechanism for read only access using httpu
2556 - fixed header includes paths
2558 * Wed Jun 21 2006 Daniel Veillard <veillard@redhat.com> 0.1.1-1
2559 - extend and cleanup the driver infrastructure and code
2561 - extend uuid support
2562 - bug fixes, buffer handling cleanups
2563 - support for new Xen hypervisor API
2564 - test driver for unit testing
2565 - virsh --conect argument
2567 * Mon Apr 10 2006 Daniel Veillard <veillard@redhat.com> 0.1.0-1
2569 - new APIs: for Node information and Reboot
2570 - virsh improvements and extensions
2571 - documentation updates and man page
2572 - enhancement and fixes of the XML description format
2574 * Tue Feb 28 2006 Daniel Veillard <veillard@redhat.com> 0.0.6-1
2575 - added error handling APIs
2577 - improve python bindings
2578 - augment documentation and regression tests
2580 * Thu Feb 23 2006 Daniel Veillard <veillard@redhat.com> 0.0.5-1
2581 - new domain creation API
2582 - new UUID based APIs
2583 - more tests, documentation, devhelp
2586 * Fri Feb 10 2006 Daniel Veillard <veillard@redhat.com> 0.0.4-1
2587 - fixes some problems in 0.0.3 due to the change of names
2589 * Wed Feb 8 2006 Daniel Veillard <veillard@redhat.com> 0.0.3-1
2590 - changed library name to libvirt from libvir, complete and test the python
2593 * Sun Jan 29 2006 Daniel Veillard <veillard@redhat.com> 0.0.2-1
2594 - upstream release of 0.0.2, use xend, save and restore added, python bindings
2597 * Wed Nov 2 2005 Daniel Veillard <veillard@redhat.com> 0.0.1-1