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