]> TLD Linux GIT Repositories - packages/libvirt.git/blob - libvirt.spec
acea98e35eb7fdd738b0091daef5b48f8748f9c9
[packages/libvirt.git] / libvirt.spec
1 # TODO:
2 # - parallels-sdk >= 7.0.22?
3 # - virtuozzo storage?
4 #
5 # Conditional build:
6 # - virtualization
7 %bcond_without  esx             # VMware ESX support
8 %bcond_without  hyperv          # Hyper-V support
9 %bcond_without  libxl           # libxenlight support
10 %bcond_without  lxc             # LXC support
11 %bcond_without  openvz          # OpenVZ support
12 %bcond_without  phyp            # PHYP support
13 %bcond_without  qemu            # Qemu support
14 %bcond_without  uml             # UML support
15 %bcond_without  vbox            # VirtualBox support
16 %bcond_without  vmware          # VMware Workstation/Player support
17 %bcond_without  xenapi          # Xen API (Citrix XenServer) support
18 %bcond_without  xen             # Xen support
19 # - storage
20 %bcond_without  ceph            # RADOS BD (Ceph) storage support
21 %bcond_without  glusterfs       # GlusterFS storage support
22 # - storage locking
23 %bcond_without  sanlock         # sanlock storage lock manager
24 # - other
25 %bcond_without  netcf           # host interfaces support
26 %bcond_without  polkit          # PolicyKit support
27 %bcond_without  systemtap       # systemtap/dtrace probes
28 %bcond_with     wireshark       # wireshark dissector module
29 %bcond_without  static_libs     # static libraries build
30
31 # qemu available only on x86 and ppc
32 %ifnarch %{ix86} %{x8664} ppc
33 %undefine       with_qemu
34 %endif
35
36 # Xen is available only on x86 and ia64
37 %ifnarch %{ix86} %{x8664} ia64
38 %undefine       with_xen
39 %undefine       with_xenapi
40 %undefine       with_libxl
41 %endif
42
43 Summary:        Toolkit to interact with virtualization capabilities
44 Summary(pl.UTF-8):      Narzędzia współpracujące z funkcjami wirtualizacji
45 Name:           libvirt
46 Version:        4.2.0
47 Release:        1
48 License:        LGPL v2.1+
49 Group:          Libraries
50 Source0:        http://libvirt.org/sources/libvirt-%{version}.tar.xz
51 # Source0-md5:  7dfbaeb30fc0ee1184c27a4b6c1d7254
52 Source1:        libvirtd.init
53 Source2:        virtlockd.init
54 Source3:        virtlogd.init
55 Patch0:         %{name}-sasl.patch
56 Patch1:         %{name}-qemu-acl.patch
57 Patch2:         %{name}-udevadm-settle.patch
58 Patch3:         bashisms.patch
59 Patch4:         %{name}-guests.init.patch
60 Patch5:         %{name}-sysctl-dir.patch
61 URL:            http://www.libvirt.org/
62 BuildRequires:  acl-devel
63 BuildRequires:  attr-devel
64 BuildRequires:  audit-libs-devel
65 BuildRequires:  augeas-devel
66 BuildRequires:  autoconf >= 2.50
67 BuildRequires:  automake
68 BuildRequires:  avahi-devel >= 0.6.0
69 BuildRequires:  bash-completion >= 2.0
70 %{?with_ceph:BuildRequires:     ceph-devel}
71 BuildRequires:  curl-devel >= 7.18.0
72 BuildRequires:  cyrus-sasl-devel
73 BuildRequires:  dbus-devel >= 1.0.0
74 BuildRequires:  device-mapper-devel >= 1.0.0
75 BuildRequires:  gawk
76 BuildRequires:  gcc >= 6:4.4
77 BuildRequires:  gettext-tools >= 0.17
78 %{?with_glusterfs:BuildRequires:        glusterfs-devel >= 3.4.1}
79 BuildRequires:  gnutls-devel >= 2.2.0
80 BuildRequires:  libapparmor-devel
81 BuildRequires:  libblkid-devel >= 2.17
82 BuildRequires:  libcap-ng-devel >= 0.4.0
83 BuildRequires:  libfuse-devel >= 2.8.6
84 BuildRequires:  libgcrypt-devel
85 BuildRequires:  libnl-devel >= 3.2
86 BuildRequires:  libpcap-devel >= 1.0.0
87 BuildRequires:  libselinux-devel >= 2.5
88 BuildRequires:  libssh-devel >= 0.7
89 BuildRequires:  libssh2-devel >= 1.3
90 BuildRequires:  libtool
91 %{?with_xenapi:BuildRequires:   libxenserver-devel}
92 BuildRequires:  libxml2-devel >= 1:2.6.0
93 BuildRequires:  libxslt-devel
94 BuildRequires:  ncurses-devel
95 %{?with_netcf:BuildRequires:    netcf-devel >= 0.2.0}
96 BuildRequires:  numactl-devel
97 %{?with_hyperv:BuildRequires:   openwsman-devel >= 2.2.3}
98 BuildRequires:  parted-devel >= 1.8.0
99 BuildRequires:  pkgconfig
100 %{?with_polkit:BuildRequires:   polkit}
101 %{?with_polkit:BuildRequires:   polkit-devel >= 0.90}
102 BuildRequires:  readline-devel
103 BuildRequires:  rpmbuild(macros) >= 1.627
104 %{?with_sanlock:BuildRequires:  sanlock-devel >= 0.8}
105 %{?with_systemtap:BuildRequires:        systemtap-sdt-devel}
106 BuildRequires:  udev-devel >= 1:218
107 %{?with_wireshark:BuildRequires:        wireshark-devel >= 1.11.3}
108 %{?with_xen:BuildRequires:      xen-devel >= 4.2}
109 %{?with_libxl:BuildRequires:    xen-devel >= 4.4}
110 # For disk driver
111 BuildRequires:  xorg-lib-libpciaccess-devel >= 0.10.0
112 BuildRequires:  yajl-devel
113 Requires:       curl-libs >= 7.18.0
114 Requires:       device-mapper >= 1.0.0
115 Requires:       libcap-ng >= 0.4.0
116 Requires:       libnl >= 3.2
117 Requires:       libpcap >= 1.0.0
118 Requires:       libselinux >= 2.5
119 Requires:       libssh >= 0.7
120 Requires:       libssh2 >= 1.3
121 Requires:       libxml2 >= 1:2.6.0
122 %{?with_hyperv:Requires:        openwsman-libs >= 2.2.3}
123 Obsoletes:      libvirt-daemon-esx
124 Obsoletes:      libvirt-daemon-hyperv
125 Obsoletes:      libvirt-daemon-openvz
126 Obsoletes:      libvirt-daemon-phyp
127 Obsoletes:      libvirt-daemon-vbox
128 Obsoletes:      libvirt-daemon-vmware
129 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
130
131 %description
132 Libvirt is a C toolkit to interact with the virtualization
133 capabilities of recent versions of Linux.
134
135 Virtualization of the Linux Operating System means the ability to run
136 multiple instances of Operating Systems concurently on a single
137 hardware system where the basic resources are driven by a Linux
138 instance. The library aim at providing long term stable C API
139 initially for the Xen paravirtualization but should be able to
140 integrate other virtualization mechanisms if needed.
141
142 This package contains the base libraries and configuration file.
143
144 %description -l pl.UTF-8
145 Libvirt to zestaw narzędzi w C do współpracy z funkcjami wirtualizacji
146 obecnych wersji Linuksa.
147
148 Wirtualizacja w systemie operacyjnym Linux oznacza możliwość
149 jednoczesnego uruchamiania wielu instancji systemu operacyjnego na
150 pojedynczym systemie sprzętowym, którego podstawowe zasoby są
151 zarządzane przez instancję Linuksa. Celem biblioteki jest zapewnienie
152 długotrwale stabilnego API C, początkowo do parawirtualizacji Xen, ale
153 dającej się zintegrować w razie potrzeby z innymi mechanizmami
154 wirtualizacji.
155
156 Ten pakiet zawiera podstawowe biblioteki oraz plik konfiguracyjny.
157
158 %package -n bash-completion-%{name}
159 Summary:        bash-completion for libvirt
160 Group:          Applications/Shells
161 Requires:       bash-completion
162 %if "%{_rpmversion}" >= "5"
163 BuildArch:      noarch
164 %endif
165
166 %description -n bash-completion-%{name}
167 This package provides bash-completion for libvirt.
168
169 %package devel
170 Summary:        Development files for programs using libvirt
171 Summary(pl.UTF-8):      Pliki programistyczne do programów wykorzystujących libvirt
172 Group:          Development/Libraries
173 Requires:       %{name} = %{version}-%{release}
174 Requires:       audit-libs-devel
175 Requires:       curl-devel >= 7.18.0
176 Requires:       dbus-devel >= 1.0.0
177 Requires:       device-mapper-devel >= 1.0.0
178 Requires:       gnutls-devel >= 2.2.0
179 Requires:       libapparmor-devel
180 Requires:       libcap-ng-devel >= 0.4.0
181 Requires:       libgcrypt-devel
182 Requires:       libnl-devel >= 3.2
183 Requires:       libpcap-devel >= 1.0.0
184 Requires:       libselinux-devel >= 2.5
185 Requires:       libxml2-devel >= 1:2.6.0
186 Requires:       numactl-devel
187 %{?with_hyperv:Requires:        openwsman-devel >= 2.2.3}
188 %{?with_xen:Requires:   xen-devel >= 4.2}
189 Requires:       yajl-devel
190
191 %description devel
192 Libvirt is a C toolkit to interact with the virtualization
193 capabilities of recent versions of Linux.
194
195 This package contains the header files needed for developing programs
196 using the libvirt library.
197
198 %description devel -l pl.UTF-8
199 Libvirt to zestaw narzędzi w C do współpracy z funkcjami wirtualizacji
200 obecnych wersji Linuksa.
201
202 Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia programów
203 wykorzystujących bibliotekę libvirt.
204
205 %package static
206 Summary:        Development static libraries for programs using libvirt
207 Summary(pl.UTF-8):      Statyczne biblioteki programistyczne do programów wykorzystujących libvirt
208 Group:          Development/Libraries
209 Requires:       %{name}-devel = %{version}-%{release}
210
211 %description static
212 Libvirt is a C toolkit to interact with the virtualization
213 capabilities of recent versions of Linux.
214
215 This package contains the static libraries for developing programs
216 using the libvirt library.
217
218 %description static -l pl.UTF-8
219 Libvirt to zestaw narzędzi w C do współpracy z funkcjami wirtualizacji
220 obecnych wersji Linuksa.
221
222 Ten pakiet zawiera biblioteki statyczne do tworzenia programów
223 wykorzystujących bibliotekę libvirt.
224
225 %package lock-sanlock
226 Summary:        Sanlock lock manager plugin for libvirt
227 Summary(pl.UTF-8):      Zarządca blokad sanlock dla biblioteki libvirt
228 Group:          Libraries
229 Requires:       %{name}-daemon = %{version}-%{release}
230
231 %description lock-sanlock
232 Sanlock lock manager plugin for libvirt.
233
234 %description lock-sanlock -l pl.UTF-8
235 Zarządca blokad sanlock dla biblioteki libvirt.
236
237 %package daemon
238 Summary:        Server side daemon and supporting files for libvirt library
239 Summary(pl.UTF-8):      Demon działający po stronie serwera oraz pliki wspierające dla biblioteki libvirt
240 Group:          Applications/System
241 Requires:       %{name} = %{version}-%{release}
242 Requires:       avahi-libs >= 0.6.0
243 Requires:       iproute2
244 Requires:       libblkid >= 2.17
245 %{?with_netcf:Requires: netcf >= 0.2.0}
246 Requires:       parted-libs >= 1.8.0
247 Requires:       rc-scripts
248 # Needed for probing the power management features of the host.
249 Requires:       pm-utils
250 Requires:       udev-libs >= 1:218
251 Requires:       util-linux
252 Requires:       virtual(module-tools)
253 Requires:       xorg-lib-libpciaccess >= 0.10.0
254 Requires(post,preun):   /sbin/chkconfig
255 Suggests:       bridge-utils
256 Suggests:       cyrus-sasl
257 Suggests:       cyrus-sasl-digest-md5
258 Suggests:       dmidecode
259 Suggests:       dnsmasq >= 2.41
260 Suggests:       ebtables
261 Suggests:       gawk
262 Suggests:       glusterfs-client >= 2.0.1
263 Suggests:       iptables
264 Suggests:       iptables
265 Suggests:       libcgroup
266 Suggests:       lvm2
267 Suggests:       numad
268 Suggests:       open-iscsi
269 Suggests:       parted >= 1.8.0
270 Suggests:       polkit >= 0.93
271 #Suggests:      radvd
272 Suggests:       scrub
273 #Suggests:      sheepdog
274 Provides:       libvirt(hypervisor)
275
276 %description daemon
277 Server side daemon required to manage the virtualization capabilities
278 of recent versions of Linux. Requires a hypervisor specific sub-RPM
279 for specific drivers.
280
281 %description daemon -l pl.UTF-8
282 Demon działający po stronie serwera wymagany do zarządzania funkcjami
283 wirtualizacji nowych wersji Linuksa. Wymaga podpakietu specyficznego
284 dla hipernadzorcy.
285
286 %package daemon-storage-gluster
287 Summary:        Storage driver plugin for GlusterFS
288 Summary(pl.UTF-8):      Wtyczka składowania danych wykorzystująca GlusterFS
289 Group:          Libraries
290 Requires:       %{name}-daemon = %{version}-%{release}
291 Requires:       glusterfs-libs >= 3.4.1
292
293 %description daemon-storage-gluster
294 Storage driver plugin for GlusterFS.
295
296 %description daemon-storage-gluster -l pl.UTF-8
297 Wtyczka składowania danych wykorzystująca system plików GlusterFS.
298
299 %package daemon-storage-rbd
300 Summary:        Storage driver plugin for Ceph RADOS Block Device
301 Summary(pl.UTF-8):      Wtyczka składowania danych wykorzystująca urządzenie blokowe RADOS (Ceph)
302 Group:          Libraries
303 Requires:       %{name}-daemon = %{version}-%{release}
304
305 %description daemon-storage-rbd
306 Storage driver plugin for Ceph RADOS Block Device.
307
308 %description daemon-storage-rbd -l pl.UTF-8
309 Wtyczka składowania danych wykorzystująca urządzenie blokowe RADOS
310 (system plików Ceph).
311
312 %package daemon-libxl
313 Summary:        Server side driver required to run XEN guests (xenlight)
314 Summary(pl.UTF-8):      Sterownik wymagany po stronie serwera do uruchamiania gości XEN (xenlight)
315 Group:          Libraries
316 Requires:       %{name}-daemon = %{version}-%{release}
317 Requires:       /usr/sbin/qcow-create
318 Requires:       xen >= 4.4
319 Provides:       libvirt(hypervisor)
320
321 %description daemon-libxl
322 Server side driver required to manage the virtualization capabilities
323 of XEN via xenlight interface.
324
325 %description daemon-libxl -l pl.UTF-8
326 Sterownik wymagany po stronie serwera do zarządzania funkcjami
327 wirtualizacji XEN poprzez interfejs xenlight.
328
329 %package daemon-lxc
330 Summary:        Server side driver required to run LXC guests
331 Summary(pl.UTF-8):      Sterownik wymagany po stronie serwera do uruchamiania gości LXC
332 Group:          Libraries
333 Requires:       %{name}-daemon = %{version}-%{release}
334 Requires:       libfuse >= 2.8.6
335 Provides:       libvirt(hypervisor)
336
337 %description daemon-lxc
338 Server side driver required to manage the virtualization capabilities
339 of LXC.
340
341 %description daemon-lxc -l pl.UTF-8
342 Sterownik wymagany po stronie serwera do zarządzania funkcjami
343 wirtualizacji LXC.
344
345 %package daemon-qemu
346 Summary:        Server side driver required to run QEMU guests
347 Summary(pl.UTF-8):      Sterownik wymagany po stronie serwera do uruchamiania gości QEMU
348 Group:          Libraries
349 Requires:       %{name}-daemon = %{version}-%{release}
350 Requires:       /usr/bin/qemu-img
351 Requires:       bzip2
352 Requires:       gzip
353 Requires:       lzop
354 Requires:       qemu-system-x86
355 Requires:       xz
356 Provides:       libvirt(hypervisor)
357
358 %description daemon-qemu
359 Server side driver required to manage the virtualization capabilities
360 of the QEMU emulators.
361
362 %description daemon-qemu -l pl.UTF-8
363 Sterownik wymagany po stronie serwera do zarządzania funkcjami
364 wirtualizacji emulatora QEMU.
365
366 %package daemon-uml
367 Summary:        Server side driver required to run UML guests
368 Summary(pl.UTF-8):      Sterownik wymagany po stronie serwera do uruchamiania gości UML
369 Group:          Libraries
370 Requires:       %{name}-daemon = %{version}-%{release}
371 Provides:       libvirt(hypervisor)
372
373 %description daemon-uml
374 Server side driver required to manage the virtualization capabilities
375 of UML.
376
377 %description daemon-uml -l pl.UTF-8
378 Sterownik wymagany po stronie serwera do zarządzania funkcjami
379 wirtualizacji UML.
380
381 %package daemon-xen
382 Summary:        Server side driver required to run XEN guests
383 Summary(pl.UTF-8):      Sterownik wymagany po stronie serwera do uruchamiania gości XEN
384 Group:          Libraries
385 Requires:       %{name}-daemon = %{version}-%{release}
386 Requires:       /usr/sbin/qcow-create
387 Requires:       xen
388 Provides:       libvirt(hypervisor)
389
390 %description daemon-xen
391 Server side driver required to manage the virtualization capabilities
392 of XEN.
393
394 %description daemon-xen -l pl.UTF-8
395 Sterownik wymagany po stronie serwera do zarządzania funkcjami
396 wirtualizacji XEN.
397
398 %package client
399 Summary:        Client side utilities of the libvirt library
400 Summary(pl.UTF-8):      Narzędzia klienckie do biblioteki libvirt
401 Group:          Applications/System
402 Requires:       %{name} = %{version}-%{release}
403 Requires:       gettext >= 0.18.1.1-6
404 Requires:       gnutls >= 2.2.0
405 Requires:       netcat-openbsd
406 Requires:       rc-scripts
407 Requires(post,preun):   /sbin/chkconfig
408
409 %description client
410 Client binaries needed to access to the virtualization capabilities of
411 recent versions of Linux (and other OSes).
412
413 %description client -l pl.UTF-8
414 Programy klienckie potrzebne do funkcji wirtualizacji nowych wersji
415 Linuksa (oraz innych systemów operacyjnych).
416
417 %package utils
418 Summary:        Tools to interact with virtualization capabilities (metapackage)
419 Summary(pl.UTF-8):      Narzędzia do współpracy z funkcjami wirtualizacyjnymi (metapakiet)
420 Group:          Applications/System
421 Requires:       %{name}-client = %{version}-%{release}
422 Requires:       %{name}-daemon = %{version}-%{release}
423 %{?with_libxl:Requires: %{name}-daemon-libxl = %{version}-%{release}}
424 Requires:       %{name}-daemon-lxc = %{version}-%{release}
425 Requires:       %{name}-daemon-qemu = %{version}-%{release}
426 %{?with_uml:Requires:   %{name}-daemon-uml = %{version}-%{release}}
427 Requires:       %{name}-daemon-xen = %{version}-%{release}
428
429 %description utils
430 Libvirt is a C toolkit to interact with the virtualization
431 capabilities of recent versions of Linux.
432
433 This is metapackage gathering all tools for the libvirt library.
434
435 %description utils -l pl.UTF-8
436 Libvirt to zestaw narzędzi w C do współpracy z funkcjami wirtualizacji
437 obecnych wersji Linuksa.
438
439 To jest metapakiet zbierający wszystkie narzędzia przeznaczone dla
440 biblioteki libvirt.
441
442 %package -n systemtap-libvirt
443 Summary:        systemtap/dtrace probes for libvirt
444 Summary(pl.UTF-8):      Sondy systemtap/dtrace dla libvirt
445 Group:          Development/Tools
446 Requires:       %{name} = %{version}-%{release}
447 Requires:       systemtap-client
448
449 %description -n systemtap-libvirt
450 systemtap/dtrace probes for libvirt.
451
452 %description -n systemtap-libvirt -l pl.UTF-8
453 Sondy systemtap/dtrace dla libvirt.
454
455 %package -n wireshark-libvirt
456 Summary:        Wireshark dissector module for libvirt packets
457 Summary(pl.UTF-8):      Moduł sekcji Wiresharka do pakietów libvirt
458 Group:          Libraries
459 Requires:       wireshark >= 1.11.3
460
461 %description -n wireshark-libvirt
462 Wireshark dissector module for libvirt packets.
463
464 %description -n wireshark-libvirt -l pl.UTF-8
465 Moduł sekcji Wiresharka do pakietów libvirt.
466
467 %prep
468 %setup -q
469 %patch0 -p1
470 %patch1 -p1
471 %patch2 -p1
472 %patch3 -p1
473 %patch4 -p1
474 %patch5 -p1
475
476 %build
477 %{__libtoolize}
478 %{__aclocal} -I m4
479 %{__autoconf}
480 %{__autoheader}
481 %{__automake}
482
483 %configure \
484         PVCREATE=/sbin/pvcreate \
485         VGCREATE=/sbin/vgcreate \
486         LVCREATE=/sbin/lvcreate \
487         PVREMOVE=/sbin/pvremove \
488         VGREMOVE=/sbin/vgremove \
489         LVREMOVE=/sbin/lvremove \
490         VGCHANGE=/sbin/vgchange \
491         LVCHANGE=/sbin/lvchange \
492           VGSCAN=/sbin/vgscan   \
493              PVS=/sbin/pvs      \
494              VGS=/sbin/vgs      \
495              LVS=/sbin/lvs      \
496               TC=/sbin/tc \
497            BRCTL=/sbin/brctl    \
498         ISCSIADM=/sbin/iscsiadm \
499         SHOWMOUNT=/usr/sbin/showmount \
500         MOUNT=/bin/mount \
501         UMOUNT=/bin/umount \
502         MKFS=/sbin/mkfs \
503         SHOWMOUNT=/usr/sbin/showmount \
504         IPTABLES_PATH=/usr/sbin/iptables \
505         IP6TABLES_PATH=/usr/sbin/ip6tables \
506         EBTABLES_PATH=/usr/sbin/ebtables \
507         ISCSIADM=/sbin/iscsiadm \
508         DNSMASQ=/usr/sbin/dnsmasq \
509         RADVD=/usr/sbin/radvd \
510         UDEVADM=/sbin/udevadm \
511         MODPROBE=/sbin/modprobe \
512         SCRUB=/usr/bin/scrub \
513         OVSVSCTL=/usr/bin/ovs-vsctl \
514         NUMAD=/usr/bin/numad \
515         SHEEPDOGCLI=/usr/sbin/collie \
516         ZFS=/usr/sbin/zfs \
517         ZPOOL=/usr/sbin/zpool \
518         --disable-silent-rules \
519         %{?with_static_libs:--enable-static} \
520         --with-bash-completion \
521         --with-bash-completions-dir=/etc/bash_completion.d \
522         --with-html-dir=%{_gtkdocdir} \
523         --with-html-subdir=%{name} \
524         --with-init-script=redhat \
525         --with-packager="TLD-Linux" \
526         --with-packager-version="%{name}-%{version}-%{release}.%{_target_cpu}" \
527         --with-qemu-user=qemu \
528         --with-qemu-group=qemu \
529         --with-storage-disk \
530         --with-storage-fs \
531         --with-storage-gluster%{!?with_glusterfs:=no} \
532         --with-storage-iscsi \
533         --with-storage-lvm \
534         --with-storage-mpath \
535         --with-storage-rbd%{!?with_ceph:=no} \
536         --with-storage-scsi \
537         --with-storage-sheepdog \
538         --with-apparmor \
539         --with-audit \
540         --with-avahi \
541         %{__with_without systemtap dtrace} \
542         %{__with_without esx} \
543         --with-driver-modules \
544         --without-hal \
545         %{__with_without hyperv} \
546         --with-blkid \
547         --with-ssh2 \
548         %{__with_without libxl} \
549         %{__with_without lxc} \
550         --with-macvtap \
551         %{__with_without netcf} \
552         --with-numactl \
553         --with-numad \
554         %{__with_without openvz} \
555         %{__with_without phyp} \
556         %{__with_without polkit} \
557         %{__with_without qemu} \
558         %{__with_without sanlock} \
559         --with-sasl \
560         --with-selinux \
561         --with-udev \
562         %{__with_without uml} \
563         %{__with_without vbox vbox %{_libdir}/VirtualBox} \
564         --with-virtualport \
565         %{__with_without vmware} \
566         %{!?with_wireshark:--without-wireshark-dissector} \
567         %{__with_without xen} \
568         %{__with_without xenapi} \
569         --with-yajl \
570         --x-libraries=%{_libdir}
571
572 %{__make} \
573         AWK=gawk
574
575 %install
576 rm -rf $RPM_BUILD_ROOT
577 install -d $RPM_BUILD_ROOT/etc/{sysconfig,sysctl.d,rc.d/init.d}
578
579 %{__make} install \
580         DEVHELP_DIR=%{_gtkdocdir}/%{name}/devhelp \
581         DESTDIR=$RPM_BUILD_ROOT
582
583 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/libvirtd
584 install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/virtlockd
585 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/virtlogd
586
587 %{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
588 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.la \
589         %{?with_static_libs:$RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.a}
590 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-backend/*.la \
591         %{?with_static_libs:$RPM_BUILD_ROOT%{_libdir}/libvirt/storage-backend/*.a}
592
593 %if %{with sanlock}
594 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.la \
595         %{?with_static_libs:$RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.a}
596 %endif
597 %if %{with wireshark}
598 %{__rm} $RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/*/libvirt.la \
599         %{?with_static_libs:$RPM_BUILD_ROOT%{_libdir}/wireshark/plugins/*/libvirt.a} \
600 %endif
601
602 %find_lang %{name}
603
604 %clean
605 rm -rf $RPM_BUILD_ROOT
606
607 %post   -p /sbin/ldconfig
608 %postun -p /sbin/ldconfig
609
610 %post daemon
611 /sbin/chkconfig --add libvirtd
612 %service libvirtd restart
613 /sbin/chkconfig --add virtlockd
614 %service virtlockd restart
615 /sbin/chkconfig --add virtlogd
616 %service virtlogd restart
617
618 %preun daemon
619 if [ "$1" = "0" ]; then
620         %service -q libvirtd stop
621         /sbin/chkconfig --del libvirtd
622         %service -q virtlockd stop
623         /sbin/chkconfig --del virtlockd
624         %service -q virtlogd stop
625         /sbin/chkconfig --del virtlogd
626 fi
627
628 %post client
629 /sbin/chkconfig --add libvirt-guests
630 %service -n libvirt-guests restart
631 NORESTART=1
632
633 %preun client
634 if [ "$1" = "0" ]; then
635         %service -q libvirt-guests stop
636         /sbin/chkconfig --del libvirt-guests
637 fi
638
639 %files -f %{name}.lang
640 %defattr(644,root,root,755)
641 %doc AUTHORS ChangeLog NEWS README.md
642 %dir %{_sysconfdir}/libvirt
643 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libvirt.conf
644 %attr(755,root,root) %{_libdir}/libvirt.so.*.*.*
645 %attr(755,root,root) %ghost %{_libdir}/libvirt.so.0
646 %attr(755,root,root) %{_libdir}/libvirt-admin.so.*.*.*
647 %attr(755,root,root) %ghost %{_libdir}/libvirt-admin.so.0
648 %if %{with lxc}
649 %attr(755,root,root) %{_libdir}/libvirt-lxc.so.*.*.*
650 %attr(755,root,root) %ghost %{_libdir}/libvirt-lxc.so.0
651 %endif
652 %attr(755,root,root) %{_libdir}/libvirt-qemu.so.*.*.*
653 %attr(755,root,root) %ghost %{_libdir}/libvirt-qemu.so.0
654
655 # NSS modules
656 %attr(755,root,root) %{_libdir}/libnss_libvirt.so.2
657 %attr(755,root,root) %{_libdir}/libnss_libvirt_guest.so.2
658
659 %dir %{_libdir}/libvirt
660 %dir %{_datadir}/libvirt
661
662 %files -n bash-completion-%{name}
663 %defattr(644,root,root,755)
664 /etc/bash_completion.d/virsh
665 /etc/bash_completion.d/virt-admin
666 /etc/bash_completion.d/vsh
667
668 %files devel
669 %defattr(644,root,root,755)
670 %attr(755,root,root) %{_libdir}/libvirt.so
671 %attr(755,root,root) %{_libdir}/libvirt-admin.so
672 %{?with_lxc:%attr(755,root,root) %{_libdir}/libvirt-lxc.so}
673 %attr(755,root,root) %{_libdir}/libvirt-qemu.so
674 %{_datadir}/%{name}/api
675 %{_gtkdocdir}/%{name}
676 %{_includedir}/%{name}
677 %{_pkgconfigdir}/libvirt.pc
678 %{_pkgconfigdir}/libvirt-admin.pc
679 %{?with_lxc:%{_pkgconfigdir}/libvirt-lxc.pc}
680 %{_pkgconfigdir}/libvirt-qemu.pc
681 %{_mandir}/man7/virkeycode-*.7*
682 %{_mandir}/man7/virkeyname-*.7*
683
684 %files static
685 %defattr(644,root,root,755)
686 %{_libdir}/libvirt.a
687 %{_libdir}/libvirt-admin.a
688 %{?with_lxc:%{_libdir}/libvirt-lxc.a}
689 %{_libdir}/libvirt-qemu.a
690
691 %if %{with sanlock}
692 %files lock-sanlock
693 %defattr(644,root,root,755)
694 %attr(755,root,root) %{_sbindir}/virt-sanlock-cleanup
695 %attr(755,root,root) %{_libexecdir}/libvirt_sanlock_helper
696 %attr(755,root,root) %{_libdir}/libvirt/lock-driver/sanlock.so
697 %{_datadir}/augeas/lenses/libvirt_sanlock.aug
698 %{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug
699 %dir /var/lib/libvirt/sanlock
700 %{_mandir}/man8/virt-sanlock-cleanup.8*
701 %endif
702
703 %files daemon
704 %defattr(644,root,root,755)
705 %doc docs/*.xml
706 %dir %attr(700,root,root) %{_sysconfdir}/libvirt/nwfilter
707 %dir %attr(700,root,root) %{_sysconfdir}/libvirt/qemu
708 %dir %attr(700,root,root) %{_sysconfdir}/libvirt/qemu/networks
709 %dir %attr(700,root,root) %{_sysconfdir}/libvirt/qemu/networks/autostart
710 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libvirtd.conf
711 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtlockd.conf
712 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libvirt-admin.conf
713 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtlogd.conf
714 %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/qemu/networks/default.xml
715 %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
716 %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/nwfilter/*.xml
717 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sasl/libvirt.conf
718 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/libvirtd
719 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/virtlockd
720 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/virtlogd
721 %attr(754,root,root) /etc/rc.d/init.d/libvirtd
722 %attr(754,root,root) /etc/rc.d/init.d/virtlockd
723 %attr(754,root,root) /etc/rc.d/init.d/virtlogd
724 %config(noreplace) %verify(not md5 mtime size) /etc/sysctl.d/60-libvirtd.conf
725 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd
726 %attr(755,root,root) %{_libexecdir}/libvirt_iohelper
727 %attr(755,root,root) %{_libexecdir}/libvirt_parthelper
728 %attr(755,root,root) %{_libexecdir}/virt-aa-helper
729 %attr(755,root,root) %{_sbindir}/libvirtd
730 %attr(755,root,root) %{_sbindir}/virtlockd
731 %attr(755,root,root) %{_sbindir}/virtlogd
732 %{_datadir}/augeas/lenses/libvirtd.aug
733 %{_datadir}/augeas/lenses/libvirt_lockd.aug
734 %{_datadir}/augeas/lenses/virtlockd.aug
735 %{_datadir}/augeas/lenses/virtlogd.aug
736 %{_datadir}/augeas/lenses/tests/test_libvirtd.aug
737 %{?with_qemu:%{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug}
738 %{_datadir}/augeas/lenses/tests/test_virtlockd.aug
739 %{_datadir}/augeas/lenses/tests/test_virtlogd.aug
740 %if %{with polkit}
741 %{_datadir}/polkit-1/actions/org.libvirt.api.policy
742 %{_datadir}/polkit-1/actions/org.libvirt.unix.policy
743 %{_datadir}/polkit-1/rules.d/50-libvirt.rules
744 %endif
745 %{_mandir}/man8/libvirtd.8*
746 %{_mandir}/man8/virtlockd.8*
747 %{_mandir}/man8/virtlogd.8*
748 %dir /var/lib/libvirt
749 %dir /var/lib/libvirt/dnsmasq
750 %attr(711,root,root) %dir /var/lib/libvirt/boot
751 %attr(700,root,root) %dir /var/lib/libvirt/network
752 %attr(711,root,root) %dir /var/lib/libvirt/images
753 %attr(711,root,root) %dir /var/lib/libvirt/filesystems
754 %attr(700,root,root) %dir /var/log/libvirt
755 %attr(711,root,root) %dir /var/cache/libvirt
756 %dir /var/run/libvirt
757 %dir /var/run/libvirt/network
758 %attr(755,root,root) %{_libexecdir}/libvirt_leaseshelper
759 %dir %{_libdir}/libvirt/connection-driver
760 %{_datadir}/libvirt/cpu_map.xml
761 %{?with_netcf:%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_interface.so}
762 %attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_network.so
763 %attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_nodedev.so
764 %attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_nwfilter.so
765 %attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_secret.so
766 %attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_storage.so
767 %{?with_vbox:%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_vbox.so}
768 %dir %{_libdir}/libvirt/lock-driver
769 %attr(755,root,root) %{_libdir}/libvirt/lock-driver/lockd.so
770 %dir %{_libdir}/libvirt/storage-backend
771 %attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_disk.so
772 %attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_fs.so
773 %attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_iscsi.so
774 %attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_logical.so
775 # mpath requires libdevmapper, but libvirt itself requires it too
776 %attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_mpath.so
777 %attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_scsi.so
778 %attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_sheepdog.so
779 %attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_zfs.so
780
781 %if %{with glusterfs}
782 %files daemon-storage-gluster
783 %defattr(644,root,root,755)
784 %attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_gluster.so
785 %endif
786
787 %if %{with ceph}
788 %files daemon-storage-rbd
789 %defattr(644,root,root,755)
790 %attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_rbd.so
791 %endif
792
793 %if %{with libxl}
794 %files daemon-libxl
795 %defattr(644,root,root,755)
796 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libxl.conf
797 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libxl-lockd.conf
798 %{?with_sanlock:%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libxl-sanlock.conf}
799 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.libxl
800 %attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_libxl.so
801 %{_datadir}/augeas/lenses/libvirtd_libxl.aug
802 %{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.aug
803 %attr(700,root,root) %dir /var/lib/libvirt/libxl
804 %attr(700,root,root) %dir /var/run/libvirt/libxl
805 %attr(700,root,root) %dir /var/log/libvirt/libxl
806 %endif
807
808 %if %{with lxc}
809 %files daemon-lxc
810 %defattr(644,root,root,755)
811 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/lxc.conf
812 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.lxc
813 %attr(700,root,root) %dir /var/lib/libvirt/lxc
814 %attr(700,root,root) %dir /var/run/libvirt/lxc
815 %attr(700,root,root) %dir /var/log/libvirt/lxc
816 %{_datadir}/augeas/lenses/libvirtd_lxc.aug
817 %{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
818 %attr(755,root,root) %{_libexecdir}/libvirt_lxc
819 %attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_lxc.so
820 %endif
821
822 %if %{with qemu}
823 %files daemon-qemu
824 %defattr(644,root,root,755)
825 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/qemu.conf
826 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/qemu-lockd.conf
827 %{?with_sanlock:%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/qemu-sanlock.conf}
828 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.qemu
829 %attr(750,qemu,qemu) %dir /var/cache/libvirt/qemu
830 %attr(750,qemu,qemu) %dir /var/lib/libvirt/qemu
831 %attr(700,root,root) %dir /var/log/libvirt/qemu
832 %attr(700,root,root) %dir /var/run/libvirt/qemu
833 %{_datadir}/augeas/lenses/libvirtd_qemu.aug
834 %{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
835 %attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_qemu.so
836 %endif
837
838 %if %{with uml}
839 %files daemon-uml
840 %defattr(644,root,root,755)
841 %attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_uml.so
842 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.uml
843 %attr(700,root,root) %dir /var/lib/libvirt/uml
844 %attr(700,root,root) %dir /var/run/libvirt/uml
845 %attr(700,root,root) %dir /var/log/libvirt/uml
846 %endif
847
848 %if %{with xen}
849 %files daemon-xen
850 %defattr(644,root,root,755)
851 %attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_xen.so
852 %endif
853
854 %files client
855 %defattr(644,root,root,755)
856 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/libvirt-guests
857 %attr(754,root,root) /etc/rc.d/init.d/libvirt-guests
858 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virt-login-shell.conf
859 %attr(755,root,root) %{_bindir}/virsh
860 %attr(755,root,root) %{_bindir}/virt-admin
861 %attr(755,root,root) %{_bindir}/virt-host-validate
862 %attr(4755,root,root) %{_bindir}/virt-login-shell
863 %attr(755,root,root) %{_bindir}/virt-xml-validate
864 %attr(755,root,root) %{_bindir}/virt-pki-validate
865 %attr(754,root,root) %{_libexecdir}/libvirt-guests.sh
866 %{_mandir}/man1/virsh.1*
867 %{_mandir}/man1/virt-admin.1*
868 %{_mandir}/man1/virt-host-validate.1*
869 %{_mandir}/man1/virt-login-shell.1*
870 %{_mandir}/man1/virt-xml-validate.1*
871 %{_mandir}/man1/virt-pki-validate.1*
872 %dir %{_datadir}/libvirt/schemas
873 %{_datadir}/libvirt/schemas/basictypes.rng
874 %{_datadir}/libvirt/schemas/capability.rng
875 %{_datadir}/libvirt/schemas/cputypes.rng
876 %{_datadir}/libvirt/schemas/domain.rng
877 %{_datadir}/libvirt/schemas/domaincaps.rng
878 %{_datadir}/libvirt/schemas/domaincommon.rng
879 %{_datadir}/libvirt/schemas/domainsnapshot.rng
880 %{_datadir}/libvirt/schemas/interface.rng
881 %{_datadir}/libvirt/schemas/network.rng
882 %{_datadir}/libvirt/schemas/networkcommon.rng
883 %{_datadir}/libvirt/schemas/nodedev.rng
884 %{_datadir}/libvirt/schemas/nwfilter.rng
885 %{_datadir}/libvirt/schemas/secret.rng
886 %{_datadir}/libvirt/schemas/storagecommon.rng
887 %{_datadir}/libvirt/schemas/storagepool.rng
888 %{_datadir}/libvirt/schemas/storagevol.rng
889 # for test driver (built into libvirt)
890 %{_datadir}/libvirt/test-screenshot.png
891
892 %files utils
893 %defattr(644,root,root,755)
894
895 %if %{with systemtap}
896 %files -n systemtap-libvirt
897 %defattr(644,root,root,755)
898 %{_datadir}/systemtap/tapset/libvirt_functions.stp
899 %{_datadir}/systemtap/tapset/libvirt_probes.stp
900 %{?with_qemu:%{_datadir}/systemtap/tapset/libvirt_qemu_probes.stp}
901 %endif
902
903 %if %{with wireshark}
904 %files -n wireshark-libvirt
905 %defattr(644,root,root,755)
906 %attr(755,root,root) %{_libdir}/wireshark/plugins/*/libvirt.so
907 %endif