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