3 %define mainstream_version 1.2.5
4 %define module_version_varname mainstream_version
6 %define packager PlanetLab/OneLab
8 #libvirt-RPMFLAGS := --without storage-disk --without storage-iscsi --without storage-scsi \
9 ## --without storage-fs --without storage-lvm \
10 ## --without polkit --without sasl --without audit --with capng --with udev \
11 ## --without netcf --without avahi --without sanlock \
12 ## --without xen --without qemu --without hyperv --without phyp --without esx \
13 ## --without libxl --without vbox \
14 %define _without_storage_disk true
15 %define _without_storage_iscsi true
16 %define _without_storage_fs true
17 %define _without_storage_lvm true
18 %define _without_polkit true
19 %define _without_sasl true
20 %define _without_audit 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
29 %define _without_vbox true
30 %define _without_uml true
32 #turn this off even on f18 as an attempt to get back /proc/meminfo
33 %define _without_fuse true
35 %define enable_autotools 1
37 # If neither fedora nor rhel was defined, try to guess them from %{dist}
38 %if !0%{?rhel} && !0%{?fedora}
39 %{expand:%(echo "%{?dist}" | \
40 sed -ne 's/^\.el\([0-9]\+\).*/%%define rhel \1/p')}
41 %{expand:%(echo "%{?dist}" | \
42 sed -ne 's/^\.fc\?\([0-9]\+\).*/%%define fedora \1/p')}
45 # Default to skipping autoreconf. Distros can change just this one line
46 # (or provide a command-line override) if they backport any patches that
47 # touch configure.ac or Makefile.am.
48 %{!?enable_autotools:%define enable_autotools 0}
50 # A client only build will create a libvirt.so only containing
51 # the generic RPC driver, and test driver and no libvirtd
52 # Default to a full server + client build, but with the possibility
53 # of a command-line or ~/.rpmmacros override for client-only.
54 %{!?client_only:%define client_only 0}
56 # Now turn off server build in certain cases
58 # RHEL-5 builds are client-only for s390, ppc
60 %ifnarch %{ix86} x86_64 ia64
65 # Disable all server side drivers if client only build requested
67 %define server_drivers 0
69 %define server_drivers 1
72 # Always build with dlopen'd modules
73 %define with_driver_modules 1
75 # Now set the defaults for all the important features, independent
76 # of any particular OS
78 # First the daemon itself
79 %define with_libvirtd 0%{!?_without_libvirtd:%{server_drivers}}
80 %define with_avahi 0%{!?_without_avahi:%{server_drivers}}
82 # Then the hypervisor drivers that run in libvirtd
83 %define with_xen 0%{!?_without_xen:%{server_drivers}}
84 %define with_qemu 0%{!?_without_qemu:%{server_drivers}}
85 %define with_lxc 0%{!?_without_lxc:%{server_drivers}}
86 %define with_uml 0%{!?_without_uml:%{server_drivers}}
87 %define with_libxl 0%{!?_without_libxl:%{server_drivers}}
88 %define with_vbox 0%{!?_without_vbox:%{server_drivers}}
90 %define with_qemu_tcg %{with_qemu}
91 # Change if we ever provide qemu-kvm binaries on non-x86 hosts
94 %define qemu_kvm_arches %{ix86} x86_64 ppc64 s390x %{arm}
96 %define qemu_kvm_arches %{ix86} x86_64 ppc64 s390x
99 %define qemu_kvm_arches %{ix86} x86_64
102 %ifarch %{qemu_kvm_arches}
103 %define with_qemu_kvm %{with_qemu}
105 %define with_qemu_kvm 0
108 # Then the hypervisor drivers that run outside libvirtd, in libvirt.so
109 %define with_openvz 0%{!?_without_openvz:1}
110 %define with_vmware 0%{!?_without_vmware:1}
111 %define with_phyp 0%{!?_without_phyp:1}
112 %define with_esx 0%{!?_without_esx:1}
113 %define with_hyperv 0%{!?_without_hyperv:1}
114 %define with_xenapi 0%{!?_without_xenapi:1}
115 %define with_parallels 0%{!?_without_parallels:1}
116 # No test for bhyve, because it does not build on Linux
118 # Then the secondary host drivers, which run inside libvirtd
119 %define with_interface 0%{!?_without_interface:%{server_drivers}}
120 %define with_network 0%{!?_without_network:%{server_drivers}}
121 %define with_storage_fs 0%{!?_without_storage_fs:%{server_drivers}}
122 %define with_storage_lvm 0%{!?_without_storage_lvm:%{server_drivers}}
123 %define with_storage_iscsi 0%{!?_without_storage_iscsi:%{server_drivers}}
124 %define with_storage_disk 0%{!?_without_storage_disk:%{server_drivers}}
125 %define with_storage_mpath 0%{!?_without_storage_mpath:%{server_drivers}}
126 %if 0%{?fedora} >= 16
127 %define with_storage_rbd 0%{!?_without_storage_rbd:%{server_drivers}}
129 %define with_storage_rbd 0
131 %if 0%{?fedora} >= 17
132 %define with_storage_sheepdog 0%{!?_without_storage_sheepdog:%{server_drivers}}
134 %define with_storage_sheepdog 0
136 %if 0%{?fedora} >= 19 || 0%{?rhel} >= 6
137 %define with_storage_gluster 0%{!?_without_storage_gluster:%{server_drivers}}
139 %define with_storage_gluster 0
141 %define with_numactl 0%{!?_without_numactl:%{server_drivers}}
142 %define with_selinux 0%{!?_without_selinux:%{server_drivers}}
144 # Just hardcode to off, since few people ever have apparmor RPMs installed
145 %define with_apparmor 0%{!?_without_apparmor:0}
147 # A few optional bits off by default, we enable later
148 %define with_polkit 0%{!?_without_polkit:0}
149 %define with_capng 0%{!?_without_capng:0}
150 %define with_fuse 0%{!?_without_fuse:0}
151 %define with_netcf 0%{!?_without_netcf:0}
152 %define with_udev 0%{!?_without_udev:0}
153 %define with_hal 0%{!?_without_hal:0}
154 %define with_yajl 0%{!?_without_yajl:0}
155 %define with_nwfilter 0%{!?_without_nwfilter:0}
156 %define with_libpcap 0%{!?_without_libpcap:0}
157 %define with_macvtap 0%{!?_without_macvtap:0}
158 %define with_libnl 0%{!?_without_libnl:0}
159 %define with_audit 0%{!?_without_audit:0}
160 %define with_dtrace 0%{!?_without_dtrace:0}
161 %define with_cgconfig 0%{!?_without_cgconfig:0}
162 %define with_sanlock 0%{!?_without_sanlock:0}
163 %define with_systemd 0%{!?_without_systemd:0}
164 %define with_numad 0%{!?_without_numad:0}
165 %define with_firewalld 0%{!?_without_firewalld:0}
166 %define with_libssh2 0%{!?_without_libssh2:0}
167 %define with_wireshark 0%{!?_without_wireshark:0}
168 %define with_systemd_daemon 0%{!?_without_systemd_daemon:0}
169 %define with_pm_utils 1
171 # Non-server/HV driver defaults which are always enabled
172 %define with_sasl 0%{!?_without_sasl:1}
175 # Finally set the OS / architecture specific special cases
177 # Xen is available only on i386 x86_64 ia64
178 %ifnarch %{ix86} x86_64 ia64
183 # vbox is available only on i386 x86_64
184 %ifnarch %{ix86} x86_64
188 # Numactl is not available on s390[x] and ARM
189 %ifarch s390 s390x %{arm}
190 %define with_numactl 0
193 # libgfapi is built only on x86_64 on rhel
196 %define with_storage_gluster 0
200 # RHEL doesn't ship OpenVZ, VBox, UML, PowerHypervisor,
201 # VMWare, libxenserver (xenapi), libxenlight (Xen 4.1 and newer),
204 %define with_openvz 0
208 %define with_vmware 0
209 %define with_xenapi 0
211 %define with_hyperv 0
212 %define with_parallels 0
215 # Fedora 17 / RHEL-7 are first where we use systemd. Although earlier
216 # Fedora has systemd, libvirt still used sysvinit there.
217 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
218 %define with_systemd 1
219 %define with_systemd_daemon 1
220 %define with_pm_utils 0
223 # Fedora 18 / RHEL-7 are first where firewalld support is enabled
224 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
225 %define with_firewalld 1
228 # RHEL-5 has restricted QEMU to x86_64 only and is too old for LXC
230 %define with_qemu_tcg 0
233 %define with_qemu_kvm 0
238 # RHEL-6 has restricted QEMU to x86_64 only, stopped including Xen
239 # on all archs. Other archs all have LXC available though
241 %define with_qemu_tcg 0
244 %define with_qemu_kvm 0
249 # Fedora doesn't have any QEMU on ppc64 until FC16 - only ppc
250 %if 0%{?fedora} && 0%{?fedora} < 16
256 # Fedora doesn't have new enough Xen for libxl until F18
257 %if 0%{?fedora} && 0%{?fedora} < 18
261 # PolicyKit was introduced in Fedora 8 / RHEL-6 or newer
262 %if 0%{?fedora} >= 8 || 0%{?rhel} >= 6
263 %define with_polkit 0%{!?_without_polkit:1}
266 # libcapng is used to manage capabilities in Fedora 12 / RHEL-6 or newer
267 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
268 %define with_capng 0%{!?_without_capng:1}
271 # fuse is used to provide virtualized /proc for LXC
272 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
273 %define with_fuse 0%{!?_without_fuse:1}
276 # netcf is used to manage network interfaces in Fedora 12 / RHEL-6 or newer
277 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
278 %define with_netcf 0%{!?_without_netcf:%{server_drivers}}
281 # udev is used to manage host devices in Fedora 12 / RHEL-6 or newer
282 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
283 %define with_udev 0%{!?_without_udev:%{server_drivers}}
285 %define with_hal 0%{!?_without_hal:%{server_drivers}}
288 # interface requires netcf
289 %if ! 0%{?with_netcf}
290 %define with_interface 0
293 # Enable yajl library for JSON mode with QEMU
294 %if 0%{?fedora} >= 13 || 0%{?rhel} >= 6
295 %define with_yajl 0%{!?_without_yajl:%{server_drivers}}
298 # Enable sanlock library for lock management with QEMU
299 # Sanlock is available only on i686 x86_64 for RHEL
300 %if 0%{?fedora} >= 16
301 %define with_sanlock 0%{!?_without_sanlock:%{server_drivers}}
304 %ifarch %{ix86} x86_64
305 %define with_sanlock 0%{!?_without_sanlock:%{server_drivers}}
310 %define with_sanlock 0%{!?_without_sanlock:%{server_drivers}}
314 # Enable libssh2 transport for new enough distros
315 %if 0%{?fedora} >= 17
316 %define with_libssh2 0%{!?_without_libssh2:1}
319 # Enable wireshark plugins for all distros shipping libvirt 1.2.2 or newer
320 %if 0%{?fedora} >= 21
321 %define with_wireshark 0%{!?_without_wireshark:1}
324 # Disable some drivers when building without libvirt daemon.
325 # The logic is the same as in configure.ac
326 %if ! %{with_libvirtd}
327 %define with_interface 0
328 %define with_network 0
334 %define with_storage_fs 0
335 %define with_storage_lvm 0
336 %define with_storage_iscsi 0
337 %define with_storage_mpath 0
338 %define with_storage_rbd 0
339 %define with_storage_sheepdog 0
340 %define with_storage_gluster 0
341 %define with_storage_disk 0
344 %if %{with_qemu} || %{with_lxc} || %{with_uml}
345 %define with_nwfilter 0%{!?_without_nwfilter:%{server_drivers}}
346 # Enable libpcap library
347 %define with_libpcap 0%{!?_without_libpcap:%{server_drivers}}
348 %define with_macvtap 0%{!?_without_macvtap:%{server_drivers}}
350 # numad is used to manage the CPU and memory placement dynamically,
351 # it's not available on s390[x] and ARM.
352 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 6
353 %ifnarch s390 s390x %{arm}
354 %define with_numad 0%{!?_without_numad:%{server_drivers}}
363 %if 0%{?fedora} >= 11 || 0%{?rhel} >= 5
364 %define with_audit 0%{!?_without_audit:1}
367 %if 0%{?fedora} >= 13 || 0%{?rhel} >= 6
368 %define with_dtrace 1
371 # Pull in cgroups config system
372 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
373 %if %{with_qemu} || %{with_lxc}
374 %define with_cgconfig 0%{!?_without_cgconfig:1}
378 %if %{with_udev} || %{with_hal}
379 %define with_nodedev 1
381 %define with_nodedev 0
384 %if %{with_storage_fs} || %{with_storage_mpath} || %{with_storage_iscsi} || %{with_storage_lvm} || %{with_storage_disk}
385 %define with_storage 1
387 %define with_storage 0
391 # Force QEMU to run as non-root
392 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
393 %define qemu_user qemu
394 %define qemu_group qemu
396 %define qemu_user root
397 %define qemu_group root
401 # The RHEL-5 Xen package has some feature backports. This
402 # flag is set to enable use of those special bits on RHEL-5
409 %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
410 %define with_systemd_macros 1
412 %define with_systemd_macros 0
416 # RHEL releases provide stable tool chains and so it is safe to turn
417 # compiler warning into errors without being worried about frequent
418 # changes in reported warnings
420 %define enable_werror --enable-werror
424 Summary: Library providing a simple virtualization API
426 Version: %{mainstream_version}
429 Group: Development/Libraries
430 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
431 URL: http://libvirt.org/
433 %if %(echo %{version} | grep -o \\. | wc -l) == 3
434 %define mainturl stable_updates/
436 Source: http://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.gz
439 Requires: libvirt-daemon = %{version}-%{release}
441 Requires: libvirt-daemon-config-network = %{version}-%{release}
444 Requires: libvirt-daemon-config-nwfilter = %{version}-%{release}
446 %if %{with_driver_modules}
448 Requires: libvirt-daemon-driver-libxl = %{version}-%{release}
451 Requires: libvirt-daemon-driver-lxc = %{version}-%{release}
454 Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
457 Requires: libvirt-daemon-driver-uml = %{version}-%{release}
460 Requires: libvirt-daemon-driver-xen = %{version}-%{release}
463 Requires: libvirt-daemon-driver-vbox = %{version}-%{release}
466 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
469 %if %{with_interface}
470 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
472 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
473 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
474 Requires: libvirt-daemon-driver-network = %{version}-%{release}
475 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
478 Requires: libvirt-client = %{version}-%{release}
480 # All build-time requirements. Run-time requirements are
481 # listed against each sub-RPM
482 %if 0%{?enable_autotools}
483 BuildRequires: autoconf
484 BuildRequires: automake
485 BuildRequires: gettext-devel
486 BuildRequires: libtool
487 BuildRequires: /usr/bin/pod2man
489 BuildRequires: python
491 BuildRequires: systemd-units
493 %if %{with_systemd_daemon}
494 BuildRequires: systemd-devel
496 %if %{with_xen} || %{with_libxl}
497 BuildRequires: xen-devel
499 BuildRequires: libxml2-devel
500 BuildRequires: xhtml1-dtds
501 BuildRequires: libxslt
502 BuildRequires: readline-devel
503 BuildRequires: ncurses-devel
504 BuildRequires: gettext
505 BuildRequires: libtasn1-devel
506 %if (0%{?rhel} && 0%{?rhel} < 7) || (0%{?fedora} && 0%{?fedora} < 19)
507 BuildRequires: libgcrypt-devel
509 BuildRequires: gnutls-devel
510 BuildRequires: libattr-devel
512 # For pool-build probing for existing pools
513 BuildRequires: libblkid-devel >= 2.17
515 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
516 # for augparse, optionally used in testing
517 BuildRequires: augeas
520 BuildRequires: hal-devel
523 %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
524 BuildRequires: systemd-devel >= 185
526 BuildRequires: libudev-devel >= 145
528 BuildRequires: libpciaccess-devel >= 0.10.9
531 BuildRequires: yajl-devel
534 # make sure libvirt is built with new enough sanlock on
535 # distros that have it; required for on_lockfailure
536 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 6
537 BuildRequires: sanlock-devel >= 2.4
539 BuildRequires: sanlock-devel >= 1.8
543 BuildRequires: libpcap-devel
546 %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
547 BuildRequires: libnl3-devel
549 BuildRequires: libnl-devel
553 BuildRequires: avahi-devel
556 BuildRequires: libselinux-devel
559 BuildRequires: libapparmor-devel
562 BuildRequires: dnsmasq >= 2.41
563 BuildRequires: iptables
564 BuildRequires: iptables-ipv6
568 BuildRequires: ebtables
570 BuildRequires: module-init-tools
572 BuildRequires: cyrus-sasl-devel
575 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
576 BuildRequires: polkit-devel >= 0.93
578 BuildRequires: PolicyKit-devel >= 0.6
581 %if %{with_storage_fs}
582 # For mount/umount in FS driver
583 BuildRequires: util-linux
587 BuildRequires: /usr/bin/qemu-img
591 BuildRequires: /usr/sbin/qcow-create
594 %if %{with_storage_lvm}
598 %if %{with_storage_iscsi}
600 BuildRequires: iscsi-initiator-utils
602 %if %{with_storage_disk}
604 BuildRequires: parted-devel
606 # Broken RHEL-5 parted RPM is missing a dep
607 BuildRequires: e2fsprogs-devel
610 %if %{with_storage_mpath} || %{with_storage_disk}
611 # For Multipath support
613 # Broken RHEL-5 packaging has header files in main RPM :-(
614 BuildRequires: device-mapper
616 BuildRequires: device-mapper-devel
619 %if %{with_storage_rbd}
620 BuildRequires: ceph-devel
622 %if %{with_storage_gluster}
624 BuildRequires: glusterfs-api-devel >= 3.4.0
625 BuildRequires: glusterfs-devel >= 3.4.0
627 BuildRequires: glusterfs-api-devel >= 3.4.1
628 BuildRequires: glusterfs-devel >= 3.4.1
632 # For QEMU/LXC numa info
633 BuildRequires: numactl-devel
636 BuildRequires: libcap-ng-devel >= 0.5.0
639 BuildRequires: fuse-devel >= 2.8.6
641 %if %{with_phyp} || %{with_libssh2}
642 BuildRequires: libssh2-devel >= 1.3.0
646 %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
647 BuildRequires: netcf-devel >= 0.2.2
649 %if 0%{?fedora} >= 16 || 0%{?rhel} >= 6
650 BuildRequires: netcf-devel >= 0.1.8
652 BuildRequires: netcf-devel >= 0.1.4
657 %if 0%{?fedora} >= 9 || 0%{?rhel} >= 6
658 BuildRequires: libcurl-devel
660 BuildRequires: curl-devel
664 BuildRequires: libwsman-devel >= 2.2.3
667 BuildRequires: audit-libs-devel
670 # we need /usr/sbin/dtrace
671 BuildRequires: systemtap-sdt-devel
674 %if %{with_storage_fs}
675 # For mount/umount in FS driver
676 BuildRequires: util-linux
677 # For showmount in FS driver (netfs discovery)
678 BuildRequires: nfs-utils
681 %if %{with_firewalld}
682 # Communication with the firewall daemon uses DBus
683 BuildRequires: dbus-devel
686 # Fedora build root suckage
689 # For storage wiping with different algorithms
696 %if %{with_wireshark}
697 BuildRequires: wireshark-devel
700 Provides: bundled(gnulib)
703 Libvirt is a C toolkit to interact with the virtualization capabilities
704 of recent versions of Linux (and other OSes). The main package includes
705 the libvirtd server exporting the virtualization support.
708 Summary: API reference and website documentation
709 Group: Development/Libraries
712 Includes the API reference for the libvirt C library, and a complete
713 copy of the libvirt.org website documentation.
717 Summary: Server side daemon and supporting files for libvirt library
718 Group: Development/Libraries
720 # All runtime requirements for the libvirt package (runtime requrements
721 # for subpackages are listed later in those subpackages)
723 # The client side, i.e. shared libs and virsh are in a subpackage
724 Requires: %{name}-client = %{version}-%{release}
726 # for modprobe of pci devices
727 Requires: module-init-tools
728 # for /sbin/ip & /sbin/tc
738 %if 0%{?fedora} >= 12 || 0%{?rhel} >=6
739 Requires: polkit >= 0.93
741 Requires: PolicyKit >= 0.6
747 %ifarch %{ix86} x86_64 ia64
748 # For virConnectGetSysinfo
751 # For service management
753 Requires(post): systemd-units
754 Requires(post): systemd-sysv
755 Requires(preun): systemd-units
756 Requires(postun): systemd-units
761 # libvirtd depends on 'messagebus' service
763 # For uid creation during pre
764 Requires(pre): shadow-utils
767 Server side daemon required to manage the virtualization capabilities
768 of recent versions of Linux. Requires a hypervisor specific sub-RPM
769 for specific drivers.
772 %package daemon-config-network
773 Summary: Default configuration files for the libvirtd daemon
774 Group: Development/Libraries
776 Requires: libvirt-daemon = %{version}-%{release}
777 %if %{with_driver_modules}
778 Requires: libvirt-daemon-driver-network = %{version}-%{release}
781 %description daemon-config-network
782 Default configuration files for setting up NAT based networking
786 %package daemon-config-nwfilter
787 Summary: Network filter configuration files for the libvirtd daemon
788 Group: Development/Libraries
790 Requires: libvirt-daemon = %{version}-%{release}
791 %if %{with_driver_modules}
792 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
795 %description daemon-config-nwfilter
796 Network filter configuration files for cleaning guest traffic
799 %if %{with_driver_modules}
801 %package daemon-driver-network
802 Summary: Network driver plugin for the libvirtd daemon
803 Group: Development/Libraries
804 Requires: libvirt-daemon = %{version}-%{release}
805 Requires: dnsmasq >= 2.41
808 Requires: iptables-ipv6
810 %description daemon-driver-network
811 The network driver plugin for the libvirtd daemon, providing
812 an implementation of the virtual network APIs using the Linux
818 %package daemon-driver-nwfilter
819 Summary: Nwfilter driver plugin for the libvirtd daemon
820 Group: Development/Libraries
821 Requires: libvirt-daemon = %{version}-%{release}
823 Requires: iptables-ipv6
826 %description daemon-driver-nwfilter
827 The nwfilter driver plugin for the libvirtd daemon, providing
828 an implementation of the firewall APIs using the ebtables,
829 iptables and ip6tables capabilities
834 %package daemon-driver-nodedev
835 Summary: Nodedev driver plugin for the libvirtd daemon
836 Group: Development/Libraries
837 Requires: libvirt-daemon = %{version}-%{release}
838 # needed for device enumeration
843 %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
844 Requires: systemd >= 185
846 Requires: udev >= 145
850 %description daemon-driver-nodedev
851 The nodedev driver plugin for the libvirtd daemon, providing
852 an implementation of the node device APIs using the udev
857 %if %{with_interface}
858 %package daemon-driver-interface
859 Summary: Interface driver plugin for the libvirtd daemon
860 Group: Development/Libraries
861 Requires: libvirt-daemon = %{version}-%{release}
862 %if %{with_netcf} && (0%{?fedora} >= 18 || 0%{?rhel} >= 7)
863 Requires: netcf-libs >= 0.2.2
866 %description daemon-driver-interface
867 The interface driver plugin for the libvirtd daemon, providing
868 an implementation of the network interface APIs using the
873 %package daemon-driver-secret
874 Summary: Secret driver plugin for the libvirtd daemon
875 Group: Development/Libraries
876 Requires: libvirt-daemon = %{version}-%{release}
878 %description daemon-driver-secret
879 The secret driver plugin for the libvirtd daemon, providing
880 an implementation of the secret key APIs.
884 %package daemon-driver-storage
885 Summary: Storage driver plugin for the libvirtd daemon
886 Group: Development/Libraries
887 Requires: libvirt-daemon = %{version}-%{release}
888 %if %{with_storage_fs}
893 %if 0%{?fedora} >= 11
894 Requires: glusterfs-client >= 2.0.1
897 %if %{with_storage_lvm}
901 %if %{with_storage_iscsi}
903 Requires: iscsi-initiator-utils
905 %if %{with_storage_disk}
908 Requires: device-mapper
910 %if %{with_storage_mpath}
911 # For multipath support
912 Requires: device-mapper
914 %if %{with_storage_sheepdog}
915 # For Sheepdog support
920 Requires: /usr/bin/qemu-img
924 Requires: /usr/sbin/qcow-create
928 %description daemon-driver-storage
929 The storage driver plugin for the libvirtd daemon, providing
930 an implementation of the storage APIs using LVM, iSCSI,
936 %package daemon-driver-qemu
937 Summary: Qemu driver plugin for the libvirtd daemon
938 Group: Development/Libraries
939 Requires: libvirt-daemon = %{version}-%{release}
940 # There really is a hard cross-driver dependency here
941 Requires: libvirt-daemon-driver-network = %{version}-%{release}
942 Requires: /usr/bin/qemu-img
943 # For image compression
949 %description daemon-driver-qemu
950 The qemu driver plugin for the libvirtd daemon, providing
951 an implementation of the hypervisor driver APIs using
957 %package daemon-driver-lxc
958 Summary: LXC driver plugin for the libvirtd daemon
959 Group: Development/Libraries
960 Requires: libvirt-daemon = %{version}-%{release}
961 # There really is a hard cross-driver dependency here
962 Requires: libvirt-daemon-driver-network = %{version}-%{release}
964 %description daemon-driver-lxc
965 The LXC driver plugin for the libvirtd daemon, providing
966 an implementation of the hypervisor driver APIs using
972 %package daemon-driver-uml
973 Summary: Uml driver plugin for the libvirtd daemon
974 Group: Development/Libraries
975 Requires: libvirt-daemon = %{version}-%{release}
977 %description daemon-driver-uml
978 The UML driver plugin for the libvirtd daemon, providing
979 an implementation of the hypervisor driver APIs using
985 %package daemon-driver-xen
986 Summary: Xen driver plugin for the libvirtd daemon
987 Group: Development/Libraries
988 Requires: libvirt-daemon = %{version}-%{release}
990 %description daemon-driver-xen
991 The Xen driver plugin for the libvirtd daemon, providing
992 an implementation of the hypervisor driver APIs using
998 %package daemon-driver-vbox
999 Summary: VirtualBox driver plugin for the libvirtd daemon
1000 Group: Development/Libraries
1001 Requires: libvirt-daemon = %{version}-%{release}
1003 %description daemon-driver-vbox
1004 The vbox driver plugin for the libvirtd daemon, providing
1005 an implementation of the hypervisor driver APIs using
1011 %package daemon-driver-libxl
1012 Summary: Libxl driver plugin for the libvirtd daemon
1013 Group: Development/Libraries
1014 Requires: libvirt-daemon = %{version}-%{release}
1016 %description daemon-driver-libxl
1017 The Libxl driver plugin for the libvirtd daemon, providing
1018 an implementation of the hypervisor driver APIs using
1021 %endif # %{with_driver_modules}
1025 %if %{with_qemu_tcg}
1026 %package daemon-qemu
1027 Summary: Server side daemon & driver required to run QEMU guests
1028 Group: Development/Libraries
1030 Requires: libvirt-daemon = %{version}-%{release}
1031 %if %{with_driver_modules}
1032 Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
1033 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
1034 Requires: libvirt-daemon-driver-network = %{version}-%{release}
1035 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
1036 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
1037 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
1038 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
1042 %description daemon-qemu
1043 Server side daemon and driver required to manage the virtualization
1044 capabilities of the QEMU TCG emulators
1048 %if %{with_qemu_kvm}
1050 Summary: Server side daemon & driver required to run KVM guests
1051 Group: Development/Libraries
1053 Requires: libvirt-daemon = %{version}-%{release}
1054 %if %{with_driver_modules}
1055 Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
1056 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
1057 Requires: libvirt-daemon-driver-network = %{version}-%{release}
1058 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
1059 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
1060 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
1061 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
1065 %description daemon-kvm
1066 Server side daemon and driver required to manage the virtualization
1067 capabilities of the KVM hypervisor
1073 Summary: Server side daemon & driver required to run LXC guests
1074 Group: Development/Libraries
1076 Requires: libvirt-daemon = %{version}-%{release}
1077 %if %{with_driver_modules}
1078 Requires: libvirt-daemon-driver-lxc = %{version}-%{release}
1079 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
1080 Requires: libvirt-daemon-driver-network = %{version}-%{release}
1081 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
1082 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
1083 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
1084 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
1087 %description daemon-lxc
1088 Server side daemon and driver required to manage the virtualization
1095 Summary: Server side daemon & driver required to run UML guests
1096 Group: Development/Libraries
1098 Requires: libvirt-daemon = %{version}-%{release}
1099 %if %{with_driver_modules}
1100 Requires: libvirt-daemon-driver-uml = %{version}-%{release}
1101 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
1102 Requires: libvirt-daemon-driver-network = %{version}-%{release}
1103 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
1104 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
1105 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
1106 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
1108 # There are no UML kernel RPMs in Fedora/RHEL to depend on.
1110 %description daemon-uml
1111 Server side daemon and driver required to manage the virtualization
1116 %if %{with_xen} || %{with_libxl}
1118 Summary: Server side daemon & driver required to run XEN guests
1119 Group: Development/Libraries
1121 Requires: libvirt-daemon = %{version}-%{release}
1122 %if %{with_driver_modules}
1124 Requires: libvirt-daemon-driver-xen = %{version}-%{release}
1127 Requires: libvirt-daemon-driver-libxl = %{version}-%{release}
1129 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
1130 Requires: libvirt-daemon-driver-network = %{version}-%{release}
1131 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
1132 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
1133 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
1134 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
1138 %description daemon-xen
1139 Server side daemon and driver required to manage the virtualization
1144 %package daemon-vbox
1145 Summary: Server side daemon & driver required to run VirtualBox guests
1146 Group: Development/Libraries
1148 Requires: libvirt-daemon = %{version}-%{release}
1149 %if %{with_driver_modules}
1150 Requires: libvirt-daemon-driver-vbox = %{version}-%{release}
1151 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
1152 Requires: libvirt-daemon-driver-network = %{version}-%{release}
1153 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
1154 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
1155 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
1156 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
1159 %description daemon-vbox
1160 Server side daemon and driver required to manage the virtualization
1161 capabilities of VirtualBox
1163 %endif # %{with_libvirtd}
1166 Summary: Client side library and utilities of the libvirt library
1167 Group: Development/Libraries
1170 # So remote clients can access libvirt over SSH tunnel
1171 # (client invokes 'nc' against the UNIX socket on the server)
1173 # Needed by /usr/libexec/libvirt-guests.sh script.
1175 # Needed by virt-pki-validate script.
1176 Requires: gnutls-utils
1177 %if %{with_pm_utils}
1178 # Needed for probing the power management features of the host.
1182 Requires: cyrus-sasl
1183 # Not technically required, but makes 'out-of-box' config
1184 # work correctly & doesn't have onerous dependencies
1185 Requires: cyrus-sasl-md5
1189 Shared libraries and client binaries needed to access to the
1190 virtualization capabilities of recent versions of Linux (and other OSes).
1192 %if %{with_wireshark}
1194 Summary: Wireshark dissector plugin for libvirt RPC transactions
1195 Group: Development/Libraries
1197 Requires: %{name}-client = %{version}-%{release}
1199 %description wireshark
1200 Wireshark dissector plugin for better analysis of libvirt RPC traffic.
1204 %package login-shell
1205 Summary: Login shell for connecting users to an LXC container
1206 Group: Development/Libraries
1207 Requires: %{name}-client = %{version}-%{release}
1209 %description login-shell
1210 Provides the set-uid virt-login-shell binary that is used to
1211 connect a user to an LXC container when they login, by switching
1216 Summary: Libraries, includes, etc. to compile with the libvirt library
1217 Group: Development/Libraries
1218 Requires: %{name}-client = %{version}-%{release}
1219 Requires: %{name}-docs = %{version}-%{release}
1223 Include header files & development libraries for the libvirt C library.
1226 %package lock-sanlock
1227 Summary: Sanlock lock manager plugin for QEMU driver
1228 Group: Development/Libraries
1229 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 6
1230 Requires: sanlock >= 2.4
1232 Requires: sanlock >= 1.8
1234 #for virt-sanlock-cleanup require augeas
1236 Requires: %{name}-daemon = %{version}-%{release}
1237 Requires: %{name}-client = %{version}-%{release}
1239 %description lock-sanlock
1240 Includes the Sanlock lock manager plugin for the QEMU
1249 %define _without_xen --without-xen
1253 %define _without_qemu --without-qemu
1256 %if ! %{with_openvz}
1257 %define _without_openvz --without-openvz
1261 %define _without_lxc --without-lxc
1265 %define _without_vbox --without-vbox
1268 %if ! %{with_xenapi}
1269 %define _without_xenapi --without-xenapi
1273 %define _without_libxl --without-libxl
1277 %define _without_sasl --without-sasl
1281 %define _without_avahi --without-avahi
1285 %define _without_phyp --without-phyp
1289 %define _without_esx --without-esx
1292 %if ! %{with_hyperv}
1293 %define _without_hyperv --without-hyperv
1296 %if ! %{with_vmware}
1297 %define _without_vmware --without-vmware
1300 %if ! %{with_parallels}
1301 %define _without_parallels --without-parallels
1304 %if ! %{with_polkit}
1305 %define _without_polkit --without-polkit
1308 %if ! %{with_libvirtd}
1309 %define _without_libvirtd --without-libvirtd
1313 %define _without_uml --without-uml
1317 %define _with_rhel5_api --with-rhel5-api
1320 %if ! %{with_interface}
1321 %define _without_interface --without-interface
1324 %if ! %{with_network}
1325 %define _without_network --without-network
1328 %if ! %{with_storage_fs}
1329 %define _without_storage_fs --without-storage-fs
1332 %if ! %{with_storage_lvm}
1333 %define _without_storage_lvm --without-storage-lvm
1336 %if ! %{with_storage_iscsi}
1337 %define _without_storage_iscsi --without-storage-iscsi
1340 %if ! %{with_storage_disk}
1341 %define _without_storage_disk --without-storage-disk
1344 %if ! %{with_storage_mpath}
1345 %define _without_storage_mpath --without-storage-mpath
1348 %if ! %{with_storage_rbd}
1349 %define _without_storage_rbd --without-storage-rbd
1352 %if ! %{with_storage_sheepdog}
1353 %define _without_storage_sheepdog --without-storage-sheepdog
1356 %if ! %{with_storage_gluster}
1357 %define _without_storage_gluster --without-storage-gluster
1360 %if ! %{with_numactl}
1361 %define _without_numactl --without-numactl
1365 %define _without_numad --without-numad
1369 %define _without_capng --without-capng
1373 %define _without_fuse --without-fuse
1377 %define _without_netcf --without-netcf
1380 %if ! %{with_selinux}
1381 %define _without_selinux --without-selinux
1384 %if ! %{with_apparmor}
1385 %define _without_apparmor --without-apparmor
1389 %define _without_hal --without-hal
1393 %define _without_udev --without-udev
1397 %define _without_yajl --without-yajl
1400 %if ! %{with_sanlock}
1401 %define _without_sanlock --without-sanlock
1404 %if ! %{with_libpcap}
1405 %define _without_libpcap --without-libpcap
1408 %if ! %{with_macvtap}
1409 %define _without_macvtap --without-macvtap
1413 %define _without_audit --without-audit
1416 %if ! %{with_dtrace}
1417 %define _without_dtrace --without-dtrace
1420 %if ! %{with_driver_modules}
1421 %define _without_driver_modules --without-driver-modules
1424 %if %{with_firewalld}
1425 %define _with_firewalld --with-firewalld
1428 %if ! %{with_wireshark}
1429 %define _without_wireshark --without-wireshark-dissector
1432 %if ! %{with_systemd_daemon}
1433 %define _without_systemd_daemon --without-systemd-daemon
1436 %if ! %{with_pm_utils}
1437 %define _without_pm_utils --without-pm-utils
1440 %define when %(date +"%%F-%%T")
1441 %define where %(hostname)
1442 %define who %{?packager}%{!?packager:Unknown}
1443 %define with_packager --with-packager="%{who}, %{when}, %{where}"
1444 %define with_packager_version --with-packager-version="%{release}"
1447 %define init_scripts --with-init_script=systemd
1449 %define init_scripts --with-init_script=redhat
1453 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
1454 %define with_selinux_mount --with-selinux-mount="/sys/fs/selinux"
1456 %define with_selinux_mount --with-selinux-mount="/selinux"
1460 # place macros above and build commands below this comment
1462 %if 0%{?enable_autotools}
1467 %configure %{?_without_xen} \
1469 %{?_without_openvz} \
1472 %{?_without_libxl} \
1473 %{?_without_xenapi} \
1475 %{?_without_avahi} \
1476 %{?_without_polkit} \
1477 %{?_without_libvirtd} \
1481 %{?_without_hyperv} \
1482 %{?_without_vmware} \
1483 %{?_without_parallels} \
1485 %{?_without_interface} \
1486 %{?_without_network} \
1487 %{?_with_rhel5_api} \
1488 %{?_without_storage_fs} \
1489 %{?_without_storage_lvm} \
1490 %{?_without_storage_iscsi} \
1491 %{?_without_storage_disk} \
1492 %{?_without_storage_mpath} \
1493 %{?_without_storage_rbd} \
1494 %{?_without_storage_sheepdog} \
1495 %{?_without_storage_gluster} \
1496 %{?_without_numactl} \
1497 %{?_without_numad} \
1498 %{?_without_capng} \
1500 %{?_without_netcf} \
1501 %{?_without_selinux} \
1502 %{?_with_selinux_mount} \
1503 %{?_without_apparmor} \
1507 %{?_without_sanlock} \
1508 %{?_without_libpcap} \
1509 %{?_without_macvtap} \
1510 %{?_without_audit} \
1511 %{?_without_dtrace} \
1512 %{?_without_driver_modules} \
1513 %{?_with_firewalld} \
1514 %{?_without_wireshark} \
1515 %{?_without_systemd_daemon} \
1516 %{?_without_pm_utils} \
1518 %{with_packager_version} \
1519 --with-qemu-user=%{qemu_user} \
1520 --with-qemu-group=%{qemu_group} \
1522 --enable-expensive-tests \
1524 make %{?_smp_mflags}
1530 # Avoid using makeinstall macro as it changes prefixes rather than setting
1531 # DESTDIR. Newer make_install macro would be better but it's not available
1532 # on RHEL 5, thus we need to expand it here.
1533 make install DESTDIR=%{?buildroot} SYSTEMD_UNIT_DIR=%{_unitdir}
1535 for i in object-events dominfo domsuspend hellolibvirt openauth xml/nwfilter systemtap dommigrate
1537 (cd examples/$i ; make clean ; rm -rf .deps .libs Makefile Makefile.in)
1539 rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
1540 rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
1541 rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.la
1542 rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.a
1543 %if %{with_driver_modules}
1544 rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.la
1545 rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.a
1547 %if %{with_wireshark}
1548 rm -f $RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/*/libvirt.la
1552 install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/lib/libvirt/dnsmasq/
1553 # We don't want to install /etc/libvirt/qemu/networks in the main %files list
1554 # because if the admin wants to delete the default network completely, we don't
1555 # want to end up re-incarnating it on every RPM upgrade.
1556 install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/
1557 cp $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml \
1558 $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
1559 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
1560 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
1561 # Strip auto-generated UUID - we need it generated per-install
1562 sed -i -e "/<uuid>/d" $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
1564 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
1565 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
1568 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_qemu.aug
1569 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
1573 %if ! %{with_sanlock}
1574 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirt_sanlock.aug
1575 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug
1579 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_lxc.aug
1580 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
1584 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf
1585 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.qemu
1588 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/lxc.conf
1589 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.lxc
1592 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.uml
1595 # Copied into libvirt-docs subpackage eventually
1596 mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{version} libvirt-docs
1599 %ifarch %{power64} s390x x86_64 ia64 alpha sparc64
1600 mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes.stp \
1601 $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes-64.stp
1602 mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes.stp \
1603 $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes-64.stp
1607 %if 0%{?fedora} < 14 && 0%{?rhel} < 6
1608 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/sysctl.d/libvirtd.conf
1616 # do not run tests, this is mainstream business, and more importantly
1617 # our own setup is ti build inside a container already and we've seen
1618 # occasional red herrings because of that
1623 # These tests don't current work in a mock build root
1624 for i in nodeinfotest seclabeltest
1627 printf 'int main(void) { return 0; }' > $i.c
1628 printf '#!/bin/sh\nexit 0\n' > $i
1631 if ! make check VIR_TEST_DEBUG=1
1633 cat test-suite.log || true
1637 %if %{with_libvirtd}
1638 %if ! %{with_driver_modules}
1641 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
1642 # We want soft static allocation of well-known ids, as disk images
1643 # are commonly shared across NFS mounts by id rather than name; see
1644 # https://fedoraproject.org/wiki/Packaging:UsersAndGroups
1645 getent group kvm >/dev/null || groupadd -f -g 36 -r kvm
1646 getent group qemu >/dev/null || groupadd -f -g 107 -r qemu
1647 if ! getent passwd qemu >/dev/null; then
1648 if ! getent passwd 107 >/dev/null; then
1649 useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu
1651 useradd -r -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu
1662 # All newly defined networks will have a mac address for the bridge
1663 # auto-generated, but networks already existing at the time of upgrade
1664 # will not. We need to go through all the network configs, look for
1665 # those that don't have a mac address, and add one.
1667 network_files=$( (cd %{_localstatedir}/lib/libvirt/network && \
1668 grep -L "mac address" *.xml; \
1669 cd %{_sysconfdir}/libvirt/qemu/networks && \
1670 grep -L "mac address" *.xml) 2>/dev/null \
1673 for file in $network_files
1675 # each file exists in either the config or state directory (or both) and
1676 # does not have a mac address specified in either. We add the same mac
1677 # address to both files (or just one, if the other isn't there)
1679 mac4=`printf '%X' $(($RANDOM % 256))`
1680 mac5=`printf '%X' $(($RANDOM % 256))`
1681 mac6=`printf '%X' $(($RANDOM % 256))`
1682 for dir in %{_localstatedir}/lib/libvirt/network \
1683 %{_sysconfdir}/libvirt/qemu/networks
1685 if test -f $dir/$file
1688 "s|\(<bridge.*$\)|\0\n <mac address='52:54:00:$mac4:$mac5:$mac6'/>|" \
1692 echo "failed to add <mac address='52:54:00:$mac4:$mac5:$mac6'/>" \
1694 mv -f $dir/$file.orig $dir/$file
1696 rm -f $dir/$file.orig
1704 %if %{with_systemd_macros}
1705 %systemd_post virtlockd.socket libvirtd.service
1707 if [ $1 -eq 1 ] ; then
1708 # Initial installation
1709 /bin/systemctl enable virtlockd.socket libvirtd.service >/dev/null 2>&1 || :
1713 %if %{with_cgconfig}
1714 # Starting with Fedora 16/RHEL-7, systemd automounts all cgroups,
1715 # and cgconfig is no longer a necessary service.
1716 %if (0%{?rhel} && 0%{?rhel} < 7) || (0%{?fedora} && 0%{?fedora} < 16)
1717 if [ "$1" -eq "1" ]; then
1718 /sbin/chkconfig cgconfig on
1723 /sbin/chkconfig --add libvirtd
1724 /sbin/chkconfig --add virtlockd
1729 %if %{with_systemd_macros}
1730 %systemd_preun libvirtd.service virtlockd.socket virtlockd.service
1732 if [ $1 -eq 0 ] ; then
1733 # Package removal, not upgrade
1734 /bin/systemctl --no-reload disable libvirtd.service virtlockd.socket virtlockd.service > /dev/null 2>&1 || :
1735 /bin/systemctl stop libvirtd.service virtlockd.socket virtlockd.service > /dev/null 2>&1 || :
1740 /sbin/service libvirtd stop 1>/dev/null 2>&1
1741 /sbin/chkconfig --del libvirtd
1742 /sbin/service virtlockd stop 1>/dev/null 2>&1
1743 /sbin/chkconfig --del virtlockd
1749 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
1750 if [ $1 -ge 1 ] ; then
1751 /bin/systemctl reload-or-try-restart virtlockd.service >/dev/null 2>&1 || :
1752 /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
1755 if [ $1 -ge 1 ]; then
1756 /sbin/service virtlockd reload > /dev/null 2>&1 || :
1757 /sbin/service libvirtd condrestart > /dev/null 2>&1
1763 %triggerpostun daemon -- libvirt-daemon < 1.2.1
1764 if [ "$1" -ge "1" ]; then
1765 /sbin/service virtlockd reload > /dev/null 2>&1 || :
1766 /sbin/service libvirtd condrestart > /dev/null 2>&1
1771 %post daemon-config-network
1772 if test $1 -eq 1 && test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml ; then
1773 UUID=`/usr/bin/uuidgen`
1774 sed -e "s,</name>,</name>\n <uuid>$UUID</uuid>," \
1775 < %{_datadir}/libvirt/networks/default.xml \
1776 > %{_sysconfdir}/libvirt/qemu/networks/default.xml
1777 ln -s ../default.xml %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
1782 %triggerun -- libvirt < 0.9.4
1783 %{_bindir}/systemd-sysv-convert --save libvirtd >/dev/null 2>&1 ||:
1785 # If the package is allowed to autostart:
1786 /bin/systemctl --no-reload enable libvirtd.service >/dev/null 2>&1 ||:
1788 # Run these because the SysV package being removed won't do them
1789 /sbin/chkconfig --del libvirtd >/dev/null 2>&1 || :
1790 /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
1793 %if %{with_driver_modules}
1795 %pre daemon-driver-qemu
1796 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
1797 # We want soft static allocation of well-known ids, as disk images
1798 # are commonly shared across NFS mounts by id rather than name; see
1799 # https://fedoraproject.org/wiki/Packaging:UsersAndGroups
1800 getent group kvm >/dev/null || groupadd -f -g 36 -r kvm
1801 getent group qemu >/dev/null || groupadd -f -g 107 -r qemu
1802 if ! getent passwd qemu >/dev/null; then
1803 if ! getent passwd 107 >/dev/null; then
1804 useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu
1806 useradd -r -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu
1813 %endif # %{with_libvirtd}
1818 %if %{with_systemd_macros}
1819 %systemd_preun libvirt-guests.service
1823 /sbin/chkconfig --del libvirt-guests
1824 rm -f /var/lib/libvirt/libvirt-guests
1832 %if %{with_systemd_macros}
1833 %systemd_post libvirt-guests.service
1836 /sbin/chkconfig --add libvirt-guests
1843 %if %{with_systemd_macros}
1844 %systemd_postun libvirt-guests.service
1846 %triggerun client -- libvirt < 0.9.4
1847 %{_bindir}/systemd-sysv-convert --save libvirt-guests >/dev/null 2>&1 ||:
1849 # If the package is allowed to autostart:
1850 /bin/systemctl --no-reload enable libvirt-guests.service >/dev/null 2>&1 ||:
1852 # Run this because the SysV package being removed won't do them
1853 /sbin/chkconfig --del libvirt-guests >/dev/null 2>&1 || :
1858 if getent group sanlock > /dev/null ; then
1859 chmod 0770 %{_localstatedir}/lib/libvirt/sanlock
1860 chown root:sanlock %{_localstatedir}/lib/libvirt/sanlock
1866 getent group virtlogin >/dev/null || groupadd -r virtlogin
1871 %defattr(-, root, root)
1874 %defattr(-, root, root)
1875 %doc AUTHORS ChangeLog.gz NEWS README TODO libvirt-docs/*
1878 %dir %{_datadir}/gtk-doc/html/libvirt/
1879 %doc %{_datadir}/gtk-doc/html/libvirt/*.devhelp
1880 %doc %{_datadir}/gtk-doc/html/libvirt/*.html
1881 %doc %{_datadir}/gtk-doc/html/libvirt/*.png
1882 %doc %{_datadir}/gtk-doc/html/libvirt/*.css
1884 %if %{with_libvirtd}
1886 %defattr(-, root, root)
1888 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
1891 %{_unitdir}/libvirtd.service
1892 %{_unitdir}/virtlockd.service
1893 %{_unitdir}/virtlockd.socket
1895 %{_sysconfdir}/rc.d/init.d/libvirtd
1896 %{_sysconfdir}/rc.d/init.d/virtlockd
1898 %doc daemon/libvirtd.upstart
1899 %config(noreplace) %{_sysconfdir}/sysconfig/libvirtd
1900 %config(noreplace) %{_sysconfdir}/sysconfig/virtlockd
1901 %config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
1902 %config(noreplace) %{_sysconfdir}/libvirt/virtlockd.conf
1903 %if 0%{?fedora} >= 14 || 0%{?rhel} >= 6
1904 %config(noreplace) %{_prefix}/lib/sysctl.d/libvirtd.conf
1907 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd
1908 %dir %{_datadir}/libvirt/
1910 %ghost %dir %{_localstatedir}/run/libvirt/
1912 %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/images/
1913 %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/filesystems/
1914 %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/boot/
1915 %dir %attr(0711, root, root) %{_localstatedir}/cache/libvirt/
1918 %dir %attr(0755, root, root) %{_libdir}/libvirt/lock-driver
1919 %attr(0755, root, root) %{_libdir}/libvirt/lock-driver/lockd.so
1921 %{_datadir}/augeas/lenses/libvirtd.aug
1922 %{_datadir}/augeas/lenses/tests/test_libvirtd.aug
1923 %{_datadir}/augeas/lenses/virtlockd.aug
1924 %{_datadir}/augeas/lenses/tests/test_virtlockd.aug
1925 %{_datadir}/augeas/lenses/libvirt_lockd.aug
1926 # PL: is it because we don't run tests ?
1927 #%{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug
1930 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
1931 %{_datadir}/polkit-1/actions/org.libvirt.unix.policy
1932 %{_datadir}/polkit-1/actions/org.libvirt.api.policy
1934 %{_datadir}/PolicyKit/policy/org.libvirt.unix.policy
1938 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/
1940 %attr(0755, root, root) %{_libexecdir}/libvirt_iohelper
1942 %if %{with_apparmor}
1943 %attr(0755, root, root) %{_libexecdir}/virt-aa-helper
1946 %attr(0755, root, root) %{_sbindir}/libvirtd
1947 %attr(0755, root, root) %{_sbindir}/virtlockd
1949 %{_mandir}/man8/libvirtd.8*
1950 %{_mandir}/man8/virtlockd.8*
1952 %if ! %{with_driver_modules}
1953 %if %{with_network} || %{with_qemu}
1954 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
1956 %if %{with_network} || %{with_nwfilter}
1957 %ghost %dir %{_localstatedir}/run/libvirt/network/
1960 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/
1961 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
1962 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/
1963 %dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/
1965 %if %{with_nwfilter}
1966 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/
1968 %if %{with_storage_disk}
1969 %attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
1972 %config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
1973 %config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf
1974 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu
1975 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
1976 %ghost %dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/
1977 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
1978 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/channel/
1979 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/channel/target/
1980 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/
1981 %{_datadir}/augeas/lenses/libvirtd_qemu.aug
1982 %{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
1985 %config(noreplace) %{_sysconfdir}/libvirt/lxc.conf
1986 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc
1987 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/
1988 %ghost %dir %{_localstatedir}/run/libvirt/lxc/
1989 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/
1990 %{_datadir}/augeas/lenses/libvirtd_lxc.aug
1991 %{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
1992 %attr(0755, root, root) %{_libexecdir}/libvirt_lxc
1995 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml
1996 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/
1997 %ghost %dir %{_localstatedir}/run/libvirt/uml/
1998 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/
2001 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/libxl/
2002 %ghost %dir %{_localstatedir}/run/libvirt/libxl/
2003 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/
2006 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/xen/
2008 %endif # ! %{with_driver_modules}
2011 %files daemon-config-network
2012 %defattr(-, root, root)
2013 %dir %{_datadir}/libvirt/networks/
2014 %{_datadir}/libvirt/networks/default.xml
2017 %if %{with_nwfilter}
2018 %files daemon-config-nwfilter
2019 %defattr(-, root, root)
2020 %{_sysconfdir}/libvirt/nwfilter/*.xml
2023 %if %{with_driver_modules}
2024 %if %{with_interface}
2025 %files daemon-driver-interface
2026 %defattr(-, root, root)
2027 %{_libdir}/%{name}/connection-driver/libvirt_driver_interface.so
2031 %files daemon-driver-network
2032 %defattr(-, root, root)
2033 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
2034 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/
2035 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
2036 %ghost %dir %{_localstatedir}/run/libvirt/network/
2037 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/
2038 %dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/
2039 %{_libdir}/%{name}/connection-driver/libvirt_driver_network.so
2043 %files daemon-driver-nodedev
2044 %defattr(-, root, root)
2045 %{_libdir}/%{name}/connection-driver/libvirt_driver_nodedev.so
2048 %if %{with_nwfilter}
2049 %files daemon-driver-nwfilter
2050 %defattr(-, root, root)
2051 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/
2052 %ghost %dir %{_localstatedir}/run/libvirt/network/
2053 %{_libdir}/%{name}/connection-driver/libvirt_driver_nwfilter.so
2056 %files daemon-driver-secret
2057 %defattr(-, root, root)
2058 %{_libdir}/%{name}/connection-driver/libvirt_driver_secret.so
2061 %files daemon-driver-storage
2062 %defattr(-, root, root)
2063 %if %{with_storage_disk}
2064 %attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
2066 %{_libdir}/%{name}/connection-driver/libvirt_driver_storage.so
2070 %files daemon-driver-qemu
2071 %defattr(-, root, root)
2072 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
2073 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
2074 %config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
2075 %config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf
2076 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu
2077 %ghost %dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/
2078 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
2079 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/channel/
2080 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/channel/target/
2081 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/
2082 %{_datadir}/augeas/lenses/libvirtd_qemu.aug
2083 %{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
2084 %{_libdir}/%{name}/connection-driver/libvirt_driver_qemu.so
2088 %files daemon-driver-lxc
2089 %defattr(-, root, root)
2090 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/
2091 %config(noreplace) %{_sysconfdir}/libvirt/lxc.conf
2092 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc
2093 %ghost %dir %{_localstatedir}/run/libvirt/lxc/
2094 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/
2095 %{_datadir}/augeas/lenses/libvirtd_lxc.aug
2096 %{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
2097 %attr(0755, root, root) %{_libexecdir}/libvirt_lxc
2098 %{_libdir}/%{name}/connection-driver/libvirt_driver_lxc.so
2102 %files daemon-driver-uml
2103 %defattr(-, root, root)
2104 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/
2105 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml
2106 %ghost %dir %{_localstatedir}/run/libvirt/uml/
2107 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/
2108 %{_libdir}/%{name}/connection-driver/libvirt_driver_uml.so
2112 %files daemon-driver-xen
2113 %defattr(-, root, root)
2114 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/xen/
2115 %{_libdir}/%{name}/connection-driver/libvirt_driver_xen.so
2119 %files daemon-driver-libxl
2120 %defattr(-, root, root)
2121 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/libxl/
2122 %ghost %dir %{_localstatedir}/run/libvirt/libxl/
2123 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/
2124 %{_libdir}/%{name}/connection-driver/libvirt_driver_libxl.so
2128 %files daemon-driver-vbox
2129 %defattr(-, root, root)
2130 %{_libdir}/%{name}/connection-driver/libvirt_driver_vbox.so
2132 %endif # %{with_driver_modules}
2134 %if %{with_qemu_tcg}
2136 %defattr(-, root, root)
2139 %if %{with_qemu_kvm}
2141 %defattr(-, root, root)
2146 %defattr(-, root, root)
2151 %defattr(-, root, root)
2154 %if %{with_xen} || %{with_libxl}
2156 %defattr(-, root, root)
2161 %defattr(-, root, root)
2163 %endif # %{with_libvirtd}
2167 %defattr(-, root, root)
2169 %config(noreplace) %{_sysconfdir}/libvirt/qemu-sanlock.conf
2171 %attr(0755, root, root) %{_libdir}/libvirt/lock-driver/sanlock.so
2172 %{_datadir}/augeas/lenses/libvirt_sanlock.aug
2173 %{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug
2174 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/sanlock
2175 %{_sbindir}/virt-sanlock-cleanup
2176 %{_mandir}/man8/virt-sanlock-cleanup.8*
2177 %attr(0755, root, root) %{_libexecdir}/libvirt_sanlock_helper
2180 %files client -f %{name}.lang
2181 %defattr(-, root, root)
2182 %doc COPYING COPYING.LESSER
2184 %config(noreplace) %{_sysconfdir}/libvirt/libvirt.conf
2185 %{_mandir}/man1/virsh.1*
2186 %{_mandir}/man1/virt-xml-validate.1*
2187 %{_mandir}/man1/virt-pki-validate.1*
2188 %{_mandir}/man1/virt-host-validate.1*
2190 %{_bindir}/virt-xml-validate
2191 %{_bindir}/virt-pki-validate
2192 %{_bindir}/virt-host-validate
2193 %{_libdir}/lib*.so.*
2196 %{_datadir}/systemtap/tapset/libvirt_probes*.stp
2197 %{_datadir}/systemtap/tapset/libvirt_qemu_probes*.stp
2198 %{_datadir}/systemtap/tapset/libvirt_functions.stp
2201 %dir %{_datadir}/libvirt/
2202 %dir %{_datadir}/libvirt/schemas/
2204 %{_datadir}/libvirt/schemas/basictypes.rng
2205 %{_datadir}/libvirt/schemas/capability.rng
2206 %{_datadir}/libvirt/schemas/domain.rng
2207 %{_datadir}/libvirt/schemas/domaincommon.rng
2208 %{_datadir}/libvirt/schemas/domainsnapshot.rng
2209 %{_datadir}/libvirt/schemas/interface.rng
2210 %{_datadir}/libvirt/schemas/network.rng
2211 %{_datadir}/libvirt/schemas/networkcommon.rng
2212 %{_datadir}/libvirt/schemas/nodedev.rng
2213 %{_datadir}/libvirt/schemas/nwfilter.rng
2214 %{_datadir}/libvirt/schemas/secret.rng
2215 %{_datadir}/libvirt/schemas/storagecommon.rng
2216 %{_datadir}/libvirt/schemas/storagepool.rng
2217 %{_datadir}/libvirt/schemas/storagevol.rng
2219 %{_datadir}/libvirt/cpu_map.xml
2220 %{_datadir}/libvirt/libvirtLogo.png
2223 %{_unitdir}/libvirt-guests.service
2225 %{_sysconfdir}/rc.d/init.d/libvirt-guests
2227 %config(noreplace) %{_sysconfdir}/sysconfig/libvirt-guests
2228 %attr(0755, root, root) %{_libexecdir}/libvirt-guests.sh
2229 %dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/
2232 %config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
2235 %if %{with_wireshark}
2237 %{_libdir}/wireshark/plugins/*/libvirt.so
2242 %attr(4750, root, virtlogin) %{_bindir}/virt-login-shell
2243 %config(noreplace) %{_sysconfdir}/libvirt/virt-login-shell.conf
2244 %{_mandir}/man1/virt-login-shell.1*
2248 %defattr(-, root, root)
2251 %dir %{_includedir}/libvirt
2252 %{_includedir}/libvirt/*.h
2253 %{_libdir}/pkgconfig/libvirt.pc
2255 %dir %{_datadir}/libvirt/api/
2256 %{_datadir}/libvirt/api/libvirt-api.xml
2257 %{_datadir}/libvirt/api/libvirt-qemu-api.xml
2258 %{_datadir}/libvirt/api/libvirt-lxc-api.xml
2260 %doc docs/*.html docs/html docs/*.gif
2261 %doc docs/libvirt-api.xml
2262 %doc examples/hellolibvirt
2263 %doc examples/object-events
2264 %doc examples/dominfo
2265 %doc examples/domsuspend
2266 %doc examples/dommigrate
2267 %doc examples/openauth
2269 %doc examples/systemtap
2272 * Wed Jul 16 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - libvirt-1.2.5-1
2273 - libvirt 1.2.5 for PL
2275 * Mon Jun 02 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - libvirt-1.2.4-1
2276 - complete build for 1.2.4, works fine on f18, still has an issue with f20 for slice re-creation
2278 * Sun May 4 2014 Daniel Veillard <veillard@redhat.com> - 1.2.4-1
2279 - various improvements and bug fixes
2280 - lot of internal code refactoring
2282 * Mon Apr 28 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - libvirt-1.2.3-2
2284 - libvirt-python needs a release of libvirt that matches its own
2285 - and there was a screw up when tagging libvirt-python, so we catch up
2287 * Mon Apr 28 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - libvirt-1.2.3-1
2288 - tested version of 1.2.3
2290 * Tue Apr 1 2014 Daniel Veillard <veillard@redhat.com> - 1.2.3-1
2291 - add new virDomainCoreDumpWithFormat API (Qiao Nuohan)
2292 - conf: Introduce virDomainDeviceGetInfo API (Jiri Denemark)
2293 - more features and fixes on bhyve driver (Roman Bogorodskiy)
2294 - lot of cleanups and improvement on the Xen driver (Chunyan Liu, Jim Fehlig)
2295 - a lot of various improvements and bug fixes
2297 * Fri Mar 21 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - libvirt-1.2.1-1
2298 - builds fine on f{18,20}
2300 * Sun Mar 2 2014 Daniel Veillard <veillard@redhat.com> - 1.2.2-1
2301 - add LXC from native conversion tool
2302 - vbox: add support for v4.2.20+ and v4.3.4+
2303 - Introduce Libvirt Wireshark dissector
2304 - Fix CVE-2013-6456: Avoid unsafe use of /proc/$PID/root in LXC
2305 - a lot of various improvements and bug fixes
2307 * Thu Jan 16 2014 Daniel Veillard <veillard@redhat.com> - 1.2.1-1
2308 - Fix s CVE-2014-0028 event: filter global events by domain:getattr ACL
2309 - Fix CVE-2014-1447 Don't crash if a connection closes early
2310 - Fix CVE-2013-6458-1 qemu: Do not access stale data in virDomainBlockStats
2311 - Fix CVE-2013-6457 libxl: avoid crashing if calling `virsh numatune' on inactive domain
2312 - Fix CVE-2013-6436: fix crash in lxcDomainGetMemoryParameters
2313 - many doc and bug fixes and improvements
2315 * Mon Dec 2 2013 Daniel Veillard <veillard@redhat.com> - 1.2.0-1
2316 - Separation of python binding as libvirt-python srpm
2317 - Add support for gluster pool
2318 - vbox: add support for 4.3 APIs
2319 - a number of doc, bug fixes and various improvements
2321 * Mon Nov 4 2013 Daniel Veillard <veillard@redhat.com> - 1.1.4-1
2322 - Add support for AArch64 architecture
2323 - Various improvements on test code and test driver
2324 - 4 security bug fixes
2325 - a lot of bug fixes and various improvements
2327 * Tue Oct 1 2013 Daniel Veillard <veillard@redhat.com> - 1.1.3-1
2328 - VMware: Initial VMware Fusion support and various improvements
2329 - libvirt: add new public API virConnectGetCPUModelNames
2330 - various libxl driver improvements
2331 - LXC many container driver improvement
2332 - ARM cpu improvements
2333 - 3 security bug fixes
2334 - a lot of bug and leak fixes and various improvements
2336 * Mon Sep 2 2013 Daniel Veillard <veillard@redhat.com> - 1.1.2-1
2337 - various improvements to libxl driver
2338 - systemd integration improvements
2339 - Add flag to BaselineCPU API to return detailed CPU features
2340 - Introduce a virt-login-shell binary
2341 - conf: add startupPolicy attribute for harddisk
2342 - various bug fixes and improvements including localizations
2344 * Tue Jul 30 2013 Daniel Veillard <veillard@redhat.com> - 1.1.1-1
2345 - Adding device removal or deletion events
2346 - Introduce new domain create APIs to pass pre-opened FDs to LXC
2347 - Add interface versions for Xen 4.3
2348 - Add new public API virDomainSetMemoryStatsPeriod
2349 - Various LXC improvements
2350 - various bug fixes and improvements including localizations
2352 * Mon Jul 1 2013 Daniel Veillard <veillard@redhat.com> - 1.1.0-1
2353 - CVE-2013-2218: Fix crash listing network interfaces with filters
2354 - Fine grained ACL support for the API
2355 - Extensible migration APIs
2356 - various improvements in the Xen driver
2357 - agent based vCPU hotplug support
2358 - various bug fixes and improvements including localizations
2360 * Mon Jun 3 2013 Daniel Veillard <veillard@redhat.com> - 1.0.6-1
2361 - Move VirtualBox driver into libvirtd
2362 - Support for static routes on a virtual bridge
2363 - Various improvement for hostdev SCSI support
2364 - Switch to VIR_STRDUP and VIR_STRNDUP
2365 - Various cleanups and improvement in Xen and LXC drivers
2366 - various bug fixes and improvements including localizations
2368 * Thu May 2 2013 Daniel Veillard <veillard@redhat.com> - 1.0.5-1
2369 - add support for NVRAM device
2370 - Add XML config for resource partitions
2371 - Add support for TPM
2372 - NPIV storage migration support
2373 - various bug fixes and improvements including localizations
2375 * Mon Apr 1 2013 Daniel Veillard <veillard@redhat.com> - 1.0.4-1
2376 - qemu: support passthrough for iscsi disks
2377 - various S390 improvements
2378 - various LXC bugs fixes and improvements
2379 - Add API for thread cancellation
2380 - various bug fixes and improvements
2382 * Tue Mar 5 2013 Daniel Veillard <veillard@redhat.com> - 1.0.3-1
2383 - Introduce virDomainMigrate*CompressionCache APIs
2384 - Introduce virDomainGetJobStats API
2385 - Add basic support for VDI images
2386 - Introduce API virNodeDeviceLookupSCSIHostByWWN
2387 - Various locking improvements
2388 - a lot of bug fixes and overall improvements
2390 * Wed Jan 30 2013 Daniel Veillard <veillard@redhat.com> - 1.0.2-1
2392 - S390 architecture improvement
2393 - Power architecture improvement
2394 - large Coverity report cleanups and associated bug fixes
2395 - virTypedParams* APIs to helps with those data structures
2396 - a lot of bug fixes and overall improvements
2398 * Fri Nov 2 2012 Daniel Veillard <veillard@redhat.com> - 1.0.0-1
2399 - virNodeGetCPUMap: Define public API
2400 - Add systemd journal support
2401 - Add a qemu capabilities cache manager
2402 - USB migration support
2403 - various improvement and fixes when using QMP QEmu interface
2404 - Support for Xen 4.2
2405 - Lot of localization enhancements
2406 - a lot of bug fixes, improvements and portability work
2408 * Mon Sep 24 2012 Daniel Veillard <veillard@redhat.com> - 0.10.2-1
2409 - network: define new API virNetworkUpdate
2410 - add support for QEmu sandbox support
2411 - blockjob: add virDomainBlockCommit
2412 - New APIs to get/set Node memory parameters
2413 - new API virConnectListAllSecrets
2414 - new API virConnectListAllNWFilters
2415 - new API virConnectListAllNodeDevices
2416 - parallels: add support of containers to the driver
2417 - new API virConnectListAllInterfaces
2418 - new API virConnectListAllNetworks
2419 - new API virStoragePoolListAllVolumes
2420 - Add PMSUSPENDED life cycle event
2421 - new API virStorageListAllStoragePools
2422 - Add per-guest S3/S4 state configuration
2423 - qemu: Support for Block Device IO Limits
2424 - a lot of bug fixes, improvements and portability work
2426 * Fri Aug 31 2012 Daniel Veillard <veillard@redhat.com> - 0.10.1-1
2427 - bugfixes and a brown paper bag
2429 * Wed Aug 29 2012 Daniel Veillard <veillard@redhat.com> - 0.10.0-1
2430 - agent: add qemuAgentArbitraryCommand() for general qemu agent command
2431 - Introduce virDomainPinEmulator and virDomainGetEmulatorPinInfo functions
2432 - network: use firewalld instead of iptables, when available
2433 - network: make network driver vlan-aware
2434 - esx: Implement network driver
2435 - driver for parallels hypervisor
2436 - Various LXC improvements
2437 - Add virDomainGetHostname
2438 - a lot of bug fixes, improvements and portability work
2440 * Mon Jul 2 2012 Daniel Veillard <veillard@redhat.com> - 0.9.13-1
2441 - S390: support for s390(x)
2442 - snapshot: implement new APIs for esx and vbox
2443 - snapshot: new query APIs and many improvements
2444 - virsh: Allow users to reedit rejected XML
2445 - nwfilter: add DHCP snooping
2446 - Enable driver modules in libvirt RPM
2447 - Default to enable driver modules for libvirtd
2448 - storage backend: Add RBD (RADOS Block Device) support
2449 - sVirt support for LXC domains inprovement
2450 - a lot of bug fixes, improvements and portability work
2452 * Mon May 14 2012 Daniel Veillard <veillard@redhat.com> - 0.9.12-1
2453 - qemu: allow snapshotting of sheepdog and rbd disks
2454 - blockjob: add new APIs
2455 - a lot of bug fixes, improvements and portability work
2457 * Tue Apr 3 2012 Daniel Veillard <veillard@redhat.com> - 0.9.11-1
2458 - Add support for the suspend event
2459 - Add support for event tray moved of removable disks
2460 - qemu: Support numad
2461 - cpustats: API, improvements and qemu support
2462 - qemu: support type='hostdev' network devices at domain start
2463 - Introduce virDomainPMWakeup API
2464 - network: support Open vSwitch
2465 - a number of snapshot improvements
2466 - many improvements and bug fixes
2468 * Mon Feb 13 2012 Daniel Veillard <veillard@redhat.com> - 0.9.10-1
2469 - Add support for sVirt in the LXC driver
2470 - block rebase: add new API virDomainBlockRebase
2471 - API: Add api to set and get domain metadata
2472 - virDomainGetDiskErrors public API
2473 - conf: add rawio attribute to disk element of domain XML
2474 - Add new public API virDomainGetCPUStats()
2475 - Introduce virDomainPMSuspendForDuration API
2476 - resize: add virStorageVolResize() API
2477 - Add a virt-host-validate command to sanity check HV config
2478 - Add new virDomainShutdownFlags API
2479 - QEMU guest agent support
2480 - many improvements and bug fixes
2482 * Sat Jan 7 2012 Daniel Veillard <veillard@redhat.com> - 0.9.9-1
2483 - Add API virDomain{S,G}etInterfaceParameters
2484 - Add API virDomain{G, S}etNumaParameters
2485 - Add support for ppc64 qemu
2486 - Support Xen domctl v8
2487 - many improvements and bug fixes
2489 * Thu Dec 8 2011 Daniel Veillard <veillard@redhat.com> - 0.9.8-1
2490 - Add support for QEMU 1.0
2491 - Add preliminary PPC cpu driver
2492 - Add new API virDomain{Set, Get}BlockIoTune
2493 - block_resize: Define the new API
2494 - Add a public API to invoke suspend/resume on the host
2495 - various improvements for LXC containers
2496 - Define keepalive protocol and add virConnectIsAlive API
2497 - Add support for STP and VLAN filtering
2498 - many improvements and bug fixes
2500 * Tue Nov 8 2011 Daniel Veillard <veillard@redhat.com> - 0.9.7-1
2501 - esx: support vSphere 5.x
2502 - vbox: support for VirtualBox 4.1
2503 - Introduce the virDomainOpenGraphics API
2504 - Add AHCI support to qemu driver
2505 - snapshot: many improvements and 2 new APIs
2506 - api: Add public api for 'reset'
2507 - many improvements and bug fixes
2509 * Thu Sep 22 2011 Daniel Veillard <veillard@redhat.com> - 0.9.6-1
2510 - Fix the qemu reboot bug and a few others bug fixes
2512 * Tue Sep 20 2011 Daniel Veillard <veillard@redhat.com> - 0.9.5-1
2513 - many snapshot improvements (Eric Blake)
2514 - latency: Define new public API and structure (Osier Yang)
2515 - USB2 and various USB improvements (Marc-André Lureau)
2516 - storage: Add fs pool formatting (Osier Yang)
2517 - Add public API for getting migration speed (Jim Fehlig)
2518 - Add basic driver for Microsoft Hyper-V (Matthias Bolte)
2519 - many improvements and bug fixes
2521 * Wed Aug 3 2011 Daniel Veillard <veillard@redhat.com> - 0.9.4-1
2522 - network bandwidth QoS control
2523 - Add new API virDomainBlockPull*
2524 - save: new API to manipulate save file images
2525 - CPU bandwidth limits support
2526 - allow to send NMI and key event to guests
2527 - new API virDomainUndefineFlags
2528 - Implement code to attach to external QEMU instances
2529 - bios: Add support for SGA
2530 - various missing python binding
2531 - many improvements and bug fixes
2533 * Mon Jul 4 2011 Daniel Veillard <veillard@redhat.com> - 0.9.3-1
2534 - new API virDomainGetVcpupinInfo
2535 - Add TXT record support for virtual DNS service
2536 - Support reboots with the QEMU driver
2537 - New API virDomainGetControlInfo API
2538 - New API virNodeGetMemoryStats
2539 - New API virNodeGetCPUTime
2540 - New API for send-key
2541 - New API virDomainPinVcpuFlags
2542 - support multifunction PCI device
2543 - lxc: various improvements
2544 - many improvements and bug fixes
2546 * Mon Jun 6 2011 Daniel Veillard <veillard@redhat.com> - 0.9.2-1
2547 - Framework for lock manager plugins
2548 - API for network config change transactions
2549 - flags for setting memory parameters
2550 - virDomainGetState public API
2551 - qemu: allow blkstat/blkinfo calls during migration
2552 - Introduce migration v3 API
2553 - Defining the Screenshot public API
2554 - public API for NMI injection
2555 - Various improvements and bug fixes
2557 * Thu May 5 2011 Daniel Veillard <veillard@redhat.com> - 0.9.1-1
2558 - support various persistent domain updates
2559 - improvements on memory APIs
2560 - Add virDomainEventRebootNew
2561 - various improvements to libxl driver
2562 - Spice: support audio, images and stream compression
2563 - Various improvements and bug fixes
2565 * Mon Apr 4 2011 Daniel Veillard <veillard@redhat.com> - 0.9.0-1
2566 - Support cputune cpu usage tuning
2567 - Add public APIs for storage volume upload/download
2568 - Add public API for setting migration speed on the fly
2569 - Add libxenlight driver
2570 - qemu: support migration to fd
2571 - libvirt: add virDomain{Get,Set}BlkioParameters
2572 - setmem: introduce a new libvirt API (virDomainSetMemoryFlags)
2573 - Expose event loop implementation as a public API
2574 - Dump the debug buffer to libvirtd.log on fatal signal
2576 - Various improvements and bug fixes
2578 * Thu Feb 17 2011 Daniel Veillard <veillard@redhat.com> - 0.8.8-1
2579 - expose new API for sysinfo extraction
2580 - cgroup blkio weight support
2581 - smartcard device support
2582 - qemu: Support per-device boot ordering
2583 - Various improvements and bug fixes
2585 * Tue Jan 4 2011 Daniel Veillard <veillard@redhat.com> - 0.8.7-1
2586 - Preliminary support for VirtualBox 4.0
2588 - Add VMware Workstation and Player driver driver
2589 - Add network disk support
2590 - Various improvements and bug fixes
2592 * Tue Nov 30 2010 Daniel Veillard <veillard@redhat.com> - 0.8.6-1
2593 - Add support for iSCSI target auto-discovery
2594 - QED: Basic support for QED images
2595 - remote console support
2596 - support for SPICE graphics
2597 - sysinfo and VMBIOS support
2598 - virsh qemu-monitor-command
2599 - various improvements and bug fixes
2601 * Fri Oct 29 2010 Daniel Veillard <veillard@redhat.com> - 0.8.5-1
2602 - Enable JSON and netdev features in QEMU >= 0.13
2603 - framework for auditing integration
2604 - framework DTrace/SystemTap integration
2605 - Setting the number of vcpu at boot
2606 - Enable support for nested SVM
2607 - Virtio plan9fs filesystem QEMU
2608 - Memory parameter controls
2609 - various improvements and bug fixes
2611 * Fri Sep 10 2010 Daniel Veillard <veillard@redhat.com> - 0.8.4-1
2612 - big improvements to UML driver
2613 - various improvements and bug fixes
2615 * Wed Aug 4 2010 Daniel Veillard <veillard@redhat.com> - 0.8.3-1
2616 - esx: Support vSphere 4.1
2617 - Qemu arbitrary monitor commands
2618 - Qemu Monitor API entry point
2619 - various improvements and bug fixes
2621 * Mon Jul 5 2010 Daniel Veillard <veillard@redhat.com> - 0.8.2-1
2622 - phyp: adding support for IVM
2623 - libvirt: introduce domainCreateWithFlags API
2624 - add 802.1Qbh and 802.1Qbg switches handling
2625 - Support for VirtualBox version 3.2
2626 - Init script for handling guests on shutdown/boot
2627 - qemu: live migration with non-shared storage for kvm
2629 * Fri Apr 30 2010 Daniel Veillard <veillard@redhat.com> - 0.8.1-1
2630 - Starts dnsmasq from libvirtd with --dhcp-hostsfile
2631 - Add virDomainGetBlockInfo API to query disk sizing
2632 - a lot of bug fixes and cleanups
2634 * Mon Apr 12 2010 Daniel Veillard <veillard@redhat.com> - 0.8.0-1
2635 - Snapshotting support (QEmu/VBox/ESX)
2636 - Network filtering API
2638 - new APIs for domain events
2639 - Libvirt managed save API
2640 - timer subselection for domain clock
2642 - API to update guest CPU to host CPU
2643 - virDomainUpdateDeviceFlags new API
2644 - migrate max downtime API
2646 - and many bug fixes
2648 * Fri Mar 5 2010 Daniel Veillard <veillard@redhat.com> - 0.7.7-1
2650 - async job handling
2652 - computing baseline CPU
2653 - virDomain{Attach,Detach}DeviceFlags
2654 - assorted bug fixes and lots of cleanups
2656 * Wed Feb 3 2010 Daniel Veillard <veillard@redhat.com> - 0.7.6-1
2658 * Wed Dec 23 2009 Daniel Veillard <veillard@redhat.com> - 0.7.5-1
2659 - Add new API virDomainMemoryStats
2660 - Public API and domain extension for CPU flags
2661 - vbox: Add support for version 3.1
2662 - Support QEMU's virtual FAT block device driver
2665 * Fri Nov 20 2009 Daniel Veillard <veillard@redhat.com> - 0.7.3-1
2666 - udev node device backend
2667 - API to check object properties
2668 - better QEmu monitor processing
2669 - MAC address based port filtering for qemu
2670 - support IPv6 and multiple addresses per interfaces
2673 * Tue Sep 15 2009 Daniel Veillard <veillard@redhat.com> - 0.7.1-1
2674 - ESX, VBox driver updates
2676 - support for encrypted (qcow) volume
2677 - compressed save image format for Qemu/KVM
2678 - QEmu host PCI device hotplug support
2679 - configuration of huge pages in guests
2682 * Wed Aug 5 2009 Daniel Veillard <veillard@redhat.com> - 0.7.0-1
2683 - ESX, VBox3, Power Hypervisor drivers
2684 - new net filesystem glusterfs
2685 - Storage cloning for LVM and Disk backends
2686 - interface implementation based on netcf
2687 - Support cgroups in QEMU driver
2688 - QEmu hotplug NIC support
2691 * Fri Jul 3 2009 Daniel Veillard <veillard@redhat.com> - 0.6.5-1
2694 * Fri May 29 2009 Daniel Veillard <veillard@redhat.com> - 0.6.4-1
2698 * Fri Apr 24 2009 Daniel Veillard <veillard@redhat.com> - 0.6.3-1
2702 * Fri Apr 3 2009 Daniel Veillard <veillard@redhat.com> - 0.6.2-1
2705 * Wed Mar 4 2009 Daniel Veillard <veillard@redhat.com> - 0.6.1-1
2708 * Sat Jan 31 2009 Daniel Veillard <veillard@redhat.com> - 0.6.0-1
2711 * Tue Nov 25 2008 Daniel Veillard <veillard@redhat.com> - 0.5.0-1
2714 * Tue Sep 23 2008 Daniel Veillard <veillard@redhat.com> - 0.4.6-1
2717 * Mon Sep 8 2008 Daniel Veillard <veillard@redhat.com> - 0.4.5-1
2720 * Wed Jun 25 2008 Daniel Veillard <veillard@redhat.com> - 0.4.4-1
2722 - mostly a few bug fixes from 0.4.3
2724 * Thu Jun 12 2008 Daniel Veillard <veillard@redhat.com> - 0.4.3-1
2726 - lots of bug fixes and small improvements
2728 * Tue Apr 8 2008 Daniel Veillard <veillard@redhat.com> - 0.4.2-1
2730 - lots of bug fixes and small improvements
2732 * Mon Mar 3 2008 Daniel Veillard <veillard@redhat.com> - 0.4.1-1
2736 - lots of assorted improvements, bugfixes and cleanups
2737 - documentation and localization improvements
2739 * Tue Dec 18 2007 Daniel Veillard <veillard@redhat.com> - 0.4.0-1
2741 - SASL based authentication
2742 - PolicyKit authentication
2743 - improved NUMA and statistics support
2744 - lots of assorted improvements, bugfixes and cleanups
2745 - documentation and localization improvements
2747 * Sun Sep 30 2007 Daniel Veillard <veillard@redhat.com> - 0.3.3-1
2751 - lots of assorted improvements, bugfixes and cleanups
2752 - documentation and localization improvements
2754 * Tue Aug 21 2007 Daniel Veillard <veillard@redhat.com> - 0.3.2-1
2756 - API for domains migration
2757 - APIs for collecting statistics on disks and interfaces
2758 - lots of assorted bugfixes and cleanups
2759 - documentation and localization improvements
2761 * Tue Jul 24 2007 Daniel Veillard <veillard@redhat.com> - 0.3.1-1
2763 - localtime clock support
2764 - PS/2 and USB input devices
2765 - lots of assorted bugfixes and cleanups
2766 - documentation and localization improvements
2768 * Mon Jul 9 2007 Daniel Veillard <veillard@redhat.com> - 0.3.0-1
2770 - Secure remote access support
2771 - unification of daemons
2772 - lots of assorted bugfixes and cleanups
2773 - documentation and localization improvements
2775 * Fri Jun 8 2007 Daniel Veillard <veillard@redhat.com> - 0.2.3-1
2777 - lot of assorted bugfixes and cleanups
2778 - support for Xen-3.1
2781 * Tue Apr 17 2007 Daniel Veillard <veillard@redhat.com> - 0.2.2-1
2783 - lot of assorted bugfixes and cleanups
2784 - preparing for Xen-3.0.5
2786 * Thu Mar 22 2007 Jeremy Katz <katzj@redhat.com> - 0.2.1-2.fc7
2787 - don't require xen; we don't need the daemon and can control non-xen now
2788 - fix scriptlet error (need to own more directories)
2789 - update description text
2791 * Fri Mar 16 2007 Daniel Veillard <veillard@redhat.com> - 0.2.1-1
2793 - lot of bug and portability fixes
2794 - Add support for network autostart and init scripts
2795 - New API to detect the virtualization capabilities of a host
2796 - Documentation updates
2798 * Fri Feb 23 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-4.fc7
2799 - Fix loading of guest & network configs
2801 * Fri Feb 16 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-3.fc7
2802 - Disable kqemu support since its not in Fedora qemu binary
2803 - Fix for -vnc arg syntax change in 0.9.0 QEMU
2805 * Thu Feb 15 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-2.fc7
2806 - Fixed path to qemu daemon for autostart
2807 - Fixed generation of <features> block in XML
2808 - Pre-create config directory at startup
2810 * Wed Feb 14 2007 Daniel Veillard <veillard@redhat.com> 0.2.0-1.fc7
2811 - support for KVM and QEmu
2812 - support for network configuration
2815 * Mon Jan 22 2007 Daniel Veillard <veillard@redhat.com> 0.1.11-1.fc7
2816 - finish inactive Xen domains support
2818 - RelaxNG schemas for XML configs
2820 * Wed Dec 20 2006 Daniel Veillard <veillard@redhat.com> 0.1.10-1.fc7
2821 - support for inactive Xen domains
2822 - improved support for Xen display and vnc
2824 - localization updates
2826 * Thu Dec 7 2006 Jeremy Katz <katzj@redhat.com> - 0.1.9-2
2827 - rebuild against python 2.5
2829 * Wed Nov 29 2006 Daniel Veillard <veillard@redhat.com> 0.1.9-1
2830 - better error reporting
2831 - python bindings fixes and extensions
2832 - add support for shareable drives
2833 - add support for non-bridge style networking
2834 - hot plug device support
2835 - added support for inactive domains
2836 - API to dump core of domains
2837 - various bug fixes, cleanups and improvements
2838 - updated the localization
2840 * Tue Nov 7 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-3
2841 - it's pkgconfig not pgkconfig !
2843 * Mon Nov 6 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-2
2844 - fixing spec file, added %%dist, -devel requires pkgconfig and xen-devel
2845 - Resolves: rhbz#202320
2847 * Mon Oct 16 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-1
2848 - fix missing page size detection code for ia64
2849 - fix mlock size when getting domain info list from hypervisor
2850 - vcpu number initialization
2851 - don't label crashed domains as shut off
2852 - fix virsh man page
2853 - blktapdd support for alternate drivers like blktap
2854 - memory leak fixes (xend interface and XML parsing)
2856 - mlock/munlock size fixes
2858 * Fri Sep 22 2006 Daniel Veillard <veillard@redhat.com> 0.1.7-1
2859 - Fix bug when running against xen-3.0.3 hypercalls
2860 - Fix memory bug when getting vcpus info from xend
2862 * Fri Sep 22 2006 Daniel Veillard <veillard@redhat.com> 0.1.6-1
2863 - Support for localization
2864 - Support for new Xen-3.0.3 cdrom and disk configuration
2865 - Support for setting VNC port
2866 - Fix bug when running against xen-3.0.2 hypercalls
2867 - Fix reconnection problem when talking directly to http xend
2869 * Tue Sep 5 2006 Jeremy Katz <katzj@redhat.com> - 0.1.5-3
2870 - patch from danpb to support new-format cd devices for HVM guests
2872 * Tue Sep 5 2006 Daniel Veillard <veillard@redhat.com> 0.1.5-2
2873 - reactivating ia64 support
2875 * Tue Sep 5 2006 Daniel Veillard <veillard@redhat.com> 0.1.5-1
2878 - support for new hypervisor calls
2879 - early code for config files and defined domains
2881 * Mon Sep 4 2006 Daniel Berrange <berrange@redhat.com> - 0.1.4-5
2882 - add patch to address dom0_ops API breakage in Xen 3.0.3 tree
2884 * Mon Aug 28 2006 Jeremy Katz <katzj@redhat.com> - 0.1.4-4
2885 - add patch to support paravirt framebuffer in Xen
2887 * Mon Aug 21 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-3
2888 - another patch to fix network handling in non-HVM guests
2890 * Thu Aug 17 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-2
2891 - patch to fix virParseUUID()
2893 * Wed Aug 16 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-1
2894 - vCPUs and affinity support
2895 - more complete XML, console and boot options
2896 - specific features support
2897 - enforced read-only connections
2898 - various improvements, bug fixes
2900 * Wed Aug 2 2006 Jeremy Katz <katzj@redhat.com> - 0.1.3-6
2901 - add patch from pvetere to allow getting uuid from libvirt
2903 * Wed Aug 2 2006 Jeremy Katz <katzj@redhat.com> - 0.1.3-5
2906 * Thu Jul 27 2006 Jeremy Katz <katzj@redhat.com> - 0.1.3-4
2907 - don't BR xen, we just need xen-devel
2909 * Thu Jul 27 2006 Daniel Veillard <veillard@redhat.com> 0.1.3-3
2910 - need rebuild since libxenstore is now versionned
2912 * Mon Jul 24 2006 Mark McLoughlin <markmc@redhat.com> - 0.1.3-2
2913 - Add BuildRequires: xen-devel
2915 * Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 0.1.3-1.1
2918 * Tue Jul 11 2006 Daniel Veillard <veillard@redhat.com> 0.1.3-1
2919 - support for HVM Xen guests
2922 * Mon Jul 3 2006 Daniel Veillard <veillard@redhat.com> 0.1.2-1
2923 - added a proxy mechanism for read only access using httpu
2924 - fixed header includes paths
2926 * Wed Jun 21 2006 Daniel Veillard <veillard@redhat.com> 0.1.1-1
2927 - extend and cleanup the driver infrastructure and code
2929 - extend uuid support
2930 - bug fixes, buffer handling cleanups
2931 - support for new Xen hypervisor API
2932 - test driver for unit testing
2933 - virsh --conect argument
2935 * Mon Apr 10 2006 Daniel Veillard <veillard@redhat.com> 0.1.0-1
2937 - new APIs: for Node information and Reboot
2938 - virsh improvements and extensions
2939 - documentation updates and man page
2940 - enhancement and fixes of the XML description format
2942 * Tue Feb 28 2006 Daniel Veillard <veillard@redhat.com> 0.0.6-1
2943 - added error handling APIs
2945 - improve python bindings
2946 - augment documentation and regression tests
2948 * Thu Feb 23 2006 Daniel Veillard <veillard@redhat.com> 0.0.5-1
2949 - new domain creation API
2950 - new UUID based APIs
2951 - more tests, documentation, devhelp
2954 * Fri Feb 10 2006 Daniel Veillard <veillard@redhat.com> 0.0.4-1
2955 - fixes some problems in 0.0.3 due to the change of names
2957 * Wed Feb 8 2006 Daniel Veillard <veillard@redhat.com> 0.0.3-1
2958 - changed library name to libvirt from libvir, complete and test the python
2961 * Sun Jan 29 2006 Daniel Veillard <veillard@redhat.com> 0.0.2-1
2962 - upstream release of 0.0.2, use xend, save and restore added, python bindings
2965 * Wed Nov 2 2005 Daniel Veillard <veillard@redhat.com> 0.0.1-1