db3c0c209d3a8d5971151b44b73d0f5e4f6d8e05
[libvirt.git] / libvirt.spec
1 # -*- rpm-spec -*-
2
3 %define mainstream_version 1.2.4
4 %define module_version_varname mainstream_version
5 %define taglevel 2
6 %define packager PlanetLab/OneLab
7
8 #libvirt-RPMFLAGS := --without storage-disk --without storage-iscsi --without storage-scsi \
9 ##                       --without storage-fs --without storage-lvm \
10 ##                       --without polkit --without sasl --without audit --with capng --with udev \
11 ##                       --without netcf --without avahi --without sanlock \
12 ##                       --without xen --without qemu --without hyperv --without phyp --without esx \
13 ##                       --without libxl --without vbox \
14 %define _without_storage_disk   true
15 %define _without_storage_iscsi  true
16 %define _without_storage_fs     true
17 %define _without_storage_lvm    true
18 %define _without_polkit         true
19 %define _without_sasl           true
20 %define _without_audit          true
21 %define _without_avahi          true
22 %define _without_sanlock        true
23 %define _without_xen            true
24 %define _without_qemu           true
25 %define _without_hyperv         true
26 %define _without_phyp           true
27 %define _without_esx            true
28 %define _without_libxl          true
29 %define _without_vbox           true
30 %define _without_uml            true
31
32 #turn this off even on f18 as an attempt to get back /proc/meminfo
33 %define _without_fuse           true
34
35 %define enable_autotools        1
36  
37 # If neither fedora nor rhel was defined, try to guess them from %{dist}
38 %if !0%{?rhel} && !0%{?fedora}
39 %{expand:%(echo "%{?dist}" | \
40   sed -ne 's/^\.el\([0-9]\+\).*/%%define rhel \1/p')}
41 %{expand:%(echo "%{?dist}" | \
42   sed -ne 's/^\.fc\?\([0-9]\+\).*/%%define fedora \1/p')}
43 %endif
44
45 # Default to skipping autoreconf.  Distros can change just this one line
46 # (or provide a command-line override) if they backport any patches that
47 # touch configure.ac or Makefile.am.
48 %{!?enable_autotools:%define enable_autotools 0}
49
50 # A client only build will create a libvirt.so only containing
51 # the generic RPC driver, and test driver and no libvirtd
52 # Default to a full server + client build, but with the possibility
53 # of a command-line or ~/.rpmmacros override for client-only.
54 %{!?client_only:%define client_only 0}
55
56 # Now turn off server build in certain cases
57
58 # RHEL-5 builds are client-only for s390, ppc
59 %if 0%{?rhel} == 5
60     %ifnarch %{ix86} x86_64 ia64
61         %define client_only        1
62     %endif
63 %endif
64
65 # Disable all server side drivers if client only build requested
66 %if %{client_only}
67     %define server_drivers     0
68 %else
69     %define server_drivers     1
70 %endif
71
72 # Always build with dlopen'd modules
73 %define with_driver_modules 1
74
75 # Now set the defaults for all the important features, independent
76 # of any particular OS
77
78 # First the daemon itself
79 %define with_libvirtd      0%{!?_without_libvirtd:%{server_drivers}}
80 %define with_avahi         0%{!?_without_avahi:%{server_drivers}}
81
82 # Then the hypervisor drivers that run in libvirtd
83 %define with_xen           0%{!?_without_xen:%{server_drivers}}
84 %define with_qemu          0%{!?_without_qemu:%{server_drivers}}
85 %define with_lxc           0%{!?_without_lxc:%{server_drivers}}
86 %define with_uml           0%{!?_without_uml:%{server_drivers}}
87 %define with_libxl         0%{!?_without_libxl:%{server_drivers}}
88 %define with_vbox          0%{!?_without_vbox:%{server_drivers}}
89
90 %define with_qemu_tcg      %{with_qemu}
91 # Change if we ever provide qemu-kvm binaries on non-x86 hosts
92 %if 0%{?fedora} >= 18
93     %if 0%{?fedora} >= 20
94         %define qemu_kvm_arches    %{ix86} x86_64 ppc64 s390x %{arm}
95     %else
96         %define qemu_kvm_arches    %{ix86} x86_64 ppc64 s390x
97     %endif
98 %else
99     %define qemu_kvm_arches    %{ix86} x86_64
100 %endif
101
102 %ifarch %{qemu_kvm_arches}
103     %define with_qemu_kvm      %{with_qemu}
104 %else
105     %define with_qemu_kvm      0
106 %endif
107
108 # Then the hypervisor drivers that run outside libvirtd, in libvirt.so
109 %define with_openvz        0%{!?_without_openvz:1}
110 %define with_vmware        0%{!?_without_vmware:1}
111 %define with_phyp          0%{!?_without_phyp:1}
112 %define with_esx           0%{!?_without_esx:1}
113 %define with_hyperv        0%{!?_without_hyperv:1}
114 %define with_xenapi        0%{!?_without_xenapi:1}
115 %define with_parallels     0%{!?_without_parallels:1}
116 # No test for bhyve, because it does not build on Linux
117
118 # Then the secondary host drivers, which run inside libvirtd
119 %define with_interface        0%{!?_without_interface:%{server_drivers}}
120 %define with_network          0%{!?_without_network:%{server_drivers}}
121 %define with_storage_fs       0%{!?_without_storage_fs:%{server_drivers}}
122 %define with_storage_lvm      0%{!?_without_storage_lvm:%{server_drivers}}
123 %define with_storage_iscsi    0%{!?_without_storage_iscsi:%{server_drivers}}
124 %define with_storage_disk     0%{!?_without_storage_disk:%{server_drivers}}
125 %define with_storage_mpath    0%{!?_without_storage_mpath:%{server_drivers}}
126 %if 0%{?fedora} >= 16
127     %define with_storage_rbd      0%{!?_without_storage_rbd:%{server_drivers}}
128 %else
129     %define with_storage_rbd      0
130 %endif
131 %if 0%{?fedora} >= 17
132     %define with_storage_sheepdog 0%{!?_without_storage_sheepdog:%{server_drivers}}
133 %else
134     %define with_storage_sheepdog 0
135 %endif
136 %if 0%{?fedora} >= 19 || 0%{?rhel} >= 6
137     %define with_storage_gluster 0%{!?_without_storage_gluster:%{server_drivers}}
138 %else
139     %define with_storage_gluster 0
140 %endif
141 %define with_numactl          0%{!?_without_numactl:%{server_drivers}}
142 %define with_selinux          0%{!?_without_selinux:%{server_drivers}}
143
144 # Just hardcode to off, since few people ever have apparmor RPMs installed
145 %define with_apparmor         0%{!?_without_apparmor:0}
146
147 # A few optional bits off by default, we enable later
148 %define with_polkit        0%{!?_without_polkit:0}
149 %define with_capng         0%{!?_without_capng:0}
150 %define with_fuse          0%{!?_without_fuse:0}
151 %define with_netcf         0%{!?_without_netcf:0}
152 %define with_udev          0%{!?_without_udev:0}
153 %define with_hal           0%{!?_without_hal:0}
154 %define with_yajl          0%{!?_without_yajl:0}
155 %define with_nwfilter      0%{!?_without_nwfilter:0}
156 %define with_libpcap       0%{!?_without_libpcap:0}
157 %define with_macvtap       0%{!?_without_macvtap:0}
158 %define with_libnl         0%{!?_without_libnl:0}
159 %define with_audit         0%{!?_without_audit:0}
160 %define with_dtrace        0%{!?_without_dtrace:0}
161 %define with_cgconfig      0%{!?_without_cgconfig:0}
162 %define with_sanlock       0%{!?_without_sanlock:0}
163 %define with_systemd       0%{!?_without_systemd:0}
164 %define with_numad         0%{!?_without_numad:0}
165 %define with_firewalld     0%{!?_without_firewalld:0}
166 %define with_libssh2       0%{!?_without_libssh2:0}
167 %define with_wireshark     0%{!?_without_wireshark:0}
168 %define with_systemd_daemon 0%{!?_without_systemd_daemon:0}
169
170 # Non-server/HV driver defaults which are always enabled
171 %define with_sasl          0%{!?_without_sasl:1}
172
173
174 # Finally set the OS / architecture specific special cases
175
176 # Xen is available only on i386 x86_64 ia64
177 %ifnarch %{ix86} x86_64 ia64
178     %define with_xen 0
179     %define with_libxl 0
180 %endif
181
182 # vbox is available only on i386 x86_64
183 %ifnarch %{ix86} x86_64
184     %define with_vbox 0
185 %endif
186
187 # Numactl is not available on s390[x] and ARM
188 %ifarch s390 s390x %{arm}
189     %define with_numactl 0
190 %endif
191
192 # libgfapi is built only on x86_64 on rhel
193 %ifnarch x86_64
194     %if 0%{?rhel} >= 6
195         %define with_storage_gluster 0
196     %endif
197 %endif
198
199 # RHEL doesn't ship OpenVZ, VBox, UML, PowerHypervisor,
200 # VMWare, libxenserver (xenapi), libxenlight (Xen 4.1 and newer),
201 # or HyperV.
202 %if 0%{?rhel}
203     %define with_openvz 0
204     %define with_vbox 0
205     %define with_uml 0
206     %define with_phyp 0
207     %define with_vmware 0
208     %define with_xenapi 0
209     %define with_libxl 0
210     %define with_hyperv 0
211     %define with_parallels 0
212 %endif
213
214 # Fedora 17 / RHEL-7 are first where we use systemd. Although earlier
215 # Fedora has systemd, libvirt still used sysvinit there.
216 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
217     %define with_systemd 1
218     %define with_systemd_daemon 1
219 %endif
220
221 # Fedora 18 / RHEL-7 are first where firewalld support is enabled
222 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
223     %define with_firewalld 1
224 %endif
225
226 # RHEL-5 has restricted QEMU to x86_64 only and is too old for LXC
227 %if 0%{?rhel} == 5
228     %define with_qemu_tcg 0
229     %ifnarch x86_64
230         %define with_qemu 0
231         %define with_qemu_kvm 0
232     %endif
233     %define with_lxc 0
234 %endif
235
236 # RHEL-6 has restricted QEMU to x86_64 only, stopped including Xen
237 # on all archs. Other archs all have LXC available though
238 %if 0%{?rhel} >= 6
239     %define with_qemu_tcg 0
240     %ifnarch x86_64
241         %define with_qemu 0
242         %define with_qemu_kvm 0
243     %endif
244     %define with_xen 0
245 %endif
246
247 # Fedora doesn't have any QEMU on ppc64 until FC16 - only ppc
248 %if 0%{?fedora} && 0%{?fedora} < 16
249     %ifarch ppc64
250         %define with_qemu 0
251     %endif
252 %endif
253
254 # Fedora doesn't have new enough Xen for libxl until F18
255 %if 0%{?fedora} && 0%{?fedora} < 18
256     %define with_libxl 0
257 %endif
258
259 # PolicyKit was introduced in Fedora 8 / RHEL-6 or newer
260 %if 0%{?fedora} >= 8 || 0%{?rhel} >= 6
261     %define with_polkit    0%{!?_without_polkit:1}
262 %endif
263
264 # libcapng is used to manage capabilities in Fedora 12 / RHEL-6 or newer
265 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
266     %define with_capng     0%{!?_without_capng:1}
267 %endif
268
269 # fuse is used to provide virtualized /proc for LXC
270 %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
271     %define with_fuse      0%{!?_without_fuse:1}
272 %endif
273
274 # netcf is used to manage network interfaces in Fedora 12 / RHEL-6 or newer
275 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
276     %define with_netcf     0%{!?_without_netcf:%{server_drivers}}
277 %endif
278
279 # udev is used to manage host devices in Fedora 12 / RHEL-6 or newer
280 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
281     %define with_udev     0%{!?_without_udev:%{server_drivers}}
282 %else
283     %define with_hal       0%{!?_without_hal:%{server_drivers}}
284 %endif
285
286 # interface requires netcf
287 %if ! 0%{?with_netcf}
288     %define with_interface     0
289 %endif
290
291 # Enable yajl library for JSON mode with QEMU
292 %if 0%{?fedora} >= 13 || 0%{?rhel} >= 6
293     %define with_yajl     0%{!?_without_yajl:%{server_drivers}}
294 %endif
295
296 # Enable sanlock library for lock management with QEMU
297 # Sanlock is available only on i686 x86_64 for RHEL
298 %if 0%{?fedora} >= 16
299     %define with_sanlock 0%{!?_without_sanlock:%{server_drivers}}
300 %endif
301 %if 0%{?rhel} == 6
302     %ifarch %{ix86} x86_64
303         %define with_sanlock 0%{!?_without_sanlock:%{server_drivers}}
304     %endif
305 %endif
306 %if 0%{?rhel} >= 7
307     %ifarch x86_64
308         %define with_sanlock 0%{!?_without_sanlock:%{server_drivers}}
309     %endif
310 %endif
311
312 # Enable libssh2 transport for new enough distros
313 %if 0%{?fedora} >= 17
314     %define with_libssh2 0%{!?_without_libssh2:1}
315 %endif
316
317 # Enable wireshark plugins for all distros shipping libvirt 1.2.2 or newer
318 %if 0%{?fedora} >= 21
319     %define with_wireshark 0%{!?_without_wireshark:1}
320 %endif
321
322 # Disable some drivers when building without libvirt daemon.
323 # The logic is the same as in configure.ac
324 %if ! %{with_libvirtd}
325     %define with_interface 0
326     %define with_network 0
327     %define with_qemu 0
328     %define with_lxc 0
329     %define with_uml 0
330     %define with_hal 0
331     %define with_udev 0
332     %define with_storage_fs 0
333     %define with_storage_lvm 0
334     %define with_storage_iscsi 0
335     %define with_storage_mpath 0
336     %define with_storage_rbd 0
337     %define with_storage_sheepdog 0
338     %define with_storage_gluster 0
339     %define with_storage_disk 0
340 %endif
341
342 %if %{with_qemu} || %{with_lxc} || %{with_uml}
343     %define with_nwfilter 0%{!?_without_nwfilter:%{server_drivers}}
344 # Enable libpcap library
345     %define with_libpcap  0%{!?_without_libpcap:%{server_drivers}}
346     %define with_macvtap  0%{!?_without_macvtap:%{server_drivers}}
347
348 # numad is used to manage the CPU and memory placement dynamically,
349 # it's not available on s390[x] and ARM.
350     %if 0%{?fedora} >= 17 || 0%{?rhel} >= 6
351         %ifnarch s390 s390x %{arm}
352             %define with_numad    0%{!?_without_numad:%{server_drivers}}
353         %endif
354     %endif
355 %endif
356
357 %if %{with_macvtap}
358     %define with_libnl 1
359 %endif
360
361 %if 0%{?fedora} >= 11 || 0%{?rhel} >= 5
362     %define with_audit    0%{!?_without_audit:1}
363 %endif
364
365 %if 0%{?fedora} >= 13 || 0%{?rhel} >= 6
366     %define with_dtrace 1
367 %endif
368
369 # Pull in cgroups config system
370 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
371     %if %{with_qemu} || %{with_lxc}
372         %define with_cgconfig 0%{!?_without_cgconfig:1}
373     %endif
374 %endif
375
376 %if %{with_udev} || %{with_hal}
377     %define with_nodedev 1
378 %else
379     %define with_nodedev 0
380 %endif
381
382 %if %{with_storage_fs} || %{with_storage_mpath} || %{with_storage_iscsi} || %{with_storage_lvm} || %{with_storage_disk}
383     %define with_storage 1
384 %else
385     %define with_storage 0
386 %endif
387
388
389 # Force QEMU to run as non-root
390 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
391     %define qemu_user  qemu
392     %define qemu_group  qemu
393 %else
394     %define qemu_user  root
395     %define qemu_group  root
396 %endif
397
398
399 # The RHEL-5 Xen package has some feature backports. This
400 # flag is set to enable use of those special bits on RHEL-5
401 %if 0%{?rhel} == 5
402     %define with_rhel5  1
403 %else
404     %define with_rhel5  0
405 %endif
406
407 %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
408     %define with_systemd_macros 1
409 %else
410     %define with_systemd_macros 0
411 %endif
412
413
414 # RHEL releases provide stable tool chains and so it is safe to turn
415 # compiler warning into errors without being worried about frequent
416 # changes in reported warnings
417 %if 0%{?rhel}
418     %define enable_werror --enable-werror
419 %endif
420
421
422 Summary: Library providing a simple virtualization API
423 Name: libvirt
424 Version: %{mainstream_version}
425 Release: %{taglevel}
426 License: LGPLv2+
427 Group: Development/Libraries
428 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
429 URL: http://libvirt.org/
430
431 %if %(echo %{version} | grep -o \\. | wc -l) == 3
432     %define mainturl stable_updates/
433 %endif
434 Source: http://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.gz
435
436 %if %{with_libvirtd}
437 Requires: libvirt-daemon = %{version}-%{release}
438     %if %{with_network}
439 Requires: libvirt-daemon-config-network = %{version}-%{release}
440     %endif
441     %if %{with_nwfilter}
442 Requires: libvirt-daemon-config-nwfilter = %{version}-%{release}
443     %endif
444     %if %{with_driver_modules}
445         %if %{with_libxl}
446 Requires: libvirt-daemon-driver-libxl = %{version}-%{release}
447         %endif
448         %if %{with_lxc}
449 Requires: libvirt-daemon-driver-lxc = %{version}-%{release}
450         %endif
451         %if %{with_qemu}
452 Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
453         %endif
454         %if %{with_uml}
455 Requires: libvirt-daemon-driver-uml = %{version}-%{release}
456         %endif
457         %if %{with_xen}
458 Requires: libvirt-daemon-driver-xen = %{version}-%{release}
459         %endif
460         %if %{with_vbox}
461 Requires: libvirt-daemon-driver-vbox = %{version}-%{release}
462         %endif
463         %if %{with_nwfilter}
464 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
465         %endif
466
467         %if %{with_interface}
468 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
469         %endif
470 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
471 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
472 Requires: libvirt-daemon-driver-network = %{version}-%{release}
473 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
474     %endif
475 %endif
476 Requires: libvirt-client = %{version}-%{release}
477
478 # All build-time requirements. Run-time requirements are
479 # listed against each sub-RPM
480 %if 0%{?enable_autotools}
481 BuildRequires: autoconf
482 BuildRequires: automake
483 BuildRequires: gettext-devel
484 BuildRequires: libtool
485 BuildRequires: /usr/bin/pod2man
486 %endif
487 BuildRequires: python
488 %if %{with_systemd}
489 BuildRequires: systemd-units
490 %endif
491 %if %{with_systemd_daemon}
492 BuildRequires: systemd-devel
493 %endif
494 %if %{with_xen} || %{with_libxl}
495 BuildRequires: xen-devel
496 %endif
497 BuildRequires: libxml2-devel
498 BuildRequires: xhtml1-dtds
499 BuildRequires: libxslt
500 BuildRequires: readline-devel
501 BuildRequires: ncurses-devel
502 BuildRequires: gettext
503 BuildRequires: libtasn1-devel
504 %if (0%{?rhel} && 0%{?rhel} < 7) || (0%{?fedora} && 0%{?fedora} < 19)
505 BuildRequires: libgcrypt-devel
506 %endif
507 BuildRequires: gnutls-devel
508 BuildRequires: libattr-devel
509 %if %{with_libvirtd}
510 # For pool-build probing for existing pools
511 BuildRequires: libblkid-devel >= 2.17
512 %endif
513 %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
514 # for augparse, optionally used in testing
515 BuildRequires: augeas
516 %endif
517 %if %{with_hal}
518 BuildRequires: hal-devel
519 %endif
520 %if %{with_udev}
521     %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
522 BuildRequires: systemd-devel >= 185
523     %else
524 BuildRequires: libudev-devel >= 145
525     %endif
526 BuildRequires: libpciaccess-devel >= 0.10.9
527 %endif
528 %if %{with_yajl}
529 BuildRequires: yajl-devel
530 %endif
531 %if %{with_sanlock}
532 # make sure libvirt is built with new enough sanlock on
533 # distros that have it; required for on_lockfailure
534     %if 0%{?fedora} >= 17 || 0%{?rhel} >= 6
535 BuildRequires: sanlock-devel >= 2.4
536     %else
537 BuildRequires: sanlock-devel >= 1.8
538     %endif
539 %endif
540 %if %{with_libpcap}
541 BuildRequires: libpcap-devel
542 %endif
543 %if %{with_libnl}
544     %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
545 BuildRequires: libnl3-devel
546     %else
547 BuildRequires: libnl-devel
548     %endif
549 %endif
550 %if %{with_avahi}
551 BuildRequires: avahi-devel
552 %endif
553 %if %{with_selinux}
554 BuildRequires: libselinux-devel
555 %endif
556 %if %{with_apparmor}
557 BuildRequires: libapparmor-devel
558 %endif
559 %if %{with_network}
560 BuildRequires: dnsmasq >= 2.41
561 BuildRequires: iptables
562 BuildRequires: iptables-ipv6
563 BuildRequires: radvd
564 %endif
565 %if %{with_nwfilter}
566 BuildRequires: ebtables
567 %endif
568 BuildRequires: module-init-tools
569 %if %{with_sasl}
570 BuildRequires: cyrus-sasl-devel
571 %endif
572 %if %{with_polkit}
573     %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
574 BuildRequires: polkit-devel >= 0.93
575     %else
576 BuildRequires: PolicyKit-devel >= 0.6
577     %endif
578 %endif
579 %if %{with_storage_fs}
580 # For mount/umount in FS driver
581 BuildRequires: util-linux
582 %endif
583 %if %{with_qemu}
584 # From QEMU RPMs
585 BuildRequires: /usr/bin/qemu-img
586 %else
587     %if %{with_xen}
588 # From Xen RPMs
589 BuildRequires: /usr/sbin/qcow-create
590     %endif
591 %endif
592 %if %{with_storage_lvm}
593 # For LVM drivers
594 BuildRequires: lvm2
595 %endif
596 %if %{with_storage_iscsi}
597 # For ISCSI driver
598 BuildRequires: iscsi-initiator-utils
599 %endif
600 %if %{with_storage_disk}
601 # For disk driver
602 BuildRequires: parted-devel
603     %if 0%{?rhel} == 5
604 # Broken RHEL-5 parted RPM is missing a dep
605 BuildRequires: e2fsprogs-devel
606     %endif
607 %endif
608 %if %{with_storage_mpath} || %{with_storage_disk}
609 # For Multipath support
610     %if 0%{?rhel} == 5
611 # Broken RHEL-5 packaging has header files in main RPM :-(
612 BuildRequires: device-mapper
613     %else
614 BuildRequires: device-mapper-devel
615     %endif
616 %endif
617 %if %{with_storage_rbd}
618 BuildRequires: ceph-devel
619 %endif
620 %if %{with_storage_gluster}
621     %if 0%{?rhel} >= 6
622 BuildRequires: glusterfs-api-devel >= 3.4.0
623 BuildRequires: glusterfs-devel >= 3.4.0
624     %else
625 BuildRequires: glusterfs-api-devel >= 3.4.1
626 BuildRequires: glusterfs-devel >= 3.4.1
627     %endif
628 %endif
629 %if %{with_numactl}
630 # For QEMU/LXC numa info
631 BuildRequires: numactl-devel
632 %endif
633 %if %{with_capng}
634 BuildRequires: libcap-ng-devel >= 0.5.0
635 %endif
636 %if %{with_fuse}
637 BuildRequires: fuse-devel >= 2.8.6
638 %endif
639 %if %{with_phyp} || %{with_libssh2}
640 BuildRequires: libssh2-devel >= 1.3.0
641 %endif
642
643 %if %{with_netcf}
644     %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
645 BuildRequires: netcf-devel >= 0.2.2
646     %else
647         %if 0%{?fedora} >= 16 || 0%{?rhel} >= 6
648 BuildRequires: netcf-devel >= 0.1.8
649         %else
650 BuildRequires: netcf-devel >= 0.1.4
651         %endif
652     %endif
653 %endif
654 %if %{with_esx}
655     %if 0%{?fedora} >= 9 || 0%{?rhel} >= 6
656 BuildRequires: libcurl-devel
657     %else
658 BuildRequires: curl-devel
659     %endif
660 %endif
661 %if %{with_hyperv}
662 BuildRequires: libwsman-devel >= 2.2.3
663 %endif
664 %if %{with_audit}
665 BuildRequires: audit-libs-devel
666 %endif
667 %if %{with_dtrace}
668 # we need /usr/sbin/dtrace
669 BuildRequires: systemtap-sdt-devel
670 %endif
671
672 %if %{with_storage_fs}
673 # For mount/umount in FS driver
674 BuildRequires: util-linux
675 # For showmount in FS driver (netfs discovery)
676 BuildRequires: nfs-utils
677 %endif
678
679 %if %{with_firewalld}
680 # Communication with the firewall daemon uses DBus
681 BuildRequires: dbus-devel
682 %endif
683
684 # Fedora build root suckage
685 BuildRequires: gawk
686
687 # For storage wiping with different algorithms
688 BuildRequires: scrub
689
690 %if %{with_numad}
691 BuildRequires: numad
692 %endif
693
694 %if %{with_wireshark}
695 BuildRequires: wireshark-devel
696 %endif
697
698 Provides: bundled(gnulib)
699
700 %description
701 Libvirt is a C toolkit to interact with the virtualization capabilities
702 of recent versions of Linux (and other OSes). The main package includes
703 the libvirtd server exporting the virtualization support.
704
705 %package docs
706 Summary: API reference and website documentation
707 Group: Development/Libraries
708
709 %description docs
710 Includes the API reference for the libvirt C library, and a complete
711 copy of the libvirt.org website documentation.
712
713 %if %{with_libvirtd}
714 %package daemon
715 Summary: Server side daemon and supporting files for libvirt library
716 Group: Development/Libraries
717
718 # All runtime requirements for the libvirt package (runtime requrements
719 # for subpackages are listed later in those subpackages)
720
721 # The client side, i.e. shared libs and virsh are in a subpackage
722 Requires: %{name}-client = %{version}-%{release}
723
724 # for modprobe of pci devices
725 Requires: module-init-tools
726 # for /sbin/ip & /sbin/tc
727 Requires: iproute
728     %if %{with_avahi}
729         %if 0%{?rhel} == 5
730 Requires: avahi
731         %else
732 Requires: avahi-libs
733         %endif
734     %endif
735     %if %{with_polkit}
736         %if 0%{?fedora} >= 12 || 0%{?rhel} >=6
737 Requires: polkit >= 0.93
738         %else
739 Requires: PolicyKit >= 0.6
740         %endif
741     %endif
742     %if %{with_cgconfig}
743 Requires: libcgroup
744     %endif
745     %ifarch %{ix86} x86_64 ia64
746 # For virConnectGetSysinfo
747 Requires: dmidecode
748     %endif
749 # For service management
750     %if %{with_systemd}
751 Requires(post): systemd-units
752 Requires(post): systemd-sysv
753 Requires(preun): systemd-units
754 Requires(postun): systemd-units
755     %endif
756     %if %{with_numad}
757 Requires: numad
758     %endif
759 # libvirtd depends on 'messagebus' service
760 Requires: dbus
761 # For uid creation during pre
762 Requires(pre): shadow-utils
763
764 %description daemon
765 Server side daemon required to manage the virtualization capabilities
766 of recent versions of Linux. Requires a hypervisor specific sub-RPM
767 for specific drivers.
768
769     %if %{with_network}
770 %package daemon-config-network
771 Summary: Default configuration files for the libvirtd daemon
772 Group: Development/Libraries
773
774 Requires: libvirt-daemon = %{version}-%{release}
775         %if %{with_driver_modules}
776 Requires: libvirt-daemon-driver-network = %{version}-%{release}
777         %endif
778
779 %description daemon-config-network
780 Default configuration files for setting up NAT based networking
781     %endif
782
783     %if %{with_nwfilter}
784 %package daemon-config-nwfilter
785 Summary: Network filter configuration files for the libvirtd daemon
786 Group: Development/Libraries
787
788 Requires: libvirt-daemon = %{version}-%{release}
789         %if %{with_driver_modules}
790 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
791         %endif
792
793 %description daemon-config-nwfilter
794 Network filter configuration files for cleaning guest traffic
795     %endif
796
797     %if %{with_driver_modules}
798         %if %{with_network}
799 %package daemon-driver-network
800 Summary: Network driver plugin for the libvirtd daemon
801 Group: Development/Libraries
802 Requires: libvirt-daemon = %{version}-%{release}
803 Requires: dnsmasq >= 2.41
804 Requires: radvd
805 Requires: iptables
806 Requires: iptables-ipv6
807
808 %description daemon-driver-network
809 The network driver plugin for the libvirtd daemon, providing
810 an implementation of the virtual network APIs using the Linux
811 bridge capabilities.
812         %endif
813
814
815         %if %{with_nwfilter}
816 %package daemon-driver-nwfilter
817 Summary: Nwfilter driver plugin for the libvirtd daemon
818 Group: Development/Libraries
819 Requires: libvirt-daemon = %{version}-%{release}
820 Requires: iptables
821 Requires: iptables-ipv6
822 Requires: ebtables
823
824 %description daemon-driver-nwfilter
825 The nwfilter driver plugin for the libvirtd daemon, providing
826 an implementation of the firewall APIs using the ebtables,
827 iptables and ip6tables capabilities
828         %endif
829
830
831         %if %{with_nodedev}
832 %package daemon-driver-nodedev
833 Summary: Nodedev driver plugin for the libvirtd daemon
834 Group: Development/Libraries
835 Requires: libvirt-daemon = %{version}-%{release}
836 # needed for device enumeration
837             %if %{with_hal}
838 Requires: hal
839             %endif
840             %if %{with_udev}
841                 %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
842 Requires: systemd >= 185
843                 %else
844 Requires: udev >= 145
845                 %endif
846             %endif
847
848 %description daemon-driver-nodedev
849 The nodedev driver plugin for the libvirtd daemon, providing
850 an implementation of the node device APIs using the udev
851 capabilities.
852         %endif
853
854
855         %if %{with_interface}
856 %package daemon-driver-interface
857 Summary: Interface driver plugin for the libvirtd daemon
858 Group: Development/Libraries
859 Requires: libvirt-daemon = %{version}-%{release}
860             %if %{with_netcf} && (0%{?fedora} >= 18 || 0%{?rhel} >= 7)
861 Requires: netcf-libs >= 0.2.2
862             %endif
863
864 %description daemon-driver-interface
865 The interface driver plugin for the libvirtd daemon, providing
866 an implementation of the network interface APIs using the
867 netcf library
868         %endif
869
870
871 %package daemon-driver-secret
872 Summary: Secret driver plugin for the libvirtd daemon
873 Group: Development/Libraries
874 Requires: libvirt-daemon = %{version}-%{release}
875
876 %description daemon-driver-secret
877 The secret driver plugin for the libvirtd daemon, providing
878 an implementation of the secret key APIs.
879
880
881         %if %{with_storage}
882 %package daemon-driver-storage
883 Summary: Storage driver plugin for the libvirtd daemon
884 Group: Development/Libraries
885 Requires: libvirt-daemon = %{version}-%{release}
886             %if %{with_storage_fs}
887 Requires: nfs-utils
888 # For mkfs
889 Requires: util-linux
890 # For glusterfs
891                 %if 0%{?fedora} >= 11
892 Requires: glusterfs-client >= 2.0.1
893                 %endif
894             %endif
895             %if %{with_storage_lvm}
896 # For LVM drivers
897 Requires: lvm2
898             %endif
899             %if %{with_storage_iscsi}
900 # For ISCSI driver
901 Requires: iscsi-initiator-utils
902             %endif
903             %if %{with_storage_disk}
904 # For disk driver
905 Requires: parted
906 Requires: device-mapper
907             %endif
908             %if %{with_storage_mpath}
909 # For multipath support
910 Requires: device-mapper
911             %endif
912             %if %{with_storage_sheepdog}
913 # For Sheepdog support
914 Requires: sheepdog
915             %endif
916             %if %{with_qemu}
917 # From QEMU RPMs
918 Requires: /usr/bin/qemu-img
919             %else
920                 %if %{with_xen}
921 # From Xen RPMs
922 Requires: /usr/sbin/qcow-create
923                 %endif
924             %endif
925
926 %description daemon-driver-storage
927 The storage driver plugin for the libvirtd daemon, providing
928 an implementation of the storage APIs using LVM, iSCSI,
929 parted and more.
930         %endif
931
932
933         %if %{with_qemu}
934 %package daemon-driver-qemu
935 Summary: Qemu driver plugin for the libvirtd daemon
936 Group: Development/Libraries
937 Requires: libvirt-daemon = %{version}-%{release}
938 # There really is a hard cross-driver dependency here
939 Requires: libvirt-daemon-driver-network = %{version}-%{release}
940 Requires: /usr/bin/qemu-img
941 # For image compression
942 Requires: gzip
943 Requires: bzip2
944 Requires: lzop
945 Requires: xz
946
947 %description daemon-driver-qemu
948 The qemu driver plugin for the libvirtd daemon, providing
949 an implementation of the hypervisor driver APIs using
950 QEMU
951         %endif
952
953
954         %if %{with_lxc}
955 %package daemon-driver-lxc
956 Summary: LXC driver plugin for the libvirtd daemon
957 Group: Development/Libraries
958 Requires: libvirt-daemon = %{version}-%{release}
959 # There really is a hard cross-driver dependency here
960 Requires: libvirt-daemon-driver-network = %{version}-%{release}
961
962 %description daemon-driver-lxc
963 The LXC driver plugin for the libvirtd daemon, providing
964 an implementation of the hypervisor driver APIs using
965 the Linux kernel
966         %endif
967
968
969         %if %{with_uml}
970 %package daemon-driver-uml
971 Summary: Uml driver plugin for the libvirtd daemon
972 Group: Development/Libraries
973 Requires: libvirt-daemon = %{version}-%{release}
974
975 %description daemon-driver-uml
976 The UML driver plugin for the libvirtd daemon, providing
977 an implementation of the hypervisor driver APIs using
978 User Mode Linux
979         %endif
980
981
982         %if %{with_xen}
983 %package daemon-driver-xen
984 Summary: Xen driver plugin for the libvirtd daemon
985 Group: Development/Libraries
986 Requires: libvirt-daemon = %{version}-%{release}
987
988 %description daemon-driver-xen
989 The Xen driver plugin for the libvirtd daemon, providing
990 an implementation of the hypervisor driver APIs using
991 Xen
992         %endif
993
994
995         %if %{with_vbox}
996 %package daemon-driver-vbox
997 Summary: VirtualBox driver plugin for the libvirtd daemon
998 Group: Development/Libraries
999 Requires: libvirt-daemon = %{version}-%{release}
1000
1001 %description daemon-driver-vbox
1002 The vbox driver plugin for the libvirtd daemon, providing
1003 an implementation of the hypervisor driver APIs using
1004 VirtualBox
1005         %endif
1006
1007
1008         %if %{with_libxl}
1009 %package daemon-driver-libxl
1010 Summary: Libxl driver plugin for the libvirtd daemon
1011 Group: Development/Libraries
1012 Requires: libvirt-daemon = %{version}-%{release}
1013
1014 %description daemon-driver-libxl
1015 The Libxl driver plugin for the libvirtd daemon, providing
1016 an implementation of the hypervisor driver APIs using
1017 Libxl
1018         %endif
1019     %endif # %{with_driver_modules}
1020
1021
1022
1023     %if %{with_qemu_tcg}
1024 %package daemon-qemu
1025 Summary: Server side daemon & driver required to run QEMU guests
1026 Group: Development/Libraries
1027
1028 Requires: libvirt-daemon = %{version}-%{release}
1029         %if %{with_driver_modules}
1030 Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
1031 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
1032 Requires: libvirt-daemon-driver-network = %{version}-%{release}
1033 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
1034 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
1035 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
1036 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
1037         %endif
1038 Requires: qemu
1039
1040 %description daemon-qemu
1041 Server side daemon and driver required to manage the virtualization
1042 capabilities of the QEMU TCG emulators
1043     %endif
1044
1045
1046     %if %{with_qemu_kvm}
1047 %package daemon-kvm
1048 Summary: Server side daemon & driver required to run KVM guests
1049 Group: Development/Libraries
1050
1051 Requires: libvirt-daemon = %{version}-%{release}
1052         %if %{with_driver_modules}
1053 Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
1054 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
1055 Requires: libvirt-daemon-driver-network = %{version}-%{release}
1056 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
1057 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
1058 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
1059 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
1060         %endif
1061 Requires: qemu-kvm
1062
1063 %description daemon-kvm
1064 Server side daemon and driver required to manage the virtualization
1065 capabilities of the KVM hypervisor
1066     %endif
1067
1068
1069     %if %{with_lxc}
1070 %package daemon-lxc
1071 Summary: Server side daemon & driver required to run LXC guests
1072 Group: Development/Libraries
1073
1074 Requires: libvirt-daemon = %{version}-%{release}
1075         %if %{with_driver_modules}
1076 Requires: libvirt-daemon-driver-lxc = %{version}-%{release}
1077 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
1078 Requires: libvirt-daemon-driver-network = %{version}-%{release}
1079 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
1080 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
1081 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
1082 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
1083         %endif
1084
1085 %description daemon-lxc
1086 Server side daemon and driver required to manage the virtualization
1087 capabilities of LXC
1088     %endif
1089
1090
1091     %if %{with_uml}
1092 %package daemon-uml
1093 Summary: Server side daemon & driver required to run UML guests
1094 Group: Development/Libraries
1095
1096 Requires: libvirt-daemon = %{version}-%{release}
1097         %if %{with_driver_modules}
1098 Requires: libvirt-daemon-driver-uml = %{version}-%{release}
1099 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
1100 Requires: libvirt-daemon-driver-network = %{version}-%{release}
1101 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
1102 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
1103 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
1104 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
1105         %endif
1106 # There are no UML kernel RPMs in Fedora/RHEL to depend on.
1107
1108 %description daemon-uml
1109 Server side daemon and driver required to manage the virtualization
1110 capabilities of UML
1111     %endif
1112
1113
1114     %if %{with_xen} || %{with_libxl}
1115 %package daemon-xen
1116 Summary: Server side daemon & driver required to run XEN guests
1117 Group: Development/Libraries
1118
1119 Requires: libvirt-daemon = %{version}-%{release}
1120         %if %{with_driver_modules}
1121             %if %{with_xen}
1122 Requires: libvirt-daemon-driver-xen = %{version}-%{release}
1123             %endif
1124             %if %{with_libxl}
1125 Requires: libvirt-daemon-driver-libxl = %{version}-%{release}
1126             %endif
1127 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
1128 Requires: libvirt-daemon-driver-network = %{version}-%{release}
1129 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
1130 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
1131 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
1132 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
1133         %endif
1134 Requires: xen
1135
1136 %description daemon-xen
1137 Server side daemon and driver required to manage the virtualization
1138 capabilities of XEN
1139     %endif
1140
1141     %if %{with_vbox}
1142 %package daemon-vbox
1143 Summary: Server side daemon & driver required to run VirtualBox guests
1144 Group: Development/Libraries
1145
1146 Requires: libvirt-daemon = %{version}-%{release}
1147         %if %{with_driver_modules}
1148 Requires: libvirt-daemon-driver-vbox = %{version}-%{release}
1149 Requires: libvirt-daemon-driver-interface = %{version}-%{release}
1150 Requires: libvirt-daemon-driver-network = %{version}-%{release}
1151 Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
1152 Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
1153 Requires: libvirt-daemon-driver-secret = %{version}-%{release}
1154 Requires: libvirt-daemon-driver-storage = %{version}-%{release}
1155         %endif
1156
1157 %description daemon-vbox
1158 Server side daemon and driver required to manage the virtualization
1159 capabilities of VirtualBox
1160     %endif
1161 %endif # %{with_libvirtd}
1162
1163 %package client
1164 Summary: Client side library and utilities of the libvirt library
1165 Group: Development/Libraries
1166 Requires: readline
1167 Requires: ncurses
1168 # So remote clients can access libvirt over SSH tunnel
1169 # (client invokes 'nc' against the UNIX socket on the server)
1170 Requires: nc
1171 # Needed by /usr/libexec/libvirt-guests.sh script.
1172 Requires: gettext
1173 # Needed by virt-pki-validate script.
1174 Requires: gnutls-utils
1175 # Needed for probing the power management features of the host.
1176 Requires: pm-utils
1177 %if %{with_sasl}
1178 Requires: cyrus-sasl
1179 # Not technically required, but makes 'out-of-box' config
1180 # work correctly & doesn't have onerous dependencies
1181 Requires: cyrus-sasl-md5
1182 %endif
1183
1184 %description client
1185 Shared libraries and client binaries needed to access to the
1186 virtualization capabilities of recent versions of Linux (and other OSes).
1187
1188 %if %{with_wireshark}
1189 %package wireshark
1190 Summary: Wireshark dissector plugin for libvirt RPC transactions
1191 Group: Development/Libraries
1192 Requires: wireshark
1193 Requires: %{name}-client = %{version}-%{release}
1194
1195 %description wireshark
1196 Wireshark dissector plugin for better analysis of libvirt RPC traffic.
1197 %endif
1198
1199 %if %{with_lxc}
1200 %package login-shell
1201 Summary: Login shell for connecting users to an LXC container
1202 Group: Development/Libraries
1203 Requires: %{name}-client = %{version}-%{release}
1204
1205 %description login-shell
1206 Provides the set-uid virt-login-shell binary that is used to
1207 connect a user to an LXC container when they login, by switching
1208 namespaces.
1209 %endif
1210
1211 %package devel
1212 Summary: Libraries, includes, etc. to compile with the libvirt library
1213 Group: Development/Libraries
1214 Requires: %{name}-client = %{version}-%{release}
1215 Requires: %{name}-docs = %{version}-%{release}
1216 Requires: pkgconfig
1217
1218 %description devel
1219 Include header files & development libraries for the libvirt C library.
1220
1221 %if %{with_sanlock}
1222 %package lock-sanlock
1223 Summary: Sanlock lock manager plugin for QEMU driver
1224 Group: Development/Libraries
1225     %if 0%{?fedora} >= 17 || 0%{?rhel} >= 6
1226 Requires: sanlock >= 2.4
1227     %else
1228 Requires: sanlock >= 1.8
1229     %endif
1230 #for virt-sanlock-cleanup require augeas
1231 Requires: augeas
1232 Requires: %{name}-daemon = %{version}-%{release}
1233 Requires: %{name}-client = %{version}-%{release}
1234
1235 %description lock-sanlock
1236 Includes the Sanlock lock manager plugin for the QEMU
1237 driver
1238 %endif
1239
1240 %prep
1241 %setup -q
1242
1243 %build
1244 %if ! %{with_xen}
1245     %define _without_xen --without-xen
1246 %endif
1247
1248 %if ! %{with_qemu}
1249     %define _without_qemu --without-qemu
1250 %endif
1251
1252 %if ! %{with_openvz}
1253     %define _without_openvz --without-openvz
1254 %endif
1255
1256 %if ! %{with_lxc}
1257     %define _without_lxc --without-lxc
1258 %endif
1259
1260 %if ! %{with_vbox}
1261     %define _without_vbox --without-vbox
1262 %endif
1263
1264 %if ! %{with_xenapi}
1265     %define _without_xenapi --without-xenapi
1266 %endif
1267
1268 %if ! %{with_libxl}
1269     %define _without_libxl --without-libxl
1270 %endif
1271
1272 %if ! %{with_sasl}
1273     %define _without_sasl --without-sasl
1274 %endif
1275
1276 %if ! %{with_avahi}
1277     %define _without_avahi --without-avahi
1278 %endif
1279
1280 %if ! %{with_phyp}
1281     %define _without_phyp --without-phyp
1282 %endif
1283
1284 %if ! %{with_esx}
1285     %define _without_esx --without-esx
1286 %endif
1287
1288 %if ! %{with_hyperv}
1289     %define _without_hyperv --without-hyperv
1290 %endif
1291
1292 %if ! %{with_vmware}
1293     %define _without_vmware --without-vmware
1294 %endif
1295
1296 %if ! %{with_parallels}
1297     %define _without_parallels --without-parallels
1298 %endif
1299
1300 %if ! %{with_polkit}
1301     %define _without_polkit --without-polkit
1302 %endif
1303
1304 %if ! %{with_libvirtd}
1305     %define _without_libvirtd --without-libvirtd
1306 %endif
1307
1308 %if ! %{with_uml}
1309     %define _without_uml --without-uml
1310 %endif
1311
1312 %if %{with_rhel5}
1313     %define _with_rhel5_api --with-rhel5-api
1314 %endif
1315
1316 %if ! %{with_interface}
1317     %define _without_interface --without-interface
1318 %endif
1319
1320 %if ! %{with_network}
1321     %define _without_network --without-network
1322 %endif
1323
1324 %if ! %{with_storage_fs}
1325     %define _without_storage_fs --without-storage-fs
1326 %endif
1327
1328 %if ! %{with_storage_lvm}
1329     %define _without_storage_lvm --without-storage-lvm
1330 %endif
1331
1332 %if ! %{with_storage_iscsi}
1333     %define _without_storage_iscsi --without-storage-iscsi
1334 %endif
1335
1336 %if ! %{with_storage_disk}
1337     %define _without_storage_disk --without-storage-disk
1338 %endif
1339
1340 %if ! %{with_storage_mpath}
1341     %define _without_storage_mpath --without-storage-mpath
1342 %endif
1343
1344 %if ! %{with_storage_rbd}
1345     %define _without_storage_rbd --without-storage-rbd
1346 %endif
1347
1348 %if ! %{with_storage_sheepdog}
1349     %define _without_storage_sheepdog --without-storage-sheepdog
1350 %endif
1351
1352 %if ! %{with_storage_gluster}
1353     %define _without_storage_gluster --without-storage-gluster
1354 %endif
1355
1356 %if ! %{with_numactl}
1357     %define _without_numactl --without-numactl
1358 %endif
1359
1360 %if ! %{with_numad}
1361     %define _without_numad --without-numad
1362 %endif
1363
1364 %if ! %{with_capng}
1365     %define _without_capng --without-capng
1366 %endif
1367
1368 %if ! %{with_fuse}
1369     %define _without_fuse --without-fuse
1370 %endif
1371
1372 %if ! %{with_netcf}
1373     %define _without_netcf --without-netcf
1374 %endif
1375
1376 %if ! %{with_selinux}
1377     %define _without_selinux --without-selinux
1378 %endif
1379
1380 %if ! %{with_apparmor}
1381     %define _without_apparmor --without-apparmor
1382 %endif
1383
1384 %if ! %{with_hal}
1385     %define _without_hal --without-hal
1386 %endif
1387
1388 %if ! %{with_udev}
1389     %define _without_udev --without-udev
1390 %endif
1391
1392 %if ! %{with_yajl}
1393     %define _without_yajl --without-yajl
1394 %endif
1395
1396 %if ! %{with_sanlock}
1397     %define _without_sanlock --without-sanlock
1398 %endif
1399
1400 %if ! %{with_libpcap}
1401     %define _without_libpcap --without-libpcap
1402 %endif
1403
1404 %if ! %{with_macvtap}
1405     %define _without_macvtap --without-macvtap
1406 %endif
1407
1408 %if ! %{with_audit}
1409     %define _without_audit --without-audit
1410 %endif
1411
1412 %if ! %{with_dtrace}
1413     %define _without_dtrace --without-dtrace
1414 %endif
1415
1416 %if ! %{with_driver_modules}
1417     %define _without_driver_modules --without-driver-modules
1418 %endif
1419
1420 %if %{with_firewalld}
1421     %define _with_firewalld --with-firewalld
1422 %endif
1423
1424 %if ! %{with_wireshark}
1425     %define _without_wireshark --without-wireshark-dissector
1426 %endif
1427
1428 %if ! %{with_systemd_daemon}
1429     %define _without_systemd_daemon --without-systemd-daemon
1430 %endif
1431
1432 %define when  %(date +"%%F-%%T")
1433 %define where %(hostname)
1434 %define who   %{?packager}%{!?packager:Unknown}
1435 %define with_packager --with-packager="%{who}, %{when}, %{where}"
1436 %define with_packager_version --with-packager-version="%{release}"
1437
1438 %if %{with_systemd}
1439     %define init_scripts --with-init_script=systemd
1440 %else
1441     %define init_scripts --with-init_script=redhat
1442 %endif
1443
1444 %if %{with_selinux}
1445     %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
1446         %define with_selinux_mount --with-selinux-mount="/sys/fs/selinux"
1447     %else
1448         %define with_selinux_mount --with-selinux-mount="/selinux"
1449     %endif
1450 %endif
1451
1452 # place macros above and build commands below this comment
1453
1454 %if 0%{?enable_autotools}
1455  autoreconf -if
1456 %endif
1457
1458 rm -f po/stamp-po
1459 %configure %{?_without_xen} \
1460            %{?_without_qemu} \
1461            %{?_without_openvz} \
1462            %{?_without_lxc} \
1463            %{?_without_vbox} \
1464            %{?_without_libxl} \
1465            %{?_without_xenapi} \
1466            %{?_without_sasl} \
1467            %{?_without_avahi} \
1468            %{?_without_polkit} \
1469            %{?_without_libvirtd} \
1470            %{?_without_uml} \
1471            %{?_without_phyp} \
1472            %{?_without_esx} \
1473            %{?_without_hyperv} \
1474            %{?_without_vmware} \
1475            %{?_without_parallels} \
1476            --without-bhyve \
1477            %{?_without_interface} \
1478            %{?_without_network} \
1479            %{?_with_rhel5_api} \
1480            %{?_without_storage_fs} \
1481            %{?_without_storage_lvm} \
1482            %{?_without_storage_iscsi} \
1483            %{?_without_storage_disk} \
1484            %{?_without_storage_mpath} \
1485            %{?_without_storage_rbd} \
1486            %{?_without_storage_sheepdog} \
1487            %{?_without_storage_gluster} \
1488            %{?_without_numactl} \
1489            %{?_without_numad} \
1490            %{?_without_capng} \
1491            %{?_without_fuse} \
1492            %{?_without_netcf} \
1493            %{?_without_selinux} \
1494            %{?_with_selinux_mount} \
1495            %{?_without_apparmor} \
1496            %{?_without_hal} \
1497            %{?_without_udev} \
1498            %{?_without_yajl} \
1499            %{?_without_sanlock} \
1500            %{?_without_libpcap} \
1501            %{?_without_macvtap} \
1502            %{?_without_audit} \
1503            %{?_without_dtrace} \
1504            %{?_without_driver_modules} \
1505            %{?_with_firewalld} \
1506            %{?_without_wireshark} \
1507            %{?_without_systemd_daemon} \
1508            %{with_packager} \
1509            %{with_packager_version} \
1510            --with-qemu-user=%{qemu_user} \
1511            --with-qemu-group=%{qemu_group} \
1512            %{?enable_werror} \
1513            --enable-expensive-tests \
1514            %{init_scripts}
1515 make %{?_smp_mflags}
1516 gzip -9 ChangeLog
1517
1518 %install
1519 rm -fr %{buildroot}
1520
1521 # Avoid using makeinstall macro as it changes prefixes rather than setting
1522 # DESTDIR. Newer make_install macro would be better but it's not available
1523 # on RHEL 5, thus we need to expand it here.
1524 make install DESTDIR=%{?buildroot} SYSTEMD_UNIT_DIR=%{_unitdir}
1525
1526 for i in object-events dominfo domsuspend hellolibvirt openauth xml/nwfilter systemtap
1527 do
1528   (cd examples/$i ; make clean ; rm -rf .deps .libs Makefile Makefile.in)
1529 done
1530 rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
1531 rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
1532 rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.la
1533 rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.a
1534 %if %{with_driver_modules}
1535 rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.la
1536 rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.a
1537 %endif
1538 %if %{with_wireshark}
1539 rm -f $RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/*/libvirt.la
1540 %endif
1541
1542 %if %{with_network}
1543 install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/lib/libvirt/dnsmasq/
1544 # We don't want to install /etc/libvirt/qemu/networks in the main %files list
1545 # because if the admin wants to delete the default network completely, we don't
1546 # want to end up re-incarnating it on every RPM upgrade.
1547 install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/
1548 cp $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml \
1549    $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
1550 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
1551 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
1552 # Strip auto-generated UUID - we need it generated per-install
1553 sed -i -e "/<uuid>/d" $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
1554 %else
1555 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
1556 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
1557 %endif
1558 %if ! %{with_qemu}
1559 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_qemu.aug
1560 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
1561 %endif
1562 %find_lang %{name}
1563
1564 %if ! %{with_sanlock}
1565 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirt_sanlock.aug
1566 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug
1567 %endif
1568
1569 %if ! %{with_lxc}
1570 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_lxc.aug
1571 rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
1572 %endif
1573
1574 %if ! %{with_qemu}
1575 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf
1576 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.qemu
1577 %endif
1578 %if ! %{with_lxc}
1579 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/lxc.conf
1580 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.lxc
1581 %endif
1582 %if ! %{with_uml}
1583 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.uml
1584 %endif
1585
1586 # Copied into libvirt-docs subpackage eventually
1587 mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{version} libvirt-docs
1588
1589 %if %{with_dtrace}
1590     %ifarch %{power64} s390x x86_64 ia64 alpha sparc64
1591 mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes.stp \
1592    $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes-64.stp
1593 mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes.stp \
1594    $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes-64.stp
1595     %endif
1596 %endif
1597
1598 %if 0%{?fedora} < 14 && 0%{?rhel} < 6
1599 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/sysctl.d/libvirtd.conf
1600 %endif
1601
1602 %clean
1603 rm -fr %{buildroot}
1604
1605 %check
1606 # PlanetLab build
1607 # do not run tests, this is mainstream business, and more importantly
1608 # our own setup is ti build inside a container already and we've seen
1609 # occasional red herrings because of that
1610 exit
1611 #
1612 cd tests
1613 make
1614 # These tests don't current work in a mock build root
1615 for i in nodeinfotest seclabeltest
1616 do
1617   rm -f $i
1618   printf 'int main(void) { return 0; }' > $i.c
1619   printf '#!/bin/sh\nexit 0\n' > $i
1620   chmod +x $i
1621 done
1622 if ! make check VIR_TEST_DEBUG=1
1623 then
1624   cat test-suite.log || true
1625   exit 1
1626 fi
1627
1628 %if %{with_libvirtd}
1629     %if ! %{with_driver_modules}
1630         %if %{with_qemu}
1631 %pre daemon
1632             %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
1633 # We want soft static allocation of well-known ids, as disk images
1634 # are commonly shared across NFS mounts by id rather than name; see
1635 # https://fedoraproject.org/wiki/Packaging:UsersAndGroups
1636 getent group kvm >/dev/null || groupadd -f -g 36 -r kvm
1637 getent group qemu >/dev/null || groupadd -f -g 107 -r qemu
1638 if ! getent passwd qemu >/dev/null; then
1639   if ! getent passwd 107 >/dev/null; then
1640     useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu
1641   else
1642     useradd -r -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu
1643   fi
1644 fi
1645 exit 0
1646             %endif
1647         %endif
1648     %endif
1649
1650 %post daemon
1651
1652     %if %{with_network}
1653 # All newly defined networks will have a mac address for the bridge
1654 # auto-generated, but networks already existing at the time of upgrade
1655 # will not. We need to go through all the network configs, look for
1656 # those that don't have a mac address, and add one.
1657
1658 network_files=$( (cd %{_localstatedir}/lib/libvirt/network && \
1659                   grep -L "mac address" *.xml; \
1660                   cd %{_sysconfdir}/libvirt/qemu/networks && \
1661                   grep -L "mac address" *.xml) 2>/dev/null \
1662                 | sort -u)
1663
1664 for file in $network_files
1665 do
1666    # each file exists in either the config or state directory (or both) and
1667    # does not have a mac address specified in either. We add the same mac
1668    # address to both files (or just one, if the other isn't there)
1669
1670    mac4=`printf '%X' $(($RANDOM % 256))`
1671    mac5=`printf '%X' $(($RANDOM % 256))`
1672    mac6=`printf '%X' $(($RANDOM % 256))`
1673    for dir in %{_localstatedir}/lib/libvirt/network \
1674               %{_sysconfdir}/libvirt/qemu/networks
1675    do
1676       if test -f $dir/$file
1677       then
1678          sed -i.orig -e \
1679            "s|\(<bridge.*$\)|\0\n  <mac address='52:54:00:$mac4:$mac5:$mac6'/>|" \
1680            $dir/$file
1681          if test $? != 0
1682          then
1683              echo "failed to add <mac address='52:54:00:$mac4:$mac5:$mac6'/>" \
1684                   "to $dir/$file"
1685              mv -f $dir/$file.orig $dir/$file
1686          else
1687              rm -f $dir/$file.orig
1688          fi
1689       fi
1690    done
1691 done
1692     %endif
1693
1694     %if %{with_systemd}
1695         %if %{with_systemd_macros}
1696             %systemd_post virtlockd.socket libvirtd.service
1697         %else
1698 if [ $1 -eq 1 ] ; then
1699     # Initial installation
1700     /bin/systemctl enable virtlockd.socket libvirtd.service >/dev/null 2>&1 || :
1701 fi
1702         %endif
1703     %else
1704         %if %{with_cgconfig}
1705 # Starting with Fedora 16/RHEL-7, systemd automounts all cgroups,
1706 # and cgconfig is no longer a necessary service.
1707             %if (0%{?rhel} && 0%{?rhel} < 7) || (0%{?fedora} && 0%{?fedora} < 16)
1708 if [ "$1" -eq "1" ]; then
1709 /sbin/chkconfig cgconfig on
1710 fi
1711             %endif
1712         %endif
1713
1714 /sbin/chkconfig --add libvirtd
1715 /sbin/chkconfig --add virtlockd
1716     %endif
1717
1718 %preun daemon
1719     %if %{with_systemd}
1720         %if %{with_systemd_macros}
1721             %systemd_preun libvirtd.service virtlockd.socket virtlockd.service
1722         %else
1723 if [ $1 -eq 0 ] ; then
1724     # Package removal, not upgrade
1725     /bin/systemctl --no-reload disable libvirtd.service virtlockd.socket virtlockd.service > /dev/null 2>&1 || :
1726     /bin/systemctl stop libvirtd.service virtlockd.socket virtlockd.service > /dev/null 2>&1 || :
1727 fi
1728         %endif
1729     %else
1730 if [ $1 = 0 ]; then
1731     /sbin/service libvirtd stop 1>/dev/null 2>&1
1732     /sbin/chkconfig --del libvirtd
1733     /sbin/service virtlockd stop 1>/dev/null 2>&1
1734     /sbin/chkconfig --del virtlockd
1735 fi
1736     %endif
1737
1738 %postun daemon
1739     %if %{with_systemd}
1740 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
1741 if [ $1 -ge 1 ] ; then
1742     /bin/systemctl reload-or-try-restart virtlockd.service >/dev/null 2>&1 || :
1743     /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
1744 fi
1745     %else
1746 if [ $1 -ge 1 ]; then
1747     /sbin/service virtlockd reload > /dev/null 2>&1 || :
1748     /sbin/service libvirtd condrestart > /dev/null 2>&1
1749 fi
1750     %endif
1751
1752     %if %{with_systemd}
1753     %else
1754 %triggerpostun daemon -- libvirt-daemon < 1.2.1
1755 if [ "$1" -ge "1" ]; then
1756     /sbin/service virtlockd reload > /dev/null 2>&1 || :
1757     /sbin/service libvirtd condrestart > /dev/null 2>&1
1758 fi
1759     %endif
1760
1761     %if %{with_network}
1762 %post daemon-config-network
1763 if test $1 -eq 1 && test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml ; then
1764     UUID=`/usr/bin/uuidgen`
1765     sed -e "s,</name>,</name>\n  <uuid>$UUID</uuid>," \
1766          < %{_datadir}/libvirt/networks/default.xml \
1767          > %{_sysconfdir}/libvirt/qemu/networks/default.xml
1768     ln -s ../default.xml %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
1769 fi
1770     %endif
1771
1772     %if %{with_systemd}
1773 %triggerun -- libvirt < 0.9.4
1774 %{_bindir}/systemd-sysv-convert --save libvirtd >/dev/null 2>&1 ||:
1775
1776 # If the package is allowed to autostart:
1777 /bin/systemctl --no-reload enable libvirtd.service >/dev/null 2>&1 ||:
1778
1779 # Run these because the SysV package being removed won't do them
1780 /sbin/chkconfig --del libvirtd >/dev/null 2>&1 || :
1781 /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
1782     %endif
1783
1784     %if %{with_driver_modules}
1785         %if %{with_qemu}
1786 %pre daemon-driver-qemu
1787             %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
1788 # We want soft static allocation of well-known ids, as disk images
1789 # are commonly shared across NFS mounts by id rather than name; see
1790 # https://fedoraproject.org/wiki/Packaging:UsersAndGroups
1791 getent group kvm >/dev/null || groupadd -f -g 36 -r kvm
1792 getent group qemu >/dev/null || groupadd -f -g 107 -r qemu
1793 if ! getent passwd qemu >/dev/null; then
1794   if ! getent passwd 107 >/dev/null; then
1795     useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu
1796   else
1797     useradd -r -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu
1798   fi
1799 fi
1800 exit 0
1801             %endif
1802         %endif
1803     %endif
1804 %endif # %{with_libvirtd}
1805
1806 %preun client
1807
1808 %if %{with_systemd}
1809     %if %{with_systemd_macros}
1810         %systemd_preun libvirt-guests.service
1811     %endif
1812 %else
1813 if [ $1 = 0 ]; then
1814     /sbin/chkconfig --del libvirt-guests
1815     rm -f /var/lib/libvirt/libvirt-guests
1816 fi
1817 %endif
1818
1819 %post client
1820
1821 /sbin/ldconfig
1822 %if %{with_systemd}
1823     %if %{with_systemd_macros}
1824         %systemd_post libvirt-guests.service
1825     %endif
1826 %else
1827 /sbin/chkconfig --add libvirt-guests
1828 %endif
1829
1830 %postun client
1831
1832 /sbin/ldconfig
1833 %if %{with_systemd}
1834     %if %{with_systemd_macros}
1835         %systemd_postun libvirt-guests.service
1836     %endif
1837 %triggerun client -- libvirt < 0.9.4
1838 %{_bindir}/systemd-sysv-convert --save libvirt-guests >/dev/null 2>&1 ||:
1839
1840 # If the package is allowed to autostart:
1841 /bin/systemctl --no-reload enable libvirt-guests.service >/dev/null 2>&1 ||:
1842
1843 # Run this because the SysV package being removed won't do them
1844 /sbin/chkconfig --del libvirt-guests >/dev/null 2>&1 || :
1845 %endif
1846
1847 %if %{with_sanlock}
1848 %post lock-sanlock
1849 if getent group sanlock > /dev/null ; then
1850     chmod 0770 %{_localstatedir}/lib/libvirt/sanlock
1851     chown root:sanlock %{_localstatedir}/lib/libvirt/sanlock
1852 fi
1853 %endif
1854
1855 %if %{with_lxc}
1856 %pre login-shell
1857 getent group virtlogin >/dev/null || groupadd -r virtlogin
1858 exit 0
1859 %endif
1860
1861 %files
1862 %defattr(-, root, root)
1863
1864 %files docs
1865 %defattr(-, root, root)
1866 %doc AUTHORS ChangeLog.gz NEWS README TODO libvirt-docs/*
1867
1868 # API docs
1869 %dir %{_datadir}/gtk-doc/html/libvirt/
1870 %doc %{_datadir}/gtk-doc/html/libvirt/*.devhelp
1871 %doc %{_datadir}/gtk-doc/html/libvirt/*.html
1872 %doc %{_datadir}/gtk-doc/html/libvirt/*.png
1873 %doc %{_datadir}/gtk-doc/html/libvirt/*.css
1874
1875 %if %{with_libvirtd}
1876 %files daemon
1877 %defattr(-, root, root)
1878
1879 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
1880
1881     %if %{with_systemd}
1882 %{_unitdir}/libvirtd.service
1883 %{_unitdir}/virtlockd.service
1884 %{_unitdir}/virtlockd.socket
1885     %else
1886 %{_sysconfdir}/rc.d/init.d/libvirtd
1887 %{_sysconfdir}/rc.d/init.d/virtlockd
1888     %endif
1889 %doc daemon/libvirtd.upstart
1890 %config(noreplace) %{_sysconfdir}/sysconfig/libvirtd
1891 %config(noreplace) %{_sysconfdir}/sysconfig/virtlockd
1892 %config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
1893 %config(noreplace) %{_sysconfdir}/libvirt/virtlockd.conf
1894     %if 0%{?fedora} >= 14 || 0%{?rhel} >= 6
1895 %config(noreplace) %{_prefix}/lib/sysctl.d/libvirtd.conf
1896     %endif
1897
1898 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd
1899 %dir %{_datadir}/libvirt/
1900
1901 %ghost %dir %{_localstatedir}/run/libvirt/
1902
1903 %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/images/
1904 %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/filesystems/
1905 %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/boot/
1906 %dir %attr(0711, root, root) %{_localstatedir}/cache/libvirt/
1907
1908
1909 %dir %attr(0755, root, root) %{_libdir}/libvirt/lock-driver
1910 %attr(0755, root, root) %{_libdir}/libvirt/lock-driver/lockd.so
1911
1912 %{_datadir}/augeas/lenses/libvirtd.aug
1913 %{_datadir}/augeas/lenses/tests/test_libvirtd.aug
1914 %{_datadir}/augeas/lenses/virtlockd.aug
1915 %{_datadir}/augeas/lenses/tests/test_virtlockd.aug
1916 %{_datadir}/augeas/lenses/libvirt_lockd.aug
1917 ### planetlab: we do not run tests
1918 # %{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug
1919
1920     %if %{with_polkit}
1921         %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
1922 %{_datadir}/polkit-1/actions/org.libvirt.unix.policy
1923 %{_datadir}/polkit-1/actions/org.libvirt.api.policy
1924         %else
1925 %{_datadir}/PolicyKit/policy/org.libvirt.unix.policy
1926         %endif
1927     %endif
1928
1929 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/
1930
1931 %attr(0755, root, root) %{_libexecdir}/libvirt_iohelper
1932
1933     %if %{with_apparmor}
1934 %attr(0755, root, root) %{_libexecdir}/virt-aa-helper
1935     %endif
1936
1937 %attr(0755, root, root) %{_sbindir}/libvirtd
1938 %attr(0755, root, root) %{_sbindir}/virtlockd
1939
1940 %{_mandir}/man8/libvirtd.8*
1941 %{_mandir}/man8/virtlockd.8*
1942
1943     %if ! %{with_driver_modules}
1944         %if %{with_network} || %{with_qemu}
1945 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
1946         %endif
1947         %if %{with_network} || %{with_nwfilter}
1948 %ghost %dir %{_localstatedir}/run/libvirt/network/
1949         %endif
1950         %if %{with_network}
1951 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/
1952 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
1953 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/
1954 %dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/
1955         %endif
1956         %if %{with_nwfilter}
1957 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/
1958         %endif
1959         %if %{with_storage_disk}
1960 %attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
1961         %endif
1962         %if %{with_qemu}
1963 %config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
1964 %config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf
1965 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu
1966 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
1967 %ghost %dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/
1968 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
1969 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/channel/
1970 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/channel/target/
1971 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/
1972 %{_datadir}/augeas/lenses/libvirtd_qemu.aug
1973 %{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
1974         %endif
1975         %if %{with_lxc}
1976 %config(noreplace) %{_sysconfdir}/libvirt/lxc.conf
1977 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc
1978 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/
1979 %ghost %dir %{_localstatedir}/run/libvirt/lxc/
1980 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/
1981 %{_datadir}/augeas/lenses/libvirtd_lxc.aug
1982 %{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
1983 %attr(0755, root, root) %{_libexecdir}/libvirt_lxc
1984         %endif
1985         %if %{with_uml}
1986 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml
1987 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/
1988 %ghost %dir %{_localstatedir}/run/libvirt/uml/
1989 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/
1990         %endif
1991         %if %{with_libxl}
1992 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/libxl/
1993 %ghost %dir %{_localstatedir}/run/libvirt/libxl/
1994 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/
1995         %endif
1996         %if %{with_xen}
1997 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/xen/
1998         %endif
1999     %endif # ! %{with_driver_modules}
2000
2001     %if %{with_network}
2002 %files daemon-config-network
2003 %defattr(-, root, root)
2004 %dir %{_datadir}/libvirt/networks/
2005 %{_datadir}/libvirt/networks/default.xml
2006     %endif
2007
2008     %if %{with_nwfilter}
2009 %files daemon-config-nwfilter
2010 %defattr(-, root, root)
2011 %{_sysconfdir}/libvirt/nwfilter/*.xml
2012     %endif
2013
2014     %if %{with_driver_modules}
2015         %if %{with_interface}
2016 %files daemon-driver-interface
2017 %defattr(-, root, root)
2018 %{_libdir}/%{name}/connection-driver/libvirt_driver_interface.so
2019         %endif
2020
2021         %if %{with_network}
2022 %files daemon-driver-network
2023 %defattr(-, root, root)
2024 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
2025 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/
2026 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
2027 %ghost %dir %{_localstatedir}/run/libvirt/network/
2028 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/
2029 %dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/
2030 %{_libdir}/%{name}/connection-driver/libvirt_driver_network.so
2031         %endif
2032
2033         %if %{with_nodedev}
2034 %files daemon-driver-nodedev
2035 %defattr(-, root, root)
2036 %{_libdir}/%{name}/connection-driver/libvirt_driver_nodedev.so
2037         %endif
2038
2039         %if %{with_nwfilter}
2040 %files daemon-driver-nwfilter
2041 %defattr(-, root, root)
2042 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/
2043 %ghost %dir %{_localstatedir}/run/libvirt/network/
2044 %{_libdir}/%{name}/connection-driver/libvirt_driver_nwfilter.so
2045         %endif
2046
2047 %files daemon-driver-secret
2048 %defattr(-, root, root)
2049 %{_libdir}/%{name}/connection-driver/libvirt_driver_secret.so
2050
2051         %if %{with_storage}
2052 %files daemon-driver-storage
2053 %defattr(-, root, root)
2054             %if %{with_storage_disk}
2055 %attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
2056             %endif
2057 %{_libdir}/%{name}/connection-driver/libvirt_driver_storage.so
2058         %endif
2059
2060         %if %{with_qemu}
2061 %files daemon-driver-qemu
2062 %defattr(-, root, root)
2063 %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
2064 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
2065 %config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
2066 %config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf
2067 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu
2068 %ghost %dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/
2069 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
2070 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/channel/
2071 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/channel/target/
2072 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/
2073 %{_datadir}/augeas/lenses/libvirtd_qemu.aug
2074 %{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
2075 %{_libdir}/%{name}/connection-driver/libvirt_driver_qemu.so
2076         %endif
2077
2078         %if %{with_lxc}
2079 %files daemon-driver-lxc
2080 %defattr(-, root, root)
2081 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/
2082 %config(noreplace) %{_sysconfdir}/libvirt/lxc.conf
2083 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc
2084 %ghost %dir %{_localstatedir}/run/libvirt/lxc/
2085 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/
2086 %{_datadir}/augeas/lenses/libvirtd_lxc.aug
2087 %{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
2088 %attr(0755, root, root) %{_libexecdir}/libvirt_lxc
2089 %{_libdir}/%{name}/connection-driver/libvirt_driver_lxc.so
2090         %endif
2091
2092         %if %{with_uml}
2093 %files daemon-driver-uml
2094 %defattr(-, root, root)
2095 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/
2096 %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml
2097 %ghost %dir %{_localstatedir}/run/libvirt/uml/
2098 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/
2099 %{_libdir}/%{name}/connection-driver/libvirt_driver_uml.so
2100         %endif
2101
2102         %if %{with_xen}
2103 %files daemon-driver-xen
2104 %defattr(-, root, root)
2105 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/xen/
2106 %{_libdir}/%{name}/connection-driver/libvirt_driver_xen.so
2107         %endif
2108
2109         %if %{with_libxl}
2110 %files daemon-driver-libxl
2111 %defattr(-, root, root)
2112 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/libxl/
2113 %ghost %dir %{_localstatedir}/run/libvirt/libxl/
2114 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/
2115 %{_libdir}/%{name}/connection-driver/libvirt_driver_libxl.so
2116         %endif
2117
2118         %if %{with_vbox}
2119 %files daemon-driver-vbox
2120 %defattr(-, root, root)
2121 %{_libdir}/%{name}/connection-driver/libvirt_driver_vbox.so
2122         %endif
2123     %endif # %{with_driver_modules}
2124
2125     %if %{with_qemu_tcg}
2126 %files daemon-qemu
2127 %defattr(-, root, root)
2128     %endif
2129
2130     %if %{with_qemu_kvm}
2131 %files daemon-kvm
2132 %defattr(-, root, root)
2133     %endif
2134
2135     %if %{with_lxc}
2136 %files daemon-lxc
2137 %defattr(-, root, root)
2138     %endif
2139
2140     %if %{with_uml}
2141 %files daemon-uml
2142 %defattr(-, root, root)
2143     %endif
2144
2145     %if %{with_xen} || %{with_libxl}
2146 %files daemon-xen
2147 %defattr(-, root, root)
2148     %endif
2149
2150     %if %{with_vbox}
2151 %files daemon-vbox
2152 %defattr(-, root, root)
2153     %endif
2154 %endif # %{with_libvirtd}
2155
2156 %if %{with_sanlock}
2157 %files lock-sanlock
2158 %defattr(-, root, root)
2159     %if %{with_qemu}
2160 %config(noreplace) %{_sysconfdir}/libvirt/qemu-sanlock.conf
2161     %endif
2162 %attr(0755, root, root) %{_libdir}/libvirt/lock-driver/sanlock.so
2163 %{_datadir}/augeas/lenses/libvirt_sanlock.aug
2164 %{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug
2165 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/sanlock
2166 %{_sbindir}/virt-sanlock-cleanup
2167 %{_mandir}/man8/virt-sanlock-cleanup.8*
2168 %attr(0755, root, root) %{_libexecdir}/libvirt_sanlock_helper
2169 %endif
2170
2171 %files client -f %{name}.lang
2172 %defattr(-, root, root)
2173 %doc COPYING COPYING.LESSER
2174
2175 %config(noreplace) %{_sysconfdir}/libvirt/libvirt.conf
2176 %{_mandir}/man1/virsh.1*
2177 %{_mandir}/man1/virt-xml-validate.1*
2178 %{_mandir}/man1/virt-pki-validate.1*
2179 %{_mandir}/man1/virt-host-validate.1*
2180 %{_bindir}/virsh
2181 %{_bindir}/virt-xml-validate
2182 %{_bindir}/virt-pki-validate
2183 %{_bindir}/virt-host-validate
2184 %{_libdir}/lib*.so.*
2185
2186 %if %{with_dtrace}
2187 %{_datadir}/systemtap/tapset/libvirt_probes*.stp
2188 %{_datadir}/systemtap/tapset/libvirt_qemu_probes*.stp
2189 %{_datadir}/systemtap/tapset/libvirt_functions.stp
2190 %endif
2191
2192 %dir %{_datadir}/libvirt/
2193 %dir %{_datadir}/libvirt/schemas/
2194
2195 %{_datadir}/libvirt/schemas/basictypes.rng
2196 %{_datadir}/libvirt/schemas/capability.rng
2197 %{_datadir}/libvirt/schemas/domain.rng
2198 %{_datadir}/libvirt/schemas/domaincommon.rng
2199 %{_datadir}/libvirt/schemas/domainsnapshot.rng
2200 %{_datadir}/libvirt/schemas/interface.rng
2201 %{_datadir}/libvirt/schemas/network.rng
2202 %{_datadir}/libvirt/schemas/networkcommon.rng
2203 %{_datadir}/libvirt/schemas/nodedev.rng
2204 %{_datadir}/libvirt/schemas/nwfilter.rng
2205 %{_datadir}/libvirt/schemas/secret.rng
2206 %{_datadir}/libvirt/schemas/storageencryption.rng
2207 %{_datadir}/libvirt/schemas/storagefilefeatures.rng
2208 %{_datadir}/libvirt/schemas/storagepool.rng
2209 %{_datadir}/libvirt/schemas/storagevol.rng
2210
2211 %{_datadir}/libvirt/cpu_map.xml
2212 %{_datadir}/libvirt/libvirtLogo.png
2213
2214 %if %{with_systemd}
2215 %{_unitdir}/libvirt-guests.service
2216 %else
2217 %{_sysconfdir}/rc.d/init.d/libvirt-guests
2218 %endif
2219 %config(noreplace) %{_sysconfdir}/sysconfig/libvirt-guests
2220 %attr(0755, root, root) %{_libexecdir}/libvirt-guests.sh
2221 %dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/
2222
2223 %if %{with_sasl}
2224 %config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
2225 %endif
2226
2227 %if %{with_wireshark}
2228 %files wireshark
2229 %{_libdir}/wireshark/plugins/*/libvirt.so
2230 %endif
2231
2232 %if %{with_lxc}
2233 %files login-shell
2234 %attr(4750, root, virtlogin) %{_bindir}/virt-login-shell
2235 %config(noreplace) %{_sysconfdir}/libvirt/virt-login-shell.conf
2236 %{_mandir}/man1/virt-login-shell.1*
2237 %endif
2238
2239 %files devel
2240 %defattr(-, root, root)
2241
2242 %{_libdir}/lib*.so
2243 %dir %{_includedir}/libvirt
2244 %{_includedir}/libvirt/*.h
2245 %{_libdir}/pkgconfig/libvirt.pc
2246
2247 %dir %{_datadir}/libvirt/api/
2248 %{_datadir}/libvirt/api/libvirt-api.xml
2249 %{_datadir}/libvirt/api/libvirt-qemu-api.xml
2250 %{_datadir}/libvirt/api/libvirt-lxc-api.xml
2251
2252 %doc docs/*.html docs/html docs/*.gif
2253 %doc docs/libvirt-api.xml
2254 %doc examples/hellolibvirt
2255 %doc examples/object-events
2256 %doc examples/dominfo
2257 %doc examples/domsuspend
2258 %doc examples/openauth
2259 %doc examples/xml
2260 %doc examples/systemtap
2261
2262 %changelog
2263 * Mon Apr 28 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - libvirt-1.2.3-2
2264 - no change
2265 - libvirt-python needs a release of libvirt that matches its own
2266 - and there was a screw up when tagging libvirt-python, so we catch up
2267
2268 * Mon Apr 28 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - libvirt-1.2.3-1
2269 - tested version of 1.2.3
2270
2271 * Tue Apr  1 2014 Daniel Veillard <veillard@redhat.com> - 1.2.3-1
2272 - add new virDomainCoreDumpWithFormat API (Qiao Nuohan)
2273 - conf: Introduce virDomainDeviceGetInfo API (Jiri Denemark)
2274 - more features and fixes on bhyve driver (Roman Bogorodskiy)
2275 - lot of cleanups and improvement on the Xen driver (Chunyan Liu, Jim Fehlig)
2276 - a lot of various improvements and bug fixes
2277
2278 * Fri Mar 21 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - libvirt-1.2.1-1
2279 - builds fine on f{18,20}
2280
2281 * Mon Jan 27 2014 Cole Robinson <crobinso@redhat.com> - 1.2.1-2
2282 - Rebuild for openwsman soname bump
2283
2284 * Tue Jan 21 2014 Daniel P. Berrange <berrange@redhat.com> - 1.2.1-1
2285 - Update to 1.2.1 release
2286
2287 * Mon Dec  2 2013 Daniel P. Berrange <berrange@redhat.com> - 1.2.0-1
2288 - Update to 1.2.0 release with python in a separate srpm
2289
2290 * Tue Nov 12 2013 Cole Robinson <crobinso@redhat.com> - 1.1.4-2
2291 - virsh nodedev-detach fails if device has no driver (bz #1028629)
2292
2293 * Mon Nov  4 2013 Daniel Veillard <veillard@redhat.com> - 1.1.4-1
2294 - upstream release of 1.1.4
2295 - Add support for AArch64 architecture
2296 - Various improvements on test code and test driver
2297 - a lot of bug fixes and various improvements
2298
2299 * Sun Oct 06 2013 Cole Robinson <crobinso@redhat.com> - 1.1.3-2
2300 - Allow QoS change with update-device (bz #1014200)
2301 - Fix nwfilter crash during firewalld install (bz #1014762)
2302 - Fix crash with nographics (bz #1014088)
2303
2304 * Tue Oct  1 2013 Daniel Veillard <veillard@redhat.com> - 1.1.3-1
2305 - VMware: Initial VMware Fusion support and various improvements
2306 - libvirt: add new public API virConnectGetCPUModelNames
2307 - various libxl driver improvements
2308 - LXC many container driver improvement
2309 - ARM cpu improvements
2310 - a lot of bug and leak fixes and various improvements
2311
2312 * Tue Sep 24 2013 Cole Robinson <crobinso@redhat.com> - 1.1.2-4
2313 - Fix snapshot restore when VM has disabled usb support (bz #1011520)
2314
2315 * Mon Sep 23 2013 Cole Robinson <crobinso@redhat.com> - 1.1.2-3
2316 - Sync with v1.1.2-maint
2317 - Rebuild for libswan soname bump (bz #1009701)
2318 - CVE-2013-4311: Insecure polkit usage (bz #1009539, bz #1005332)
2319 - CVE-2013-4296: Invalid free memory stats (bz #1006173, bz #1009667)
2320 - CVE-2013-4297: Invalid free in NBDDeviceAssociate (bz #1006505, bz #1006511)
2321 - Fix virsh block-commit abort (bz #1010056)
2322
2323 * Wed Sep 18 2013 Daniel P. Berrange <berrange@redhat.com> - 1.1.2-2
2324 - Rebuild for soname break in openswman package
2325
2326 * Mon Sep  2 2013 Daniel P. Berrange <berrange@redhat.com> - 1.1.2-1
2327 - Update to 1.1.2 release
2328
2329 * Tue Aug 20 2013 Cole Robinson <crobinso@redhat.com> - 1.1.1-3
2330 - Fix launching ARM guests on x86 (patches posted upstream, F20 feature)
2331
2332 * Wed Aug 14 2013 Cole Robinson <crobinso@redhat.com> - 1.1.1-2
2333 - CVE-2013-4239: xen: memory corruption in legacy driver (bz #996241, bz
2334   #996244)
2335
2336 * Tue Jul 30 2013 Daniel P. Berrange <berrange@redhat.com> - 1.1.1-1
2337 - Update to 1.1.1 release
2338
2339 * Sun Jul 28 2013 Dennis Gilmore <dennis@ausil.us> - 1.1.0-5
2340 - fix doc path in libvirt-python
2341
2342 * Thu Jul 25 2013 Cole Robinson <crobinso@redhat.com> - 1.1.0-4
2343 - CVE-2013-4153: Fix double free of returned JSON (bz #986408, bz #986383)
2344 - CVE-2013-4154: Crash of libvirtd if guest agent not configured (bz #986386,
2345   bz #986406)
2346
2347 * Wed Jul 17 2013 Daniel P. Berrange <berrange@redhat.com> - 1.1.0-3
2348 - Rebuild for change in Xen library ABI/soname
2349
2350 * Thu Jul 11 2013 Cole Robinson <crobinso@redhat.com> - 1.1.0-2
2351 - CVE-2013-2230 libvirt: multiple registered events crash
2352
2353 * Mon Jul  1 2013 Daniel Veillard <veillard@redhat.com> - 1.1.0-1
2354 - CVE-2013-2218: Fix crash listing network interfaces with filters
2355 - Fine grained ACL support for the API
2356 - Extensible migration APIs
2357 - various improvements in the Xen driver
2358 - agent based vCPU hotplug support
2359 - various bug fixes and improvements including localizations
2360
2361 * Fri Jun 14 2013 Peter Robinson <pbrobinson@fedoraproject.org> 1.0.6-3
2362 - Enable KVM support on ARM
2363
2364 * Sat Jun 08 2013 Cole Robinson <crobinso@redhat.com> - 1.0.6-2
2365 - Drop bogus dep on vbox
2366
2367 * Mon Jun  3 2013 Daniel P. Berrange <berrange@redhat.com> - 1.0.6-1
2368 - Update to 1.0.6 release
2369
2370 * Sun May 19 2013 Cole Robinson <crobinso@redhat.com> - 1.0.5.1-1
2371 - Rebased to version 1.0.5.1
2372 - Follow updated packaging guidelines for user alloc (bz #924501)
2373 - CVE-2013-1962 Open files DoS (bz #963789, bz #953107)
2374
2375 * Tue May 14 2013 Cole Robinson <crobinso@redhat.com> - 1.0.5-3
2376 - Fix stream operations like screenshot (bz #960879)
2377
2378 * Fri May  3 2013 Richard W.M. Jones <rjones@redhat.com> - 1.0.5-2
2379 - Fix network driver when using qemu:///session (bz #958907).
2380
2381 * Thu May  2 2013 Daniel Veillard <veillard@redhat.com> - 1.0.5-1
2382 - Update to 1.0.5 release
2383 - add support for NVRAM device
2384 - Add XML config for resource partitions
2385 - Add support for TPM
2386 - NPIV storage migration support
2387 - various bug fixes and improvements including localizations
2388
2389 * Mon Apr  1 2013 Daniel Veillard <veillard@redhat.com> - 1.0.4-1
2390 - Update to 1.0.4 release
2391
2392 * Tue Mar  5 2013 Daniel P. Berrange <berrange@redhat.com> - 1.0.3-1
2393 - Update to 1.0.3 release
2394
2395 * Thu Feb 28 2013 Richard W.M. Jones <rjones@redhat.com> - 1.0.2-4
2396 - Backport "qemu: check backing chains even when cgroup is omitted"
2397   (RHBZ#896685).
2398 - Disable virnettlscontexttest which apparently fails because of
2399   a broken gnutls3.  Note since this patch touches Makefile.am, I
2400   have enabled autoreconf (enable_autotools).
2401
2402 * Tue Feb  5 2013 Daniel P. Berrange <berrange@redhat.com> - 1.0.2-2
2403 - Fix missing python binding constants
2404
2405 * Fri Feb  1 2013 Daniel P. Berrange <berrange@redhat.com> - 1.0.2-1
2406 - Update to 1.0.2 release
2407
2408 * Tue Jan 29 2013 Cole Robinson <crobinso@redhat.com> - 1.0.1-6
2409 - Fix network persistence after define (bz #890492)
2410
2411 * Mon Jan 28 2013 Cole Robinson <crobinso@redhat.com> - 1.0.1-5
2412 - CVE-2013-0170 libvirt: use-after-free in virNetMessageFree() (bz #893450, bz
2413   #905173)
2414
2415 * Sun Jan 20 2013 Richard W.M. Jones <rjones@redhat.com> - 1.0.1-4
2416 - Rebuild for libnl soname breakage (RHBZ#901569).
2417
2418 * Fri Jan 18 2013 Daniel P. Berrange <berrange@redhat.com> - 1.0.1-3
2419 - Rebuild for libnl3 soname change
2420 - Deal with broken kernel headers
2421
2422 * Mon Dec 17 2012 Cole Robinson <crobinso@redhat.com> - 1.0.1-2
2423 - Fix scriplet warning when uninstalling libvirt-client (bz #888071)
2424
2425 * Mon Dec 17 2012 Daniel Veillard <veillard@redhat.com> - 1.0.1-1
2426 - Update to 1.0.1 release
2427
2428 * Thu Nov  8 2012 Daniel P. Berrange <berrange@redhat.com> - 1.0.0-1
2429 - Update to 1.0.0 release
2430
2431 * Tue Oct 30 2012 Cole Robinson <crobinso@redhat.com> - 0.10.2.1-2
2432 - Disable libxl on F18 too
2433
2434 * Sat Oct 27 2012 Cole Robinson <crobinso@redhat.com> - 0.10.2.1-1
2435 - Rebased to version 0.10.2.1
2436 - Fix lvm volume creation when alloc=0 (bz #866481)
2437 - Clarify virsh send-keys man page example (bz #860004)
2438 - Fix occasional deadlock via virDomainDestroy (bz #859009)
2439 - Fix LXC deadlock from ctrl-c (bz #848119)
2440 - Fix occasional selinux denials with macvtap (bz #798605)
2441 - Fix multilib conflict with systemtap files (bz #831425)
2442 - Don't trigger keytab warning in system logs (bz #745203)
2443 - Fix qemu domxml-2-native NIC model out (bz #636832)
2444 - Fix error message if not enough space for lvm vol (bz #609104)
2445
2446 * Thu Oct 25 2012 Cole Robinson <crobinso@redhat.com> - 0.10.2-4
2447 - Disable libxl driver, since it doesn't build with xen 4.2 in rawhide
2448
2449 * Mon Sep 24 2012 Richard W.M. Jones <rjones@redhat.com> - 0.10.2-3
2450 - Re-add Use-qemu-system-i386-as-binary-instead-of-qemu.patch
2451   NB: This patch is Fedora-specific and not upstream.
2452 - Add upstream patches: don't duplicate environment variables (RHBZ#859596).
2453
2454 * Mon Sep 24 2012 Daniel Veillard <veillard@redhat.com> - 0.10.2-1
2455 - Upstream release 0.10.2
2456 - network: define new API virNetworkUpdate
2457 - add support for QEmu sandbox support
2458 - blockjob: add virDomainBlockCommit
2459 - New APIs to get/set Node memory parameters
2460 - new API virConnectListAllSecrets
2461 - new API virConnectListAllNWFilters
2462 - new API virConnectListAllNodeDevices
2463 - parallels: add support of containers to the driver
2464 - new API virConnectListAllInterfaces
2465 - new API virConnectListAllNetworks
2466 - new API virStoragePoolListAllVolumes
2467 - Add PMSUSPENDED life cycle event
2468 - new API virStorageListAllStoragePools
2469 - Add per-guest S3/S4 state configuration
2470 - qemu: Support for Block Device IO Limits
2471 - a lot of bug fixes, improvements and portability work
2472
2473 * Fri Sep 21 2012 Richard W.M. Jones <rjones@redhat.com> - 0.10.1-5
2474 - Add (upstream) patches to label sockets for SELinux (RHBZ#853393).
2475
2476 * Thu Sep 13 2012 Richard W.M. Jones <rjones@redhat.com> - 0.10.1-4
2477 - Fix for 32 bit qemu renamed to qemu-system-i386 (RHBZ#857026).
2478
2479 * Wed Sep 12 2012 Cole Robinson <crobinso@redhat.com> - 0.10.1-3
2480 - Fix libvirtd segfault with old netcf-libs (bz 853381)
2481 - Drop unneeded dnsmasq --filterwin2k
2482 - Fix unwanted connection closing, needed for boxes
2483
2484 * Wed Sep  5 2012 Daniel P. Berrange <berrange@redhat.com> - 0.10.1-2
2485 - Remove dep on ceph RPM (rhbz #854360)
2486
2487 * Fri Aug 31 2012 Daniel Veillard <veillard@redhat.com> - 0.10.1-1
2488 - upstream release of 0.10.1
2489 - many fixes from 0.10.0
2490
2491 * Wed Aug 29 2012 Daniel Veillard <veillard@redhat.com> - 0.10.0-1
2492 - upstream release of 0.10.0
2493 - agent: add qemuAgentArbitraryCommand() for general qemu agent command
2494 - Introduce virDomainPinEmulator and virDomainGetEmulatorPinInfo functions
2495 - network: use firewalld instead of iptables, when available
2496 - network: make network driver vlan-aware
2497 - esx: Implement network driver
2498 - driver for parallels hypervisor
2499 - Various LXC improvements
2500 - Add virDomainGetHostname
2501 - a lot of bug fixes, improvements and portability work
2502
2503 * Thu Aug 23 2012 Daniel Veillard <veillard@redhat.com> - 0.10.0-0rc1
2504 - release candidate 1 of 0.10.0
2505
2506 * Tue Aug 14 2012 Daniel P. Berrange <berrange@redhat.com> - 0.10.0-0rc0.2
2507 - Enable autotools to make previous patch work
2508
2509 * Tue Aug 14 2012 Daniel Veillard <veillard@redhat.com> - 0.10.0-0rc0.1
2510 - fix security driver missing from the daemon
2511
2512 * Wed Aug  8 2012 Daniel Veillard <veillard@redhat.com> - 0.10.0-0rc0
2513 - snapshot before 0.10.0 in a few weeks
2514 - adds the parallel driver support
2515
2516 * Mon Jul 23 2012 Richard W.M. Jones <rjones@redhat.com> - 0.9.13-3
2517 - Add upstream patch to fix RHBZ#842114.
2518
2519 * Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.13-2
2520 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
2521
2522 * Mon Jul  2 2012 Daniel Veillard <veillard@redhat.com> - 0.9.13-1
2523 - S390: support for s390(x)
2524 - snapshot: implement new APIs for esx and vbox
2525 - snapshot: new query APIs and many improvements
2526 - virsh: Allow users to reedit rejected XML
2527 - nwfilter: add DHCP snooping
2528 - Enable driver modules in libvirt RPM
2529 - Default to enable driver modules for libvirtd
2530 - storage backend: Add RBD (RADOS Block Device) support
2531 - sVirt support for LXC domains inprovement
2532 - a lot of bug fixes, improvements and portability work
2533
2534 * Mon May 14 2012 Daniel Veillard <veillard@redhat.com> - 0.9.12-1
2535 - qemu: allow snapshotting of sheepdog and rbd disks
2536 - blockjob: add new APIs
2537 - a lot of bug fixes, improvements and portability work
2538
2539 * Thu Apr 26 2012 Cole Robinson <crobinso@redhat.com> - 0.9.11.3-1
2540 - Rebased to version 0.9.11.3
2541 - Abide URI username when connecting to hypervisor (bz 811397)
2542 - Fix managed USB mode (bz 814866)
2543 - Fix crash connecting to ESX host (bz 811891)
2544
2545 * Wed Apr  4 2012 Daniel P. Berrange <berrange@redhat.com> - 0.9.11-1
2546 - Update to 0.9.11 release
2547
2548 * Tue Apr  3 2012 Daniel P. Berrange <berrange@redhat.com> - 0.9.10-4
2549 - Revert previous change
2550
2551 * Sat Mar 31 2012 Daniel P. Berrange <berrange@redhat.com> - 0.9.10-3
2552 - Refactor RPM spec to allow install without default configs
2553
2554 * Thu Mar 15 2012 Daniel P. Berrange <berrange@redhat.com> - 0.9.10-2
2555 - Rebuild for libparted soname break
2556
2557 * Mon Feb 13 2012 Daniel P. Berrange <berrange@redhat.com> - 0.9.10-1
2558 - Update to 0.9.10
2559
2560 * Thu Jan 12 2012 Daniel P. Berrange <berrange@redhat.com> - 0.9.9-2
2561 - Fix LXC I/O handling
2562
2563 * Sat Jan  7 2012 Daniel Veillard <veillard@redhat.com> - 0.9.9-1
2564 - Add API virDomain{S,G}etInterfaceParameters
2565 - Add API virDomain{G, S}etNumaParameters
2566 - Add support for ppc64 qemu
2567 - Support Xen domctl v8
2568 - many improvements and bug fixes
2569
2570 * Thu Dec  8 2011 Daniel P. Berrange <berrange@redhat.com> - 0.9.8-2
2571 - Fix install of libvirt-guests.service & libvirtd.service
2572
2573 * Thu Dec  8 2011 Daniel Veillard <veillard@redhat.com> - 0.9.8-1
2574 - Add support for QEMU 1.0
2575 - Add preliminary PPC cpu driver
2576 - Add new API virDomain{Set, Get}BlockIoTune
2577 - block_resize: Define the new API
2578 - Add a public API to invoke suspend/resume on the host
2579 - various improvements for LXC containers
2580 - Define keepalive protocol and add virConnectIsAlive API
2581 - Add support for STP and VLAN filtering
2582 - many improvements and bug fixes
2583
2584 * Mon Nov 14 2011 Justin M. Forbes <jforbes@redhat.com> - 0.9.7-3
2585 - Remove versioned buildreq for yajl as 2.0.x features are not required.
2586
2587 * Thu Nov 10 2011 Daniel P. Berrange <berrange@redhat.com> - 0.9.7-2
2588 - Rebuild for yajl 2.0.1
2589
2590 * Tue Nov  8 2011 Daniel P. Berrange <berrange@redhat.com> - 0.9.7-1
2591 - Update to 0.9.7 release
2592
2593 * Tue Oct 11 2011 Dan Horák <dan[at]danny.cz> - 0.9.6-3
2594 - xenlight available only on Xen arches (#745020)
2595
2596 * Mon Oct  3 2011 Laine Stump <laine@redhat.com> - 0.9.6-2
2597 - Make PCI multifunction support more manual - Bug 742836
2598 - F15 build still uses cgconfig - Bug 738725
2599
2600 * Thu Sep 22 2011 Daniel Veillard <veillard@redhat.com> - 0.9.6-1
2601 - Fix the qemu reboot bug and a few others bug fixes
2602
2603 * Tue Sep 20 2011 Daniel Veillard <veillard@redhat.com> - 0.9.5-1
2604 - many snapshot improvements (Eric Blake)
2605 - latency: Define new public API and structure (Osier Yang)
2606 - USB2 and various USB improvements (Marc-André Lureau)
2607 - storage: Add fs pool formatting (Osier Yang)
2608 - Add public API for getting migration speed (Jim Fehlig)
2609 - Add basic driver for Microsoft Hyper-V (Matthias Bolte)
2610 - many improvements and bug fixes
2611
2612 * Wed Aug  3 2011 Daniel Veillard <veillard@redhat.com> - 0.9.4-1
2613 - network bandwidth QoS control
2614 - Add new API virDomainBlockPull*
2615 - save: new API to manipulate save file images
2616 - CPU bandwidth limits support
2617 - allow to send NMI and key event to guests
2618 - new API virDomainUndefineFlags
2619 - Implement code to attach to external QEMU instances
2620 - bios: Add support for SGA
2621 - various missing python binding
2622 - many improvements and bug fixes
2623
2624 * Sat Jul 30 2011 Dan Hor?k <dan[at]danny.cz> - 0.9.3-3
2625 - xenlight available only on Xen arches
2626
2627 * Wed Jul  6 2011 Peter Robinson <pbrobinson@gmail.com> - 0.9.3-2
2628 - Add ARM to NUMA platform excludes
2629
2630 * Mon Jul  4 2011 Daniel Veillard <veillard@redhat.com> - 0.9.3-1
2631 - new API virDomainGetVcpupinInfo
2632 - Add TXT record support for virtual DNS service
2633 - Support reboots with the QEMU driver
2634 - New API virDomainGetControlInfo API
2635 - New API virNodeGetMemoryStats
2636 - New API virNodeGetCPUTime
2637 - New API for send-key
2638 - New API virDomainPinVcpuFlags
2639 - support multifunction PCI device
2640 - lxc: various improvements
2641 - many improvements and bug fixes
2642
2643 * Wed Jun 29 2011 Richard W.M. Jones <rjones@redhat.com> - 0.9.2-3
2644 - Rebuild because of libparted soname bump (libparted.so.0 -> libparted.so.1).
2645
2646 * Tue Jun 21 2011 Laine Stump <laine@redhat.com> - 0.9.2-2
2647 - add rule to require netcf-0.1.8 during build so that new transactional
2648   network change APIs are included.
2649 - document that CVE-2011-2178 has been fixed (by virtue of rebase
2650   to 0.9.2 - see https://bugzilla.redhat.com/show_bug.cgi?id=709777)
2651
2652 * Mon Jun  6 2011 Daniel Veillard <veillard@redhat.com> - 0.9.2-1
2653 - Framework for lock manager plugins
2654 - API for network config change transactions
2655 - flags for setting memory parameters
2656 - virDomainGetState public API
2657 - qemu: allow blkstat/blkinfo calls during migration
2658 - Introduce migration v3 API
2659 - Defining the Screenshot public API
2660 - public API for NMI injection
2661 - Various improvements and bug fixes
2662
2663 * Wed May 25 2011 Richard W.M. Jones <rjones@redhat.com> - 0.9.1-3
2664 - Add upstream patches:
2665     0001-json-Avoid-passing-large-positive-64-bit-integers-to.patch
2666     0001-qemudDomainMemoryPeek-change-ownership-selinux-label.patch
2667     0002-remote-remove-bogus-virDomainFree.patch
2668   so that users can try out virt-dmesg.
2669 - Change /var/cache mode to 0711.
2670
2671 * Thu May  5 2011 Daniel Veillard <veillard@redhat.com> - 0.9.1-1
2672 - support various persistent domain updates
2673 - improvements on memory APIs
2674 - Add virDomainEventRebootNew
2675 - various improvements to libxl driver
2676 - Spice: support audio, images and stream compression
2677 - Various improvements and bug fixes
2678
2679 * Thu Apr  7 2011 Daniel Veillard <veillard@redhat.com> - 0.9.0-1
2680 - Support cputune cpu usage tuning
2681 - Add public APIs for storage volume upload/download
2682 - Add public API for setting migration speed on the fly
2683 - Add libxenlight driver
2684 - qemu: support migration to fd
2685 - libvirt: add virDomain{Get,Set}BlkioParameters
2686 - setmem: introduce a new libvirt API (virDomainSetMemoryFlags)
2687 - Expose event loop implementation as a public API
2688 - Dump the debug buffer to libvirtd.log on fatal signal
2689 - Audit support
2690 - Various improvements and bug fixes
2691
2692 * Mon Mar 14 2011 Daniel Veillard <veillard@redhat.com> - 0.8.8-3
2693 - fix a lack of API check on read-only connections
2694 - CVE-2011-1146
2695
2696 * Mon Feb 21 2011 Daniel P. Berrange <berrange@redhat.com> - 0.8.8-2
2697 - Fix kernel boot with latest QEMU
2698
2699 * Thu Feb 17 2011 Daniel Veillard <veillard@redhat.com> - 0.8.8-1
2700 - expose new API for sysinfo extraction
2701 - cgroup blkio weight support
2702 - smartcard device support
2703 - qemu: Support per-device boot ordering
2704 - Various improvements and bug fixes
2705
2706 * Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.7-2
2707 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
2708
2709 * Thu Jan  6 2011 Daniel Veillard <veillard@redhat.com> - 0.8.7-1
2710 - Preliminary support for VirtualBox 4.0
2711 - IPv6 support
2712 - Add VMware Workstation and Player driver driver
2713 - Add network disk support
2714 - Various improvements and bug fixes
2715 - from 0.8.6:
2716 - Add support for iSCSI target auto-discovery
2717 - QED: Basic support for QED images
2718 - remote console support
2719 - support for SPICE graphics
2720 - sysinfo and VMBIOS support
2721 - virsh qemu-monitor-command
2722 - various improvements and bug fixes
2723
2724 * Fri Oct 29 2010 Daniel Veillard <veillard@redhat.com> - 0.8.5-1
2725 - Enable JSON and netdev features in QEMU >= 0.13
2726 - framework for auditing integration
2727 - framework DTrace/SystemTap integration
2728 - Setting the number of vcpu at boot
2729 - Enable support for nested SVM
2730 - Virtio plan9fs filesystem QEMU
2731 - Memory parameter controls
2732 - various improvements and bug fixes
2733
2734 * Wed Sep 29 2010 jkeating - 0.8.4-3
2735 - Rebuilt for gcc bug 634757
2736
2737 * Thu Sep 16 2010 Dan Horák <dan[at]danny.cz> - 0.8.4-2
2738 - disable the nwfilterxml2xmltest also on s390(x)
2739
2740 * Mon Sep 13 2010 Daniel Veillard <veillard@redhat.com> - 0.8.4-1
2741 - Upstream release 0.8.4
2742
2743 * Mon Aug 23 2010 Daniel P. Berrange <berrange@redhat.com> - 0.8.3-2
2744 - Fix potential overflow in boot menu code
2745
2746 * Mon Aug 23 2010 Daniel P. Berrange <berrange@redhat.com> - 0.8.3-1
2747 - Upstream release 0.8.3
2748
2749 * Wed Jul 21 2010 David Malcolm <dmalcolm@redhat.com> - 0.8.2-3
2750 - Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
2751
2752 * Mon Jul 12 2010 Daniel P. Berrange <berrange@redhat.com> - 0.8.2-2
2753 - CVE-2010-2237 ignoring defined main disk format when looking up disk backing stores
2754 - CVE-2010-2238 ignoring defined disk backing store format when recursing into disk
2755   image backing stores
2756 - CVE-2010-2239 not setting user defined backing store format when creating new image
2757 - CVE-2010-2242 libvirt: improperly mapped source privileged ports may allow for
2758   obtaining privileged resources on the host
2759
2760 * Mon Jul  5 2010 Daniel Veillard <veillard@redhat.com> - 0.8.2-1
2761 - Upstream release 0.8.2
2762 - phyp: adding support for IVM
2763 - libvirt: introduce domainCreateWithFlags API
2764 - add 802.1Qbh and 802.1Qbg switches handling
2765 - Support for VirtualBox version 3.2
2766 - Init script for handling guests on shutdown/boot
2767 - qemu: live migration with non-shared storage for kvm
2768
2769 * Fri Apr 30 2010 Daniel Veillard <veillard@redhat.com> - 0.8.1-1
2770 - Upstream release 0.8.1
2771 - Starts dnsmasq from libvirtd with --dhcp-hostsfile
2772 - Add virDomainGetBlockInfo API to query disk sizing
2773 - a lot of bug fixes and cleanups
2774
2775 * Mon Apr 12 2010 Daniel Veillard <veillard@redhat.com> - 0.8.0-1
2776 - Upstream release 0.8.0
2777 - Snapshotting support (QEmu/VBox/ESX)
2778 - Network filtering API
2779 - XenAPI driver
2780 - new APIs for domain events
2781 - Libvirt managed save API
2782 - timer subselection for domain clock
2783 - synchronous hooks
2784 - API to update guest CPU to host CPU
2785 - virDomainUpdateDeviceFlags new API
2786 - migrate max downtime API
2787 - volume wiping API
2788 - and many bug fixes
2789
2790 * Tue Mar 30 2010 Richard W.M. Jones <rjones@redhat.com> - 0.7.7-3.fc14
2791 - No change, just rebuild against new libparted with bumped soname.
2792
2793 * Mon Mar 22 2010 Cole Robinson <crobinso@redhat.com> - 0.7.7-2.fc14
2794 - Fix USB devices by product with security enabled (bz 574136)
2795 - Set kernel/initrd in security driver, fixes some URL installs (bz 566425)
2796
2797 * Fri Mar  5 2010 Daniel Veillard <veillard@redhat.com> - 0.7.7-1
2798 - macvtap support
2799 - async job handling
2800 - virtio channel
2801 - computing baseline CPU
2802 - virDomain{Attach,Detach}DeviceFlags
2803 - assorted bug fixes and lots of cleanups
2804
2805 * Tue Feb 16 2010 Adam Jackson <ajax@redhat.com> 0.7.6-2
2806 - libvirt-0.7.6-add-needed.patch: Fix FTBFS from --no-add-needed
2807 - Add BuildRequires: xmlrpc-c-client for libxmlrpc_client.so
2808
2809 * Wed Feb  3 2010 Daniel Veillard <veillard@redhat.com> - 0.7.6-1
2810 - upstream release of 0.7.6
2811 - Use QEmu new device adressing when possible
2812 - Implement CPU topology support for QEMU driver
2813 - Implement SCSI controller hotplug/unplug for QEMU
2814 - Implement support for multi IQN
2815 - a lot of fixes and improvements
2816
2817 * Thu Jan 14 2010 Chris Weyl <cweyl@alumni.drew.edu> 0.7.5-3
2818 - bump for libssh2 rebuild
2819
2820 * Tue Jan 12 2010 Daniel P. Berrange <berrange@redhat.com> - 0.7.5-2
2821 - Rebuild for libparted soname change
2822
2823 * Wed Dec 23 2009 Daniel Veillard <veillard@redhat.com> - 0.7.5-1
2824 - Add new API virDomainMemoryStats
2825 - Public API and domain extension for CPU flags
2826 - vbox: Add support for version 3.1
2827 - Support QEMU's virtual FAT block device driver
2828 - a lot of fixes
2829
2830 * Fri Nov 20 2009 Daniel Veillard <veillard@redhat.com> - 0.7.4-1
2831 - upstream release of 0.7.4
2832 - udev node device backend
2833 - API to check object properties
2834 - better QEmu monitor processing
2835 - MAC address based port filtering for qemu
2836 - support IPv6 and multiple addresses per interfaces
2837 - a lot of fixes
2838
2839 * Thu Nov 19 2009 Daniel P. Berrange <berrange@redhat.com> - 0.7.2-6
2840 - Really fix restore file labelling this time
2841
2842 * Wed Nov 11 2009 Daniel P. Berrange <berrange@redhat.com> - 0.7.2-5
2843 - Disable numactl on s390[x]. Again.
2844
2845 * Wed Nov 11 2009 Daniel P. Berrange <berrange@redhat.com> - 0.7.2-4
2846 - Fix QEMU save/restore permissions / labelling
2847
2848 * Thu Oct 29 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.2-3
2849 - Avoid compressing small log files (#531030)
2850
2851 * Thu Oct 29 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.2-2
2852 - Make libvirt-devel require libvirt-client, not libvirt
2853 - Fix qemu machine types handling
2854
2855 * Wed Oct 14 2009 Daniel Veillard <veillard@redhat.com> - 0.7.2-1
2856 - Upstream release of 0.7.2
2857 - Allow to define ESX domains
2858 - Allows suspend and resulme of LXC domains
2859 - API for data streams
2860 - many bug fixes
2861
2862 * Tue Oct 13 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.1-12
2863 - Fix restore of qemu guest using raw save format (#523158)
2864
2865 * Fri Oct  9 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.1-11
2866 - Fix libvirtd memory leak during error reply sending (#528162)
2867 - Add several PCI hot-unplug typo fixes from upstream
2868
2869 * Tue Oct  6 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.1-10
2870 - Create /var/log/libvirt/{lxc,uml} dirs for logrotate
2871 - Make libvirt-python dependon on libvirt-client
2872 - Sync misc minor changes from upstream spec
2873
2874 * Tue Oct  6 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.1-9
2875 - Change logrotate config to weekly (#526769)
2876
2877 * Thu Oct  1 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.1-8
2878 - Disable sound backend, even when selinux is disabled (#524499)
2879 - Re-label qcow2 backing files (#497131)
2880
2881 * Wed Sep 30 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.1-7
2882 - Fix USB device passthrough (#522683)
2883
2884 * Mon Sep 21 2009 Chris Weyl <cweyl@alumni.drew.edu> - 0.7.1-6
2885 - rebuild for libssh2 1.2
2886
2887 * Mon Sep 21 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.1-5
2888 - Don't set a bogus error in virDrvSupportsFeature()
2889 - Fix raw save format
2890
2891 * Thu Sep 17 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.1-4
2892 - A couple of hot-unplug memory handling fixes (#523953)
2893
2894 * Thu Sep 17 2009 Daniel Veillard <veillard@redhat.com> - 0.7.1-3
2895 - disable numactl on s390[x]
2896
2897 * Thu Sep 17 2009 Daniel Veillard <veillard@redhat.com> - 0.7.1-2
2898 - revamp of spec file for modularity and RHELs
2899
2900 * Tue Sep 15 2009 Daniel Veillard <veillard@redhat.com> - 0.7.1-1
2901 - Upstream release of 0.7.1
2902 - ESX, VBox driver updates
2903 - mutipath support
2904 - support for encrypted (qcow) volume
2905 - compressed save image format for Qemu/KVM
2906 - QEmu host PCI device hotplug support
2907 - configuration of huge pages in guests
2908 - a lot of fixes
2909
2910 * Mon Sep 14 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.1-0.2.gitfac3f4c
2911 - Update to newer snapshot of 0.7.1
2912 - Stop libvirt using untrusted 'info vcpus' PID data (#520864)
2913 - Support relabelling of USB and PCI devices
2914 - Enable multipath storage support
2915 - Restart libvirtd upon RPM upgrade
2916
2917 * Sun Sep  6 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.1-0.1.gitg3ef2e05
2918 - Update to pre-release git snapshot of 0.7.1
2919 - Drop upstreamed patches
2920
2921 * Wed Aug 19 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.0-6
2922 - Fix migration completion with newer versions of qemu (#516187)
2923
2924 * Wed Aug 19 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.0-5
2925 - Add PCI host device hotplug support
2926 - Allow PCI bus reset to reset other devices (#499678)
2927 - Fix stupid PCI reset error message (bug #499678)
2928 - Allow PM reset on multi-function PCI devices (bug #515689)
2929 - Re-attach PCI host devices after guest shuts down (bug #499561)
2930 - Fix list corruption after disk hot-unplug
2931 - Fix minor 'virsh nodedev-list --tree' annoyance
2932
2933 * Thu Aug 13 2009 Daniel P. Berrange <berrange@redhat.com> - 0.7.0-4
2934 - Rewrite policykit support (rhbz #499970)
2935 - Log and ignore NUMA topology problems (rhbz #506590)
2936
2937 * Mon Aug 10 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.0-3
2938 - Don't fail to start network if ipv6 modules is not loaded (#516497)
2939
2940 * Thu Aug  6 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.0-2
2941 - Make sure qemu can access kernel/initrd (bug #516034)
2942 - Set perms on /var/lib/libvirt/boot to 0711 (bug #516034)
2943
2944 * Wed Aug  5 2009 Daniel Veillard <veillard@redhat.com> - 0.7.0-1
2945 - ESX, VBox3, Power Hypervisor drivers
2946 - new net filesystem glusterfs
2947 - Storage cloning for LVM and Disk backends
2948 - interface implementation based on netcf
2949 - Support cgroups in QEMU driver
2950 - QEmu hotplug NIC support
2951 - a lot of fixes
2952
2953 * Fri Jul  3 2009 Daniel Veillard <veillard@redhat.com> - 0.6.5-1
2954 - release of 0.6.5
2955
2956 * Fri May 29 2009 Daniel Veillard <veillard@redhat.com> - 0.6.4-1
2957 - release of 0.6.4
2958 - various new APIs
2959
2960 * Fri Apr 24 2009 Daniel Veillard <veillard@redhat.com> - 0.6.3-1
2961 - release of 0.6.3
2962 - VirtualBox driver
2963
2964 * Fri Apr  3 2009 Daniel Veillard <veillard@redhat.com> - 0.6.2-1
2965 - release of 0.6.2
2966
2967 * Wed Mar  4 2009 Daniel Veillard <veillard@redhat.com> - 0.6.1-1
2968 - release of 0.6.1
2969
2970 * Sat Jan 31 2009 Daniel Veillard <veillard@redhat.com> - 0.6.0-1
2971 - release of 0.6.0
2972
2973 * Tue Nov 25 2008 Daniel Veillard <veillard@redhat.com> - 0.5.0-1
2974 - release of 0.5.0
2975
2976 * Tue Sep 23 2008 Daniel Veillard <veillard@redhat.com> - 0.4.6-1
2977 - release of 0.4.6
2978
2979 * Mon Sep  8 2008 Daniel Veillard <veillard@redhat.com> - 0.4.5-1
2980 - release of 0.4.5
2981
2982 * Wed Jun 25 2008 Daniel Veillard <veillard@redhat.com> - 0.4.4-1
2983 - release of 0.4.4
2984 - mostly a few bug fixes from 0.4.3
2985
2986 * Thu Jun 12 2008 Daniel Veillard <veillard@redhat.com> - 0.4.3-1
2987 - release of 0.4.3
2988 - lots of bug fixes and small improvements
2989
2990 * Tue Apr  8 2008 Daniel Veillard <veillard@redhat.com> - 0.4.2-1
2991 - release of 0.4.2
2992 - lots of bug fixes and small improvements
2993
2994 * Mon Mar  3 2008 Daniel Veillard <veillard@redhat.com> - 0.4.1-1
2995 - Release of 0.4.1
2996 - Storage APIs
2997 - xenner support
2998 - lots of assorted improvements, bugfixes and cleanups
2999 - documentation and localization improvements
3000
3001 * Tue Dec 18 2007 Daniel Veillard <veillard@redhat.com> - 0.4.0-1
3002 - Release of 0.4.0
3003 - SASL based authentication
3004 - PolicyKit authentication
3005 - improved NUMA and statistics support
3006 - lots of assorted improvements, bugfixes and cleanups
3007 - documentation and localization improvements
3008
3009 * Sun Sep 30 2007 Daniel Veillard <veillard@redhat.com> - 0.3.3-1
3010 - Release of 0.3.3
3011 - Avahi support
3012 - NUMA support
3013 - lots of assorted improvements, bugfixes and cleanups
3014 - documentation and localization improvements
3015
3016 * Tue Aug 21 2007 Daniel Veillard <veillard@redhat.com> - 0.3.2-1
3017 - Release of 0.3.2
3018 - API for domains migration
3019 - APIs for collecting statistics on disks and interfaces
3020 - lots of assorted bugfixes and cleanups
3021 - documentation and localization improvements
3022
3023 * Tue Jul 24 2007 Daniel Veillard <veillard@redhat.com> - 0.3.1-1
3024 - Release of 0.3.1
3025 - localtime clock support
3026 - PS/2 and USB input devices
3027 - lots of assorted bugfixes and cleanups
3028 - documentation and localization improvements
3029
3030 * Mon Jul  9 2007 Daniel Veillard <veillard@redhat.com> - 0.3.0-1
3031 - Release of 0.3.0
3032 - Secure remote access support
3033 - unification of daemons
3034 - lots of assorted bugfixes and cleanups
3035 - documentation and localization improvements
3036
3037 * Fri Jun  8 2007 Daniel Veillard <veillard@redhat.com> - 0.2.3-1
3038 - Release of 0.2.3
3039 - lot of assorted bugfixes and cleanups
3040 - support for Xen-3.1
3041 - new scheduler API
3042
3043 * Tue Apr 17 2007 Daniel Veillard <veillard@redhat.com> - 0.2.2-1
3044 - Release of 0.2.2
3045 - lot of assorted bugfixes and cleanups
3046 - preparing for Xen-3.0.5
3047
3048 * Thu Mar 22 2007 Jeremy Katz <katzj@redhat.com> - 0.2.1-2.fc7
3049 - don't require xen; we don't need the daemon and can control non-xen now
3050 - fix scriptlet error (need to own more directories)
3051 - update description text
3052
3053 * Fri Mar 16 2007 Daniel Veillard <veillard@redhat.com> - 0.2.1-1
3054 - Release of 0.2.1
3055 - lot of bug and portability fixes
3056 - Add support for network autostart and init scripts
3057 - New API to detect the virtualization capabilities of a host
3058 - Documentation updates
3059
3060 * Fri Feb 23 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-4.fc7
3061 - Fix loading of guest & network configs
3062
3063 * Fri Feb 16 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-3.fc7
3064 - Disable kqemu support since its not in Fedora qemu binary
3065 - Fix for -vnc arg syntax change in 0.9.0  QEMU
3066
3067 * Thu Feb 15 2007 Daniel P. Berrange <berrange@redhat.com> - 0.2.0-2.fc7
3068 - Fixed path to qemu daemon for autostart
3069 - Fixed generation of <features> block in XML
3070 - Pre-create config directory at startup
3071
3072 * Wed Feb 14 2007 Daniel Veillard <veillard@redhat.com> 0.2.0-1.fc7
3073 - support for KVM and QEmu
3074 - support for network configuration
3075 - assorted fixes
3076
3077 * Mon Jan 22 2007 Daniel Veillard <veillard@redhat.com> 0.1.11-1.fc7
3078 - finish inactive Xen domains support
3079 - memory leak fix
3080 - RelaxNG schemas for XML configs
3081
3082 * Wed Dec 20 2006 Daniel Veillard <veillard@redhat.com> 0.1.10-1.fc7
3083 - support for inactive Xen domains
3084 - improved support for Xen display and vnc
3085 - a few bug fixes
3086 - localization updates
3087
3088 * Thu Dec  7 2006 Jeremy Katz <katzj@redhat.com> - 0.1.9-2
3089 - rebuild against python 2.5
3090
3091 * Wed Nov 29 2006 Daniel Veillard <veillard@redhat.com> 0.1.9-1
3092 - better error reporting
3093 - python bindings fixes and extensions
3094 - add support for shareable drives
3095 - add support for non-bridge style networking
3096 - hot plug device support
3097 - added support for inactive domains
3098 - API to dump core of domains
3099 - various bug fixes, cleanups and improvements
3100 - updated the localization
3101
3102 * Tue Nov  7 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-3
3103 - it's pkgconfig not pgkconfig !
3104
3105 * Mon Nov  6 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-2
3106 - fixing spec file, added %dist, -devel requires pkgconfig and xen-devel
3107 - Resolves: rhbz#202320
3108
3109 * Mon Oct 16 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-1
3110 - fix missing page size detection code for ia64
3111 - fix mlock size when getting domain info list from hypervisor
3112 - vcpu number initialization
3113 - don't label crashed domains as shut off
3114 - fix virsh man page
3115 - blktapdd support for alternate drivers like blktap
3116 - memory leak fixes (xend interface and XML parsing)
3117 - compile fix
3118 - mlock/munlock size fixes
3119
3120 * Fri Sep 22 2006 Daniel Veillard <veillard@redhat.com> 0.1.7-1
3121 - Fix bug when running against xen-3.0.3 hypercalls
3122 - Fix memory bug when getting vcpus info from xend
3123
3124 * Fri Sep 22 2006 Daniel Veillard <veillard@redhat.com> 0.1.6-1
3125 - Support for localization
3126 - Support for new Xen-3.0.3 cdrom and disk configuration
3127 - Support for setting VNC port
3128 - Fix bug when running against xen-3.0.2 hypercalls
3129 - Fix reconnection problem when talking directly to http xend
3130
3131 * Tue Sep  5 2006 Jeremy Katz <katzj@redhat.com> - 0.1.5-3
3132 - patch from danpb to support new-format cd devices for HVM guests
3133
3134 * Tue Sep  5 2006 Daniel Veillard <veillard@redhat.com> 0.1.5-2
3135 - reactivating ia64 support
3136
3137 * Tue Sep  5 2006 Daniel Veillard <veillard@redhat.com> 0.1.5-1
3138 - new release
3139 - bug fixes
3140 - support for new hypervisor calls
3141 - early code for config files and defined domains
3142
3143 * Mon Sep  4 2006 Daniel Berrange <berrange@redhat.com> - 0.1.4-5
3144 - add patch to address dom0_ops API breakage in Xen 3.0.3 tree
3145
3146 * Mon Aug 28 2006 Jeremy Katz <katzj@redhat.com> - 0.1.4-4
3147 - add patch to support paravirt framebuffer in Xen
3148
3149 * Mon Aug 21 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-3
3150 - another patch to fix network handling in non-HVM guests
3151
3152 * Thu Aug 17 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-2
3153 - patch to fix virParseUUID()
3154
3155 * Wed Aug 16 2006 Daniel Veillard <veillard@redhat.com> 0.1.4-1
3156 - vCPUs and affinity support
3157 - more complete XML, console and boot options
3158 - specific features support
3159 - enforced read-only connections
3160 - various improvements, bug fixes
3161
3162 * Wed Aug  2 2006 Jeremy Katz <katzj@redhat.com> - 0.1.3-6
3163 - add patch from pvetere to allow getting uuid from libvirt
3164
3165 * Wed Aug  2 2006 Jeremy Katz <katzj@redhat.com> - 0.1.3-5
3166 - build on ia64 now
3167
3168 * Thu Jul 27 2006 Jeremy Katz <katzj@redhat.com> - 0.1.3-4
3169 - don't BR xen, we just need xen-devel
3170
3171 * Thu Jul 27 2006 Daniel Veillard <veillard@redhat.com> 0.1.3-3
3172 - need rebuild since libxenstore is now versionned
3173
3174 * Mon Jul 24 2006 Mark McLoughlin <markmc@redhat.com> - 0.1.3-2
3175 - Add BuildRequires: xen-devel
3176
3177 * Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 0.1.3-1.1
3178 - rebuild
3179
3180 * Tue Jul 11 2006 Daniel Veillard <veillard@redhat.com> 0.1.3-1
3181 - support for HVM Xen guests
3182 - various bugfixes
3183
3184 * Mon Jul  3 2006 Daniel Veillard <veillard@redhat.com> 0.1.2-1
3185 - added a proxy mechanism for read only access using httpu
3186 - fixed header includes paths
3187
3188 * Wed Jun 21 2006 Daniel Veillard <veillard@redhat.com> 0.1.1-1
3189 - extend and cleanup the driver infrastructure and code
3190 - python examples
3191 - extend uuid support
3192 - bug fixes, buffer handling cleanups
3193 - support for new Xen hypervisor API
3194 - test driver for unit testing
3195 - virsh --conect argument
3196
3197 * Mon Apr 10 2006 Daniel Veillard <veillard@redhat.com> 0.1.0-1
3198 - various fixes
3199 - new APIs: for Node information and Reboot
3200 - virsh improvements and extensions
3201 - documentation updates and man page
3202 - enhancement and fixes of the XML description format
3203
3204 * Tue Feb 28 2006 Daniel Veillard <veillard@redhat.com> 0.0.6-1
3205 - added error handling APIs
3206 - small bug fixes
3207 - improve python bindings
3208 - augment documentation and regression tests
3209
3210 * Thu Feb 23 2006 Daniel Veillard <veillard@redhat.com> 0.0.5-1
3211 - new domain creation API
3212 - new UUID based APIs
3213 - more tests, documentation, devhelp
3214 - bug fixes
3215
3216 * Fri Feb 10 2006 Daniel Veillard <veillard@redhat.com> 0.0.4-1
3217 - fixes some problems in 0.0.3 due to the change of names
3218
3219 * Wed Feb  8 2006 Daniel Veillard <veillard@redhat.com> 0.0.3-1
3220 - changed library name to libvirt from libvir, complete and test the python
3221   bindings
3222
3223 * Sun Jan 29 2006 Daniel Veillard <veillard@redhat.com> 0.0.2-1
3224 - upstream release of 0.0.2, use xend, save and restore added, python bindings
3225   fixed
3226
3227 * Wed Nov  2 2005 Daniel Veillard <veillard@redhat.com> 0.0.1-1
3228 - created
3229