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