089ce93b94b7038e0fb4aa5afd755d32bf4dade0
[libvirt.git] / libvirt.spec
1 # -*- rpm-spec -*-
2
3 %define mainstream_version 1.0.2
4 %define module_version_varname mainstream_version
5 %define taglevel 0
6
7 #libvirt-RPMFLAGS := --without storage-disk --without storage-iscsi --without storage-scsi \
8 #                       --without storage-fs --without storage-lvm \
9 #                       --without polkit --without sasl --without audit --with capng --with udev \
10 #                       --without netcf --without avahi --without sanlock \
11 #                       --without xen --without qemu --without hyperv --without phyp --without esx \
12 #                       --without libxl \
13 %define _without_storage_disk   true
14 %define _without_storage_iscsi  true
15 %define _without_storage_fs     true
16 %define _without_storage_lvm    true
17 %define _without_polkit         true
18 %define _without_sasl           true
19 %define _without_audit          true
20 %define _without_netcf          true
21 %define _without_avahi          true
22 %define _without_sanlock        true
23 %define _without_xen            true
24 %define _without_qemu           true
25 %define _without_hyperv         true
26 %define _without_phyp           true
27 %define _without_esx            true
28 %define _without_libxl          true
29
30 # If neither fedora nor rhel was defined, try to guess them from %{dist}
31 %if !0%{?rhel} && !0%{?fedora}
32 %{expand:%(echo "%{?dist}" | \
33   sed -ne 's/^\.el\([0-9]\+\).*/%%define rhel \1/p')}
34 %{expand:%(echo "%{?dist}" | \
35   sed -ne 's/^\.fc\?\([0-9]\+\).*/%%define fedora \1/p')}
36 %endif
37
38 # Default to skipping autoreconf.  Distros can change just this one line
39 # (or provide a command-line override) if they backport any patches that
40 # touch configure.ac or Makefile.am.
41 %{!?enable_autotools:%define enable_autotools 0}
42
43 # A client only build will create a libvirt.so only containing
44 # the generic RPC driver, and test driver and no libvirtd
45 # Default to a full server + client build
46 %define client_only        0
47
48 # Now turn off server build in certain cases
49
50 # RHEL-5 builds are client-only for s390, ppc
51 %if 0%{?rhel} == 5
52     %ifnarch %{ix86} x86_64 ia64
53         %define client_only        1
54     %endif
55 %endif
56
57 # Disable all server side drivers if client only build requested
58 %if %{client_only}
59     %define server_drivers     0
60 %else
61     %define server_drivers     1
62 %endif
63
64 # Always build with dlopen'd modules
65 %define with_driver_modules 1
66
67 # Now set the defaults for all the important features, independent
68 # of any particular OS
69
70 # First the daemon itself
71 %define with_libvirtd      0%{!?_without_libvirtd:%{server_drivers}}
72 %define with_avahi         0%{!?_without_avahi:%{server_drivers}}
73
74 # Then the hypervisor drivers that run in libvirtd
75 %define with_xen           0%{!?_without_xen:%{server_drivers}}
76 %define with_qemu          0%{!?_without_qemu:%{server_drivers}}
77 %define with_lxc           0%{!?_without_lxc:%{server_drivers}}
78 %define with_uml           0%{!?_without_uml:%{server_drivers}}
79 %define with_libxl         0%{!?_without_libxl:%{server_drivers}}
80
81 %define with_qemu_tcg      %{with_qemu}
82 # Change if we ever provide qemu-kvm binaries on non-x86 hosts
83 %if 0%{?fedora} >= 18
84     %define qemu_kvm_arches    %{ix86} x86_64 ppc64 s390x
85 %else
86     %define qemu_kvm_arches    %{ix86} x86_64
87 %endif
88
89 %ifarch %{qemu_kvm_arches}
90     %define with_qemu_kvm      %{with_qemu}
91 %else
92     %define with_qemu_kvm      0
93 %endif
94
95 # Then the hypervisor drivers that run outside libvirtd, in libvirt.so
96 %define with_openvz        0%{!?_without_openvz:1}
97 %define with_vbox          0%{!?_without_vbox:1}
98 %define with_vmware        0%{!?_without_vmware:1}
99 %define with_phyp          0%{!?_without_phyp:1}
100 %define with_esx           0%{!?_without_esx:1}
101 %define with_hyperv        0%{!?_without_hyperv:1}
102 %define with_xenapi        0%{!?_without_xenapi:1}
103 %define with_parallels     0%{!?_without_parallels:1}
104
105 # Then the secondary host drivers, which run inside libvirtd
106 %define with_interface        0%{!?_without_interface:%{server_drivers}}
107 %define with_network          0%{!?_without_network:%{server_drivers}}
108 %define with_storage_fs       0%{!?_without_storage_fs:%{server_drivers}}
109 %define with_storage_lvm      0%{!?_without_storage_lvm:%{server_drivers}}
110 %define with_storage_iscsi    0%{!?_without_storage_iscsi:%{server_drivers}}
111 %define with_storage_disk     0%{!?_without_storage_disk:%{server_drivers}}
112 %define with_storage_mpath    0%{!?_without_storage_mpath:%{server_drivers}}
113 %if 0%{?fedora} >= 16
114     %define with_storage_rbd      0%{!?_without_storage_rbd:%{server_drivers}}
115 %else
116     %define with_storage_rbd      0
117 %endif
118 %if 0%{?fedora} >= 17
119     %define with_storage_sheepdog 0%{!?_without_storage_sheepdog:%{server_drivers}}
120 %else
121     %define with_storage_sheepdog 0
122 %endif
123 %define with_numactl          0%{!?_without_numactl:%{server_drivers}}
124 %define with_selinux          0%{!?_without_selinux:%{server_drivers}}
125
126 # A few optional bits off by default, we enable later
127 %define with_polkit        0%{!?_without_polkit:0}
128 %define with_capng         0%{!?_without_capng:0}
129 %define with_fuse          0%{!?_without_fuse:0}
130 %define with_netcf         0%{!?_without_netcf:0}
131 %define with_udev          0%{!?_without_udev:0}
132 %define with_hal           0%{!?_without_hal:0}
133 %define with_yajl          0%{!?_without_yajl:0}
134 %define with_nwfilter      0%{!?_without_nwfilter:0}
135 %define with_libpcap       0%{!?_without_libpcap:0}
136 %define with_macvtap       0%{!?_without_macvtap:0}
137 %define with_libnl         0%{!?_without_libnl:0}
138 %define with_audit         0%{!?_without_audit:0}
139 %define with_dtrace        0%{!?_without_dtrace:0}
140 %define with_cgconfig      0%{!?_without_cgconfig:0}
141 %define with_sanlock       0%{!?_without_sanlock:0}
142 %define with_systemd       0%{!?_without_systemd:0}
143 %define with_numad         0%{!?_without_numad:0}
144 %define with_firewalld     0%{!?_without_firewalld:0}
145 %define with_libssh2       0%{!?_without_libssh2:0}
146
147 # Non-server/HV driver defaults which are always enabled
148 %define with_python        0%{!?_without_python:1}
149 %define with_sasl          0%{!?_without_sasl:1}
150
151
152 # Finally set the OS / architecture specific special cases
153
154 # Xen is available only on i386 x86_64 ia64
155 %ifnarch %{ix86} x86_64 ia64
156     %define with_xen 0
157     %define with_libxl 0
158 %endif
159
160 # Numactl is not available on s390[x] and ARM
161 %ifarch s390 s390x %{arm}
162     %define with_numactl 0
163 %endif
164
165 # RHEL doesn't ship OpenVZ, VBox, UML, PowerHypervisor,
166 # VMWare, libxenserver (xenapi), libxenlight (Xen 4.1 and newer),
167 # or HyperV.
168 %if 0%{?rhel}
169     %define with_openvz 0
170     %define with_vbox 0
171     %define with_uml 0
172     %define with_phyp 0
173     %define with_vmware 0
174     %define with_xenapi 0
175     %define with_libxl 0
176     %define with_hyperv 0
177     %define with_parallels 0
178 %endif
179
180 # Fedora 17 / RHEL-7 are first where we use systemd. Although earlier
181 # Fedora has systemd, libvirt still used sysvinit there.
182 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
183     %define with_systemd 1
184 %endif
185
186 # Fedora 18 / RHEL-7 are first where firewalld support is enabled
187 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
188     %define with_firewalld 1
189 %endif
190
191 # RHEL-5 has restricted QEMU to x86_64 only and is too old for LXC
192 %if 0%{?rhel} == 5
193     %define with_qemu_tcg 0
194     %ifnarch x86_64
195         %define with_qemu 0
196         %define with_qemu_kvm 0
197     %endif
198     %define with_lxc 0
199 %endif
200
201 # RHEL-6 has restricted QEMU to x86_64 only, stopped including Xen
202 # on all archs. Other archs all have LXC available though
203 %if 0%{?rhel} >= 6
204     %define with_qemu_tcg 0
205     %ifnarch x86_64
206         %define with_qemu 0
207         %define with_qemu_kvm 0
208     %endif
209     %define with_xen 0
210 %endif
211
212 # Fedora doesn't have any QEMU on ppc64 until FC16 - only ppc
213 %if 0%{?fedora} && 0%{?fedora} < 16
214     %ifarch ppc64
215         %define with_qemu 0
216     %endif
217 %endif
218
219 # Fedora doesn't have new enough Xen for libxl until F18
220 %if 0%{?fedora} && 0%{?fedora} < 18
221     %define with_libxl 0
222 %endif
223
224 # PolicyKit was introduced in Fedora 8 / RHEL-6 or newer
225 %if 0%{?fedora} >= 8 || 0%{?rhel} >= 6
226     %define with_polkit    0%{!?_without_polkit:1}
227 %endif
228
229 # libcapng is used to manage capabilities in Fedora 12 / RHEL-6 or newer
230 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
231     %define with_capng     0%{!?_without_capng:1}
232 %endif
233
234 # fuse is used to provide virtualized /proc for LXC
235 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
236     %define with_fuse      0%{!?_without_fuse:1}
237 %endif
238
239 # netcf is used to manage network interfaces in Fedora 12 / RHEL-6 or newer
240 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
241     %define with_netcf     0%{!?_without_netcf:%{server_drivers}}
242 %endif
243
244 # udev is used to manage host devices in Fedora 12 / RHEL-6 or newer
245 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
246     %define with_udev     0%{!?_without_udev:%{server_drivers}}
247 %else
248     %define with_hal       0%{!?_without_hal:%{server_drivers}}
249 %endif
250
251 # interface requires netcf
252 %if ! 0%{?with_netcf}
253     %define with_interface     0
254 %endif
255
256 # Enable yajl library for JSON mode with QEMU
257 %if 0%{?fedora} >= 13 || 0%{?rhel} >= 6
258     %define with_yajl     0%{!?_without_yajl:%{server_drivers}}
259 %endif
260
261 # Enable sanlock library for lock management with QEMU
262 # Sanlock is available only on i686 x86_64 for RHEL
263 %if 0%{?fedora} >= 16
264     %define with_sanlock 0%{!?_without_sanlock:%{server_drivers}}
265 %endif
266 %if 0%{?rhel} >= 6
267     %ifarch %{ix86} x86_64
268         %define with_sanlock 0%{!?_without_sanlock:%{server_drivers}}
269     %endif
270 %endif
271
272 # Enable libssh2 transport for new enough distros
273 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 6
274     %define with_libssh2 0%{!?_without_libssh2:1}
275 %endif
276
277 # Disable some drivers when building without libvirt daemon.
278 # The logic is the same as in configure.ac
279 %if ! %{with_libvirtd}
280     %define with_interface 0
281     %define with_network 0
282     %define with_qemu 0
283     %define with_lxc 0
284     %define with_uml 0
285     %define with_hal 0
286     %define with_udev 0
287     %define with_storage_fs 0
288     %define with_storage_lvm 0
289     %define with_storage_iscsi 0
290     %define with_storage_mpath 0
291     %define with_storage_rbd 0
292     %define with_storage_sheepdog 0
293     %define with_storage_disk 0
294 %endif
295
296 %if %{with_qemu} || %{with_lxc} || %{with_uml}
297     %define with_nwfilter 0%{!?_without_nwfilter:%{server_drivers}}
298 # Enable libpcap library
299     %define with_libpcap  0%{!?_without_libpcap:%{server_drivers}}
300     %define with_macvtap  0%{!?_without_macvtap:%{server_drivers}}
301
302 # numad is used to manage the CPU and memory placement dynamically,
303 # it's not available on s390[x] and ARM.
304     %if 0%{?fedora} >= 17 || 0%{?rhel} >= 6
305         %ifnarch s390 s390x %{arm}
306             %define with_numad    0%{!?_without_numad:%{server_drivers}}
307         %endif
308     %endif
309 %endif
310
311 %if %{with_macvtap}
312     %define with_libnl 1
313 %endif
314
315 %if 0%{?fedora} >= 11 || 0%{?rhel} >= 5
316     %define with_audit    0%{!?_without_audit:1}
317 %endif
318
319 %if 0%{?fedora} >= 13 || 0%{?rhel} >= 6
320     %define with_dtrace 1
321 %endif
322
323 # Pull in cgroups config system
324 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
325     %if %{with_qemu} || %{with_lxc}
326         %define with_cgconfig 0%{!?_without_cgconfig:1}
327     %endif
328 %endif
329
330 %if %{with_udev} || %{with_hal}
331     %define with_nodedev 1
332 %else
333     %define with_nodedev 0
334 %endif
335
336 %if %{with_storage_fs} || %{with_storage_mpath} || %{with_storage_iscsi} || %{with_storage_lvm} || %{with_storage_disk}
337     %define with_storage 1
338 %else
339     %define with_storage 0
340 %endif
341
342
343 # Force QEMU to run as non-root
344 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
345     %define qemu_user  qemu
346     %define qemu_group  qemu
347 %else
348     %define qemu_user  root
349     %define qemu_group  root
350 %endif
351
352
353 # The RHEL-5 Xen package has some feature backports. This
354 # flag is set to enable use of those special bits on RHEL-5
355 %if 0%{?rhel} == 5
356     %define with_rhel5  1
357 %else
358     %define with_rhel5  0
359 %endif
360
361 %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
362     %define with_systemd_macros 1
363 %else
364     %define with_systemd_macros 0
365 %endif
366
367
368 Summary: Library providing a simple virtualization API
369 Name: libvirt
370 Version: %{mainstream_version}
371 Release: %{taglevel}
372 License: LGPLv2+
373 Group: Development/Libraries
374 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
375 URL: http://libvirt.org/
376
377 %if %(echo %{version} | grep -o \\. | wc -l) == 3
378     %define mainturl stable_updates/
379 %endif
380 Source: http://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.gz
381 Patch1: selinux-mkdir.patch
382
383 %if %{with_libvirtd}
384 Requires: libvirt-daemon = %{version}-%{release}
385     %if %{with_network}
386 Requires: libvirt-daemon-config-network = %{version}-%{release}
387     %endif
388     %if %{with_nwfilter}
389 Requires: libvirt-daemon-config-nwfilter = %{version}-%{release}
390     %endif
391     %if %{with_driver_modules}
392         %if %{with_libxl}
393 Requires: libvirt-daemon-driver-libxl = %{version}-%{release}
394         %endif
395         %if %{with_lxc}
396 Requires: libvirt-daemon-driver-lxc = %{version}-%{release}
397         %endif
398         %if %{with_qemu}
399 Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
400         %endif
401         %if %{with_uml}
402 Requires: libvirt-daemon-driver-uml = %{version}-%{release}
403         %endif
404         %if %{with_xen}
405 Requires: libvirt-daemon-driver-xen = %{version}-%{release}
406         %endif
407
408 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
409 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
410 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
411 Requires: libvirt-daemon-driver-network = %{version}-%{release}
412 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
413 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
414     %endif
415 %endif
416 Requires: libvirt-client = %{version}-%{release}
417
418 # All build-time requirements. Run-time requirements are
419 # listed against each sub-RPM
420 %if 0%{?enable_autotools}
421 BuildRequires: autoconf
422 BuildRequires: automake
423 BuildRequires: gettext-devel
424 BuildRequires: libtool
425 %endif
426 BuildRequires: python-devel
427 %if %{with_systemd}
428 BuildRequires: systemd-units
429 %endif
430 %if %{with_xen}
431 BuildRequires: xen-devel
432 %endif
433 BuildRequires: libxml2-devel
434 BuildRequires: xhtml1-dtds
435 BuildRequires: libxslt
436 BuildRequires: readline-devel
437 BuildRequires: ncurses-devel
438 BuildRequires: gettext
439 BuildRequires: libtasn1-devel
440 BuildRequires: gnutls-devel
441 BuildRequires: libattr-devel
442 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
443 # for augparse, optionally used in testing
444 BuildRequires: augeas
445 %endif
446 %if %{with_hal}
447 BuildRequires: hal-devel
448 %endif
449 %if %{with_udev}
450     %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
451 BuildRequires: systemd-devel >= 185
452     %else
453 BuildRequires: libudev-devel >= 145
454     %endif
455 BuildRequires: libpciaccess-devel >= 0.10.9
456 %endif
457 %if %{with_yajl}
458 BuildRequires: yajl-devel
459 %endif
460 %if %{with_sanlock}
461 # make sure libvirt is built with new enough sanlock on
462 # distros that have it; required for on_lockfailure
463     %if 0%{?fedora} >= 17 || 0%{?rhel} >= 6
464 BuildRequires: sanlock-devel >= 2.4
465     %else
466 BuildRequires: sanlock-devel >= 1.8
467     %endif
468 %endif
469 %if %{with_libpcap}
470 BuildRequires: libpcap-devel
471 %endif
472 %if %{with_libnl}
473     %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
474 BuildRequires: libnl3-devel
475     %else
476 BuildRequires: libnl-devel
477     %endif
478 %endif
479 %if %{with_avahi}
480 BuildRequires: avahi-devel
481 %endif
482 %if %{with_selinux}
483 BuildRequires: libselinux-devel
484 %endif
485 %if %{with_network}
486 BuildRequires: dnsmasq >= 2.41
487 BuildRequires: iptables
488 BuildRequires: iptables-ipv6
489 BuildRequires: radvd
490 %endif
491 %if %{with_nwfilter}
492 BuildRequires: ebtables
493 %endif
494 BuildRequires: module-init-tools
495 %if %{with_sasl}
496 BuildRequires: cyrus-sasl-devel
497 %endif
498 %if %{with_polkit}
499     %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
500 # Only need the binary, not -devel
501 BuildRequires: polkit >= 0.93
502     %else
503 BuildRequires: PolicyKit-devel >= 0.6
504     %endif
505 %endif
506 %if %{with_storage_fs}
507 # For mount/umount in FS driver
508 BuildRequires: util-linux
509 %endif
510 %if %{with_qemu}
511 # From QEMU RPMs
512 BuildRequires: /usr/bin/qemu-img
513 %else
514     %if %{with_xen}
515 # From Xen RPMs
516 BuildRequires: /usr/sbin/qcow-create
517     %endif
518 %endif
519 %if %{with_storage_lvm}
520 # For LVM drivers
521 BuildRequires: lvm2
522 %endif
523 %if %{with_storage_iscsi}
524 # For ISCSI driver
525 BuildRequires: iscsi-initiator-utils
526 %endif
527 %if %{with_storage_disk}
528 # For disk driver
529 BuildRequires: parted-devel
530     %if 0%{?rhel} == 5
531 # Broken RHEL-5 parted RPM is missing a dep
532 BuildRequires: e2fsprogs-devel
533     %endif
534 %endif
535 %if %{with_storage_mpath}
536 # For Multipath support
537     %if 0%{?rhel} == 5
538 # Broken RHEL-5 packaging has header files in main RPM :-(
539 BuildRequires: device-mapper
540     %else
541 BuildRequires: device-mapper-devel
542     %endif
543     %if %{with_storage_rbd}
544 BuildRequires: ceph-devel
545     %endif
546 %endif
547 %if %{with_numactl}
548 # For QEMU/LXC numa info
549 BuildRequires: numactl-devel
550 %endif
551 %if %{with_capng}
552 BuildRequires: libcap-ng-devel >= 0.5.0
553 %endif
554 %if %{with_fuse}
555 BuildRequires: fuse-devel >= 2.8.6
556 %endif
557 %if %{with_phyp} || %{with_libssh2}
558 BuildRequires: libssh2-devel >= 1.3.0
559 %endif
560
561 %if %{with_netcf}
562     %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
563 BuildRequires: netcf-devel >= 0.2.2
564     %else
565         %if 0%{?fedora} >= 16 || 0%{?rhel} >= 6
566 BuildRequires: netcf-devel >= 0.1.8
567         %else
568 BuildRequires: netcf-devel >= 0.1.4
569         %endif
570     %endif
571 %endif
572 %if %{with_esx}
573     %if 0%{?fedora} >= 9 || 0%{?rhel} >= 6
574 BuildRequires: libcurl-devel
575     %else
576 BuildRequires: curl-devel
577     %endif
578 %endif
579 %if %{with_hyperv}
580 BuildRequires: libwsman-devel >= 2.2.3
581 %endif
582 %if %{with_audit}
583 BuildRequires: audit-libs-devel
584 %endif
585 %if %{with_dtrace}
586 # we need /usr/sbin/dtrace
587 BuildRequires: systemtap-sdt-devel
588 %endif
589
590 %if %{with_storage_fs}
591 # For mount/umount in FS driver
592 BuildRequires: util-linux
593 # For showmount in FS driver (netfs discovery)
594 BuildRequires: nfs-utils
595 %endif
596
597 %if %{with_firewalld}
598 # Communication with the firewall daemon uses DBus
599 BuildRequires: dbus-devel
600 %endif
601
602 # Fedora build root suckage
603 BuildRequires: gawk
604
605 # For storage wiping with different algorithms
606 BuildRequires: scrub
607
608 %if %{with_numad}
609 BuildRequires: numad
610 %endif
611
612 Provides: bundled(gnulib)
613
614 %description
615 Libvirt is a C toolkit to interact with the virtualization capabilities
616 of recent versions of Linux (and other OSes). The main package includes
617 the libvirtd server exporting the virtualization support.
618
619 %package docs
620 Summary: API reference and website documentation
621 Group: Development/Libraries
622
623 %description docs
624 Includes the API reference for the libvirt C library, and a complete
625 copy of the libvirt.org website documentation.
626
627 %if %{with_libvirtd}
628 %package daemon
629 Summary: Server side daemon and supporting files for libvirt library
630 Group: Development/Libraries
631
632 # All runtime requirements for the libvirt package (runtime requrements
633 # for subpackages are listed later in those subpackages)
634
635 # The client side, i.e. shared libs and virsh are in a subpackage
636 Requires: %{name}-client = %{version}-%{release}
637
638 # for modprobe of pci devices
639 Requires: module-init-tools
640 # for /sbin/ip & /sbin/tc
641 Requires: iproute
642     %if %{with_avahi}
643         %if 0%{?rhel} == 5
644 Requires: avahi
645         %else
646 Requires: avahi-libs
647         %endif
648     %endif
649     %if %{with_network}
650 Requires: dnsmasq >= 2.41
651 Requires: radvd
652     %endif
653     %if %{with_network} || %{with_nwfilter}
654 Requires: iptables
655 Requires: iptables-ipv6
656     %endif
657     %if %{with_nwfilter}
658 Requires: ebtables
659     %endif
660     %if %{with_netcf} && (0%{?fedora} >= 18 || 0%{?rhel} >= 7)
661 Requires: netcf-libs >= 0.2.2
662     %endif
663 # needed for device enumeration
664     %if %{with_hal}
665 Requires: hal
666     %endif
667     %if %{with_udev}
668         %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
669 Requires: systemd >= 185
670         %else
671 Requires: udev >= 145
672         %endif
673     %endif
674     %if %{with_polkit}
675         %if 0%{?fedora} >= 12 || 0%{?rhel} >=6
676 Requires: polkit >= 0.93
677         %else
678 Requires: PolicyKit >= 0.6
679         %endif
680     %endif
681     %if %{with_storage_fs}
682 Requires: nfs-utils
683 # For mkfs
684 Requires: util-linux
685 # For pool-build probing for existing pools
686 BuildRequires: libblkid-devel >= 2.17
687 # For glusterfs
688         %if 0%{?fedora} >= 11
689 Requires: glusterfs-client >= 2.0.1
690         %endif
691     %endif
692     %if %{with_qemu}
693 # From QEMU RPMs
694 Requires: /usr/bin/qemu-img
695 # For image compression
696 Requires: gzip
697 Requires: bzip2
698 Requires: lzop
699 Requires: xz
700     %else
701         %if %{with_xen}
702 # From Xen RPMs
703 Requires: /usr/sbin/qcow-create
704         %endif
705     %endif
706     %if %{with_storage_lvm}
707 # For LVM drivers
708 Requires: lvm2
709     %endif
710     %if %{with_storage_iscsi}
711 # For ISCSI driver
712 Requires: iscsi-initiator-utils
713     %endif
714     %if %{with_storage_disk}
715 # For disk driver
716 Requires: parted
717 Requires: device-mapper
718     %endif
719     %if %{with_storage_mpath}
720 # For multipath support
721 Requires: device-mapper
722     %endif
723     %if %{with_storage_sheepdog}
724 # For Sheepdog support
725 Requires: sheepdog
726     %endif
727     %if %{with_cgconfig}
728 Requires: libcgroup
729     %endif
730     %ifarch %{ix86} x86_64 ia64
731 # For virConnectGetSysinfo
732 Requires: dmidecode
733     %endif
734 # For service management
735     %if %{with_systemd}
736 Requires(post): systemd-units
737 Requires(post): systemd-sysv
738 Requires(preun): systemd-units
739 Requires(postun): systemd-units
740     %endif
741     %if %{with_numad}
742 Requires: numad
743     %endif
744 # libvirtd depends on 'messagebus' service
745 Requires: dbus
746
747 %description daemon
748 Server side daemon required to manage the virtualization capabilities
749 of recent versions of Linux. Requires a hypervisor specific sub-RPM
750 for specific drivers.
751
752     %if %{with_network}
753 %package daemon-config-network
754 Summary: Default configuration files for the libvirtd daemon
755 Group: Development/Libraries
756
757 Requires: libvirt-daemon = %{version}-%{release}
758
759 %description daemon-config-network
760 Default configuration files for setting up NAT based networking
761     %endif
762
763     %if %{with_nwfilter}
764 %package daemon-config-nwfilter
765 Summary: Network filter configuration files for the libvirtd daemon
766 Group: Development/Libraries
767
768 Requires: libvirt-daemon = %{version}-%{release}
769
770 %description daemon-config-nwfilter
771 Network filter configuration files for cleaning guest traffic
772     %endif
773
774     %if %{with_driver_modules}
775         %if %{with_network}
776 %package daemon-driver-network
777 Summary: Network driver plugin for the libvirtd daemon
778 Group: Development/Libraries
779 Requires: libvirt-daemon = %{version}-%{release}
780
781 %description daemon-driver-network
782 The network driver plugin for the libvirtd daemon, providing
783 an implementation of the virtual network APIs using the Linux
784 bridge capabilities.
785         %endif
786
787
788         %if %{with_nwfilter}
789 %package daemon-driver-nwfilter
790 Summary: Nwfilter driver plugin for the libvirtd daemon
791 Group: Development/Libraries
792 Requires: libvirt-daemon = %{version}-%{release}
793
794 %description daemon-driver-nwfilter
795 The nwfilter driver plugin for the libvirtd daemon, providing
796 an implementation of the firewall APIs using the ebtables,
797 iptables and ip6tables capabilities
798         %endif
799
800
801         %if %{with_nodedev}
802 %package daemon-driver-nodedev
803 Summary: Nodedev driver plugin for the libvirtd daemon
804 Group: Development/Libraries
805 Requires: libvirt-daemon = %{version}-%{release}
806
807 %description daemon-driver-nodedev
808 The nodedev driver plugin for the libvirtd daemon, providing
809 an implementation of the node device APIs using the udev
810 capabilities.
811         %endif
812
813
814         %if %{with_interface}
815 %package daemon-driver-interface
816 Summary: Interface driver plugin for the libvirtd daemon
817 Group: Development/Libraries
818 Requires: libvirt-daemon = %{version}-%{release}
819
820 %description daemon-driver-interface
821 The interface driver plugin for the libvirtd daemon, providing
822 an implementation of the network interface APIs using the
823 netcf library
824         %endif
825
826
827 %package daemon-driver-secret
828 Summary: Secret driver plugin for the libvirtd daemon
829 Group: Development/Libraries
830 Requires: libvirt-daemon = %{version}-%{release}
831
832 %description daemon-driver-secret
833 The secret driver plugin for the libvirtd daemon, providing
834 an implementation of the secret key APIs.
835
836
837         %if %{with_storage}
838 %package daemon-driver-storage
839 Summary: Storage driver plugin for the libvirtd daemon
840 Group: Development/Libraries
841 Requires: libvirt-daemon = %{version}-%{release}
842
843 %description daemon-driver-storage
844 The storage driver plugin for the libvirtd daemon, providing
845 an implementation of the storage APIs using LVM, iSCSI,
846 parted and more.
847         %endif
848
849
850         %if %{with_qemu}
851 %package daemon-driver-qemu
852 Summary: Qemu driver plugin for the libvirtd daemon
853 Group: Development/Libraries
854 Requires: libvirt-daemon = %{version}-%{release}
855 # There really is a hard cross-driver dependency here
856 Requires: libvirt-daemon-driver-network = %{version}-%{release}
857
858 %description daemon-driver-qemu
859 The qemu driver plugin for the libvirtd daemon, providing
860 an implementation of the hypervisor driver APIs using
861 QEMU
862         %endif
863
864
865         %if %{with_lxc}
866 %package daemon-driver-lxc
867 Summary: LXC driver plugin for the libvirtd daemon
868 Group: Development/Libraries
869 Requires: libvirt-daemon = %{version}-%{release}
870 # There really is a hard cross-driver dependency here
871 Requires: libvirt-daemon-driver-network = %{version}-%{release}
872
873 %description daemon-driver-lxc
874 The LXC driver plugin for the libvirtd daemon, providing
875 an implementation of the hypervisor driver APIs using
876 the Linux kernel
877         %endif
878
879
880         %if %{with_uml}
881 %package daemon-driver-uml
882 Summary: Uml driver plugin for the libvirtd daemon
883 Group: Development/Libraries
884 Requires: libvirt-daemon = %{version}-%{release}
885
886 %description daemon-driver-uml
887 The UML driver plugin for the libvirtd daemon, providing
888 an implementation of the hypervisor driver APIs using
889 User Mode Linux
890         %endif
891
892
893         %if %{with_xen}
894 %package daemon-driver-xen
895 Summary: Xen driver plugin for the libvirtd daemon
896 Group: Development/Libraries
897 Requires: libvirt-daemon = %{version}-%{release}
898
899 %description daemon-driver-xen
900 The Xen driver plugin for the libvirtd daemon, providing
901 an implementation of the hypervisor driver APIs using
902 Xen
903         %endif
904
905
906         %if %{with_libxl}
907 %package daemon-driver-libxl
908 Summary: Libxl driver plugin for the libvirtd daemon
909 Group: Development/Libraries
910 Requires: libvirt-daemon = %{version}-%{release}
911
912 %description daemon-driver-libxl
913 The Libxl driver plugin for the libvirtd daemon, providing
914 an implementation of the hypervisor driver APIs using
915 Libxl
916         %endif
917     %endif # %{with_driver_modules}
918
919
920
921     %if %{with_qemu_tcg}
922 %package daemon-qemu
923 Summary: Server side daemon & driver required to run QEMU guests
924 Group: Development/Libraries
925
926 Requires: libvirt-daemon = %{version}-%{release}
927         %if %{with_driver_modules}
928 Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
929 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
930 Requires: libvirt-daemon-driver-network = %{version}-%{release}
931 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
932 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
933 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
934 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
935         %endif
936 Requires: qemu
937
938 %description daemon-qemu
939 Server side daemon and driver required to manage the virtualization
940 capabilities of the QEMU TCG emulators
941     %endif
942
943
944     %if %{with_qemu_kvm}
945 %package daemon-kvm
946 Summary: Server side daemon & driver required to run KVM guests
947 Group: Development/Libraries
948
949 Requires: libvirt-daemon = %{version}-%{release}
950         %if %{with_driver_modules}
951 Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
952 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
953 Requires: libvirt-daemon-driver-network = %{version}-%{release}
954 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
955 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
956 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
957 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
958         %endif
959 Requires: qemu-kvm
960
961 %description daemon-kvm
962 Server side daemon and driver required to manage the virtualization
963 capabilities of the KVM hypervisor
964     %endif
965
966
967     %if %{with_lxc}
968 %package daemon-lxc
969 Summary: Server side daemon & driver required to run LXC guests
970 Group: Development/Libraries
971
972 Requires: libvirt-daemon = %{version}-%{release}
973         %if %{with_driver_modules}
974 Requires: libvirt-daemon-driver-lxc = %{version}-%{release}
975 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
976 Requires: libvirt-daemon-driver-network = %{version}-%{release}
977 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
978 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
979 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
980 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
981         %endif
982
983 %description daemon-lxc
984 Server side daemon and driver required to manage the virtualization
985 capabilities of LXC
986     %endif
987
988
989     %if %{with_uml}
990 %package daemon-uml
991 Summary: Server side daemon & driver required to run UML guests
992 Group: Development/Libraries
993
994 Requires: libvirt-daemon = %{version}-%{release}
995         %if %{with_driver_modules}
996 Requires: libvirt-daemon-driver-uml = %{version}-%{release}
997 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
998 Requires: libvirt-daemon-driver-network = %{version}-%{release}
999 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
1000 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
1001 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
1002 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
1003         %endif
1004 # There are no UML kernel RPMs in Fedora/RHEL to depend on.
1005
1006 %description daemon-uml
1007 Server side daemon and driver required to manage the virtualization
1008 capabilities of UML
1009     %endif
1010
1011
1012     %if %{with_xen} || %{with_libxl}
1013 %package daemon-xen
1014 Summary: Server side daemon & driver required to run XEN guests
1015 Group: Development/Libraries
1016
1017 Requires: libvirt-daemon = %{version}-%{release}
1018         %if %{with_driver_modules}
1019             %if %{with_xen}
1020 Requires: libvirt-daemon-driver-xen = %{version}-%{release}
1021             %endif
1022             %if %{with_libxl}
1023 Requires: libvirt-daemon-driver-libxl = %{version}-%{release}
1024             %endif
1025 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
1026 Requires: libvirt-daemon-driver-network = %{version}-%{release}
1027 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
1028 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
1029 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
1030 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
1031         %endif
1032 Requires: xen
1033
1034 %description daemon-xen
1035 Server side daemon and driver required to manage the virtualization
1036 capabilities of XEN
1037     %endif
1038 %endif # %{with_libvirtd}
1039
1040 %package client
1041 Summary: Client side library and utilities of the libvirt library
1042 Group: Development/Libraries
1043 Requires: readline
1044 Requires: ncurses
1045 # So remote clients can access libvirt over SSH tunnel
1046 # (client invokes 'nc' against the UNIX socket on the server)
1047 Requires: nc
1048 # Needed by libvirt-guests init script.
1049 Requires: gettext
1050 # Needed by virt-pki-validate script.
1051 Requires: gnutls-utils
1052 # Needed for probing the power management features of the host.
1053 Requires: pm-utils
1054 %if %{with_sasl}
1055 Requires: cyrus-sasl
1056 # Not technically required, but makes 'out-of-box' config
1057 # work correctly & doesn't have onerous dependencies
1058 Requires: cyrus-sasl-md5
1059 %endif
1060
1061 %description client
1062 Shared libraries and client binaries needed to access to the
1063 virtualization capabilities of recent versions of Linux (and other OSes).
1064
1065 %package devel
1066 Summary: Libraries, includes, etc. to compile with the libvirt library
1067 Group: Development/Libraries
1068 Requires: %{name}-client = %{version}-%{release}
1069 Requires: %{name}-docs = %{version}-%{release}
1070 Requires: pkgconfig
1071
1072 %description devel
1073 Include header files & development libraries for the libvirt C library.
1074
1075 %if %{with_sanlock}
1076 %package lock-sanlock
1077 Summary: Sanlock lock manager plugin for QEMU driver
1078 Group: Development/Libraries
1079     %if 0%{?fedora} >= 17 || 0%{?rhel} >= 6
1080 Requires: sanlock >= 2.4
1081     %else
1082 Requires: sanlock >= 1.8
1083     %endif
1084 #for virt-sanlock-cleanup require augeas
1085 Requires: augeas
1086 Requires: %{name}-daemon = %{version}-%{release}
1087 Requires: %{name}-client = %{version}-%{release}
1088
1089 %description lock-sanlock
1090 Includes the Sanlock lock manager plugin for the QEMU
1091 driver
1092 %endif
1093
1094 %if %{with_python}
1095 %package python
1096 Summary: Python bindings for the libvirt library
1097 Group: Development/Libraries
1098 Requires: %{name}-client = %{version}-%{release}
1099
1100 %description python
1101 The libvirt-python package contains a module that permits applications
1102 written in the Python programming language to use the interface
1103 supplied by the libvirt library to use the virtualization capabilities
1104 of recent versions of Linux (and other OSes).
1105 %endif
1106
1107 %prep
1108 %setup -q
1109 %patch1 -p1 -R
1110
1111 %build
1112 %if ! %{with_xen}
1113     %define _without_xen --without-xen
1114 %endif
1115
1116 %if ! %{with_qemu}
1117     %define _without_qemu --without-qemu
1118 %endif
1119
1120 %if ! %{with_openvz}
1121     %define _without_openvz --without-openvz
1122 %endif
1123
1124 %if ! %{with_lxc}
1125     %define _without_lxc --without-lxc
1126 %endif
1127
1128 %if ! %{with_vbox}
1129     %define _without_vbox --without-vbox
1130 %endif
1131
1132 %if ! %{with_xenapi}
1133     %define _without_xenapi --without-xenapi
1134 %endif
1135
1136 %if ! %{with_libxl}
1137     %define _without_libxl --without-libxl
1138 %endif
1139
1140 %if ! %{with_sasl}
1141     %define _without_sasl --without-sasl
1142 %endif
1143
1144 %if ! %{with_avahi}
1145     %define _without_avahi --without-avahi
1146 %endif
1147
1148 %if ! %{with_phyp}
1149     %define _without_phyp --without-phyp
1150 %endif
1151
1152 %if ! %{with_esx}
1153     %define _without_esx --without-esx
1154 %endif
1155
1156 %if ! %{with_hyperv}
1157     %define _without_hyperv --without-hyperv
1158 %endif
1159
1160 %if ! %{with_vmware}
1161     %define _without_vmware --without-vmware
1162 %endif
1163
1164 %if ! %{with_parallels}
1165     %define _without_parallels --without-parallels
1166 %endif
1167
1168 %if ! %{with_polkit}
1169     %define _without_polkit --without-polkit
1170 %endif
1171
1172 %if ! %{with_python}
1173     %define _without_python --without-python
1174 %endif
1175
1176 %if ! %{with_libvirtd}
1177     %define _without_libvirtd --without-libvirtd
1178 %endif
1179
1180 %if ! %{with_uml}
1181     %define _without_uml --without-uml
1182 %endif
1183
1184 %if %{with_rhel5}
1185     %define _with_rhel5_api --with-rhel5-api
1186 %endif
1187
1188 %if ! %{with_interface}
1189     %define _without_interface --without-interface
1190 %endif
1191
1192 %if ! %{with_network}
1193     %define _without_network --without-network
1194 %endif
1195
1196 %if ! %{with_storage_fs}
1197     %define _without_storage_fs --without-storage-fs
1198 %endif
1199
1200 %if ! %{with_storage_lvm}
1201     %define _without_storage_lvm --without-storage-lvm
1202 %endif
1203
1204 %if ! %{with_storage_iscsi}
1205     %define _without_storage_iscsi --without-storage-iscsi
1206 %endif
1207
1208 %if ! %{with_storage_disk}
1209     %define _without_storage_disk --without-storage-disk
1210 %endif
1211
1212 %if ! %{with_storage_mpath}
1213     %define _without_storage_mpath --without-storage-mpath
1214 %endif
1215
1216 %if ! %{with_storage_rbd}
1217     %define _without_storage_rbd --without-storage-rbd
1218 %endif
1219
1220 %if ! %{with_storage_sheepdog}
1221     %define _without_storage_sheepdog --without-storage-sheepdog
1222 %endif
1223
1224 %if ! %{with_numactl}
1225     %define _without_numactl --without-numactl
1226 %endif
1227
1228 %if ! %{with_numad}
1229     %define _without_numad --without-numad
1230 %endif
1231
1232 %if ! %{with_capng}
1233     %define _without_capng --without-capng
1234 %endif
1235
1236 %if ! %{with_fuse}
1237     %define _without_fuse --without-fuse
1238 %endif
1239
1240 %if ! %{with_netcf}
1241     %define _without_netcf --without-netcf
1242 %endif
1243
1244 %if ! %{with_selinux}
1245     %define _without_selinux --without-selinux
1246 %endif
1247
1248 %if ! %{with_hal}
1249     %define _without_hal --without-hal
1250 %endif
1251
1252 %if ! %{with_udev}
1253     %define _without_udev --without-udev
1254 %endif
1255
1256 %if ! %{with_yajl}
1257     %define _without_yajl --without-yajl
1258 %endif
1259
1260 %if ! %{with_sanlock}
1261     %define _without_sanlock --without-sanlock
1262 %endif
1263
1264 %if ! %{with_libpcap}
1265     %define _without_libpcap --without-libpcap
1266 %endif
1267
1268 %if ! %{with_macvtap}
1269     %define _without_macvtap --without-macvtap
1270 %endif
1271
1272 %if ! %{with_audit}
1273     %define _without_audit --without-audit
1274 %endif
1275
1276 %if ! %{with_dtrace}
1277     %define _without_dtrace --without-dtrace
1278 %endif
1279
1280 %if ! %{with_driver_modules}
1281     %define _without_driver_modules --without-driver-modules
1282 %endif
1283
1284 %if %{with_firewalld}
1285     %define _with_firewalld --with-firewalld
1286 %endif
1287
1288 %define when  %(date +"%%F-%%T")
1289 %define where %(hostname)
1290 %define who   %{?packager}%{!?packager:Unknown}
1291 %define with_packager --with-packager="%{who}, %{when}, %{where}"
1292 %define with_packager_version --with-packager-version="%{release}"
1293
1294 %if %{with_systemd}
1295     %define init_scripts --with-init_script=systemd
1296 %else
1297     %define init_scripts --with-init_script=redhat
1298 %endif
1299
1300 %if 0%{?enable_autotools}
1301  autoreconf -if
1302 %endif
1303
1304 %if %{with_selinux}
1305     %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
1306         %define with_selinux_mount --with-selinux-mount="/sys/fs/selinux"
1307     %else
1308         %define with_selinux_mount --with-selinux-mount="/selinux"
1309     %endif
1310 %endif
1311
1312 %configure %{?_without_xen} \
1313            %{?_without_qemu} \
1314            %{?_without_openvz} \
1315            %{?_without_lxc} \
1316            %{?_without_vbox} \
1317            %{?_without_libxl} \
1318            %{?_without_xenapi} \
1319            %{?_without_sasl} \
1320            %{?_without_avahi} \
1321            %{?_without_polkit} \
1322            %{?_without_python} \
1323            %{?_without_libvirtd} \
1324            %{?_without_uml} \
1325            %{?_without_phyp} \
1326            %{?_without_esx} \
1327            %{?_without_hyperv} \
1328            %{?_without_vmware} \
1329            %{?_without_parallels} \
1330            %{?_without_interface} \
1331            %{?_without_network} \
1332            %{?_with_rhel5_api} \
1333            %{?_without_storage_fs} \
1334            %{?_without_storage_lvm} \
1335            %{?_without_storage_iscsi} \
1336            %{?_without_storage_disk} \
1337            %{?_without_storage_mpath} \
1338            %{?_without_storage_rbd} \
1339            %{?_without_storage_sheepdog} \
1340            %{?_without_numactl} \
1341            %{?_without_numad} \
1342            %{?_without_capng} \
1343            %{?_without_fuse} \
1344            %{?_without_netcf} \
1345            %{?_without_selinux} \
1346            %{?_with_selinux_mount} \
1347            %{?_without_hal} \
1348            %{?_without_udev} \
1349            %{?_without_yajl} \
1350            %{?_without_sanlock} \
1351            %{?_without_libpcap} \
1352            %{?_without_macvtap} \
1353            %{?_without_audit} \
1354            %{?_without_dtrace} \
1355            %{?_without_driver_modules} \
1356            %{?_with_firewalld} \
1357            %{with_packager} \
1358            %{with_packager_version} \
1359            --with-qemu-user=%{qemu_user} \
1360            --with-qemu-group=%{qemu_group} \
1361            %{init_scripts}
1362 make %{?_smp_mflags}
1363 gzip -9 ChangeLog
1364
1365 %install
1366 rm -fr %{buildroot}
1367
1368 %makeinstall SYSTEMD_UNIT_DIR=%{buildroot}%{_unitdir}
1369 for i in domain-events/events-c dominfo domsuspend hellolibvirt openauth python xml/nwfilter systemtap
1370 do
1371   (cd examples/$i ; make clean ; rm -rf .deps .libs Makefile Makefile.in)
1372 done
1373 rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
1374 rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
1375 rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.la
1376 rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.a
1377 rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.la
1378 rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.a
1379 %if %{with_driver_modules}
1380 rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.la
1381 rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.a
1382 %endif
1383
1384 %if %{with_network}
1385 install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/lib/libvirt/dnsmasq/
1386 # We don't want to install /etc/libvirt/qemu/networks in the main %files list
1387 # because if the admin wants to delete the default network completely, we don't
1388 # want to end up re-incarnating it on every RPM upgrade.
1389 install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/
1390 cp $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml \
1391    $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
1392 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
1393 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
1394 # Strip auto-generated UUID - we need it generated per-install
1395 sed -i -e "/<uuid>/d" $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
1396 %else
1397 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
1398 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
1399 %endif
1400 %if ! %{with_qemu}
1401 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_qemu.aug
1402 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
1403 %endif
1404 %find_lang %{name}
1405
1406 %if ! %{with_sanlock}
1407 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirt_sanlock.aug
1408 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug
1409 %endif
1410
1411 %if ! %{with_lxc}
1412 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_lxc.aug
1413 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
1414 %endif
1415
1416 %if ! %{with_python}
1417 rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-python-%{version}
1418 %else
1419 rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-python-%{version}/examples
1420 %endif
1421
1422 %if ! %{with_qemu}
1423 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf
1424 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.qemu
1425 %endif
1426 %if ! %{with_lxc}
1427 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/lxc.conf
1428 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.lxc
1429 %endif
1430 %if ! %{with_uml}
1431 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.uml
1432 %endif
1433
1434 mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{version} \
1435    $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-docs-%{version}
1436
1437 %if %{with_dtrace}
1438     %ifarch %{power64} s390x x86_64 ia64 alpha sparc64
1439 mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes.stp \
1440    $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes-64.stp
1441 mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes.stp \
1442    $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes-64.stp
1443     %endif
1444 %endif
1445
1446 %if 0%{?fedora} < 14 && 0%{?rhel} < 6
1447 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/sysctl.d/libvirtd.conf
1448 %endif
1449
1450 %clean
1451 rm -fr %{buildroot}
1452
1453 %check
1454 cd tests
1455 make
1456 # These tests don't current work in a mock build root
1457 for i in nodeinfotest seclabeltest
1458 do
1459   rm -f $i
1460   printf 'int main(void) { return 0; }' > $i.c
1461   printf '#!/bin/sh\nexit 0\n' > $i
1462   chmod +x $i
1463 done
1464 make check
1465
1466 %if %{with_libvirtd}
1467 %pre daemon
1468     %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
1469 # Normally 'setup' adds this in /etc/passwd, but this is
1470 # here for case of upgrades from earlier Fedora/RHEL. This
1471 # UID/GID pair is reserved for qemu:qemu
1472 getent group kvm >/dev/null || groupadd -g 36 -r kvm
1473 getent group qemu >/dev/null || groupadd -g 107 -r qemu
1474 getent passwd qemu >/dev/null || \
1475   useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
1476     -c "qemu user" qemu
1477     %endif
1478
1479 %post daemon
1480
1481     %if %{with_network}
1482 # All newly defined networks will have a mac address for the bridge
1483 # auto-generated, but networks already existing at the time of upgrade
1484 # will not. We need to go through all the network configs, look for
1485 # those that don't have a mac address, and add one.
1486
1487 network_files=$( (cd %{_localstatedir}/lib/libvirt/network && \
1488                   grep -L "mac address" *.xml; \
1489                   cd %{_sysconfdir}/libvirt/qemu/networks && \
1490                   grep -L "mac address" *.xml) 2>/dev/null \
1491                 | sort -u)
1492
1493 for file in $network_files
1494 do
1495    # each file exists in either the config or state directory (or both) and
1496    # does not have a mac address specified in either. We add the same mac
1497    # address to both files (or just one, if the other isn't there)
1498
1499    mac4=`printf '%X' $(($RANDOM % 256))`
1500    mac5=`printf '%X' $(($RANDOM % 256))`
1501    mac6=`printf '%X' $(($RANDOM % 256))`
1502    for dir in %{_localstatedir}/lib/libvirt/network \
1503               %{_sysconfdir}/libvirt/qemu/networks
1504    do
1505       if test -f $dir/$file
1506       then
1507          sed -i.orig -e \
1508            "s|\(<bridge.*$\)|\0\n  <mac address='52:54:00:$mac4:$mac5:$mac6'/>|" \
1509            $dir/$file
1510          if test $? != 0
1511          then
1512              echo "failed to add <mac address='52:54:00:$mac4:$mac5:$mac6'/>" \
1513                   "to $dir/$file"
1514              mv -f $dir/$file.orig $dir/$file
1515          else
1516              rm -f $dir/$file.orig
1517          fi
1518       fi
1519    done
1520 done
1521     %endif
1522
1523     %if %{with_systemd}
1524         %if %{with_systemd_macros}
1525             %systemd_post libvirtd.service
1526         %else
1527 if [ $1 -eq 1 ] ; then
1528     # Initial installation
1529     /bin/systemctl enable virtlockd.socket >/dev/null 2>&1 || :
1530     /bin/systemctl enable libvirtd.service >/dev/null 2>&1 || :
1531 fi
1532         %endif
1533     %else
1534         %if %{with_cgconfig}
1535 # Starting with Fedora 16/RHEL-7, systemd automounts all cgroups,
1536 # and cgconfig is no longer a necessary service.
1537             %if (0%{?rhel} && 0%{?rhel} < 7) || (0%{?fedora} && 0%{?fedora} < 16)
1538 if [ "$1" -eq "1" ]; then
1539 /sbin/chkconfig cgconfig on
1540 fi
1541             %endif
1542         %endif
1543
1544 /sbin/chkconfig --add libvirtd
1545 if [ "$1" -ge "1" ]; then
1546     /sbin/service libvirtd condrestart > /dev/null 2>&1
1547 fi
1548     %endif
1549
1550 %preun daemon
1551     %if %{with_systemd}
1552         %if %{with_systemd_macros}
1553             %systemd_preun libvirtd.service
1554         %else
1555 if [ $1 -eq 0 ] ; then
1556     # Package removal, not upgrade
1557     /bin/systemctl --no-reload disable virtlockd.socket > /dev/null 2>&1 || :
1558     /bin/systemctl --no-reload disable libvirtd.service > /dev/null 2>&1 || :
1559     /bin/systemctl stop libvirtd.service > /dev/null 2>&1 || :
1560     /bin/systemctl stop virtlockd.service > /dev/null 2>&1 || :
1561 fi
1562         %endif
1563     %else
1564 if [ $1 = 0 ]; then
1565     /sbin/service libvirtd stop 1>/dev/null 2>&1
1566     /sbin/chkconfig --del libvirtd
1567 fi
1568     %endif
1569
1570 %postun daemon
1571     %if %{with_systemd}
1572         %if %{with_systemd_macros}
1573             %systemd_postun_with_restart libvirtd.service
1574         %else
1575 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
1576 if [ $1 -ge 1 ] ; then
1577     # Package upgrade, not uninstall
1578     /bin/systemctl status virtlockd.service >/dev/null 2>&1
1579     if [ $? = 1 ] ; then
1580         /bin/systemctl kill --signal=USR1 virtlockd.service >/dev/null 2>&1 || :
1581     fi
1582     /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
1583 fi
1584         %endif
1585     %endif
1586
1587     %if %{with_network}
1588 %post daemon-config-network
1589 if test $1 -eq 1 && test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml ; then
1590     UUID=`/usr/bin/uuidgen`
1591     sed -e "s,</name>,</name>\n  <uuid>$UUID</uuid>," \
1592          < %{_datadir}/libvirt/networks/default.xml \
1593          > %{_sysconfdir}/libvirt/qemu/networks/default.xml
1594     ln -s ../default.xml %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
1595 fi
1596     %endif
1597
1598     %if %{with_systemd}
1599 %triggerun -- libvirt < 0.9.4
1600 %{_bindir}/systemd-sysv-convert --save libvirtd >/dev/null 2>&1 ||:
1601
1602 # If the package is allowed to autostart:
1603 /bin/systemctl --no-reload enable libvirtd.service >/dev/null 2>&1 ||:
1604
1605 # Run these because the SysV package being removed won't do them
1606 /sbin/chkconfig --del libvirtd >/dev/null 2>&1 || :
1607 /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
1608     %endif
1609 %endif # %{with_libvirtd}
1610
1611 %preun client
1612
1613 %if %{with_systemd}
1614     %if %{with_systemd_macros}
1615         %systemd_preun libvirt-guests.service
1616     %endif
1617 %else
1618 if [ $1 = 0 ]; then
1619     /sbin/chkconfig --del libvirt-guests
1620     rm -f /var/lib/libvirt/libvirt-guests
1621 fi
1622 %endif
1623
1624 %post client
1625
1626 /sbin/ldconfig
1627 %if %{with_systemd}
1628     %if %{with_systemd_macros}
1629         %systemd_post libvirt-guests.service
1630     %endif
1631 %else
1632 /sbin/chkconfig --add libvirt-guests
1633 %endif
1634
1635 %postun client
1636
1637 /sbin/ldconfig
1638 %if %{with_systemd}
1639     %if %{with_systemd_macros}
1640         %systemd_postun_with_restart libvirt-guests.service
1641     %endif
1642 %triggerun client -- libvirt < 0.9.4
1643 %{_bindir}/systemd-sysv-convert --save libvirt-guests >/dev/null 2>&1 ||:
1644
1645 # If the package is allowed to autostart:
1646 /bin/systemctl --no-reload enable libvirt-guests.service >/dev/null 2>&1 ||:
1647
1648 # Run these because the SysV package being removed won't do them
1649 /sbin/chkconfig --del libvirt-guests >/dev/null 2>&1 || :
1650 /bin/systemctl try-restart libvirt-guests.service >/dev/null 2>&1 || :
1651 %endif
1652
1653 %if %{with_sanlock}
1654 %post lock-sanlock
1655 if getent group sanlock > /dev/null ; then
1656     chmod 0770 %{_localstatedir}/lib/libvirt/sanlock
1657     chown root:sanlock %{_localstatedir}/lib/libvirt/sanlock
1658 fi
1659 %endif
1660
1661 %files
1662 %defattr(-, root, root)
1663
1664 %files docs
1665 %defattr(-, root, root)
1666 # Website
1667 %dir %{_datadir}/doc/libvirt-docs-%{version}
1668 %dir %{_datadir}/doc/libvirt-docs-%{version}/html
1669 %{_datadir}/doc/libvirt-docs-%{version}/html/*
1670
1671 # API docs
1672 %dir %{_datadir}/gtk-doc/html/libvirt/
1673 %doc %{_datadir}/gtk-doc/html/libvirt/*.devhelp
1674 %doc %{_datadir}/gtk-doc/html/libvirt/*.html
1675 %doc %{_datadir}/gtk-doc/html/libvirt/*.png
1676 %doc %{_datadir}/gtk-doc/html/libvirt/*.css
1677
1678 %if %{with_libvirtd}
1679 %files daemon
1680 %defattr(-, root, root)
1681
1682 %doc AUTHORS ChangeLog.gz NEWS README COPYING.LIB TODO
1683 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
1684
1685     %if %{with_network}
1686 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
1687 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/
1688 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
1689     %endif
1690
1691 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/
1692
1693     %if %{with_systemd}
1694 %{_unitdir}/libvirtd.service
1695 %{_unitdir}/virtlockd.service
1696 %{_unitdir}/virtlockd.socket
1697     %else
1698 %{_sysconfdir}/rc.d/init.d/libvirtd
1699 %{_sysconfdir}/rc.d/init.d/virtlockd
1700     %endif
1701 %doc daemon/libvirtd.upstart
1702 %config(noreplace) %{_sysconfdir}/sysconfig/libvirtd
1703 %config(noreplace) %{_sysconfdir}/sysconfig/virtlockd
1704 %config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
1705     %if 0%{?fedora} >= 14 || 0%{?rhel} >= 6
1706 %config(noreplace) %{_prefix}/lib/sysctl.d/libvirtd.conf
1707     %endif
1708 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
1709 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/
1710 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/
1711     %if %{with_libxl}
1712 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/libxl/
1713     %endif
1714
1715 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd
1716     %if %{with_qemu}
1717 %config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
1718 %config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf
1719 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu
1720     %endif
1721     %if %{with_lxc}
1722 %config(noreplace) %{_sysconfdir}/libvirt/lxc.conf
1723 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc
1724     %endif
1725     %if %{with_uml}
1726 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml
1727     %endif
1728
1729 %dir %{_datadir}/libvirt/
1730
1731     %if %{with_network}
1732 %dir %{_datadir}/libvirt/networks/
1733 %{_datadir}/libvirt/networks/default.xml
1734     %endif
1735
1736 %ghost %dir %{_localstatedir}/run/libvirt/
1737
1738 %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/images/
1739 %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/filesystems/
1740 %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/boot/
1741 %dir %attr(0711, root, root) %{_localstatedir}/cache/libvirt/
1742
1743     %if %{with_qemu}
1744 %ghost %dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/
1745 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
1746 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/
1747     %endif
1748     %if %{with_lxc}
1749 %ghost %dir %{_localstatedir}/run/libvirt/lxc/
1750 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/
1751     %endif
1752     %if %{with_uml}
1753 %ghost %dir %{_localstatedir}/run/libvirt/uml/
1754 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/
1755     %endif
1756     %if %{with_libxl}
1757 %ghost %dir %{_localstatedir}/run/libvirt/libxl/
1758 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/
1759     %endif
1760     %if %{with_xen}
1761 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/xen/
1762     %endif
1763     %if %{with_network}
1764 %ghost %dir %{_localstatedir}/run/libvirt/network/
1765 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/
1766 %dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/
1767     %endif
1768
1769 %dir %attr(0755, root, root) %{_libdir}/libvirt/lock-driver
1770 %attr(0755, root, root) %{_libdir}/libvirt/lock-driver/lockd.so
1771
1772     %if %{with_qemu}
1773 %{_datadir}/augeas/lenses/libvirtd_qemu.aug
1774 %{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
1775     %endif
1776
1777     %if %{with_lxc}
1778 %{_datadir}/augeas/lenses/libvirtd_lxc.aug
1779 %{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
1780     %endif
1781
1782 %{_datadir}/augeas/lenses/libvirtd.aug
1783 %{_datadir}/augeas/lenses/tests/test_libvirtd.aug
1784 %{_datadir}/augeas/lenses/libvirt_lockd.aug
1785 %{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug
1786
1787     %if %{with_polkit}
1788         %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
1789 %{_datadir}/polkit-1/actions/org.libvirt.unix.policy
1790         %else
1791 %{_datadir}/PolicyKit/policy/org.libvirt.unix.policy
1792         %endif
1793     %endif
1794
1795 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/
1796
1797     %if %{with_lxc}
1798 %attr(0755, root, root) %{_libexecdir}/libvirt_lxc
1799     %endif
1800
1801     %if %{with_storage_disk}
1802 %attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
1803     %endif
1804
1805 %attr(0755, root, root) %{_libexecdir}/libvirt_iohelper
1806 %attr(0755, root, root) %{_sbindir}/libvirtd
1807 %attr(0755, root, root) %{_sbindir}/virtlockd
1808
1809 %{_mandir}/man8/libvirtd.8*
1810
1811     %if %{with_driver_modules}
1812         %if %{with_network}
1813 %files daemon-config-network
1814 %defattr(-, root, root)
1815         %endif
1816
1817         %if %{with_nwfilter}
1818 %files daemon-config-nwfilter
1819 %defattr(-, root, root)
1820 %{_sysconfdir}/libvirt/nwfilter/*.xml
1821         %endif
1822
1823         %if %{with_interface}
1824 %files daemon-driver-interface
1825 %defattr(-, root, root)
1826 %{_libdir}/%{name}/connection-driver/libvirt_driver_interface.so
1827         %endif
1828
1829         %if %{with_network}
1830 %files daemon-driver-network
1831 %defattr(-, root, root)
1832 %{_libdir}/%{name}/connection-driver/libvirt_driver_network.so
1833         %endif
1834
1835         %if %{with_nodedev}
1836 %files daemon-driver-nodedev
1837 %defattr(-, root, root)
1838 %{_libdir}/%{name}/connection-driver/libvirt_driver_nodedev.so
1839         %endif
1840
1841         %if %{with_nwfilter}
1842 %files daemon-driver-nwfilter
1843 %defattr(-, root, root)
1844 %{_libdir}/%{name}/connection-driver/libvirt_driver_nwfilter.so
1845         %endif
1846
1847 %files daemon-driver-secret
1848 %defattr(-, root, root)
1849 %{_libdir}/%{name}/connection-driver/libvirt_driver_secret.so
1850
1851         %if %{with_storage}
1852 %files daemon-driver-storage
1853 %defattr(-, root, root)
1854 %{_libdir}/%{name}/connection-driver/libvirt_driver_storage.so
1855         %endif
1856
1857         %if %{with_qemu}
1858 %files daemon-driver-qemu
1859 %defattr(-, root, root)
1860 %{_libdir}/%{name}/connection-driver/libvirt_driver_qemu.so
1861         %endif
1862
1863         %if %{with_lxc}
1864 %files daemon-driver-lxc
1865 %defattr(-, root, root)
1866 %{_libdir}/%{name}/connection-driver/libvirt_driver_lxc.so
1867         %endif
1868
1869         %if %{with_uml}
1870 %files daemon-driver-uml
1871 %defattr(-, root, root)
1872 %{_libdir}/%{name}/connection-driver/libvirt_driver_uml.so
1873         %endif
1874
1875         %if %{with_xen}
1876 %files daemon-driver-xen
1877 %defattr(-, root, root)
1878 %{_libdir}/%{name}/connection-driver/libvirt_driver_xen.so
1879         %endif
1880
1881         %if %{with_libxl}
1882 %files daemon-driver-libxl
1883 %defattr(-, root, root)
1884 %{_libdir}/%{name}/connection-driver/libvirt_driver_libxl.so
1885         %endif
1886     %endif # %{with_driver_modules}
1887
1888     %if %{with_qemu_tcg}
1889 %files daemon-qemu
1890 %defattr(-, root, root)
1891     %endif
1892
1893     %if %{with_qemu_kvm}
1894 %files daemon-kvm
1895 %defattr(-, root, root)
1896     %endif
1897
1898     %if %{with_lxc}
1899 %files daemon-lxc
1900 %defattr(-, root, root)
1901     %endif
1902
1903     %if %{with_uml}
1904 %files daemon-uml
1905 %defattr(-, root, root)
1906     %endif
1907
1908     %if %{with_xen} || %{with_libxl}
1909 %files daemon-xen
1910 %defattr(-, root, root)
1911     %endif
1912 %endif # %{with_libvirtd}
1913
1914 %if %{with_sanlock}
1915 %files lock-sanlock
1916 %defattr(-, root, root)
1917     %if %{with_qemu}
1918 %config(noreplace) %{_sysconfdir}/libvirt/qemu-sanlock.conf
1919     %endif
1920 %attr(0755, root, root) %{_libdir}/libvirt/lock-driver/sanlock.so
1921 %{_datadir}/augeas/lenses/libvirt_sanlock.aug
1922 %{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug
1923 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/sanlock
1924 %{_sbindir}/virt-sanlock-cleanup
1925 %{_mandir}/man8/virt-sanlock-cleanup.8*
1926 %attr(0755, root, root) %{_libexecdir}/libvirt_sanlock_helper
1927 %endif
1928
1929 %files client -f %{name}.lang
1930 %defattr(-, root, root)
1931 %doc AUTHORS ChangeLog.gz NEWS README COPYING.LIB TODO
1932
1933 %config(noreplace) %{_sysconfdir}/libvirt/libvirt.conf
1934 %{_mandir}/man1/virsh.1*
1935 %{_mandir}/man1/virt-xml-validate.1*
1936 %{_mandir}/man1/virt-pki-validate.1*
1937 %{_mandir}/man1/virt-host-validate.1*
1938 %{_bindir}/virsh
1939 %{_bindir}/virt-xml-validate
1940 %{_bindir}/virt-pki-validate
1941 %{_bindir}/virt-host-validate
1942 %{_libdir}/lib*.so.*
1943
1944 %if %{with_dtrace}
1945 %{_datadir}/systemtap/tapset/libvirt_probes*.stp
1946 %{_datadir}/systemtap/tapset/libvirt_qemu_probes*.stp
1947 %{_datadir}/systemtap/tapset/libvirt_functions.stp
1948 %endif
1949
1950 %dir %{_datadir}/libvirt/
1951 %dir %{_datadir}/libvirt/schemas/
1952
1953 %{_datadir}/libvirt/schemas/basictypes.rng
1954 %{_datadir}/libvirt/schemas/capability.rng
1955 %{_datadir}/libvirt/schemas/domain.rng
1956 %{_datadir}/libvirt/schemas/domaincommon.rng
1957 %{_datadir}/libvirt/schemas/domainsnapshot.rng
1958 %{_datadir}/libvirt/schemas/interface.rng
1959 %{_datadir}/libvirt/schemas/network.rng
1960 %{_datadir}/libvirt/schemas/networkcommon.rng
1961 %{_datadir}/libvirt/schemas/nodedev.rng
1962 %{_datadir}/libvirt/schemas/nwfilter.rng
1963 %{_datadir}/libvirt/schemas/secret.rng
1964 %{_datadir}/libvirt/schemas/storageencryption.rng
1965 %{_datadir}/libvirt/schemas/storagepool.rng
1966 %{_datadir}/libvirt/schemas/storagevol.rng
1967
1968 %{_datadir}/libvirt/cpu_map.xml
1969
1970 %if %{with_systemd}
1971 %{_unitdir}/libvirt-guests.service
1972 %else
1973 %{_sysconfdir}/rc.d/init.d/libvirt-guests
1974 %endif
1975 %config(noreplace) %{_sysconfdir}/sysconfig/libvirt-guests
1976 %attr(0755, root, root) %{_libexecdir}/libvirt-guests.sh
1977 %dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/
1978
1979 %if %{with_sasl}
1980 %config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
1981 %endif
1982
1983 %files devel
1984 %defattr(-, root, root)
1985
1986 %{_libdir}/lib*.so
1987 %dir %{_includedir}/libvirt
1988 %{_includedir}/libvirt/*.h
1989 %{_libdir}/pkgconfig/libvirt.pc
1990
1991 %dir %{_datadir}/libvirt/api/
1992 %{_datadir}/libvirt/api/libvirt-api.xml
1993 %{_datadir}/libvirt/api/libvirt-qemu-api.xml
1994 %{_datadir}/libvirt/api/libvirt-lxc-api.xml
1995
1996 %doc docs/*.html docs/html docs/*.gif
1997 %doc docs/libvirt-api.xml
1998 %doc examples/hellolibvirt
1999 %doc examples/domain-events/events-c
2000 %doc examples/dominfo
2001 %doc examples/domsuspend
2002 %doc examples/openauth
2003 %doc examples/xml
2004 %doc examples/systemtap
2005
2006 %if %{with_python}
2007 %files python
2008 %defattr(-, root, root)
2009
2010 %doc AUTHORS NEWS README COPYING.LIB
2011 %{_libdir}/python*/site-packages/libvirt.py*
2012 %{_libdir}/python*/site-packages/libvirt_qemu.py*
2013 %{_libdir}/python*/site-packages/libvirt_lxc.py*
2014 %{_libdir}/python*/site-packages/libvirtmod*
2015 %doc python/tests/*.py
2016 %doc python/TODO
2017 %doc examples/python
2018 %doc examples/domain-events/events-python
2019 %endif
2020
2021 %changelog
2022 * Wed Jan 30 2013 Daniel Veillard <veillard@redhat.com> - 1.0.2-1
2023 - LXC improvements
2024 - S390 architecture improvement
2025 - Power architecture improvement
2026 - large Coverity report cleanups and associated bug fixes
2027 - virTypedParams* APIs to helps with those data structures
2028 - a lot of bug fixes and overall improvements
2029
2030 * Fri Nov  2 2012 Daniel Veillard <veillard@redhat.com> - 1.0.0-1
2031 - virNodeGetCPUMap: Define public API
2032 - Add systemd journal support
2033 - Add a qemu capabilities cache manager
2034 - USB migration support
2035 - various improvement and fixes when using QMP QEmu interface
2036 - Support for Xen 4.2
2037 - Lot of localization enhancements
2038 - a lot of bug fixes, improvements and portability work
2039
2040 * Mon Sep 24 2012 Daniel Veillard <veillard@redhat.com> - 0.10.2-1
2041 - network: define new API virNetworkUpdate
2042 - add support for QEmu sandbox support
2043 - blockjob: add virDomainBlockCommit
2044 - New APIs to get/set Node memory parameters
2045 - new API virConnectListAllSecrets
2046 - new API virConnectListAllNWFilters
2047 - new API virConnectListAllNodeDevices
2048 - parallels: add support of containers to the driver
2049 - new API virConnectListAllInterfaces
2050 - new API virConnectListAllNetworks
2051 - new API virStoragePoolListAllVolumes
2052 - Add PMSUSPENDED life cycle event
2053 - new API virStorageListAllStoragePools
2054 - Add per-guest S3/S4 state configuration
2055 - qemu: Support for Block Device IO Limits
2056 - a lot of bug fixes, improvements and portability work
2057
2058 * Fri Aug 31 2012 Daniel Veillard <veillard@redhat.com> - 0.10.1-1
2059 - bugfixes and a brown paper bag
2060
2061 * Wed Aug 29 2012 Daniel Veillard <veillard@redhat.com> - 0.10.0-1
2062 - agent: add qemuAgentArbitraryCommand() for general qemu agent command
2063 - Introduce virDomainPinEmulator and virDomainGetEmulatorPinInfo functions
2064 - network: use firewalld instead of iptables, when available
2065 - network: make network driver vlan-aware
2066 - esx: Implement network driver
2067 - driver for parallels hypervisor
2068 - Various LXC improvements
2069 - Add virDomainGetHostname
2070 - a lot of bug fixes, improvements and portability work
2071
2072 * Mon Jul  2 2012 Daniel Veillard <veillard@redhat.com> - 0.9.13-1
2073 - S390: support for s390(x)
2074 - snapshot: implement new APIs for esx and vbox
2075 - snapshot: new query APIs and many improvements
2076 - virsh: Allow users to reedit rejected XML
2077 - nwfilter: add DHCP snooping
2078 - Enable driver modules in libvirt RPM
2079 - Default to enable driver modules for libvirtd
2080 - storage backend: Add RBD (RADOS Block Device) support
2081 - sVirt support for LXC domains inprovement
2082 - a lot of bug fixes, improvements and portability work
2083
2084 * Mon May 14 2012 Daniel Veillard <veillard@redhat.com> - 0.9.12-1
2085 - qemu: allow snapshotting of sheepdog and rbd disks
2086 - blockjob: add new APIs
2087 - a lot of bug fixes, improvements and portability work
2088
2089 * Tue Apr  3 2012 Daniel Veillard <veillard@redhat.com> - 0.9.11-1
2090 - Add support for the suspend event
2091 - Add support for event tray moved of removable disks
2092 - qemu: Support numad
2093 - cpustats: API, improvements and qemu support
2094 - qemu: support type='hostdev' network devices at domain start
2095 - Introduce virDomainPMWakeup API
2096 - network: support Open vSwitch
2097 - a number of snapshot improvements
2098 - many improvements and bug fixes
2099
2100 * Mon Feb 13 2012 Daniel Veillard <veillard@redhat.com> - 0.9.10-1
2101 - Add support for sVirt in the LXC driver
2102 - block rebase: add new API virDomainBlockRebase
2103 - API: Add api to set and get domain metadata
2104 - virDomainGetDiskErrors public API
2105 - conf: add rawio attribute to disk element of domain XML
2106 - Add new public API virDomainGetCPUStats()
2107 - Introduce virDomainPMSuspendForDuration API
2108 - resize: add virStorageVolResize() API
2109 - Add a virt-host-validate command to sanity check HV config
2110 - Add new virDomainShutdownFlags API
2111 - QEMU guest agent support
2112 - many improvements and bug fixes
2113
2114 * Sat Jan  7 2012 Daniel Veillard <veillard@redhat.com> - 0.9.9-1
2115 - Add API virDomain{S,G}etInterfaceParameters
2116 - Add API virDomain{G, S}etNumaParameters
2117 - Add support for ppc64 qemu
2118 - Support Xen domctl v8
2119 - many improvements and bug fixes
2120
2121 * Thu Dec  8 2011 Daniel Veillard <veillard@redhat.com> - 0.9.8-1
2122 - Add support for QEMU 1.0
2123 - Add preliminary PPC cpu driver
2124 - Add new API virDomain{Set, Get}BlockIoTune
2125 - block_resize: Define the new API
2126 - Add a public API to invoke suspend/resume on the host
2127 - various improvements for LXC containers
2128 - Define keepalive protocol and add virConnectIsAlive API
2129 - Add support for STP and VLAN filtering
2130 - many improvements and bug fixes
2131
2132 * Tue Nov  8 2011 Daniel Veillard <veillard@redhat.com> - 0.9.7-1
2133 - esx: support vSphere 5.x
2134 - vbox: support for VirtualBox 4.1
2135 - Introduce the virDomainOpenGraphics API
2136 - Add AHCI support to qemu driver
2137 - snapshot: many improvements and 2 new APIs
2138 - api: Add public api for 'reset'
2139 - many improvements and bug fixes
2140
2141 * Thu Sep 22 2011 Daniel Veillard <veillard@redhat.com> - 0.9.6-1
2142 - Fix the qemu reboot bug and a few others bug fixes
2143
2144 * Tue Sep 20 2011 Daniel Veillard <veillard@redhat.com> - 0.9.5-1
2145 - many snapshot improvements (Eric Blake)
2146 - latency: Define new public API and structure (Osier Yang)
2147 - USB2 and various USB improvements (Marc-AndrĂ© Lureau)
2148 - storage: Add fs pool formatting (Osier Yang)
2149 - Add public API for getting migration speed (Jim Fehlig)
2150 - Add basic driver for Microsoft Hyper-V (Matthias Bolte)
2151 - many improvements and bug fixes
2152
2153 * Wed Aug  3 2011 Daniel Veillard <veillard@redhat.com> - 0.9.4-1
2154 - network bandwidth QoS control
2155 - Add new API virDomainBlockPull*
2156 - save: new API to manipulate save file images
2157 - CPU bandwidth limits support
2158 - allow to send NMI and key event to guests
2159 - new API virDomainUndefineFlags
2160 - Implement code to attach to external QEMU instances
2161 - bios: Add support for SGA
2162 - various missing python binding
2163 - many improvements and bug fixes
2164
2165 * Mon Jul  4 2011 Daniel Veillard <veillard@redhat.com> - 0.9.3-1
2166 - new API virDomainGetVcpupinInfo
2167 - Add TXT record support for virtual DNS service
2168 - Support reboots with the QEMU driver
2169 - New API virDomainGetControlInfo API
2170 - New API virNodeGetMemoryStats
2171 - New API virNodeGetCPUTime
2172 - New API for send-key
2173 - New API virDomainPinVcpuFlags
2174 - support multifunction PCI device
2175 - lxc: various improvements
2176 - many improvements and bug fixes
2177
2178 * Mon Jun  6 2011 Daniel Veillard <veillard@redhat.com> - 0.9.2-1
2179 - Framework for lock manager plugins
2180 - API for network config change transactions
2181 - flags for setting memory parameters
2182 - virDomainGetState public API
2183 - qemu: allow blkstat/blkinfo calls during migration
2184 - Introduce migration v3 API
2185 - Defining the Screenshot public API
2186 - public API for NMI injection
2187 - Various improvements and bug fixes
2188
2189 * Thu May  5 2011 Daniel Veillard <veillard@redhat.com> - 0.9.1-1
2190 - support various persistent domain updates
2191 - improvements on memory APIs
2192 - Add virDomainEventRebootNew
2193 - various improvements to libxl driver
2194 - Spice: support audio, images and stream compression
2195 - Various improvements and bug fixes
2196
2197 * Mon Apr  4 2011 Daniel Veillard <veillard@redhat.com> - 0.9.0-1
2198 - Support cputune cpu usage tuning
2199 - Add public APIs for storage volume upload/download
2200 - Add public API for setting migration speed on the fly
2201 - Add libxenlight driver
2202 - qemu: support migration to fd
2203 - libvirt: add virDomain{Get,Set}BlkioParameters
2204 - setmem: introduce a new libvirt API (virDomainSetMemoryFlags)
2205 - Expose event loop implementation as a public API
2206 - Dump the debug buffer to libvirtd.log on fatal signal
2207 - Audit support
2208 - Various improvements and bug fixes
2209
2210 * Thu Feb 17 2011 Daniel Veillard <veillard@redhat.com> - 0.8.8-1
2211 - expose new API for sysinfo extraction
2212 - cgroup blkio weight support
2213 - smartcard device support
2214 - qemu: Support per-device boot ordering
2215 - Various improvements and bug fixes
2216
2217 * Tue Jan  4 2011 Daniel Veillard <veillard@redhat.com> - 0.8.7-1
2218 - Preliminary support for VirtualBox 4.0
2219 - IPv6 support
2220 - Add VMware Workstation and Player driver driver
2221 - Add network disk support
2222 - Various improvements and bug fixes
2223
2224 * Tue Nov 30 2010 Daniel Veillard <veillard@redhat.com> - 0.8.6-1
2225 - Add support for iSCSI target auto-discovery
2226 - QED: Basic support for QED images
2227 - remote console support
2228 - support for SPICE graphics
2229 - sysinfo and VMBIOS support
2230 - virsh qemu-monitor-command
2231 - various improvements and bug fixes
2232
2233 * Fri Oct 29 2010 Daniel Veillard <veillard@redhat.com> - 0.8.5-1
2234 - Enable JSON and netdev features in QEMU >= 0.13
2235 - framework for auditing integration
2236 - framework DTrace/SystemTap integration
2237 - Setting the number of vcpu at boot
2238 - Enable support for nested SVM
2239 - Virtio plan9fs filesystem QEMU
2240 - Memory parameter controls
2241 - various improvements and bug fixes
2242
2243 * Fri Sep 10 2010 Daniel Veillard <veillard@redhat.com> - 0.8.4-1
2244 - big improvements to UML driver
2245 - various improvements and bug fixes
2246
2247 * Wed Aug  4 2010 Daniel Veillard <veillard@redhat.com> - 0.8.3-1
2248 - esx: Support vSphere 4.1
2249 - Qemu arbitrary monitor commands
2250 - Qemu Monitor API entry point
2251 - various improvements and bug fixes
2252
2253 * Mon Jul  5 2010 Daniel Veillard <veillard@redhat.com> - 0.8.2-1
2254 - phyp: adding support for IVM
2255 - libvirt: introduce domainCreateWithFlags API
2256 - add 802.1Qbh and 802.1Qbg switches handling
2257 - Support for VirtualBox version 3.2
2258 - Init script for handling guests on shutdown/boot
2259 - qemu: live migration with non-shared storage for kvm
2260
2261 * Fri Apr 30 2010 Daniel Veillard <veillard@redhat.com> - 0.8.1-1
2262 - Starts dnsmasq from libvirtd with --dhcp-hostsfile
2263 - Add virDomainGetBlockInfo API to query disk sizing
2264 - a lot of bug fixes and cleanups
2265
2266 * Mon Apr 12 2010 Daniel Veillard <veillard@redhat.com> - 0.8.0-1
2267 - Snapshotting support (QEmu/VBox/ESX)
2268 - Network filtering API
2269 - XenAPI driver
2270 - new APIs for domain events
2271 - Libvirt managed save API
2272 - timer subselection for domain clock
2273 - synchronous hooks
2274 - API to update guest CPU to host CPU
2275 - virDomainUpdateDeviceFlags new API
2276 - migrate max downtime API
2277 - volume wiping API
2278 - and many bug fixes
2279
2280 * Fri Mar  5 2010 Daniel Veillard <veillard@redhat.com> - 0.7.7-1
2281 - macvtap support
2282 - async job handling
2283 - virtio channel
2284 - computing baseline CPU
2285 - virDomain{Attach,Detach}DeviceFlags
2286 - assorted bug fixes and lots of cleanups
2287
2288 * Wed Feb  3 2010 Daniel Veillard <veillard@redhat.com> - 0.7.6-1
2289
2290 * Wed Dec 23 2009 Daniel Veillard <veillard@redhat.com> - 0.7.5-1
2291 - Add new API virDomainMemoryStats
2292 - Public API and domain extension for CPU flags
2293 - vbox: Add support for version 3.1
2294 - Support QEMU's virtual FAT block device driver
2295 - a lot of fixes
2296
2297 * Fri Nov 20 2009 Daniel Veillard <veillard@redhat.com> - 0.7.3-1
2298 - udev node device backend
2299 - API to check object properties
2300 - better QEmu monitor processing
2301 - MAC address based port filtering for qemu
2302 - support IPv6 and multiple addresses per interfaces
2303 - a lot of fixes
2304
2305 * Tue Sep 15 2009 Daniel Veillard <veillard@redhat.com> - 0.7.1-1
2306 - ESX, VBox driver updates
2307 - mutipath support
2308 - support for encrypted (qcow) volume
2309 - compressed save image format for Qemu/KVM
2310 - QEmu host PCI device hotplug support
2311 - configuration of huge pages in guests
2312 - a lot of fixes
2313
2314 * Wed Aug  5 2009 Daniel Veillard <veillard@redhat.com> - 0.7.0-1
2315 - ESX, VBox3, Power Hypervisor drivers
2316 - new net filesystem glusterfs
2317 - Storage cloning for LVM and Disk backends
2318 - interface implementation based on netcf
2319 - Support cgroups in QEMU driver
2320 - QEmu hotplug NIC support
2321 - a lot of fixes
2322
2323 * Fri Jul  3 2009 Daniel Veillard <veillard@redhat.com> - 0.6.5-1
2324 - release of 0.6.5
2325
2326 * Fri May 29 2009 Daniel Veillard <veillard@redhat.com> - 0.6.4-1
2327 - release of 0.6.4
2328 - various new APIs
2329
2330 * Fri Apr 24 2009 Daniel Veillard <veillard@redhat.com> - 0.6.3-1
2331 - release of 0.6.3
2332 - VirtualBox driver
2333
2334 * Fri Apr  3 2009 Daniel Veillard <veillard@redhat.com> - 0.6.2-1
2335 - release of 0.6.2
2336
2337 * Fri Mar  4 2009 Daniel Veillard <veillard@redhat.com> - 0.6.1-1
2338 - release of 0.6.1
2339
2340 * Sat Jan 31 2009 Daniel Veillard <veillard@redhat.com> - 0.6.0-1
2341 - release of 0.6.0
2342
2343 * Tue Nov 25 2008 Daniel Veillard <veillard@redhat.com> - 0.5.0-1
2344 - release of 0.5.0
2345
2346 * Tue Sep 23 2008 Daniel Veillard <veillard@redhat.com> - 0.4.6-1
2347 - release of 0.4.6
2348
2349 * Mon Sep  8 2008 Daniel Veillard <veillard@redhat.com> - 0.4.5-1
2350 - release of 0.4.5
2351
2352 * Wed Jun 25 2008 Daniel Veillard <veillard@redhat.com> - 0.4.4-1
2353 - release of 0.4.4
2354 - mostly a few bug fixes from 0.4.3
2355
2356 * Thu Jun 12 2008 Daniel Veillard <veillard@redhat.com> - 0.4.3-1
2357 - release of 0.4.3
2358 - lots of bug fixes and small improvements
2359
2360 * Tue Apr  8 2008 Daniel Veillard <veillard@redhat.com> - 0.4.2-1
2361 - release of 0.4.2
2362 - lots of bug fixes and small improvements
2363
2364 * Mon Mar  3 2008 Daniel Veillard <veillard@redhat.com> - 0.4.1-1
2365 - Release of 0.4.1
2366 - Storage APIs
2367 - xenner support
2368 - lots of assorted improvements, bugfixes and cleanups
2369 - documentation and localization improvements
2370
2371 * Tue Dec 18 2007 Daniel Veillard <veillard@redhat.com> - 0.4.0-1
2372 - Release of 0.4.0
2373 - SASL based authentication
2374 - PolicyKit authentication
2375 - improved NUMA and statistics support
2376 - lots of assorted improvements, bugfixes and cleanups
2377 - documentation and localization improvements
2378
2379 * Sun Sep 30 2007 Daniel Veillard <veillard@redhat.com> - 0.3.3-1
2380 - Release of 0.3.3
2381 - Avahi support
2382 - NUMA support
2383 - lots of assorted improvements, bugfixes and cleanups
2384 - documentation and localization improvements
2385
2386 * Tue Aug 21 2007 Daniel Veillard <veillard@redhat.com> - 0.3.2-1
2387 - Release of 0.3.2
2388 - API for domains migration
2389 - APIs for collecting statistics on disks and interfaces
2390 - lots of assorted bugfixes and cleanups
2391 - documentation and localization improvements
2392
2393 * Tue Jul 24 2007 Daniel Veillard <veillard@redhat.com> - 0.3.1-1
2394 - Release of 0.3.1
2395 - localtime clock support
2396 - PS/2 and USB input devices
2397 - lots of assorted bugfixes and cleanups
2398 - documentation and localization improvements
2399
2400 * Mon Jul  9 2007 Daniel Veillard <veillard@redhat.com> - 0.3.0-1
2401 - Release of 0.3.0
2402 - Secure remote access support
2403 - unification of daemons
2404 - lots of assorted bugfixes and cleanups
2405 - documentation and localization improvements
2406
2407 * Fri Jun  8 2007 Daniel Veillard <veillard@redhat.com> - 0.2.3-1
2408 - Release of 0.2.3
2409 - lot of assorted bugfixes and cleanups
2410 - support for Xen-3.1
2411 - new scheduler API
2412
2413 * Tue Apr 17 2007 Daniel Veillard <veillard@redhat.com> - 0.2.2-1
2414 - Release of 0.2.2
2415 - lot of assorted bugfixes and cleanups
2416 - preparing for Xen-3.0.5
2417
2418 * Thu Mar 22 2007 Jeremy Katz <katzj@redhat.com> - 0.2.1-2.fc7
2419 - don't require xen; we don't need the daemon and can control non-xen now
2420 - fix scriptlet error (need to own more directories)
2421 - update description text
2422
2423 * Fri Mar 16 2007 Daniel Veillard <veillard@redhat.com> - 0.2.1-1
2424 - Release of 0.2.1
2425 - lot of bug and portability fixes
2426 - Add support for network autostart and init scripts
2427 - New API to detect the virtualization capabilities of a host
2428 - Documentation updates
2429
2430 * Fri Feb 23 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-4.fc7
2431 - Fix loading of guest & network configs
2432
2433 * Fri Feb 16 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-3.fc7
2434 - Disable kqemu support since its not in Fedora qemu binary
2435 - Fix for -vnc arg syntax change in 0.9.0  QEMU
2436
2437 * Thu Feb 15 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-2.fc7
2438 - Fixed path to qemu daemon for autostart
2439 - Fixed generation of <features> block in XML
2440 - Pre-create config directory at startup
2441
2442 * Wed Feb 14 2007 Daniel Veillard <veillard@redhat.com> 0.2.0-1.fc7
2443 - support for KVM and QEmu
2444 - support for network configuration
2445 - assorted fixes
2446
2447 * Mon Jan 22 2007 Daniel Veillard <veillard@redhat.com> 0.1.11-1.fc7
2448 - finish inactive Xen domains support
2449 - memory leak fix
2450 - RelaxNG schemas for XML configs
2451
2452 * Wed Dec 20 2006 Daniel Veillard <veillard@redhat.com> 0.1.10-1.fc7
2453 - support for inactive Xen domains
2454 - improved support for Xen display and vnc
2455 - a few bug fixes
2456 - localization updates
2457
2458 * Thu Dec  7 2006 Jeremy Katz <katzj@redhat.com> - 0.1.9-2
2459 - rebuild against python 2.5
2460
2461 * Wed Nov 29 2006 Daniel Veillard <veillard@redhat.com> 0.1.9-1
2462 - better error reporting
2463 - python bindings fixes and extensions
2464 - add support for shareable drives
2465 - add support for non-bridge style networking
2466 - hot plug device support
2467 - added support for inactive domains
2468 - API to dump core of domains
2469 - various bug fixes, cleanups and improvements
2470 - updated the localization
2471
2472 * Tue Nov  7 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-3
2473 - it's pkgconfig not pgkconfig !
2474
2475 * Mon Nov  6 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-2
2476 - fixing spec file, added %dist, -devel requires pkgconfig and xen-devel
2477 - Resolves: rhbz#202320
2478
2479 * Mon Oct 16 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-1
2480 - fix missing page size detection code for ia64
2481 - fix mlock size when getting domain info list from hypervisor
2482 - vcpu number initialization
2483 - don't label crashed domains as shut off
2484 - fix virsh man page
2485 - blktapdd support for alternate drivers like blktap
2486 - memory leak fixes (xend interface and XML parsing)
2487 - compile fix
2488 - mlock/munlock size fixes
2489
2490 * Fri Sep 22 2006 Daniel Veillard <veillard@redhat.com> 0.1.7-1
2491 - Fix bug when running against xen-3.0.3 hypercalls
2492 - Fix memory bug when getting vcpus info from xend
2493
2494 * Fri Sep 22 2006 Daniel Veillard <veillard@redhat.com> 0.1.6-1
2495 - Support for localization
2496 - Support for new Xen-3.0.3 cdrom and disk configuration
2497 - Support for setting VNC port
2498 - Fix bug when running against xen-3.0.2 hypercalls
2499 - Fix reconnection problem when talking directly to http xend
2500
2501 * Tue Sep  5 2006 Jeremy Katz <katzj@redhat.com> - 0.1.5-3
2502 - patch from danpb to support new-format cd devices for HVM guests
2503
2504 * Tue Sep  5 2006 Daniel Veillard <veillard@redhat.com> 0.1.5-2
2505 - reactivating ia64 support
2506
2507 * Tue Sep  5 2006 Daniel Veillard <veillard@redhat.com> 0.1.5-1
2508 - new release
2509 - bug fixes
2510 - support for new hypervisor calls
2511 - early code for config files and defined domains
2512
2513 * Mon Sep  4 2006 Daniel Berrange <berrange@redhat.com> - 0.1.4-5
2514 - add patch to address dom0_ops API breakage in Xen 3.0.3 tree
2515
2516 * Mon Aug 28 2006 Jeremy Katz <katzj@redhat.com> - 0.1.4-4
2517 - add patch to support paravirt framebuffer in Xen
2518
2519 * Mon Aug 21 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-3
2520 - another patch to fix network handling in non-HVM guests
2521
2522 * Thu Aug 17 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-2
2523 - patch to fix virParseUUID()
2524
2525 * Wed Aug 16 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-1
2526 - vCPUs and affinity support
2527 - more complete XML, console and boot options
2528 - specific features support
2529 - enforced read-only connections
2530 - various improvements, bug fixes
2531
2532 * Wed Aug  2 2006 Jeremy Katz <katzj@redhat.com> - 0.1.3-6
2533 - add patch from pvetere to allow getting uuid from libvirt
2534
2535 * Wed Aug  2 2006 Jeremy Katz <katzj@redhat.com> - 0.1.3-5
2536 - build on ia64 now
2537
2538 * Thu Jul 27 2006 Jeremy Katz <katzj@redhat.com> - 0.1.3-4
2539 - don't BR xen, we just need xen-devel
2540
2541 * Thu Jul 27 2006 Daniel Veillard <veillard@redhat.com> 0.1.3-3
2542 - need rebuild since libxenstore is now versionned
2543
2544 * Mon Jul 24 2006 Mark McLoughlin <markmc@redhat.com> - 0.1.3-2
2545 - Add BuildRequires: xen-devel
2546
2547 * Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 0.1.3-1.1
2548 - rebuild
2549
2550 * Tue Jul 11 2006 Daniel Veillard <veillard@redhat.com> 0.1.3-1
2551 - support for HVM Xen guests
2552 - various bugfixes
2553
2554 * Mon Jul  3 2006 Daniel Veillard <veillard@redhat.com> 0.1.2-1
2555 - added a proxy mechanism for read only access using httpu
2556 - fixed header includes paths
2557
2558 * Wed Jun 21 2006 Daniel Veillard <veillard@redhat.com> 0.1.1-1
2559 - extend and cleanup the driver infrastructure and code
2560 - python examples
2561 - extend uuid support
2562 - bug fixes, buffer handling cleanups
2563 - support for new Xen hypervisor API
2564 - test driver for unit testing
2565 - virsh --conect argument
2566
2567 * Mon Apr 10 2006 Daniel Veillard <veillard@redhat.com> 0.1.0-1
2568 - various fixes
2569 - new APIs: for Node information and Reboot
2570 - virsh improvements and extensions
2571 - documentation updates and man page
2572 - enhancement and fixes of the XML description format
2573
2574 * Tue Feb 28 2006 Daniel Veillard <veillard@redhat.com> 0.0.6-1
2575 - added error handling APIs
2576 - small bug fixes
2577 - improve python bindings
2578 - augment documentation and regression tests
2579
2580 * Thu Feb 23 2006 Daniel Veillard <veillard@redhat.com> 0.0.5-1
2581 - new domain creation API
2582 - new UUID based APIs
2583 - more tests, documentation, devhelp
2584 - bug fixes
2585
2586 * Fri Feb 10 2006 Daniel Veillard <veillard@redhat.com> 0.0.4-1
2587 - fixes some problems in 0.0.3 due to the change of names
2588
2589 * Wed Feb  8 2006 Daniel Veillard <veillard@redhat.com> 0.0.3-1
2590 - changed library name to libvirt from libvir, complete and test the python
2591   bindings
2592
2593 * Sun Jan 29 2006 Daniel Veillard <veillard@redhat.com> 0.0.2-1
2594 - upstream release of 0.0.2, use xend, save and restore added, python bindings
2595   fixed
2596
2597 * Wed Nov  2 2005 Daniel Veillard <veillard@redhat.com> 0.0.1-1
2598 - created