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