resetting taglevel=0
[libvirt.git] / libvirt.spec
1 # -*- rpm-spec -*-
2
3 %define mainstream_version 1.2.5
4 %define module_version_varname mainstream_version
5 %define taglevel 0
6 %define packager PlanetLab/OneLab
7
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
31
32 #turn this off even on f18 as an attempt to get back /proc/meminfo
33 %define _without_fuse           true
34
35 %define enable_autotools        1
36  
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')}
43 %endif
44
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}
49
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}
55
56 # Now turn off server build in certain cases
57
58 # RHEL-5 builds are client-only for s390, ppc
59 %if 0%{?rhel} == 5
60     %ifnarch %{ix86} x86_64 ia64
61         %define client_only        1
62     %endif
63 %endif
64
65 # Disable all server side drivers if client only build requested
66 %if %{client_only}
67     %define server_drivers     0
68 %else
69     %define server_drivers     1
70 %endif
71
72 # Always build with dlopen'd modules
73 %define with_driver_modules 1
74
75 # Now set the defaults for all the important features, independent
76 # of any particular OS
77
78 # First the daemon itself
79 %define with_libvirtd      0%{!?_without_libvirtd:%{server_drivers}}
80 %define with_avahi         0%{!?_without_avahi:%{server_drivers}}
81
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}}
89
90 %define with_qemu_tcg      %{with_qemu}
91 # Change if we ever provide qemu-kvm binaries on non-x86 hosts
92 %if 0%{?fedora} >= 18
93     %if 0%{?fedora} >= 20
94         %define qemu_kvm_arches    %{ix86} x86_64 ppc64 s390x %{arm}
95     %else
96         %define qemu_kvm_arches    %{ix86} x86_64 ppc64 s390x
97     %endif
98 %else
99     %define qemu_kvm_arches    %{ix86} x86_64
100 %endif
101
102 %ifarch %{qemu_kvm_arches}
103     %define with_qemu_kvm      %{with_qemu}
104 %else
105     %define with_qemu_kvm      0
106 %endif
107
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
117
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}}
128 %else
129     %define with_storage_rbd      0
130 %endif
131 %if 0%{?fedora} >= 17
132     %define with_storage_sheepdog 0%{!?_without_storage_sheepdog:%{server_drivers}}
133 %else
134     %define with_storage_sheepdog 0
135 %endif
136 %if 0%{?fedora} >= 19 || 0%{?rhel} >= 6
137     %define with_storage_gluster 0%{!?_without_storage_gluster:%{server_drivers}}
138 %else
139     %define with_storage_gluster 0
140 %endif
141 %define with_numactl          0%{!?_without_numactl:%{server_drivers}}
142 %define with_selinux          0%{!?_without_selinux:%{server_drivers}}
143
144 # Just hardcode to off, since few people ever have apparmor RPMs installed
145 %define with_apparmor         0%{!?_without_apparmor:0}
146
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
170
171 # Non-server/HV driver defaults which are always enabled
172 %define with_sasl          0%{!?_without_sasl:1}
173
174
175 # Finally set the OS / architecture specific special cases
176
177 # Xen is available only on i386 x86_64 ia64
178 %ifnarch %{ix86} x86_64 ia64
179     %define with_xen 0
180     %define with_libxl 0
181 %endif
182
183 # vbox is available only on i386 x86_64
184 %ifnarch %{ix86} x86_64
185     %define with_vbox 0
186 %endif
187
188 # Numactl is not available on s390[x] and ARM
189 %ifarch s390 s390x %{arm}
190     %define with_numactl 0
191 %endif
192
193 # libgfapi is built only on x86_64 on rhel
194 %ifnarch x86_64
195     %if 0%{?rhel} >= 6
196         %define with_storage_gluster 0
197     %endif
198 %endif
199
200 # RHEL doesn't ship OpenVZ, VBox, UML, PowerHypervisor,
201 # VMWare, libxenserver (xenapi), libxenlight (Xen 4.1 and newer),
202 # or HyperV.
203 %if 0%{?rhel}
204     %define with_openvz 0
205     %define with_vbox 0
206     %define with_uml 0
207     %define with_phyp 0
208     %define with_vmware 0
209     %define with_xenapi 0
210     %define with_libxl 0
211     %define with_hyperv 0
212     %define with_parallels 0
213 %endif
214
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
221 %endif
222
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
226 %endif
227
228 # RHEL-5 has restricted QEMU to x86_64 only and is too old for LXC
229 %if 0%{?rhel} == 5
230     %define with_qemu_tcg 0
231     %ifnarch x86_64
232         %define with_qemu 0
233         %define with_qemu_kvm 0
234     %endif
235     %define with_lxc 0
236 %endif
237
238 # RHEL-6 has restricted QEMU to x86_64 only, stopped including Xen
239 # on all archs. Other archs all have LXC available though
240 %if 0%{?rhel} >= 6
241     %define with_qemu_tcg 0
242     %ifnarch x86_64
243         %define with_qemu 0
244         %define with_qemu_kvm 0
245     %endif
246     %define with_xen 0
247 %endif
248
249 # Fedora doesn't have any QEMU on ppc64 until FC16 - only ppc
250 %if 0%{?fedora} && 0%{?fedora} < 16
251     %ifarch ppc64
252         %define with_qemu 0
253     %endif
254 %endif
255
256 # Fedora doesn't have new enough Xen for libxl until F18
257 %if 0%{?fedora} && 0%{?fedora} < 18
258     %define with_libxl 0
259 %endif
260
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}
264 %endif
265
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}
269 %endif
270
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}
274 %endif
275
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}}
279 %endif
280
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}}
284 %else
285     %define with_hal       0%{!?_without_hal:%{server_drivers}}
286 %endif
287
288 # interface requires netcf
289 %if ! 0%{?with_netcf}
290     %define with_interface     0
291 %endif
292
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}}
296 %endif
297
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}}
302 %endif
303 %if 0%{?rhel} == 6
304     %ifarch %{ix86} x86_64
305         %define with_sanlock 0%{!?_without_sanlock:%{server_drivers}}
306     %endif
307 %endif
308 %if 0%{?rhel} >= 7
309     %ifarch x86_64
310         %define with_sanlock 0%{!?_without_sanlock:%{server_drivers}}
311     %endif
312 %endif
313
314 # Enable libssh2 transport for new enough distros
315 %if 0%{?fedora} >= 17
316     %define with_libssh2 0%{!?_without_libssh2:1}
317 %endif
318
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}
322 %endif
323
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
329     %define with_qemu 0
330     %define with_lxc 0
331     %define with_uml 0
332     %define with_hal 0
333     %define with_udev 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
342 %endif
343
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}}
349
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}}
355         %endif
356     %endif
357 %endif
358
359 %if %{with_macvtap}
360     %define with_libnl 1
361 %endif
362
363 %if 0%{?fedora} >= 11 || 0%{?rhel} >= 5
364     %define with_audit    0%{!?_without_audit:1}
365 %endif
366
367 %if 0%{?fedora} >= 13 || 0%{?rhel} >= 6
368     %define with_dtrace 1
369 %endif
370
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}
375     %endif
376 %endif
377
378 %if %{with_udev} || %{with_hal}
379     %define with_nodedev 1
380 %else
381     %define with_nodedev 0
382 %endif
383
384 %if %{with_storage_fs} || %{with_storage_mpath} || %{with_storage_iscsi} || %{with_storage_lvm} || %{with_storage_disk}
385     %define with_storage 1
386 %else
387     %define with_storage 0
388 %endif
389
390
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
395 %else
396     %define qemu_user  root
397     %define qemu_group  root
398 %endif
399
400
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
403 %if 0%{?rhel} == 5
404     %define with_rhel5  1
405 %else
406     %define with_rhel5  0
407 %endif
408
409 %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
410     %define with_systemd_macros 1
411 %else
412     %define with_systemd_macros 0
413 %endif
414
415
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
419 %if 0%{?rhel}
420     %define enable_werror --enable-werror
421 %endif
422
423
424 Summary: Library providing a simple virtualization API
425 Name: libvirt
426 Version: %{mainstream_version}
427 Release: %{taglevel}
428 License: LGPLv2+
429 Group: Development/Libraries
430 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
431 URL: http://libvirt.org/
432
433 %if %(echo %{version} | grep -o \\. | wc -l) == 3
434     %define mainturl stable_updates/
435 %endif
436 Source: http://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.gz
437
438 %if %{with_libvirtd}
439 Requires: libvirt-daemon = %{version}-%{release}
440     %if %{with_network}
441 Requires: libvirt-daemon-config-network = %{version}-%{release}
442     %endif
443     %if %{with_nwfilter}
444 Requires: libvirt-daemon-config-nwfilter = %{version}-%{release}
445     %endif
446     %if %{with_driver_modules}
447         %if %{with_libxl}
448 Requires: libvirt-daemon-driver-libxl = %{version}-%{release}
449         %endif
450         %if %{with_lxc}
451 Requires: libvirt-daemon-driver-lxc = %{version}-%{release}
452         %endif
453         %if %{with_qemu}
454 Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
455         %endif
456         %if %{with_uml}
457 Requires: libvirt-daemon-driver-uml = %{version}-%{release}
458         %endif
459         %if %{with_xen}
460 Requires: libvirt-daemon-driver-xen = %{version}-%{release}
461         %endif
462         %if %{with_vbox}
463 Requires: libvirt-daemon-driver-vbox = %{version}-%{release}
464         %endif
465         %if %{with_nwfilter}
466 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
467         %endif
468
469         %if %{with_interface}
470 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
471         %endif
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}
476     %endif
477 %endif
478 Requires: libvirt-client = %{version}-%{release}
479
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
488 %endif
489 BuildRequires: python
490 %if %{with_systemd}
491 BuildRequires: systemd-units
492 %endif
493 %if %{with_systemd_daemon}
494 BuildRequires: systemd-devel
495 %endif
496 %if %{with_xen} || %{with_libxl}
497 BuildRequires: xen-devel
498 %endif
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
508 %endif
509 BuildRequires: gnutls-devel
510 BuildRequires: libattr-devel
511 %if %{with_libvirtd}
512 # For pool-build probing for existing pools
513 BuildRequires: libblkid-devel >= 2.17
514 %endif
515 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
516 # for augparse, optionally used in testing
517 BuildRequires: augeas
518 %endif
519 %if %{with_hal}
520 BuildRequires: hal-devel
521 %endif
522 %if %{with_udev}
523     %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
524 BuildRequires: systemd-devel >= 185
525     %else
526 BuildRequires: libudev-devel >= 145
527     %endif
528 BuildRequires: libpciaccess-devel >= 0.10.9
529 %endif
530 %if %{with_yajl}
531 BuildRequires: yajl-devel
532 %endif
533 %if %{with_sanlock}
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
538     %else
539 BuildRequires: sanlock-devel >= 1.8
540     %endif
541 %endif
542 %if %{with_libpcap}
543 BuildRequires: libpcap-devel
544 %endif
545 %if %{with_libnl}
546     %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
547 BuildRequires: libnl3-devel
548     %else
549 BuildRequires: libnl-devel
550     %endif
551 %endif
552 %if %{with_avahi}
553 BuildRequires: avahi-devel
554 %endif
555 %if %{with_selinux}
556 BuildRequires: libselinux-devel
557 %endif
558 %if %{with_apparmor}
559 BuildRequires: libapparmor-devel
560 %endif
561 %if %{with_network}
562 BuildRequires: dnsmasq >= 2.41
563 BuildRequires: iptables
564 BuildRequires: iptables-ipv6
565 BuildRequires: radvd
566 %endif
567 %if %{with_nwfilter}
568 BuildRequires: ebtables
569 %endif
570 BuildRequires: module-init-tools
571 %if %{with_sasl}
572 BuildRequires: cyrus-sasl-devel
573 %endif
574 %if %{with_polkit}
575     %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
576 BuildRequires: polkit-devel >= 0.93
577     %else
578 BuildRequires: PolicyKit-devel >= 0.6
579     %endif
580 %endif
581 %if %{with_storage_fs}
582 # For mount/umount in FS driver
583 BuildRequires: util-linux
584 %endif
585 %if %{with_qemu}
586 # From QEMU RPMs
587 BuildRequires: /usr/bin/qemu-img
588 %else
589     %if %{with_xen}
590 # From Xen RPMs
591 BuildRequires: /usr/sbin/qcow-create
592     %endif
593 %endif
594 %if %{with_storage_lvm}
595 # For LVM drivers
596 BuildRequires: lvm2
597 %endif
598 %if %{with_storage_iscsi}
599 # For ISCSI driver
600 BuildRequires: iscsi-initiator-utils
601 %endif
602 %if %{with_storage_disk}
603 # For disk driver
604 BuildRequires: parted-devel
605     %if 0%{?rhel} == 5
606 # Broken RHEL-5 parted RPM is missing a dep
607 BuildRequires: e2fsprogs-devel
608     %endif
609 %endif
610 %if %{with_storage_mpath} || %{with_storage_disk}
611 # For Multipath support
612     %if 0%{?rhel} == 5
613 # Broken RHEL-5 packaging has header files in main RPM :-(
614 BuildRequires: device-mapper
615     %else
616 BuildRequires: device-mapper-devel
617     %endif
618 %endif
619 %if %{with_storage_rbd}
620 BuildRequires: ceph-devel
621 %endif
622 %if %{with_storage_gluster}
623     %if 0%{?rhel} >= 6
624 BuildRequires: glusterfs-api-devel >= 3.4.0
625 BuildRequires: glusterfs-devel >= 3.4.0
626     %else
627 BuildRequires: glusterfs-api-devel >= 3.4.1
628 BuildRequires: glusterfs-devel >= 3.4.1
629     %endif
630 %endif
631 %if %{with_numactl}
632 # For QEMU/LXC numa info
633 BuildRequires: numactl-devel
634 %endif
635 %if %{with_capng}
636 BuildRequires: libcap-ng-devel >= 0.5.0
637 %endif
638 %if %{with_fuse}
639 BuildRequires: fuse-devel >= 2.8.6
640 %endif
641 %if %{with_phyp} || %{with_libssh2}
642 BuildRequires: libssh2-devel >= 1.3.0
643 %endif
644
645 %if %{with_netcf}
646     %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
647 BuildRequires: netcf-devel >= 0.2.2
648     %else
649         %if 0%{?fedora} >= 16 || 0%{?rhel} >= 6
650 BuildRequires: netcf-devel >= 0.1.8
651         %else
652 BuildRequires: netcf-devel >= 0.1.4
653         %endif
654     %endif
655 %endif
656 %if %{with_esx}
657     %if 0%{?fedora} >= 9 || 0%{?rhel} >= 6
658 BuildRequires: libcurl-devel
659     %else
660 BuildRequires: curl-devel
661     %endif
662 %endif
663 %if %{with_hyperv}
664 BuildRequires: libwsman-devel >= 2.2.3
665 %endif
666 %if %{with_audit}
667 BuildRequires: audit-libs-devel
668 %endif
669 %if %{with_dtrace}
670 # we need /usr/sbin/dtrace
671 BuildRequires: systemtap-sdt-devel
672 %endif
673
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
679 %endif
680
681 %if %{with_firewalld}
682 # Communication with the firewall daemon uses DBus
683 BuildRequires: dbus-devel
684 %endif
685
686 # Fedora build root suckage
687 BuildRequires: gawk
688
689 # For storage wiping with different algorithms
690 BuildRequires: scrub
691
692 %if %{with_numad}
693 BuildRequires: numad
694 %endif
695
696 %if %{with_wireshark}
697 BuildRequires: wireshark-devel
698 %endif
699
700 Provides: bundled(gnulib)
701
702 %description
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.
706
707 %package docs
708 Summary: API reference and website documentation
709 Group: Development/Libraries
710
711 %description docs
712 Includes the API reference for the libvirt C library, and a complete
713 copy of the libvirt.org website documentation.
714
715 %if %{with_libvirtd}
716 %package daemon
717 Summary: Server side daemon and supporting files for libvirt library
718 Group: Development/Libraries
719
720 # All runtime requirements for the libvirt package (runtime requrements
721 # for subpackages are listed later in those subpackages)
722
723 # The client side, i.e. shared libs and virsh are in a subpackage
724 Requires: %{name}-client = %{version}-%{release}
725
726 # for modprobe of pci devices
727 Requires: module-init-tools
728 # for /sbin/ip & /sbin/tc
729 Requires: iproute
730     %if %{with_avahi}
731         %if 0%{?rhel} == 5
732 Requires: avahi
733         %else
734 Requires: avahi-libs
735         %endif
736     %endif
737     %if %{with_polkit}
738         %if 0%{?fedora} >= 12 || 0%{?rhel} >=6
739 Requires: polkit >= 0.93
740         %else
741 Requires: PolicyKit >= 0.6
742         %endif
743     %endif
744     %if %{with_cgconfig}
745 Requires: libcgroup
746     %endif
747     %ifarch %{ix86} x86_64 ia64
748 # For virConnectGetSysinfo
749 Requires: dmidecode
750     %endif
751 # For service management
752     %if %{with_systemd}
753 Requires(post): systemd-units
754 Requires(post): systemd-sysv
755 Requires(preun): systemd-units
756 Requires(postun): systemd-units
757     %endif
758     %if %{with_numad}
759 Requires: numad
760     %endif
761 # libvirtd depends on 'messagebus' service
762 Requires: dbus
763 # For uid creation during pre
764 Requires(pre): shadow-utils
765
766 %description daemon
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.
770
771     %if %{with_network}
772 %package daemon-config-network
773 Summary: Default configuration files for the libvirtd daemon
774 Group: Development/Libraries
775
776 Requires: libvirt-daemon = %{version}-%{release}
777         %if %{with_driver_modules}
778 Requires: libvirt-daemon-driver-network = %{version}-%{release}
779         %endif
780
781 %description daemon-config-network
782 Default configuration files for setting up NAT based networking
783     %endif
784
785     %if %{with_nwfilter}
786 %package daemon-config-nwfilter
787 Summary: Network filter configuration files for the libvirtd daemon
788 Group: Development/Libraries
789
790 Requires: libvirt-daemon = %{version}-%{release}
791         %if %{with_driver_modules}
792 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
793         %endif
794
795 %description daemon-config-nwfilter
796 Network filter configuration files for cleaning guest traffic
797     %endif
798
799     %if %{with_driver_modules}
800         %if %{with_network}
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
806 Requires: radvd
807 Requires: iptables
808 Requires: iptables-ipv6
809
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
813 bridge capabilities.
814         %endif
815
816
817         %if %{with_nwfilter}
818 %package daemon-driver-nwfilter
819 Summary: Nwfilter driver plugin for the libvirtd daemon
820 Group: Development/Libraries
821 Requires: libvirt-daemon = %{version}-%{release}
822 Requires: iptables
823 Requires: iptables-ipv6
824 Requires: ebtables
825
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
830         %endif
831
832
833         %if %{with_nodedev}
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
839             %if %{with_hal}
840 Requires: hal
841             %endif
842             %if %{with_udev}
843                 %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
844 Requires: systemd >= 185
845                 %else
846 Requires: udev >= 145
847                 %endif
848             %endif
849
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
853 capabilities.
854         %endif
855
856
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
864             %endif
865
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
869 netcf library
870         %endif
871
872
873 %package daemon-driver-secret
874 Summary: Secret driver plugin for the libvirtd daemon
875 Group: Development/Libraries
876 Requires: libvirt-daemon = %{version}-%{release}
877
878 %description daemon-driver-secret
879 The secret driver plugin for the libvirtd daemon, providing
880 an implementation of the secret key APIs.
881
882
883         %if %{with_storage}
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}
889 Requires: nfs-utils
890 # For mkfs
891 Requires: util-linux
892 # For glusterfs
893                 %if 0%{?fedora} >= 11
894 Requires: glusterfs-client >= 2.0.1
895                 %endif
896             %endif
897             %if %{with_storage_lvm}
898 # For LVM drivers
899 Requires: lvm2
900             %endif
901             %if %{with_storage_iscsi}
902 # For ISCSI driver
903 Requires: iscsi-initiator-utils
904             %endif
905             %if %{with_storage_disk}
906 # For disk driver
907 Requires: parted
908 Requires: device-mapper
909             %endif
910             %if %{with_storage_mpath}
911 # For multipath support
912 Requires: device-mapper
913             %endif
914             %if %{with_storage_sheepdog}
915 # For Sheepdog support
916 Requires: sheepdog
917             %endif
918             %if %{with_qemu}
919 # From QEMU RPMs
920 Requires: /usr/bin/qemu-img
921             %else
922                 %if %{with_xen}
923 # From Xen RPMs
924 Requires: /usr/sbin/qcow-create
925                 %endif
926             %endif
927
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,
931 parted and more.
932         %endif
933
934
935         %if %{with_qemu}
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
944 Requires: gzip
945 Requires: bzip2
946 Requires: lzop
947 Requires: xz
948
949 %description daemon-driver-qemu
950 The qemu driver plugin for the libvirtd daemon, providing
951 an implementation of the hypervisor driver APIs using
952 QEMU
953         %endif
954
955
956         %if %{with_lxc}
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}
963
964 %description daemon-driver-lxc
965 The LXC driver plugin for the libvirtd daemon, providing
966 an implementation of the hypervisor driver APIs using
967 the Linux kernel
968         %endif
969
970
971         %if %{with_uml}
972 %package daemon-driver-uml
973 Summary: Uml driver plugin for the libvirtd daemon
974 Group: Development/Libraries
975 Requires: libvirt-daemon = %{version}-%{release}
976
977 %description daemon-driver-uml
978 The UML driver plugin for the libvirtd daemon, providing
979 an implementation of the hypervisor driver APIs using
980 User Mode Linux
981         %endif
982
983
984         %if %{with_xen}
985 %package daemon-driver-xen
986 Summary: Xen driver plugin for the libvirtd daemon
987 Group: Development/Libraries
988 Requires: libvirt-daemon = %{version}-%{release}
989
990 %description daemon-driver-xen
991 The Xen driver plugin for the libvirtd daemon, providing
992 an implementation of the hypervisor driver APIs using
993 Xen
994         %endif
995
996
997         %if %{with_vbox}
998 %package daemon-driver-vbox
999 Summary: VirtualBox driver plugin for the libvirtd daemon
1000 Group: Development/Libraries
1001 Requires: libvirt-daemon = %{version}-%{release}
1002
1003 %description daemon-driver-vbox
1004 The vbox driver plugin for the libvirtd daemon, providing
1005 an implementation of the hypervisor driver APIs using
1006 VirtualBox
1007         %endif
1008
1009
1010         %if %{with_libxl}
1011 %package daemon-driver-libxl
1012 Summary: Libxl driver plugin for the libvirtd daemon
1013 Group: Development/Libraries
1014 Requires: libvirt-daemon = %{version}-%{release}
1015
1016 %description daemon-driver-libxl
1017 The Libxl driver plugin for the libvirtd daemon, providing
1018 an implementation of the hypervisor driver APIs using
1019 Libxl
1020         %endif
1021     %endif # %{with_driver_modules}
1022
1023
1024
1025     %if %{with_qemu_tcg}
1026 %package daemon-qemu
1027 Summary: Server side daemon & driver required to run QEMU guests
1028 Group: Development/Libraries
1029
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}
1039         %endif
1040 Requires: qemu
1041
1042 %description daemon-qemu
1043 Server side daemon and driver required to manage the virtualization
1044 capabilities of the QEMU TCG emulators
1045     %endif
1046
1047
1048     %if %{with_qemu_kvm}
1049 %package daemon-kvm
1050 Summary: Server side daemon & driver required to run KVM guests
1051 Group: Development/Libraries
1052
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}
1062         %endif
1063 Requires: qemu-kvm
1064
1065 %description daemon-kvm
1066 Server side daemon and driver required to manage the virtualization
1067 capabilities of the KVM hypervisor
1068     %endif
1069
1070
1071     %if %{with_lxc}
1072 %package daemon-lxc
1073 Summary: Server side daemon & driver required to run LXC guests
1074 Group: Development/Libraries
1075
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}
1085         %endif
1086
1087 %description daemon-lxc
1088 Server side daemon and driver required to manage the virtualization
1089 capabilities of LXC
1090     %endif
1091
1092
1093     %if %{with_uml}
1094 %package daemon-uml
1095 Summary: Server side daemon & driver required to run UML guests
1096 Group: Development/Libraries
1097
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}
1107         %endif
1108 # There are no UML kernel RPMs in Fedora/RHEL to depend on.
1109
1110 %description daemon-uml
1111 Server side daemon and driver required to manage the virtualization
1112 capabilities of UML
1113     %endif
1114
1115
1116     %if %{with_xen} || %{with_libxl}
1117 %package daemon-xen
1118 Summary: Server side daemon & driver required to run XEN guests
1119 Group: Development/Libraries
1120
1121 Requires: libvirt-daemon = %{version}-%{release}
1122         %if %{with_driver_modules}
1123             %if %{with_xen}
1124 Requires: libvirt-daemon-driver-xen = %{version}-%{release}
1125             %endif
1126             %if %{with_libxl}
1127 Requires: libvirt-daemon-driver-libxl = %{version}-%{release}
1128             %endif
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}
1135         %endif
1136 Requires: xen
1137
1138 %description daemon-xen
1139 Server side daemon and driver required to manage the virtualization
1140 capabilities of XEN
1141     %endif
1142
1143     %if %{with_vbox}
1144 %package daemon-vbox
1145 Summary: Server side daemon & driver required to run VirtualBox guests
1146 Group: Development/Libraries
1147
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}
1157         %endif
1158
1159 %description daemon-vbox
1160 Server side daemon and driver required to manage the virtualization
1161 capabilities of VirtualBox
1162     %endif
1163 %endif # %{with_libvirtd}
1164
1165 %package client
1166 Summary: Client side library and utilities of the libvirt library
1167 Group: Development/Libraries
1168 Requires: readline
1169 Requires: ncurses
1170 # So remote clients can access libvirt over SSH tunnel
1171 # (client invokes 'nc' against the UNIX socket on the server)
1172 Requires: nc
1173 # Needed by /usr/libexec/libvirt-guests.sh script.
1174 Requires: gettext
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.
1179 Requires: pm-utils
1180 %endif
1181 %if %{with_sasl}
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
1186 %endif
1187
1188 %description client
1189 Shared libraries and client binaries needed to access to the
1190 virtualization capabilities of recent versions of Linux (and other OSes).
1191
1192 %if %{with_wireshark}
1193 %package wireshark
1194 Summary: Wireshark dissector plugin for libvirt RPC transactions
1195 Group: Development/Libraries
1196 Requires: wireshark
1197 Requires: %{name}-client = %{version}-%{release}
1198
1199 %description wireshark
1200 Wireshark dissector plugin for better analysis of libvirt RPC traffic.
1201 %endif
1202
1203 %if %{with_lxc}
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}
1208
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
1212 namespaces.
1213 %endif
1214
1215 %package devel
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}
1220 Requires: pkgconfig
1221
1222 %description devel
1223 Include header files & development libraries for the libvirt C library.
1224
1225 %if %{with_sanlock}
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
1231     %else
1232 Requires: sanlock >= 1.8
1233     %endif
1234 #for virt-sanlock-cleanup require augeas
1235 Requires: augeas
1236 Requires: %{name}-daemon = %{version}-%{release}
1237 Requires: %{name}-client = %{version}-%{release}
1238
1239 %description lock-sanlock
1240 Includes the Sanlock lock manager plugin for the QEMU
1241 driver
1242 %endif
1243
1244 %prep
1245 %setup -q
1246
1247 %build
1248 %if ! %{with_xen}
1249     %define _without_xen --without-xen
1250 %endif
1251
1252 %if ! %{with_qemu}
1253     %define _without_qemu --without-qemu
1254 %endif
1255
1256 %if ! %{with_openvz}
1257     %define _without_openvz --without-openvz
1258 %endif
1259
1260 %if ! %{with_lxc}
1261     %define _without_lxc --without-lxc
1262 %endif
1263
1264 %if ! %{with_vbox}
1265     %define _without_vbox --without-vbox
1266 %endif
1267
1268 %if ! %{with_xenapi}
1269     %define _without_xenapi --without-xenapi
1270 %endif
1271
1272 %if ! %{with_libxl}
1273     %define _without_libxl --without-libxl
1274 %endif
1275
1276 %if ! %{with_sasl}
1277     %define _without_sasl --without-sasl
1278 %endif
1279
1280 %if ! %{with_avahi}
1281     %define _without_avahi --without-avahi
1282 %endif
1283
1284 %if ! %{with_phyp}
1285     %define _without_phyp --without-phyp
1286 %endif
1287
1288 %if ! %{with_esx}
1289     %define _without_esx --without-esx
1290 %endif
1291
1292 %if ! %{with_hyperv}
1293     %define _without_hyperv --without-hyperv
1294 %endif
1295
1296 %if ! %{with_vmware}
1297     %define _without_vmware --without-vmware
1298 %endif
1299
1300 %if ! %{with_parallels}
1301     %define _without_parallels --without-parallels
1302 %endif
1303
1304 %if ! %{with_polkit}
1305     %define _without_polkit --without-polkit
1306 %endif
1307
1308 %if ! %{with_libvirtd}
1309     %define _without_libvirtd --without-libvirtd
1310 %endif
1311
1312 %if ! %{with_uml}
1313     %define _without_uml --without-uml
1314 %endif
1315
1316 %if %{with_rhel5}
1317     %define _with_rhel5_api --with-rhel5-api
1318 %endif
1319
1320 %if ! %{with_interface}
1321     %define _without_interface --without-interface
1322 %endif
1323
1324 %if ! %{with_network}
1325     %define _without_network --without-network
1326 %endif
1327
1328 %if ! %{with_storage_fs}
1329     %define _without_storage_fs --without-storage-fs
1330 %endif
1331
1332 %if ! %{with_storage_lvm}
1333     %define _without_storage_lvm --without-storage-lvm
1334 %endif
1335
1336 %if ! %{with_storage_iscsi}
1337     %define _without_storage_iscsi --without-storage-iscsi
1338 %endif
1339
1340 %if ! %{with_storage_disk}
1341     %define _without_storage_disk --without-storage-disk
1342 %endif
1343
1344 %if ! %{with_storage_mpath}
1345     %define _without_storage_mpath --without-storage-mpath
1346 %endif
1347
1348 %if ! %{with_storage_rbd}
1349     %define _without_storage_rbd --without-storage-rbd
1350 %endif
1351
1352 %if ! %{with_storage_sheepdog}
1353     %define _without_storage_sheepdog --without-storage-sheepdog
1354 %endif
1355
1356 %if ! %{with_storage_gluster}
1357     %define _without_storage_gluster --without-storage-gluster
1358 %endif
1359
1360 %if ! %{with_numactl}
1361     %define _without_numactl --without-numactl
1362 %endif
1363
1364 %if ! %{with_numad}
1365     %define _without_numad --without-numad
1366 %endif
1367
1368 %if ! %{with_capng}
1369     %define _without_capng --without-capng
1370 %endif
1371
1372 %if ! %{with_fuse}
1373     %define _without_fuse --without-fuse
1374 %endif
1375
1376 %if ! %{with_netcf}
1377     %define _without_netcf --without-netcf
1378 %endif
1379
1380 %if ! %{with_selinux}
1381     %define _without_selinux --without-selinux
1382 %endif
1383
1384 %if ! %{with_apparmor}
1385     %define _without_apparmor --without-apparmor
1386 %endif
1387
1388 %if ! %{with_hal}
1389     %define _without_hal --without-hal
1390 %endif
1391
1392 %if ! %{with_udev}
1393     %define _without_udev --without-udev
1394 %endif
1395
1396 %if ! %{with_yajl}
1397     %define _without_yajl --without-yajl
1398 %endif
1399
1400 %if ! %{with_sanlock}
1401     %define _without_sanlock --without-sanlock
1402 %endif
1403
1404 %if ! %{with_libpcap}
1405     %define _without_libpcap --without-libpcap
1406 %endif
1407
1408 %if ! %{with_macvtap}
1409     %define _without_macvtap --without-macvtap
1410 %endif
1411
1412 %if ! %{with_audit}
1413     %define _without_audit --without-audit
1414 %endif
1415
1416 %if ! %{with_dtrace}
1417     %define _without_dtrace --without-dtrace
1418 %endif
1419
1420 %if ! %{with_driver_modules}
1421     %define _without_driver_modules --without-driver-modules
1422 %endif
1423
1424 %if %{with_firewalld}
1425     %define _with_firewalld --with-firewalld
1426 %endif
1427
1428 %if ! %{with_wireshark}
1429     %define _without_wireshark --without-wireshark-dissector
1430 %endif
1431
1432 %if ! %{with_systemd_daemon}
1433     %define _without_systemd_daemon --without-systemd-daemon
1434 %endif
1435
1436 %if ! %{with_pm_utils}
1437     %define _without_pm_utils --without-pm-utils
1438 %endif
1439
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}"
1445
1446 %if %{with_systemd}
1447     %define init_scripts --with-init_script=systemd
1448 %else
1449     %define init_scripts --with-init_script=redhat
1450 %endif
1451
1452 %if %{with_selinux}
1453     %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
1454         %define with_selinux_mount --with-selinux-mount="/sys/fs/selinux"
1455     %else
1456         %define with_selinux_mount --with-selinux-mount="/selinux"
1457     %endif
1458 %endif
1459
1460 # place macros above and build commands below this comment
1461
1462 %if 0%{?enable_autotools}
1463  autoreconf -if
1464 %endif
1465
1466 rm -f po/stamp-po
1467 %configure %{?_without_xen} \
1468            %{?_without_qemu} \
1469            %{?_without_openvz} \
1470            %{?_without_lxc} \
1471            %{?_without_vbox} \
1472            %{?_without_libxl} \
1473            %{?_without_xenapi} \
1474            %{?_without_sasl} \
1475            %{?_without_avahi} \
1476            %{?_without_polkit} \
1477            %{?_without_libvirtd} \
1478            %{?_without_uml} \
1479            %{?_without_phyp} \
1480            %{?_without_esx} \
1481            %{?_without_hyperv} \
1482            %{?_without_vmware} \
1483            %{?_without_parallels} \
1484            --without-bhyve \
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} \
1499            %{?_without_fuse} \
1500            %{?_without_netcf} \
1501            %{?_without_selinux} \
1502            %{?_with_selinux_mount} \
1503            %{?_without_apparmor} \
1504            %{?_without_hal} \
1505            %{?_without_udev} \
1506            %{?_without_yajl} \
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} \
1517            %{with_packager} \
1518            %{with_packager_version} \
1519            --with-qemu-user=%{qemu_user} \
1520            --with-qemu-group=%{qemu_group} \
1521            %{?enable_werror} \
1522            --enable-expensive-tests \
1523            %{init_scripts}
1524 make %{?_smp_mflags}
1525 gzip -9 ChangeLog
1526
1527 %install
1528 rm -fr %{buildroot}
1529
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}
1534
1535 for i in object-events dominfo domsuspend hellolibvirt openauth xml/nwfilter systemtap dommigrate
1536 do
1537   (cd examples/$i ; make clean ; rm -rf .deps .libs Makefile Makefile.in)
1538 done
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
1546 %endif
1547 %if %{with_wireshark}
1548 rm -f $RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/*/libvirt.la
1549 %endif
1550
1551 %if %{with_network}
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
1563 %else
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
1566 %endif
1567 %if ! %{with_qemu}
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
1570 %endif
1571 %find_lang %{name}
1572
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
1576 %endif
1577
1578 %if ! %{with_lxc}
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
1581 %endif
1582
1583 %if ! %{with_qemu}
1584 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf
1585 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.qemu
1586 %endif
1587 %if ! %{with_lxc}
1588 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/lxc.conf
1589 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.lxc
1590 %endif
1591 %if ! %{with_uml}
1592 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.uml
1593 %endif
1594
1595 # Copied into libvirt-docs subpackage eventually
1596 mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{version} libvirt-docs
1597
1598 %if %{with_dtrace}
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
1604     %endif
1605 %endif
1606
1607 %if 0%{?fedora} < 14 && 0%{?rhel} < 6
1608 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/sysctl.d/libvirtd.conf
1609 %endif
1610
1611 %clean
1612 rm -fr %{buildroot}
1613
1614 %check
1615 # PlanetLab build
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
1619 exit
1620 #
1621 cd tests
1622 make
1623 # These tests don't current work in a mock build root
1624 for i in nodeinfotest seclabeltest
1625 do
1626   rm -f $i
1627   printf 'int main(void) { return 0; }' > $i.c
1628   printf '#!/bin/sh\nexit 0\n' > $i
1629   chmod +x $i
1630 done
1631 if ! make check VIR_TEST_DEBUG=1
1632 then
1633   cat test-suite.log || true
1634   exit 1
1635 fi
1636
1637 %if %{with_libvirtd}
1638     %if ! %{with_driver_modules}
1639         %if %{with_qemu}
1640 %pre daemon
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
1650   else
1651     useradd -r -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu
1652   fi
1653 fi
1654 exit 0
1655             %endif
1656         %endif
1657     %endif
1658
1659 %post daemon
1660
1661     %if %{with_network}
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.
1666
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 \
1671                 | sort -u)
1672
1673 for file in $network_files
1674 do
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)
1678
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
1684    do
1685       if test -f $dir/$file
1686       then
1687          sed -i.orig -e \
1688            "s|\(<bridge.*$\)|\0\n  <mac address='52:54:00:$mac4:$mac5:$mac6'/>|" \
1689            $dir/$file
1690          if test $? != 0
1691          then
1692              echo "failed to add <mac address='52:54:00:$mac4:$mac5:$mac6'/>" \
1693                   "to $dir/$file"
1694              mv -f $dir/$file.orig $dir/$file
1695          else
1696              rm -f $dir/$file.orig
1697          fi
1698       fi
1699    done
1700 done
1701     %endif
1702
1703     %if %{with_systemd}
1704         %if %{with_systemd_macros}
1705             %systemd_post virtlockd.socket libvirtd.service
1706         %else
1707 if [ $1 -eq 1 ] ; then
1708     # Initial installation
1709     /bin/systemctl enable virtlockd.socket libvirtd.service >/dev/null 2>&1 || :
1710 fi
1711         %endif
1712     %else
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
1719 fi
1720             %endif
1721         %endif
1722
1723 /sbin/chkconfig --add libvirtd
1724 /sbin/chkconfig --add virtlockd
1725     %endif
1726
1727 %preun daemon
1728     %if %{with_systemd}
1729         %if %{with_systemd_macros}
1730             %systemd_preun libvirtd.service virtlockd.socket virtlockd.service
1731         %else
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 || :
1736 fi
1737         %endif
1738     %else
1739 if [ $1 = 0 ]; then
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
1744 fi
1745     %endif
1746
1747 %postun daemon
1748     %if %{with_systemd}
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 || :
1753 fi
1754     %else
1755 if [ $1 -ge 1 ]; then
1756     /sbin/service virtlockd reload > /dev/null 2>&1 || :
1757     /sbin/service libvirtd condrestart > /dev/null 2>&1
1758 fi
1759     %endif
1760
1761     %if %{with_systemd}
1762     %else
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
1767 fi
1768     %endif
1769
1770     %if %{with_network}
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
1778 fi
1779     %endif
1780
1781     %if %{with_systemd}
1782 %triggerun -- libvirt < 0.9.4
1783 %{_bindir}/systemd-sysv-convert --save libvirtd >/dev/null 2>&1 ||:
1784
1785 # If the package is allowed to autostart:
1786 /bin/systemctl --no-reload enable libvirtd.service >/dev/null 2>&1 ||:
1787
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 || :
1791     %endif
1792
1793     %if %{with_driver_modules}
1794         %if %{with_qemu}
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
1805   else
1806     useradd -r -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu
1807   fi
1808 fi
1809 exit 0
1810             %endif
1811         %endif
1812     %endif
1813 %endif # %{with_libvirtd}
1814
1815 %preun client
1816
1817 %if %{with_systemd}
1818     %if %{with_systemd_macros}
1819         %systemd_preun libvirt-guests.service
1820     %endif
1821 %else
1822 if [ $1 = 0 ]; then
1823     /sbin/chkconfig --del libvirt-guests
1824     rm -f /var/lib/libvirt/libvirt-guests
1825 fi
1826 %endif
1827
1828 %post client
1829
1830 /sbin/ldconfig
1831 %if %{with_systemd}
1832     %if %{with_systemd_macros}
1833         %systemd_post libvirt-guests.service
1834     %endif
1835 %else
1836 /sbin/chkconfig --add libvirt-guests
1837 %endif
1838
1839 %postun client
1840
1841 /sbin/ldconfig
1842 %if %{with_systemd}
1843     %if %{with_systemd_macros}
1844         %systemd_postun libvirt-guests.service
1845     %endif
1846 %triggerun client -- libvirt < 0.9.4
1847 %{_bindir}/systemd-sysv-convert --save libvirt-guests >/dev/null 2>&1 ||:
1848
1849 # If the package is allowed to autostart:
1850 /bin/systemctl --no-reload enable libvirt-guests.service >/dev/null 2>&1 ||:
1851
1852 # Run this because the SysV package being removed won't do them
1853 /sbin/chkconfig --del libvirt-guests >/dev/null 2>&1 || :
1854 %endif
1855
1856 %if %{with_sanlock}
1857 %post lock-sanlock
1858 if getent group sanlock > /dev/null ; then
1859     chmod 0770 %{_localstatedir}/lib/libvirt/sanlock
1860     chown root:sanlock %{_localstatedir}/lib/libvirt/sanlock
1861 fi
1862 %endif
1863
1864 %if %{with_lxc}
1865 %pre login-shell
1866 getent group virtlogin >/dev/null || groupadd -r virtlogin
1867 exit 0
1868 %endif
1869
1870 %files
1871 %defattr(-, root, root)
1872
1873 %files docs
1874 %defattr(-, root, root)
1875 %doc AUTHORS ChangeLog.gz NEWS README TODO libvirt-docs/*
1876
1877 # API 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
1883
1884 %if %{with_libvirtd}
1885 %files daemon
1886 %defattr(-, root, root)
1887
1888 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
1889
1890     %if %{with_systemd}
1891 %{_unitdir}/libvirtd.service
1892 %{_unitdir}/virtlockd.service
1893 %{_unitdir}/virtlockd.socket
1894     %else
1895 %{_sysconfdir}/rc.d/init.d/libvirtd
1896 %{_sysconfdir}/rc.d/init.d/virtlockd
1897     %endif
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
1905     %endif
1906
1907 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd
1908 %dir %{_datadir}/libvirt/
1909
1910 %ghost %dir %{_localstatedir}/run/libvirt/
1911
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/
1916
1917
1918 %dir %attr(0755, root, root) %{_libdir}/libvirt/lock-driver
1919 %attr(0755, root, root) %{_libdir}/libvirt/lock-driver/lockd.so
1920
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
1928
1929     %if %{with_polkit}
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
1933         %else
1934 %{_datadir}/PolicyKit/policy/org.libvirt.unix.policy
1935         %endif
1936     %endif
1937
1938 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/
1939
1940 %attr(0755, root, root) %{_libexecdir}/libvirt_iohelper
1941
1942     %if %{with_apparmor}
1943 %attr(0755, root, root) %{_libexecdir}/virt-aa-helper
1944     %endif
1945
1946 %attr(0755, root, root) %{_sbindir}/libvirtd
1947 %attr(0755, root, root) %{_sbindir}/virtlockd
1948
1949 %{_mandir}/man8/libvirtd.8*
1950 %{_mandir}/man8/virtlockd.8*
1951
1952     %if ! %{with_driver_modules}
1953         %if %{with_network} || %{with_qemu}
1954 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
1955         %endif
1956         %if %{with_network} || %{with_nwfilter}
1957 %ghost %dir %{_localstatedir}/run/libvirt/network/
1958         %endif
1959         %if %{with_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/
1964         %endif
1965         %if %{with_nwfilter}
1966 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/
1967         %endif
1968         %if %{with_storage_disk}
1969 %attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
1970         %endif
1971         %if %{with_qemu}
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
1983         %endif
1984         %if %{with_lxc}
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
1993         %endif
1994         %if %{with_uml}
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/
1999         %endif
2000         %if %{with_libxl}
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/
2004         %endif
2005         %if %{with_xen}
2006 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/xen/
2007         %endif
2008     %endif # ! %{with_driver_modules}
2009
2010     %if %{with_network}
2011 %files daemon-config-network
2012 %defattr(-, root, root)
2013 %dir %{_datadir}/libvirt/networks/
2014 %{_datadir}/libvirt/networks/default.xml
2015     %endif
2016
2017     %if %{with_nwfilter}
2018 %files daemon-config-nwfilter
2019 %defattr(-, root, root)
2020 %{_sysconfdir}/libvirt/nwfilter/*.xml
2021     %endif
2022
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
2028         %endif
2029
2030         %if %{with_network}
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
2040         %endif
2041
2042         %if %{with_nodedev}
2043 %files daemon-driver-nodedev
2044 %defattr(-, root, root)
2045 %{_libdir}/%{name}/connection-driver/libvirt_driver_nodedev.so
2046         %endif
2047
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
2054         %endif
2055
2056 %files daemon-driver-secret
2057 %defattr(-, root, root)
2058 %{_libdir}/%{name}/connection-driver/libvirt_driver_secret.so
2059
2060         %if %{with_storage}
2061 %files daemon-driver-storage
2062 %defattr(-, root, root)
2063             %if %{with_storage_disk}
2064 %attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
2065             %endif
2066 %{_libdir}/%{name}/connection-driver/libvirt_driver_storage.so
2067         %endif
2068
2069         %if %{with_qemu}
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
2085         %endif
2086
2087         %if %{with_lxc}
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
2099         %endif
2100
2101         %if %{with_uml}
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
2109         %endif
2110
2111         %if %{with_xen}
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
2116         %endif
2117
2118         %if %{with_libxl}
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
2125         %endif
2126
2127         %if %{with_vbox}
2128 %files daemon-driver-vbox
2129 %defattr(-, root, root)
2130 %{_libdir}/%{name}/connection-driver/libvirt_driver_vbox.so
2131         %endif
2132     %endif # %{with_driver_modules}
2133
2134     %if %{with_qemu_tcg}
2135 %files daemon-qemu
2136 %defattr(-, root, root)
2137     %endif
2138
2139     %if %{with_qemu_kvm}
2140 %files daemon-kvm
2141 %defattr(-, root, root)
2142     %endif
2143
2144     %if %{with_lxc}
2145 %files daemon-lxc
2146 %defattr(-, root, root)
2147     %endif
2148
2149     %if %{with_uml}
2150 %files daemon-uml
2151 %defattr(-, root, root)
2152     %endif
2153
2154     %if %{with_xen} || %{with_libxl}
2155 %files daemon-xen
2156 %defattr(-, root, root)
2157     %endif
2158
2159     %if %{with_vbox}
2160 %files daemon-vbox
2161 %defattr(-, root, root)
2162     %endif
2163 %endif # %{with_libvirtd}
2164
2165 %if %{with_sanlock}
2166 %files lock-sanlock
2167 %defattr(-, root, root)
2168     %if %{with_qemu}
2169 %config(noreplace) %{_sysconfdir}/libvirt/qemu-sanlock.conf
2170     %endif
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
2178 %endif
2179
2180 %files client -f %{name}.lang
2181 %defattr(-, root, root)
2182 %doc COPYING COPYING.LESSER
2183
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*
2189 %{_bindir}/virsh
2190 %{_bindir}/virt-xml-validate
2191 %{_bindir}/virt-pki-validate
2192 %{_bindir}/virt-host-validate
2193 %{_libdir}/lib*.so.*
2194
2195 %if %{with_dtrace}
2196 %{_datadir}/systemtap/tapset/libvirt_probes*.stp
2197 %{_datadir}/systemtap/tapset/libvirt_qemu_probes*.stp
2198 %{_datadir}/systemtap/tapset/libvirt_functions.stp
2199 %endif
2200
2201 %dir %{_datadir}/libvirt/
2202 %dir %{_datadir}/libvirt/schemas/
2203
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
2218
2219 %{_datadir}/libvirt/cpu_map.xml
2220 %{_datadir}/libvirt/libvirtLogo.png
2221
2222 %if %{with_systemd}
2223 %{_unitdir}/libvirt-guests.service
2224 %else
2225 %{_sysconfdir}/rc.d/init.d/libvirt-guests
2226 %endif
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/
2230
2231 %if %{with_sasl}
2232 %config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
2233 %endif
2234
2235 %if %{with_wireshark}
2236 %files wireshark
2237 %{_libdir}/wireshark/plugins/*/libvirt.so
2238 %endif
2239
2240 %if %{with_lxc}
2241 %files login-shell
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*
2245 %endif
2246
2247 %files devel
2248 %defattr(-, root, root)
2249
2250 %{_libdir}/lib*.so
2251 %dir %{_includedir}/libvirt
2252 %{_includedir}/libvirt/*.h
2253 %{_libdir}/pkgconfig/libvirt.pc
2254
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
2259
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
2268 %doc examples/xml
2269 %doc examples/systemtap
2270
2271 %changelog
2272 * Mon Jun 02 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - libvirt-1.2.4-1
2273 - complete build for 1.2.4, works fine on f18, still has an issue with f20 for slice re-creation
2274
2275 * Sun May  4 2014 Daniel Veillard <veillard@redhat.com> - 1.2.4-1
2276 - various improvements and bug fixes
2277 - lot of internal code refactoring
2278
2279 * Mon Apr 28 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - libvirt-1.2.3-2
2280 - no change
2281 - libvirt-python needs a release of libvirt that matches its own
2282 - and there was a screw up when tagging libvirt-python, so we catch up
2283
2284 * Mon Apr 28 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - libvirt-1.2.3-1
2285 - tested version of 1.2.3
2286
2287 * Tue Apr  1 2014 Daniel Veillard <veillard@redhat.com> - 1.2.3-1
2288 - add new virDomainCoreDumpWithFormat API (Qiao Nuohan)
2289 - conf: Introduce virDomainDeviceGetInfo API (Jiri Denemark)
2290 - more features and fixes on bhyve driver (Roman Bogorodskiy)
2291 - lot of cleanups and improvement on the Xen driver (Chunyan Liu, Jim Fehlig)
2292 - a lot of various improvements and bug fixes
2293
2294 * Fri Mar 21 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - libvirt-1.2.1-1
2295 - builds fine on f{18,20}
2296
2297 * Sun Mar  2 2014 Daniel Veillard <veillard@redhat.com> - 1.2.2-1
2298 - add LXC from native conversion tool
2299 - vbox: add support for v4.2.20+ and v4.3.4+
2300 - Introduce Libvirt Wireshark dissector
2301 - Fix CVE-2013-6456: Avoid unsafe use of /proc/$PID/root in LXC
2302 - a lot of various improvements and bug fixes
2303
2304 * Thu Jan 16 2014 Daniel Veillard <veillard@redhat.com> - 1.2.1-1
2305 - Fix s CVE-2014-0028 event: filter global events by domain:getattr ACL
2306 - Fix CVE-2014-1447 Don't crash if a connection closes early
2307 - Fix CVE-2013-6458-1 qemu: Do not access stale data in virDomainBlockStats
2308 - Fix CVE-2013-6457 libxl: avoid crashing if calling `virsh numatune' on inactive domain
2309 - Fix CVE-2013-6436: fix crash in lxcDomainGetMemoryParameters
2310 - many doc and bug fixes and improvements
2311
2312 * Mon Dec  2 2013 Daniel Veillard <veillard@redhat.com> - 1.2.0-1
2313 - Separation of python binding as libvirt-python srpm
2314 - Add support for gluster pool
2315 - vbox: add support for 4.3 APIs
2316 - a number of doc, bug fixes and various improvements
2317
2318 * Mon Nov  4 2013 Daniel Veillard <veillard@redhat.com> - 1.1.4-1
2319 - Add support for AArch64 architecture
2320 - Various improvements on test code and test driver
2321 - 4 security bug fixes
2322 - a lot of bug fixes and various improvements
2323
2324 * Tue Oct  1 2013 Daniel Veillard <veillard@redhat.com> - 1.1.3-1
2325 - VMware: Initial VMware Fusion support and various improvements
2326 - libvirt: add new public API virConnectGetCPUModelNames
2327 - various libxl driver improvements
2328 - LXC many container driver improvement
2329 - ARM cpu improvements
2330 - 3 security bug fixes
2331 - a lot of bug and leak fixes and various improvements
2332
2333 * Mon Sep  2 2013 Daniel Veillard <veillard@redhat.com> - 1.1.2-1
2334 - various improvements to libxl driver
2335 - systemd integration improvements
2336 - Add flag to BaselineCPU API to return detailed CPU features
2337 - Introduce a virt-login-shell binary
2338 - conf: add startupPolicy attribute for harddisk
2339 - various bug fixes and improvements including localizations
2340
2341 * Tue Jul 30 2013 Daniel Veillard <veillard@redhat.com> - 1.1.1-1
2342 - Adding device removal or deletion events
2343 - Introduce new domain create APIs to pass pre-opened FDs to LXC
2344 - Add interface versions for Xen 4.3
2345 - Add new public API virDomainSetMemoryStatsPeriod
2346 - Various LXC improvements
2347 - various bug fixes and improvements including localizations
2348
2349 * Mon Jul  1 2013 Daniel Veillard <veillard@redhat.com> - 1.1.0-1
2350 - CVE-2013-2218: Fix crash listing network interfaces with filters
2351 - Fine grained ACL support for the API
2352 - Extensible migration APIs
2353 - various improvements in the Xen driver
2354 - agent based vCPU hotplug support
2355 - various bug fixes and improvements including localizations
2356
2357 * Mon Jun  3 2013 Daniel Veillard <veillard@redhat.com> - 1.0.6-1
2358 - Move VirtualBox driver into libvirtd
2359 - Support for static routes on a virtual bridge
2360 - Various improvement for hostdev SCSI support
2361 - Switch to VIR_STRDUP and VIR_STRNDUP
2362 - Various cleanups and improvement in Xen and LXC drivers
2363 - various bug fixes and improvements including localizations
2364
2365 * Thu May  2 2013 Daniel Veillard <veillard@redhat.com> - 1.0.5-1
2366 - add support for NVRAM device
2367 - Add XML config for resource partitions
2368 - Add support for TPM
2369 - NPIV storage migration support
2370 - various bug fixes and improvements including localizations
2371
2372 * Mon Apr  1 2013 Daniel Veillard <veillard@redhat.com> - 1.0.4-1
2373 - qemu: support passthrough for iscsi disks
2374 - various S390 improvements
2375 - various LXC bugs fixes and improvements
2376 - Add API for thread cancellation
2377 - various bug fixes and improvements
2378
2379 * Tue Mar  5 2013 Daniel Veillard <veillard@redhat.com> - 1.0.3-1
2380 - Introduce virDomainMigrate*CompressionCache APIs
2381 - Introduce virDomainGetJobStats API
2382 - Add basic support for VDI images
2383 - Introduce API virNodeDeviceLookupSCSIHostByWWN
2384 - Various locking improvements
2385 - a lot of bug fixes and overall improvements
2386
2387 * Wed Jan 30 2013 Daniel Veillard <veillard@redhat.com> - 1.0.2-1
2388 - LXC improvements
2389 - S390 architecture improvement
2390 - Power architecture improvement
2391 - large Coverity report cleanups and associated bug fixes
2392 - virTypedParams* APIs to helps with those data structures
2393 - a lot of bug fixes and overall improvements
2394
2395 * Fri Nov  2 2012 Daniel Veillard <veillard@redhat.com> - 1.0.0-1
2396 - virNodeGetCPUMap: Define public API
2397 - Add systemd journal support
2398 - Add a qemu capabilities cache manager
2399 - USB migration support
2400 - various improvement and fixes when using QMP QEmu interface
2401 - Support for Xen 4.2
2402 - Lot of localization enhancements
2403 - a lot of bug fixes, improvements and portability work
2404
2405 * Mon Sep 24 2012 Daniel Veillard <veillard@redhat.com> - 0.10.2-1
2406 - network: define new API virNetworkUpdate
2407 - add support for QEmu sandbox support
2408 - blockjob: add virDomainBlockCommit
2409 - New APIs to get/set Node memory parameters
2410 - new API virConnectListAllSecrets
2411 - new API virConnectListAllNWFilters
2412 - new API virConnectListAllNodeDevices
2413 - parallels: add support of containers to the driver
2414 - new API virConnectListAllInterfaces
2415 - new API virConnectListAllNetworks
2416 - new API virStoragePoolListAllVolumes
2417 - Add PMSUSPENDED life cycle event
2418 - new API virStorageListAllStoragePools
2419 - Add per-guest S3/S4 state configuration
2420 - qemu: Support for Block Device IO Limits
2421 - a lot of bug fixes, improvements and portability work
2422
2423 * Fri Aug 31 2012 Daniel Veillard <veillard@redhat.com> - 0.10.1-1
2424 - bugfixes and a brown paper bag
2425
2426 * Wed Aug 29 2012 Daniel Veillard <veillard@redhat.com> - 0.10.0-1
2427 - agent: add qemuAgentArbitraryCommand() for general qemu agent command
2428 - Introduce virDomainPinEmulator and virDomainGetEmulatorPinInfo functions
2429 - network: use firewalld instead of iptables, when available
2430 - network: make network driver vlan-aware
2431 - esx: Implement network driver
2432 - driver for parallels hypervisor
2433 - Various LXC improvements
2434 - Add virDomainGetHostname
2435 - a lot of bug fixes, improvements and portability work
2436
2437 * Mon Jul  2 2012 Daniel Veillard <veillard@redhat.com> - 0.9.13-1
2438 - S390: support for s390(x)
2439 - snapshot: implement new APIs for esx and vbox
2440 - snapshot: new query APIs and many improvements
2441 - virsh: Allow users to reedit rejected XML
2442 - nwfilter: add DHCP snooping
2443 - Enable driver modules in libvirt RPM
2444 - Default to enable driver modules for libvirtd
2445 - storage backend: Add RBD (RADOS Block Device) support
2446 - sVirt support for LXC domains inprovement
2447 - a lot of bug fixes, improvements and portability work
2448
2449 * Mon May 14 2012 Daniel Veillard <veillard@redhat.com> - 0.9.12-1
2450 - qemu: allow snapshotting of sheepdog and rbd disks
2451 - blockjob: add new APIs
2452 - a lot of bug fixes, improvements and portability work
2453
2454 * Tue Apr  3 2012 Daniel Veillard <veillard@redhat.com> - 0.9.11-1
2455 - Add support for the suspend event
2456 - Add support for event tray moved of removable disks
2457 - qemu: Support numad
2458 - cpustats: API, improvements and qemu support
2459 - qemu: support type='hostdev' network devices at domain start
2460 - Introduce virDomainPMWakeup API
2461 - network: support Open vSwitch
2462 - a number of snapshot improvements
2463 - many improvements and bug fixes
2464
2465 * Mon Feb 13 2012 Daniel Veillard <veillard@redhat.com> - 0.9.10-1
2466 - Add support for sVirt in the LXC driver
2467 - block rebase: add new API virDomainBlockRebase
2468 - API: Add api to set and get domain metadata
2469 - virDomainGetDiskErrors public API
2470 - conf: add rawio attribute to disk element of domain XML
2471 - Add new public API virDomainGetCPUStats()
2472 - Introduce virDomainPMSuspendForDuration API
2473 - resize: add virStorageVolResize() API
2474 - Add a virt-host-validate command to sanity check HV config
2475 - Add new virDomainShutdownFlags API
2476 - QEMU guest agent support
2477 - many improvements and bug fixes
2478
2479 * Sat Jan  7 2012 Daniel Veillard <veillard@redhat.com> - 0.9.9-1
2480 - Add API virDomain{S,G}etInterfaceParameters
2481 - Add API virDomain{G, S}etNumaParameters
2482 - Add support for ppc64 qemu
2483 - Support Xen domctl v8
2484 - many improvements and bug fixes
2485
2486 * Thu Dec  8 2011 Daniel Veillard <veillard@redhat.com> - 0.9.8-1
2487 - Add support for QEMU 1.0
2488 - Add preliminary PPC cpu driver
2489 - Add new API virDomain{Set, Get}BlockIoTune
2490 - block_resize: Define the new API
2491 - Add a public API to invoke suspend/resume on the host
2492 - various improvements for LXC containers
2493 - Define keepalive protocol and add virConnectIsAlive API
2494 - Add support for STP and VLAN filtering
2495 - many improvements and bug fixes
2496
2497 * Tue Nov  8 2011 Daniel Veillard <veillard@redhat.com> - 0.9.7-1
2498 - esx: support vSphere 5.x
2499 - vbox: support for VirtualBox 4.1
2500 - Introduce the virDomainOpenGraphics API
2501 - Add AHCI support to qemu driver
2502 - snapshot: many improvements and 2 new APIs
2503 - api: Add public api for 'reset'
2504 - many improvements and bug fixes
2505
2506 * Thu Sep 22 2011 Daniel Veillard <veillard@redhat.com> - 0.9.6-1
2507 - Fix the qemu reboot bug and a few others bug fixes
2508
2509 * Tue Sep 20 2011 Daniel Veillard <veillard@redhat.com> - 0.9.5-1
2510 - many snapshot improvements (Eric Blake)
2511 - latency: Define new public API and structure (Osier Yang)
2512 - USB2 and various USB improvements (Marc-André Lureau)
2513 - storage: Add fs pool formatting (Osier Yang)
2514 - Add public API for getting migration speed (Jim Fehlig)
2515 - Add basic driver for Microsoft Hyper-V (Matthias Bolte)
2516 - many improvements and bug fixes
2517
2518 * Wed Aug  3 2011 Daniel Veillard <veillard@redhat.com> - 0.9.4-1
2519 - network bandwidth QoS control
2520 - Add new API virDomainBlockPull*
2521 - save: new API to manipulate save file images
2522 - CPU bandwidth limits support
2523 - allow to send NMI and key event to guests
2524 - new API virDomainUndefineFlags
2525 - Implement code to attach to external QEMU instances
2526 - bios: Add support for SGA
2527 - various missing python binding
2528 - many improvements and bug fixes
2529
2530 * Mon Jul  4 2011 Daniel Veillard <veillard@redhat.com> - 0.9.3-1
2531 - new API virDomainGetVcpupinInfo
2532 - Add TXT record support for virtual DNS service
2533 - Support reboots with the QEMU driver
2534 - New API virDomainGetControlInfo API
2535 - New API virNodeGetMemoryStats
2536 - New API virNodeGetCPUTime
2537 - New API for send-key
2538 - New API virDomainPinVcpuFlags
2539 - support multifunction PCI device
2540 - lxc: various improvements
2541 - many improvements and bug fixes
2542
2543 * Mon Jun  6 2011 Daniel Veillard <veillard@redhat.com> - 0.9.2-1
2544 - Framework for lock manager plugins
2545 - API for network config change transactions
2546 - flags for setting memory parameters
2547 - virDomainGetState public API
2548 - qemu: allow blkstat/blkinfo calls during migration
2549 - Introduce migration v3 API
2550 - Defining the Screenshot public API
2551 - public API for NMI injection
2552 - Various improvements and bug fixes
2553
2554 * Thu May  5 2011 Daniel Veillard <veillard@redhat.com> - 0.9.1-1
2555 - support various persistent domain updates
2556 - improvements on memory APIs
2557 - Add virDomainEventRebootNew
2558 - various improvements to libxl driver
2559 - Spice: support audio, images and stream compression
2560 - Various improvements and bug fixes
2561
2562 * Mon Apr  4 2011 Daniel Veillard <veillard@redhat.com> - 0.9.0-1
2563 - Support cputune cpu usage tuning
2564 - Add public APIs for storage volume upload/download
2565 - Add public API for setting migration speed on the fly
2566 - Add libxenlight driver
2567 - qemu: support migration to fd
2568 - libvirt: add virDomain{Get,Set}BlkioParameters
2569 - setmem: introduce a new libvirt API (virDomainSetMemoryFlags)
2570 - Expose event loop implementation as a public API
2571 - Dump the debug buffer to libvirtd.log on fatal signal
2572 - Audit support
2573 - Various improvements and bug fixes
2574
2575 * Thu Feb 17 2011 Daniel Veillard <veillard@redhat.com> - 0.8.8-1
2576 - expose new API for sysinfo extraction
2577 - cgroup blkio weight support
2578 - smartcard device support
2579 - qemu: Support per-device boot ordering
2580 - Various improvements and bug fixes
2581
2582 * Tue Jan  4 2011 Daniel Veillard <veillard@redhat.com> - 0.8.7-1
2583 - Preliminary support for VirtualBox 4.0
2584 - IPv6 support
2585 - Add VMware Workstation and Player driver driver
2586 - Add network disk support
2587 - Various improvements and bug fixes
2588
2589 * Tue Nov 30 2010 Daniel Veillard <veillard@redhat.com> - 0.8.6-1
2590 - Add support for iSCSI target auto-discovery
2591 - QED: Basic support for QED images
2592 - remote console support
2593 - support for SPICE graphics
2594 - sysinfo and VMBIOS support
2595 - virsh qemu-monitor-command
2596 - various improvements and bug fixes
2597
2598 * Fri Oct 29 2010 Daniel Veillard <veillard@redhat.com> - 0.8.5-1
2599 - Enable JSON and netdev features in QEMU >= 0.13
2600 - framework for auditing integration
2601 - framework DTrace/SystemTap integration
2602 - Setting the number of vcpu at boot
2603 - Enable support for nested SVM
2604 - Virtio plan9fs filesystem QEMU
2605 - Memory parameter controls
2606 - various improvements and bug fixes
2607
2608 * Fri Sep 10 2010 Daniel Veillard <veillard@redhat.com> - 0.8.4-1
2609 - big improvements to UML driver
2610 - various improvements and bug fixes
2611
2612 * Wed Aug  4 2010 Daniel Veillard <veillard@redhat.com> - 0.8.3-1
2613 - esx: Support vSphere 4.1
2614 - Qemu arbitrary monitor commands
2615 - Qemu Monitor API entry point
2616 - various improvements and bug fixes
2617
2618 * Mon Jul  5 2010 Daniel Veillard <veillard@redhat.com> - 0.8.2-1
2619 - phyp: adding support for IVM
2620 - libvirt: introduce domainCreateWithFlags API
2621 - add 802.1Qbh and 802.1Qbg switches handling
2622 - Support for VirtualBox version 3.2
2623 - Init script for handling guests on shutdown/boot
2624 - qemu: live migration with non-shared storage for kvm
2625
2626 * Fri Apr 30 2010 Daniel Veillard <veillard@redhat.com> - 0.8.1-1
2627 - Starts dnsmasq from libvirtd with --dhcp-hostsfile
2628 - Add virDomainGetBlockInfo API to query disk sizing
2629 - a lot of bug fixes and cleanups
2630
2631 * Mon Apr 12 2010 Daniel Veillard <veillard@redhat.com> - 0.8.0-1
2632 - Snapshotting support (QEmu/VBox/ESX)
2633 - Network filtering API
2634 - XenAPI driver
2635 - new APIs for domain events
2636 - Libvirt managed save API
2637 - timer subselection for domain clock
2638 - synchronous hooks
2639 - API to update guest CPU to host CPU
2640 - virDomainUpdateDeviceFlags new API
2641 - migrate max downtime API
2642 - volume wiping API
2643 - and many bug fixes
2644
2645 * Fri Mar  5 2010 Daniel Veillard <veillard@redhat.com> - 0.7.7-1
2646 - macvtap support
2647 - async job handling
2648 - virtio channel
2649 - computing baseline CPU
2650 - virDomain{Attach,Detach}DeviceFlags
2651 - assorted bug fixes and lots of cleanups
2652
2653 * Wed Feb  3 2010 Daniel Veillard <veillard@redhat.com> - 0.7.6-1
2654
2655 * Wed Dec 23 2009 Daniel Veillard <veillard@redhat.com> - 0.7.5-1
2656 - Add new API virDomainMemoryStats
2657 - Public API and domain extension for CPU flags
2658 - vbox: Add support for version 3.1
2659 - Support QEMU's virtual FAT block device driver
2660 - a lot of fixes
2661
2662 * Fri Nov 20 2009 Daniel Veillard <veillard@redhat.com> - 0.7.3-1
2663 - udev node device backend
2664 - API to check object properties
2665 - better QEmu monitor processing
2666 - MAC address based port filtering for qemu
2667 - support IPv6 and multiple addresses per interfaces
2668 - a lot of fixes
2669
2670 * Tue Sep 15 2009 Daniel Veillard <veillard@redhat.com> - 0.7.1-1
2671 - ESX, VBox driver updates
2672 - mutipath support
2673 - support for encrypted (qcow) volume
2674 - compressed save image format for Qemu/KVM
2675 - QEmu host PCI device hotplug support
2676 - configuration of huge pages in guests
2677 - a lot of fixes
2678
2679 * Wed Aug  5 2009 Daniel Veillard <veillard@redhat.com> - 0.7.0-1
2680 - ESX, VBox3, Power Hypervisor drivers
2681 - new net filesystem glusterfs
2682 - Storage cloning for LVM and Disk backends
2683 - interface implementation based on netcf
2684 - Support cgroups in QEMU driver
2685 - QEmu hotplug NIC support
2686 - a lot of fixes
2687
2688 * Fri Jul  3 2009 Daniel Veillard <veillard@redhat.com> - 0.6.5-1
2689 - release of 0.6.5
2690
2691 * Fri May 29 2009 Daniel Veillard <veillard@redhat.com> - 0.6.4-1
2692 - release of 0.6.4
2693 - various new APIs
2694
2695 * Fri Apr 24 2009 Daniel Veillard <veillard@redhat.com> - 0.6.3-1
2696 - release of 0.6.3
2697 - VirtualBox driver
2698
2699 * Fri Apr  3 2009 Daniel Veillard <veillard@redhat.com> - 0.6.2-1
2700 - release of 0.6.2
2701
2702 * Wed Mar  4 2009 Daniel Veillard <veillard@redhat.com> - 0.6.1-1
2703 - release of 0.6.1
2704
2705 * Sat Jan 31 2009 Daniel Veillard <veillard@redhat.com> - 0.6.0-1
2706 - release of 0.6.0
2707
2708 * Tue Nov 25 2008 Daniel Veillard <veillard@redhat.com> - 0.5.0-1
2709 - release of 0.5.0
2710
2711 * Tue Sep 23 2008 Daniel Veillard <veillard@redhat.com> - 0.4.6-1
2712 - release of 0.4.6
2713
2714 * Mon Sep  8 2008 Daniel Veillard <veillard@redhat.com> - 0.4.5-1
2715 - release of 0.4.5
2716
2717 * Wed Jun 25 2008 Daniel Veillard <veillard@redhat.com> - 0.4.4-1
2718 - release of 0.4.4
2719 - mostly a few bug fixes from 0.4.3
2720
2721 * Thu Jun 12 2008 Daniel Veillard <veillard@redhat.com> - 0.4.3-1
2722 - release of 0.4.3
2723 - lots of bug fixes and small improvements
2724
2725 * Tue Apr  8 2008 Daniel Veillard <veillard@redhat.com> - 0.4.2-1
2726 - release of 0.4.2
2727 - lots of bug fixes and small improvements
2728
2729 * Mon Mar  3 2008 Daniel Veillard <veillard@redhat.com> - 0.4.1-1
2730 - Release of 0.4.1
2731 - Storage APIs
2732 - xenner support
2733 - lots of assorted improvements, bugfixes and cleanups
2734 - documentation and localization improvements
2735
2736 * Tue Dec 18 2007 Daniel Veillard <veillard@redhat.com> - 0.4.0-1
2737 - Release of 0.4.0
2738 - SASL based authentication
2739 - PolicyKit authentication
2740 - improved NUMA and statistics support
2741 - lots of assorted improvements, bugfixes and cleanups
2742 - documentation and localization improvements
2743
2744 * Sun Sep 30 2007 Daniel Veillard <veillard@redhat.com> - 0.3.3-1
2745 - Release of 0.3.3
2746 - Avahi support
2747 - NUMA support
2748 - lots of assorted improvements, bugfixes and cleanups
2749 - documentation and localization improvements
2750
2751 * Tue Aug 21 2007 Daniel Veillard <veillard@redhat.com> - 0.3.2-1
2752 - Release of 0.3.2
2753 - API for domains migration
2754 - APIs for collecting statistics on disks and interfaces
2755 - lots of assorted bugfixes and cleanups
2756 - documentation and localization improvements
2757
2758 * Tue Jul 24 2007 Daniel Veillard <veillard@redhat.com> - 0.3.1-1
2759 - Release of 0.3.1
2760 - localtime clock support
2761 - PS/2 and USB input devices
2762 - lots of assorted bugfixes and cleanups
2763 - documentation and localization improvements
2764
2765 * Mon Jul  9 2007 Daniel Veillard <veillard@redhat.com> - 0.3.0-1
2766 - Release of 0.3.0
2767 - Secure remote access support
2768 - unification of daemons
2769 - lots of assorted bugfixes and cleanups
2770 - documentation and localization improvements
2771
2772 * Fri Jun  8 2007 Daniel Veillard <veillard@redhat.com> - 0.2.3-1
2773 - Release of 0.2.3
2774 - lot of assorted bugfixes and cleanups
2775 - support for Xen-3.1
2776 - new scheduler API
2777
2778 * Tue Apr 17 2007 Daniel Veillard <veillard@redhat.com> - 0.2.2-1
2779 - Release of 0.2.2
2780 - lot of assorted bugfixes and cleanups
2781 - preparing for Xen-3.0.5
2782
2783 * Thu Mar 22 2007 Jeremy Katz <katzj@redhat.com> - 0.2.1-2.fc7
2784 - don't require xen; we don't need the daemon and can control non-xen now
2785 - fix scriptlet error (need to own more directories)
2786 - update description text
2787
2788 * Fri Mar 16 2007 Daniel Veillard <veillard@redhat.com> - 0.2.1-1
2789 - Release of 0.2.1
2790 - lot of bug and portability fixes
2791 - Add support for network autostart and init scripts
2792 - New API to detect the virtualization capabilities of a host
2793 - Documentation updates
2794
2795 * Fri Feb 23 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-4.fc7
2796 - Fix loading of guest & network configs
2797
2798 * Fri Feb 16 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-3.fc7
2799 - Disable kqemu support since its not in Fedora qemu binary
2800 - Fix for -vnc arg syntax change in 0.9.0  QEMU
2801
2802 * Thu Feb 15 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-2.fc7
2803 - Fixed path to qemu daemon for autostart
2804 - Fixed generation of <features> block in XML
2805 - Pre-create config directory at startup
2806
2807 * Wed Feb 14 2007 Daniel Veillard <veillard@redhat.com> 0.2.0-1.fc7
2808 - support for KVM and QEmu
2809 - support for network configuration
2810 - assorted fixes
2811
2812 * Mon Jan 22 2007 Daniel Veillard <veillard@redhat.com> 0.1.11-1.fc7
2813 - finish inactive Xen domains support
2814 - memory leak fix
2815 - RelaxNG schemas for XML configs
2816
2817 * Wed Dec 20 2006 Daniel Veillard <veillard@redhat.com> 0.1.10-1.fc7
2818 - support for inactive Xen domains
2819 - improved support for Xen display and vnc
2820 - a few bug fixes
2821 - localization updates
2822
2823 * Thu Dec  7 2006 Jeremy Katz <katzj@redhat.com> - 0.1.9-2
2824 - rebuild against python 2.5
2825
2826 * Wed Nov 29 2006 Daniel Veillard <veillard@redhat.com> 0.1.9-1
2827 - better error reporting
2828 - python bindings fixes and extensions
2829 - add support for shareable drives
2830 - add support for non-bridge style networking
2831 - hot plug device support
2832 - added support for inactive domains
2833 - API to dump core of domains
2834 - various bug fixes, cleanups and improvements
2835 - updated the localization
2836
2837 * Tue Nov  7 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-3
2838 - it's pkgconfig not pgkconfig !
2839
2840 * Mon Nov  6 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-2
2841 - fixing spec file, added %%dist, -devel requires pkgconfig and xen-devel
2842 - Resolves: rhbz#202320
2843
2844 * Mon Oct 16 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-1
2845 - fix missing page size detection code for ia64
2846 - fix mlock size when getting domain info list from hypervisor
2847 - vcpu number initialization
2848 - don't label crashed domains as shut off
2849 - fix virsh man page
2850 - blktapdd support for alternate drivers like blktap
2851 - memory leak fixes (xend interface and XML parsing)
2852 - compile fix
2853 - mlock/munlock size fixes
2854
2855 * Fri Sep 22 2006 Daniel Veillard <veillard@redhat.com> 0.1.7-1
2856 - Fix bug when running against xen-3.0.3 hypercalls
2857 - Fix memory bug when getting vcpus info from xend
2858
2859 * Fri Sep 22 2006 Daniel Veillard <veillard@redhat.com> 0.1.6-1
2860 - Support for localization
2861 - Support for new Xen-3.0.3 cdrom and disk configuration
2862 - Support for setting VNC port
2863 - Fix bug when running against xen-3.0.2 hypercalls
2864 - Fix reconnection problem when talking directly to http xend
2865
2866 * Tue Sep  5 2006 Jeremy Katz <katzj@redhat.com> - 0.1.5-3
2867 - patch from danpb to support new-format cd devices for HVM guests
2868
2869 * Tue Sep  5 2006 Daniel Veillard <veillard@redhat.com> 0.1.5-2
2870 - reactivating ia64 support
2871
2872 * Tue Sep  5 2006 Daniel Veillard <veillard@redhat.com> 0.1.5-1
2873 - new release
2874 - bug fixes
2875 - support for new hypervisor calls
2876 - early code for config files and defined domains
2877
2878 * Mon Sep  4 2006 Daniel Berrange <berrange@redhat.com> - 0.1.4-5
2879 - add patch to address dom0_ops API breakage in Xen 3.0.3 tree
2880
2881 * Mon Aug 28 2006 Jeremy Katz <katzj@redhat.com> - 0.1.4-4
2882 - add patch to support paravirt framebuffer in Xen
2883
2884 * Mon Aug 21 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-3
2885 - another patch to fix network handling in non-HVM guests
2886
2887 * Thu Aug 17 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-2
2888 - patch to fix virParseUUID()
2889
2890 * Wed Aug 16 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-1
2891 - vCPUs and affinity support
2892 - more complete XML, console and boot options
2893 - specific features support
2894 - enforced read-only connections
2895 - various improvements, bug fixes
2896
2897 * Wed Aug  2 2006 Jeremy Katz <katzj@redhat.com> - 0.1.3-6
2898 - add patch from pvetere to allow getting uuid from libvirt
2899
2900 * Wed Aug  2 2006 Jeremy Katz <katzj@redhat.com> - 0.1.3-5
2901 - build on ia64 now
2902
2903 * Thu Jul 27 2006 Jeremy Katz <katzj@redhat.com> - 0.1.3-4
2904 - don't BR xen, we just need xen-devel
2905
2906 * Thu Jul 27 2006 Daniel Veillard <veillard@redhat.com> 0.1.3-3
2907 - need rebuild since libxenstore is now versionned
2908
2909 * Mon Jul 24 2006 Mark McLoughlin <markmc@redhat.com> - 0.1.3-2
2910 - Add BuildRequires: xen-devel
2911
2912 * Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 0.1.3-1.1
2913 - rebuild
2914
2915 * Tue Jul 11 2006 Daniel Veillard <veillard@redhat.com> 0.1.3-1
2916 - support for HVM Xen guests
2917 - various bugfixes
2918
2919 * Mon Jul  3 2006 Daniel Veillard <veillard@redhat.com> 0.1.2-1
2920 - added a proxy mechanism for read only access using httpu
2921 - fixed header includes paths
2922
2923 * Wed Jun 21 2006 Daniel Veillard <veillard@redhat.com> 0.1.1-1
2924 - extend and cleanup the driver infrastructure and code
2925 - python examples
2926 - extend uuid support
2927 - bug fixes, buffer handling cleanups
2928 - support for new Xen hypervisor API
2929 - test driver for unit testing
2930 - virsh --conect argument
2931
2932 * Mon Apr 10 2006 Daniel Veillard <veillard@redhat.com> 0.1.0-1
2933 - various fixes
2934 - new APIs: for Node information and Reboot
2935 - virsh improvements and extensions
2936 - documentation updates and man page
2937 - enhancement and fixes of the XML description format
2938
2939 * Tue Feb 28 2006 Daniel Veillard <veillard@redhat.com> 0.0.6-1
2940 - added error handling APIs
2941 - small bug fixes
2942 - improve python bindings
2943 - augment documentation and regression tests
2944
2945 * Thu Feb 23 2006 Daniel Veillard <veillard@redhat.com> 0.0.5-1
2946 - new domain creation API
2947 - new UUID based APIs
2948 - more tests, documentation, devhelp
2949 - bug fixes
2950
2951 * Fri Feb 10 2006 Daniel Veillard <veillard@redhat.com> 0.0.4-1
2952 - fixes some problems in 0.0.3 due to the change of names
2953
2954 * Wed Feb  8 2006 Daniel Veillard <veillard@redhat.com> 0.0.3-1
2955 - changed library name to libvirt from libvir, complete and test the python
2956   bindings
2957
2958 * Sun Jan 29 2006 Daniel Veillard <veillard@redhat.com> 0.0.2-1
2959 - upstream release of 0.0.2, use xend, save and restore added, python bindings
2960   fixed
2961
2962 * Wed Nov  2 2005 Daniel Veillard <veillard@redhat.com> 0.0.1-1
2963 - created