3 # This spec file assumes you are building on a Fedora or RHEL version
4 # that's still supported by the vendor. It may work on other distros
5 # or versions, but no effort will be made to ensure that going forward.
9 %if (0%{?fedora} && 0%{?fedora} >= %{min_fedora}) || (0%{?rhel} && 0%{?rhel} >= %{min_rhel})
10 %define supported_platform
1
12 %define supported_platform
0
15 # Default to skipping autoreconf. Distros can change just this one line
16 # (or provide a command-line override) if they backport any patches that
17 # touch configure.ac or Makefile.am.
18 %{!?enable_autotools:%global enable_autotools 0}
20 # The hypervisor drivers that run in libvirtd
21 %define with_qemu
0%{!?_without_qemu:1}
22 %define with_lxc
0%{!?_without_lxc:1}
23 %define with_libxl
0%{!?_without_libxl:1}
24 %define with_vbox
0%{!?_without_vbox:1}
26 %define with_qemu_tcg
%{with_qemu}
28 %define qemu_kvm_arches
%{ix86} x86_64
31 %define qemu_kvm_arches
%{ix86} x86_64 %{power64} s390x %{arm} aarch64
35 %define with_qemu_tcg
0
36 %define qemu_kvm_arches x86_64
%{power64} aarch64 s390x
39 %ifarch %{qemu_kvm_arches}
40 %define with_qemu_kvm
%{with_qemu}
42 %define with_qemu_kvm
0
45 %if ! %{with_qemu_tcg} && ! %{with_qemu_kvm}
49 # Then the hypervisor drivers that run outside libvirtd, in libvirt.so
50 %define with_openvz
0%{!?_without_openvz:1}
51 %define with_vmware
0%{!?_without_vmware:1}
52 %define with_phyp
0%{!?_without_phyp:1}
53 %define with_esx
0%{!?_without_esx:1}
54 %define with_hyperv
0%{!?_without_hyperv:1}
56 # Then the secondary host drivers, which run inside libvirtd
57 %define with_storage_rbd
0%{!?_without_storage_rbd:1}
59 %define with_storage_sheepdog
0%{!?_without_storage_sheepdog:1}
61 %define with_storage_sheepdog
0
63 %define with_storage_gluster
0%{!?_without_storage_gluster:1}
64 %define with_numactl
0%{!?_without_numactl:1}
68 %define with_storage_zfs
0%{!?_without_storage_zfs:1}
70 %define with_storage_zfs
0
73 # We need a recent enough libiscsi (>= 1.18.0)
74 %if 0%{?fedora} || 0%{?rhel} > 7
75 %define with_storage_iscsi_direct
0%{!?_without_storage_iscsi_direct:1}
77 %define with_storage_iscsi_direct
0
80 # A few optional bits off by default, we enable later
81 %define with_fuse
0%{!?_without_fuse:0}
82 %define with_sanlock
0%{!?_without_sanlock:0}
83 %define with_numad
0%{!?_without_numad:0}
84 %define with_firewalld
0%{!?_without_firewalld:0}
85 %define with_firewalld_zone
0%{!?_without_firewalld_zone:0}
86 %define with_libssh2
0%{!?_without_libssh2:0}
87 %define with_wireshark
0%{!?_without_wireshark:0}
88 %define with_libssh
0%{!?_without_libssh:0}
89 %define with_bash_completion
0%{!?_without_bash_completion:0}
91 # Finally set the OS / architecture specific special cases
93 # Xen is available only on i386 x86_64 ia64
94 %ifnarch %{ix86} x86_64 ia64
98 # vbox is available only on i386 x86_64
99 %ifnarch %{ix86} x86_64
103 # Numactl is not available on many non-x86 archs
104 %ifarch s390 s390x
%{arm} riscv64
105 %define with_numactl
0
108 # zfs-fuse is not available on some architectures
109 %ifarch s390 s390x aarch64 riscv64
110 %define with_storage_zfs
0
113 # Ceph dropping support for 32-bit hosts
114 %if 0%{?fedora} >= 30
115 %ifarch %{arm} %{ix86}
116 %define with_storage_rbd
0
120 # RHEL doesn't ship OpenVZ, VBox, PowerHypervisor,
121 # VMware, libxenserver (xenapi), libxenlight (Xen 4.1 and newer),
124 %define with_openvz
0
127 %define with_vmware
0
128 %define with_xenapi
0
130 %define with_hyperv
0
138 %define with_firewalld
1
140 %if 0%{?fedora} >= 31 || 0%{?rhel} > 7
141 %define with_firewalld_zone
0%{!?_without_firewalld_zone:1}
145 # fuse is used to provide virtualized /proc for LXC
147 %define with_fuse
0%{!?_without_fuse:1}
150 # Enable sanlock library for lock management with QEMU
151 # Sanlock is available only on arches where kvm is available for RHEL
153 %define with_sanlock
0%{!?_without_sanlock:1}
156 %ifarch %{qemu_kvm_arches}
157 %define with_sanlock
0%{!?_without_sanlock:1}
161 # Enable libssh2 transport for new enough distros
163 %define with_libssh2
0%{!?_without_libssh2:1}
166 # Enable wireshark plugins for all distros shipping libvirt 1.2.2 or newer
168 %define with_wireshark
0%{!?_without_wireshark:1}
169 %define wireshark_plugindir %
(pkg
-config
--variable plugindir wireshark
)/epan
172 # Enable libssh transport for new enough distros
173 %if 0%{?fedora} || 0%{?rhel} > 7
174 %define with_libssh
0%{!?_without_libssh:1}
177 %define with_bash_completion
0%{!?_without_bash_completion:1}
179 # Use Python 3 when possible, Python 2 otherwise
180 %if 0%{?fedora} || 0%{?rhel} > 7
181 %define python python3
183 %define python python2
187 %if %{with_qemu} || %{with_lxc}
188 # numad is used to manage the CPU and memory placement dynamically,
189 # it's not available on many non-x86 architectures.
190 %ifnarch s390 s390x
%{arm} riscv64
191 %define with_numad
0%{!?_without_numad:1}
195 # Force QEMU to run as non-root
196 %define qemu_user qemu
197 %define qemu_group qemu
200 # RHEL releases provide stable tool chains and so it is safe to turn
201 # compiler warning into errors without being worried about frequent
202 # changes in reported warnings
204 %define enable_werror
--enable-werror
206 %define enable_werror
--disable
-werror
210 %define tls_priority "NORMAL"
212 %define tls_priority "@LIBVIRT
,SYSTEM"
216 Summary: Library providing a simple virtualization API
221 URL: https
://libvirt.org
/
223 %if %
(echo %{version} | grep
-q "\
.0$"
; echo $?
) == 1
224 %define mainturl stable_updates
/
226 Source: https
://libvirt.org
/sources
/%{?mainturl}libvirt-%{version}.tar.xz
228 Requires: libvirt
-daemon
= %{version}-%{release}
229 Requires: libvirt
-daemon
-config
-network
= %{version}-%{release}
230 Requires: libvirt
-daemon
-config
-nwfilter
= %{version}-%{release}
232 Requires: libvirt
-daemon
-driver
-libxl
= %{version}-%{release}
235 Requires: libvirt
-daemon
-driver
-lxc
= %{version}-%{release}
238 Requires: libvirt
-daemon
-driver
-qemu
= %{version}-%{release}
240 # We had UML driver, but we've removed it.
241 Obsoletes
: libvirt
-daemon
-driver
-uml
<= 5.0.0
242 Obsoletes
: libvirt
-daemon
-uml
<= 5.0.0
244 Requires: libvirt
-daemon
-driver
-vbox
= %{version}-%{release}
246 Requires: libvirt
-daemon
-driver
-nwfilter
= %{version}-%{release}
248 Requires: libvirt
-daemon
-driver
-interface
= %{version}-%{release}
249 Requires: libvirt
-daemon
-driver
-secret
= %{version}-%{release}
250 Requires: libvirt
-daemon
-driver
-storage
= %{version}-%{release}
251 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
252 Requires: libvirt
-daemon
-driver
-nodedev
= %{version}-%{release}
253 Requires: libvirt
-client
= %{version}-%{release}
254 Requires: libvirt
-libs
= %{version}-%{release}
256 # All build-time requirements. Run-time requirements are
257 # listed against each sub-RPM
258 %if 0%{?enable_autotools}
259 BuildRequires
: autoconf
260 BuildRequires
: automake
261 BuildRequires
: gettext
-devel
262 BuildRequires
: libtool
263 BuildRequires
: /usr
/bin
/pod2man
267 %if 0%{?fedora} || 0%{?rhel} > 7
268 BuildRequires
: perl
-interpreter
272 BuildRequires
: %{python}
273 BuildRequires
: systemd
-units
275 BuildRequires
: xen
-devel
277 BuildRequires
: libxml2
-devel
278 BuildRequires
: libxslt
279 BuildRequires
: readline
-devel
280 %if %{with_bash_completion}
281 BuildRequires
: bash
-completion
>= 2.0
283 BuildRequires
: ncurses
-devel
284 BuildRequires
: gettext
285 BuildRequires
: libtasn1
-devel
286 BuildRequires
: gnutls
-devel
287 BuildRequires
: libattr
-devel
288 # For pool-build probing for existing pools
289 BuildRequires
: libblkid
-devel
>= 2.17
290 # for augparse, optionally used in testing
291 BuildRequires
: augeas
292 BuildRequires
: systemd
-devel
>= 185
293 BuildRequires
: libpciaccess
-devel
>= 0.10.9
294 BuildRequires
: yajl
-devel
296 BuildRequires
: sanlock
-devel
>= 2.4
298 BuildRequires
: libpcap
-devel
299 BuildRequires
: libnl3
-devel
300 BuildRequires
: avahi
-devel
301 BuildRequires
: libselinux
-devel
302 BuildRequires
: dnsmasq
>= 2.41
303 BuildRequires
: iptables
305 BuildRequires
: ebtables
306 BuildRequires
: module
-init
-tools
307 BuildRequires
: cyrus
-sasl
-devel
308 BuildRequires
: polkit
>= 0.112
309 # For mount/umount in FS driver
310 BuildRequires
: util
-linux
313 BuildRequires
: libacl
-devel
315 BuildRequires
: /usr
/bin
/qemu
-img
319 # For pool type=iscsi
320 BuildRequires
: iscsi
-initiator
-utils
321 %if %{with_storage_iscsi_direct}
322 # For pool type=iscsi-direct
323 BuildRequires
: libiscsi
-devel
326 BuildRequires
: parted
-devel
327 # For Multipath support
328 BuildRequires
: device
-mapper
-devel
329 # For XFS reflink clone support
330 BuildRequires
: xfsprogs
-devel
331 %if %{with_storage_rbd}
332 BuildRequires
: librados2
-devel
333 BuildRequires
: librbd1
-devel
335 %if %{with_storage_gluster}
336 BuildRequires
: glusterfs
-api
-devel
>= 3.4.1
337 BuildRequires
: glusterfs
-devel
>= 3.4.1
339 %if %{with_storage_sheepdog}
340 BuildRequires
: sheepdog
342 %if %{with_storage_zfs}
343 # Support any conforming implementation of zfs. On stock Fedora
344 # this is zfs-fuse, but could be zfsonlinux upstream RPMs
345 BuildRequires
: /sbin
/zfs
346 BuildRequires
: /sbin
/zpool
349 # For QEMU/LXC numa info
350 BuildRequires
: numactl
-devel
352 BuildRequires
: libcap
-ng
-devel
>= 0.5.0
354 BuildRequires
: fuse
-devel
>= 2.8.6
356 %if %{with_phyp} || %{with_libssh2}
357 BuildRequires
: libssh2
-devel
>= 1.3.0
360 BuildRequires
: netcf
-devel
>= 0.2.2
362 BuildRequires
: libcurl
-devel
365 BuildRequires
: libwsman
-devel
>= 2.2.3
367 BuildRequires
: audit
-libs
-devel
368 # we need /usr/sbin/dtrace
369 BuildRequires
: systemtap
-sdt
-devel
371 # For mount/umount in FS driver
372 BuildRequires
: util
-linux
373 # For showmount in FS driver (netfs discovery)
374 BuildRequires
: nfs
-utils
376 # Communication with the firewall and polkit daemons use DBus
377 BuildRequires
: dbus
-devel
379 # Fedora build root suckage
382 # For storage wiping with different algorithms
389 %if %{with_wireshark}
390 BuildRequires
: wireshark
-devel
>= 2.4.0
394 BuildRequires
: libssh
-devel
>= 0.7.0
397 %if 0%{?fedora} || 0%{?rhel} > 7
398 BuildRequires
: rpcgen
399 BuildRequires
: libtirpc
-devel
402 %if %{with_firewalld_zone}
403 BuildRequires
: firewalld
-filesystem
406 Provides: bundled
(gnulib
)
409 Libvirt is a C toolkit to interact with the virtualization capabilities
410 of recent versions of Linux
(and other OSes
). The main package includes
411 the libvirtd server exporting the virtualization support.
414 Summary: API reference and website documentation
417 Includes the API reference
for the libvirt C library
, and a complete
418 copy of the libvirt.org website documentation.
421 Summary: Server side daemon and supporting files
for libvirt library
423 # All runtime requirements for the libvirt package (runtime requrements
424 # for subpackages are listed later in those subpackages)
426 # The client side, i.e. shared libs are in a subpackage
427 Requires: %{name}-libs = %{version}-%{release}
429 # for modprobe of pci devices
430 Requires: module
-init
-tools
432 # for /sbin/ip & /sbin/tc
434 # tc is provided by iproute-tc since at least Fedora 26
435 %if 0%{?fedora} || 0%{?rhel} > 7
440 Requires: polkit
>= 0.112
441 %ifarch %{ix86} x86_64 ia64
442 # For virConnectGetSysinfo
445 # For service management
446 Requires(post
): systemd
-units
447 Requires(post
): systemd
-sysv
448 Requires(preun
): systemd
-units
449 Requires(postun
): systemd
-units
453 # libvirtd depends on 'messagebus' service
455 # For uid creation during pre
456 Requires(pre
): shadow
-utils
459 Server side daemon required to manage the virtualization capabilities
460 of recent versions of Linux.
Requires a hypervisor specific sub
-RPM
461 for specific drivers.
463 %package daemon
-config
-network
464 Summary: Default configuration files
for the libvirtd daemon
466 Requires: libvirt
-daemon
= %{version}-%{release}
467 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
469 %description daemon
-config
-network
470 Default configuration files
for setting up NAT based networking
472 %package daemon
-config
-nwfilter
473 Summary: Network filter configuration files
for the libvirtd daemon
475 Requires: libvirt
-daemon
= %{version}-%{release}
476 Requires: libvirt
-daemon
-driver
-nwfilter
= %{version}-%{release}
478 %description daemon
-config
-nwfilter
479 Network filter configuration files
for cleaning guest traffic
481 %package daemon
-driver
-network
482 Summary: Network driver plugin
for the libvirtd daemon
483 Requires: libvirt
-daemon
= %{version}-%{release}
484 Requires: libvirt
-libs
= %{version}-%{release}
485 Requires: dnsmasq
>= 2.41
489 %description daemon
-driver
-network
490 The network driver plugin
for the libvirtd daemon
, providing
491 an implementation of the virtual network APIs using the Linux
495 %package daemon
-driver
-nwfilter
496 Summary: Nwfilter driver plugin
for the libvirtd daemon
497 Requires: libvirt
-daemon
= %{version}-%{release}
498 Requires: libvirt
-libs
= %{version}-%{release}
502 %description daemon
-driver
-nwfilter
503 The nwfilter driver plugin
for the libvirtd daemon
, providing
504 an implementation of the firewall APIs using the ebtables
,
505 iptables and ip6tables capabilities
508 %package daemon
-driver
-nodedev
509 Summary: Nodedev driver plugin
for the libvirtd daemon
510 Requires: libvirt
-daemon
= %{version}-%{release}
511 Requires: libvirt
-libs
= %{version}-%{release}
512 # needed for device enumeration
513 Requires: systemd
>= 185
515 %description daemon
-driver
-nodedev
516 The nodedev driver plugin
for the libvirtd daemon
, providing
517 an implementation of the node device APIs using the udev
521 %package daemon
-driver
-interface
522 Summary: Interface driver plugin
for the libvirtd daemon
523 Requires: libvirt
-daemon
= %{version}-%{release}
524 Requires: libvirt
-libs
= %{version}-%{release}
525 Requires: netcf
-libs
>= 0.2.2
527 %description daemon
-driver
-interface
528 The interface driver plugin
for the libvirtd daemon
, providing
529 an implementation of the network interface APIs using the
533 %package daemon
-driver
-secret
534 Summary: Secret driver plugin
for the libvirtd daemon
535 Requires: libvirt
-daemon
= %{version}-%{release}
536 Requires: libvirt
-libs
= %{version}-%{release}
538 %description daemon
-driver
-secret
539 The secret driver plugin
for the libvirtd daemon
, providing
540 an implementation of the secret key APIs.
542 %package daemon
-driver
-storage
-core
543 Summary: Storage driver plugin including base backends
for the libvirtd daemon
544 Requires: libvirt
-daemon
= %{version}-%{release}
545 Requires: libvirt
-libs
= %{version}-%{release}
551 Requires: /usr
/bin
/qemu
-img
553 %if !%{with_storage_rbd}
554 Obsoletes
: libvirt
-daemon
-driver
-storage
-rbd
< %{version}-%{release}
557 %description daemon
-driver
-storage
-core
558 The storage driver plugin
for the libvirtd daemon
, providing
559 an implementation of the storage APIs using files
, local disks
, LVM
, SCSI
,
560 iSCSI
, and multipath storage.
562 %package daemon
-driver
-storage
-logical
563 Summary: Storage driver plugin
for lvm volumes
564 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
565 Requires: libvirt
-libs
= %{version}-%{release}
568 %description daemon
-driver
-storage
-logical
569 The storage driver backend adding implementation of the storage APIs
for block
573 %package daemon
-driver
-storage
-disk
574 Summary: Storage driver plugin
for disk
575 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
576 Requires: libvirt
-libs
= %{version}-%{release}
578 Requires: device
-mapper
580 %description daemon
-driver
-storage
-disk
581 The storage driver backend adding implementation of the storage APIs
for block
582 volumes using the host disks.
585 %package daemon
-driver
-storage
-scsi
586 Summary: Storage driver plugin
for local scsi devices
587 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
588 Requires: libvirt
-libs
= %{version}-%{release}
590 %description daemon
-driver
-storage
-scsi
591 The storage driver backend adding implementation of the storage APIs
for scsi
595 %package daemon
-driver
-storage
-iscsi
596 Summary: Storage driver plugin
for iscsi
597 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
598 Requires: libvirt
-libs
= %{version}-%{release}
599 Requires: iscsi
-initiator
-utils
601 %description daemon
-driver
-storage
-iscsi
602 The storage driver backend adding implementation of the storage APIs
for iscsi
603 volumes using the host iscsi stack.
606 %if %{with_storage_iscsi_direct}
607 %package daemon
-driver
-storage
-iscsi
-direct
608 Summary: Storage driver plugin
for iscsi
-direct
609 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
610 Requires: libvirt
-libs
= %{version}-%{release}
613 %description daemon
-driver
-storage
-iscsi
-direct
614 The storage driver backend adding implementation of the storage APIs
for iscsi
615 volumes using libiscsi direct connection.
619 %package daemon
-driver
-storage
-mpath
620 Summary: Storage driver plugin
for multipath volumes
621 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
622 Requires: libvirt
-libs
= %{version}-%{release}
623 Requires: device
-mapper
625 %description daemon
-driver
-storage
-mpath
626 The storage driver backend adding implementation of the storage APIs
for
627 multipath storage using device mapper.
630 %if %{with_storage_gluster}
631 %package daemon
-driver
-storage
-gluster
632 Summary: Storage driver plugin
for gluster
633 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
634 Requires: libvirt
-libs
= %{version}-%{release}
636 Requires: glusterfs
-client
>= 2.0.1
638 %if (0%{?fedora} || 0%{?with_storage_gluster})
639 Requires: /usr
/sbin
/gluster
642 %description daemon
-driver
-storage
-gluster
643 The storage driver backend adding implementation of the storage APIs
for gluster
644 volumes using libgfapi.
648 %if %{with_storage_rbd}
649 %package daemon
-driver
-storage
-rbd
650 Summary: Storage driver plugin
for rbd
651 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
652 Requires: libvirt
-libs
= %{version}-%{release}
654 %description daemon
-driver
-storage
-rbd
655 The storage driver backend adding implementation of the storage APIs
for rbd
656 volumes using the ceph protocol.
660 %if %{with_storage_sheepdog}
661 %package daemon
-driver
-storage
-sheepdog
662 Summary: Storage driver plugin
for sheepdog
663 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
664 Requires: libvirt
-libs
= %{version}-%{release}
667 %description daemon
-driver
-storage
-sheepdog
668 The storage driver backend adding implementation of the storage APIs
for
669 sheepdog volumes using.
673 %if %{with_storage_zfs}
674 %package daemon
-driver
-storage
-zfs
675 Summary: Storage driver plugin
for ZFS
676 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
677 Requires: libvirt
-libs
= %{version}-%{release}
678 # Support any conforming implementation of zfs
680 Requires: /sbin
/zpool
682 %description daemon
-driver
-storage
-zfs
683 The storage driver backend adding implementation of the storage APIs
for
688 %package daemon
-driver
-storage
689 Summary: Storage driver plugin including all backends
for the libvirtd daemon
690 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
691 Requires: libvirt
-daemon
-driver
-storage
-disk
= %{version}-%{release}
692 Requires: libvirt
-daemon
-driver
-storage
-logical
= %{version}-%{release}
693 Requires: libvirt
-daemon
-driver
-storage
-scsi
= %{version}-%{release}
694 Requires: libvirt
-daemon
-driver
-storage
-iscsi
= %{version}-%{release}
695 Requires: libvirt
-daemon
-driver
-storage
-mpath
= %{version}-%{release}
696 %if %{with_storage_iscsi_direct}
697 Requires: libvirt
-daemon
-driver
-storage
-iscsi
-direct
= %{version}-%{release}
699 %if %{with_storage_gluster}
700 Requires: libvirt
-daemon
-driver
-storage
-gluster
= %{version}-%{release}
702 %if %{with_storage_rbd}
703 Requires: libvirt
-daemon
-driver
-storage
-rbd
= %{version}-%{release}
705 %if %{with_storage_sheepdog}
706 Requires: libvirt
-daemon
-driver
-storage
-sheepdog
= %{version}-%{release}
708 %if %{with_storage_zfs}
709 Requires: libvirt
-daemon
-driver
-storage
-zfs
= %{version}-%{release}
712 %description daemon
-driver
-storage
713 The storage driver plugin
for the libvirtd daemon
, providing
714 an implementation of the storage APIs using LVM
, iSCSI
,
719 %package daemon
-driver
-qemu
720 Summary: QEMU driver plugin
for the libvirtd daemon
721 Requires: libvirt
-daemon
= %{version}-%{release}
722 Requires: libvirt
-libs
= %{version}-%{release}
723 Requires: /usr
/bin
/qemu
-img
724 # For image compression
729 %if 0%{?fedora} || 0%{?rhel} > 7
730 Requires: systemd
-container
733 %description daemon
-driver
-qemu
734 The qemu driver plugin
for the libvirtd daemon
, providing
735 an implementation of the hypervisor driver APIs using
741 %package daemon
-driver
-lxc
742 Summary: LXC driver plugin
for the libvirtd daemon
743 Requires: libvirt
-daemon
= %{version}-%{release}
744 Requires: libvirt
-libs
= %{version}-%{release}
745 # There really is a hard cross-driver dependency here
746 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
747 %if 0%{?fedora} || 0%{?rhel} > 7
748 Requires: systemd
-container
751 %description daemon
-driver
-lxc
752 The LXC driver plugin
for the libvirtd daemon
, providing
753 an implementation of the hypervisor driver APIs using
759 %package daemon
-driver
-vbox
760 Summary: VirtualBox driver plugin
for the libvirtd daemon
761 Requires: libvirt
-daemon
= %{version}-%{release}
762 Requires: libvirt
-libs
= %{version}-%{release}
764 %description daemon
-driver
-vbox
765 The vbox driver plugin
for the libvirtd daemon
, providing
766 an implementation of the hypervisor driver APIs using
772 %package daemon
-driver
-libxl
773 Summary: Libxl driver plugin
for the libvirtd daemon
774 Requires: libvirt
-daemon
= %{version}-%{release}
775 Requires: libvirt
-libs
= %{version}-%{release}
776 Obsoletes
: libvirt
-daemon
-driver
-xen
< 4.3.0
778 %description daemon
-driver
-libxl
779 The Libxl driver plugin
for the libvirtd daemon
, providing
780 an implementation of the hypervisor driver APIs using
788 Summary: Server side daemon
& driver required to run QEMU guests
790 Requires: libvirt
-daemon
= %{version}-%{release}
791 Requires: libvirt
-daemon
-driver
-qemu
= %{version}-%{release}
792 Requires: libvirt
-daemon
-driver
-interface
= %{version}-%{release}
793 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
794 Requires: libvirt
-daemon
-driver
-nodedev
= %{version}-%{release}
795 Requires: libvirt
-daemon
-driver
-nwfilter
= %{version}-%{release}
796 Requires: libvirt
-daemon
-driver
-secret
= %{version}-%{release}
797 Requires: libvirt
-daemon
-driver
-storage
= %{version}-%{release}
800 %description daemon
-qemu
801 Server side daemon and driver required to manage the virtualization
802 capabilities of the QEMU TCG emulators
808 Summary: Server side daemon
& driver required to run KVM guests
810 Requires: libvirt
-daemon
= %{version}-%{release}
811 Requires: libvirt
-daemon
-driver
-qemu
= %{version}-%{release}
812 Requires: libvirt
-daemon
-driver
-interface
= %{version}-%{release}
813 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
814 Requires: libvirt
-daemon
-driver
-nodedev
= %{version}-%{release}
815 Requires: libvirt
-daemon
-driver
-nwfilter
= %{version}-%{release}
816 Requires: libvirt
-daemon
-driver
-secret
= %{version}-%{release}
817 Requires: libvirt
-daemon
-driver
-storage
= %{version}-%{release}
820 %description daemon
-kvm
821 Server side daemon and driver required to manage the virtualization
822 capabilities of the KVM hypervisor
828 Summary: Server side daemon
& driver required to run LXC guests
830 Requires: libvirt
-daemon
= %{version}-%{release}
831 Requires: libvirt
-daemon
-driver
-lxc
= %{version}-%{release}
832 Requires: libvirt
-daemon
-driver
-interface
= %{version}-%{release}
833 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
834 Requires: libvirt
-daemon
-driver
-nodedev
= %{version}-%{release}
835 Requires: libvirt
-daemon
-driver
-nwfilter
= %{version}-%{release}
836 Requires: libvirt
-daemon
-driver
-secret
= %{version}-%{release}
837 Requires: libvirt
-daemon
-driver
-storage
= %{version}-%{release}
839 %description daemon
-lxc
840 Server side daemon and driver required to manage the virtualization
847 Summary: Server side daemon
& driver required to run XEN guests
849 Requires: libvirt
-daemon
= %{version}-%{release}
851 Requires: libvirt
-daemon
-driver
-libxl
= %{version}-%{release}
853 Requires: libvirt
-daemon
-driver
-interface
= %{version}-%{release}
854 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
855 Requires: libvirt
-daemon
-driver
-nodedev
= %{version}-%{release}
856 Requires: libvirt
-daemon
-driver
-nwfilter
= %{version}-%{release}
857 Requires: libvirt
-daemon
-driver
-secret
= %{version}-%{release}
858 Requires: libvirt
-daemon
-driver
-storage
= %{version}-%{release}
861 %description daemon
-xen
862 Server side daemon and driver required to manage the virtualization
868 Summary: Server side daemon
& driver required to run VirtualBox guests
870 Requires: libvirt
-daemon
= %{version}-%{release}
871 Requires: libvirt
-daemon
-driver
-vbox
= %{version}-%{release}
872 Requires: libvirt
-daemon
-driver
-interface
= %{version}-%{release}
873 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
874 Requires: libvirt
-daemon
-driver
-nodedev
= %{version}-%{release}
875 Requires: libvirt
-daemon
-driver
-nwfilter
= %{version}-%{release}
876 Requires: libvirt
-daemon
-driver
-secret
= %{version}-%{release}
877 Requires: libvirt
-daemon
-driver
-storage
= %{version}-%{release}
879 %description daemon
-vbox
880 Server side daemon and driver required to manage the virtualization
881 capabilities of VirtualBox
885 Summary: Client side utilities of the libvirt library
886 Requires: %{name}-libs = %{version}-%{release}
889 # Needed by /usr/libexec/libvirt-guests.sh script.
891 # Needed by virt-pki-validate script.
892 Requires: gnutls
-utils
893 %if %{with_bash_completion}
894 Requires: %{name}-bash-completion = %{version}-%{release}
898 The client binaries needed to access the virtualization
899 capabilities of recent versions of Linux
(and other OSes
).
902 Summary: Client side libraries
903 # So remote clients can access libvirt over SSH tunnel
904 # (client invokes 'nc' against the UNIX socket on the server)
907 # Needed by default sasl.conf - no onerous extra deps, since
908 # 100's of other things on a system already pull in krb5-libs
909 Requires: cyrus
-sasl
-gssapi
912 Shared libraries
for accessing the libvirt daemon.
915 Summary: Set of tools to control libvirt daemon
916 Requires: %{name}-libs = %{version}-%{release}
918 %if %{with_bash_completion}
919 Requires: %{name}-bash-completion = %{version}-%{release}
923 The client side utilities to control the libvirt daemon.
925 %if %{with_bash_completion}
926 %package bash
-completion
927 Summary: Bash completion script
929 %description bash
-completion
930 Bash completion script stub.
933 %if %{with_wireshark}
935 Summary: Wireshark dissector plugin
for libvirt RPC transactions
936 Requires: wireshark
>= 2.4.0
937 Requires: %{name}-libs = %{version}-%{release}
939 %description wireshark
940 Wireshark dissector plugin
for better analysis of libvirt RPC traffic.
945 Summary: Login shell
for connecting users to an LXC container
946 Requires: %{name}-libs = %{version}-%{release}
948 %description login
-shell
949 Provides the
set-uid virt
-login
-shell binary that is used to
950 connect a user to an LXC container when they login
, by switching
955 Summary: Libraries
, includes
, etc. to compile with the libvirt library
956 Requires: %{name}-libs = %{version}-%{release}
960 Include header files
& development libraries
for the libvirt C library.
963 %package lock
-sanlock
964 Summary: Sanlock lock manager plugin
for QEMU driver
965 Requires: sanlock
>= 2.4
966 #for virt-sanlock-cleanup require augeas
968 Requires: %{name}-daemon = %{version}-%{release}
969 Requires: %{name}-libs = %{version}-%{release}
971 %description lock
-sanlock
972 Includes the Sanlock lock manager plugin
for the QEMU
977 Summary: Libvirt plugin
for Name Service Switch
978 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
981 Libvirt plugin
for NSS
for translating domain names into IP addresses.
989 %if ! %{supported_platform}
990 echo "This RPM requires either Fedora
>= %{min_fedora} or RHEL >= %{min_rhel}"
995 %define arg_qemu
--with
-qemu
997 %define arg_qemu
--without
-qemu
1001 %define arg_openvz
--with
-openvz
1003 %define arg_openvz
--without
-openvz
1007 %define arg_lxc
--with
-lxc
1008 %define arg_login_shell
--with
-login
-shell
1010 %define arg_lxc
--without
-lxc
1011 %define arg_login_shell
--without
-login
-shell
1015 %define arg_vbox
--with
-vbox
1017 %define arg_vbox
--without
-vbox
1021 %define arg_libxl
--with
-libxl
1023 %define arg_libxl
--without
-libxl
1027 %define arg_phyp
--with
-phyp
1029 %define arg_phyp
--without
-phyp
1033 %define arg_esx
--with
-esx
1035 %define arg_esx
--without
-esx
1039 %define arg_hyperv
--with
-hyperv
1041 %define arg_hyperv
--without
-hyperv
1045 %define arg_vmware
--with
-vmware
1047 %define arg_vmware
--without
-vmware
1050 %if %{with_storage_rbd}
1051 %define arg_storage_rbd
--with
-storage
-rbd
1053 %define arg_storage_rbd
--without
-storage
-rbd
1056 %if %{with_storage_sheepdog}
1057 %define arg_storage_sheepdog
--with
-storage
-sheepdog
1059 %define arg_storage_sheepdog
--without
-storage
-sheepdog
1062 %if %{with_storage_gluster}
1063 %define arg_storage_gluster
--with
-storage
-gluster
1065 %define arg_storage_gluster
--without
-storage
-gluster
1068 %if %{with_storage_zfs}
1069 %define arg_storage_zfs
--with
-storage
-zfs
1071 %define arg_storage_zfs
--without
-storage
-zfs
1075 %define arg_numactl
--with
-numactl
1077 %define arg_numactl
--without
-numactl
1081 %define arg_numad
--with
-numad
1083 %define arg_numad
--without
-numad
1087 %define arg_fuse
--with
-fuse
1089 %define arg_fuse
--without
-fuse
1093 %define arg_sanlock
--with
-sanlock
1095 %define arg_sanlock
--without
-sanlock
1098 %if %{with_firewalld}
1099 %define arg_firewalld
--with
-firewalld
1101 %define arg_firewalld
--without
-firewalld
1104 %if %{with_firewalld_zone}
1105 %define arg_firewalld_zone
--with
-firewalld
-zone
1107 %define arg_firewalld_zone
--without
-firewalld
-zone
1110 %if %{with_wireshark}
1111 %define arg_wireshark
--with
-wireshark
-dissector
1113 %define arg_wireshark
--without
-wireshark
-dissector
1116 %if %{with_storage_iscsi_direct}
1117 %define arg_storage_iscsi_direct
--with
-storage
-iscsi
-direct
1119 %define arg_storage_iscsi_direct
--without
-storage
-iscsi
-direct
1122 %define when %
(date
+"%
%F-%
%T"
)
1123 %define where %
(hostname
)
1124 %define who
%{?packager}%{!?packager:Unknown}
1125 %define arg_packager
--with
-packager
="
%{who}, %{when}, %{where}"
1126 %define arg_packager_version
--with
-packager
-version
="
%{release}"
1128 %define arg_selinux_mount
--with
-selinux
-mount
="
/sys
/fs
/selinux"
1131 # Nightly edk2.git-ovmf-x64
1132 LOADERS
="
/usr
/share
/edk2.git
/ovmf
-x64
/OVMF_CODE
-pure
-efi.fd
:/usr
/share
/edk2.git
/ovmf
-x64
/OVMF_VARS
-pure
-efi.fd"
1133 # Nightly edk2.git-ovmf-ia32
1134 LOADERS
="$LOADERS
:/usr
/share
/edk2.git
/ovmf
-ia32
/OVMF_CODE
-pure
-efi.fd
:/usr
/share
/edk2.git
/ovmf
-ia32
/OVMF_VARS
-pure
-efi.fd"
1135 # Nightly edk2.git-aarch64
1136 LOADERS
="$LOADERS
:/usr
/share
/edk2.git
/aarch64
/QEMU_EFI
-pflash.raw
:/usr
/share
/edk2.git
/aarch64
/vars
-template
-pflash.raw"
1137 # Nightly edk2.git-arm
1138 LOADERS
="$LOADERS
:/usr
/share
/edk2.git
/arm
/QEMU_EFI
-pflash.raw
:/usr
/share
/edk2.git
/arm
/vars
-template
-pflash.raw"
1141 LOADERS
="$LOADERS
:/usr
/share
/edk2
/ovmf
/OVMF_CODE.fd
:/usr
/share
/edk2
/ovmf
/OVMF_VARS.fd"
1142 # Fedora edk2-ovmf-ia32
1143 LOADERS
="$LOADERS
:/usr
/share
/edk2
/ovmf
-ia32
/OVMF_CODE.fd
:/usr
/share
/edk2
/ovmf
-ia32
/OVMF_VARS.fd"
1144 # Fedora edk2-aarch64
1145 LOADERS
="$LOADERS
:/usr
/share
/edk2
/aarch64
/QEMU_EFI
-pflash.raw
:/usr
/share
/edk2
/aarch64
/vars
-template
-pflash.raw"
1147 LOADERS
="$LOADERS
:/usr
/share
/edk2
/arm
/QEMU_EFI
-pflash.raw
:/usr
/share
/edk2
/arm
/vars
-template
-pflash.raw"
1148 %define arg_loader_nvram
--with
-loader
-nvram
="$LOADERS"
1151 # place macros above and build commands below this comment
1153 export SOURCE_DATE_EPOCH
=$
(stat
--printf='
%Y'
%{_specdir}/%{name}.spec
)
1155 %if 0%{?enable_autotools}
1160 %configure %{?arg_qemu} \
1179 --with
-storage
-lvm \
1180 --with
-storage
-iscsi \
1181 %{?arg_storage_iscsi_direct} \
1182 --with
-storage
-scsi \
1183 --with
-storage
-disk \
1184 --with
-storage
-mpath \
1185 %{?arg_storage_rbd} \
1186 %{?arg_storage_sheepdog} \
1187 %{?arg_storage_gluster} \
1188 %{?arg_storage_zfs} \
1189 --without
-storage
-vstorage \
1196 %{?arg_selinux_mount} \
1197 --without
-apparmor \
1206 --with
-driver
-modules \
1208 %{?arg_firewalld_zone} \
1210 --without
-pm
-utils \
1213 %{arg_packager_version} \
1214 --with
-qemu
-user
=%{qemu_user} \
1215 --with
-qemu
-group
=%{qemu_group} \
1216 --with
-tls
-priority
=%{tls_priority} \
1217 %{?arg_loader_nvram} \
1219 --enable-expensive
-tests \
1220 --with
-init
-script
=systemd \
1222 make %{?_smp_mflags} V
=1
1228 export SOURCE_DATE_EPOCH
=$
(stat
--printf='
%Y'
%{_specdir}/%{name}.spec
)
1230 %make_install %{?_smp_mflags} SYSTEMD_UNIT_DIR=%{_unitdir} V
=1
1232 rm -f $RPM_BUILD_ROOT
%{_libdir}/*.la
1233 rm -f $RPM_BUILD_ROOT
%{_libdir}/*.a
1234 rm -f $RPM_BUILD_ROOT
%{_libdir}/libvirt
/lock
-driver
/*.la
1235 rm -f $RPM_BUILD_ROOT
%{_libdir}/libvirt
/lock
-driver
/*.a
1236 rm -f $RPM_BUILD_ROOT
%{_libdir}/libvirt
/connection
-driver
/*.la
1237 rm -f $RPM_BUILD_ROOT
%{_libdir}/libvirt
/connection
-driver
/*.a
1238 rm -f $RPM_BUILD_ROOT
%{_libdir}/libvirt
/storage
-backend
/*.la
1239 rm -f $RPM_BUILD_ROOT
%{_libdir}/libvirt
/storage
-backend
/*.a
1240 rm -f $RPM_BUILD_ROOT
%{_libdir}/libvirt
/storage
-file
/*.la
1241 rm -f $RPM_BUILD_ROOT
%{_libdir}/libvirt
/storage
-file
/*.a
1242 %if %{with_wireshark}
1243 rm -f $RPM_BUILD_ROOT
%{wireshark_plugindir}/libvirt.la
1246 install -d
-m
0755 $RPM_BUILD_ROOT
%{_datadir}/lib
/libvirt
/dnsmasq
/
1247 # We don't want to install /etc/libvirt/qemu/networks in the main %files list
1248 # because if the admin wants to delete the default network completely, we don't
1249 # want to end up re-incarnating it on every RPM upgrade.
1250 install -d
-m
0755 $RPM_BUILD_ROOT
%{_datadir}/libvirt
/networks
/
1251 cp $RPM_BUILD_ROOT
%{_sysconfdir}/libvirt
/qemu
/networks
/default.xml \
1252 $RPM_BUILD_ROOT
%{_datadir}/libvirt
/networks
/default.xml
1253 # libvirt saves this file with mode 0600
1254 chmod
0600 $RPM_BUILD_ROOT
%{_sysconfdir}/libvirt
/qemu
/networks
/default.xml
1256 # nwfilter files are installed in /usr/share/libvirt and copied to /etc in %post
1257 # to avoid verification errors on changed files in /etc
1258 install -d
-m
0755 $RPM_BUILD_ROOT
%{_datadir}/libvirt
/nwfilter
/
1259 cp
-a $RPM_BUILD_ROOT
%{_sysconfdir}/libvirt
/nwfilter
/*.xml \
1260 $RPM_BUILD_ROOT
%{_datadir}/libvirt
/nwfilter
/
1261 # libvirt saves these files with mode 600
1262 chmod
600 $RPM_BUILD_ROOT
%{_sysconfdir}/libvirt
/nwfilter
/*.xml
1264 # Strip auto-generated UUID - we need it generated per-install
1265 sed
-i
-e "
/<uuid
>/d" $RPM_BUILD_ROOT
%{_datadir}/libvirt
/networks
/default.xml
1267 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/libvirtd_qemu.aug
1268 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/tests
/test_libvirtd_qemu.aug
1272 %if ! %{with_sanlock}
1273 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/libvirt_sanlock.aug
1274 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/tests
/test_libvirt_sanlock.aug
1278 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/libvirtd_lxc.aug
1279 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/tests
/test_libvirtd_lxc.aug
1283 rm -rf $RPM_BUILD_ROOT
%{_sysconfdir}/libvirt
/qemu.conf
1284 rm -rf $RPM_BUILD_ROOT
%{_sysconfdir}/logrotate.d
/libvirtd.qemu
1287 rm -rf $RPM_BUILD_ROOT
%{_sysconfdir}/libvirt
/lxc.conf
1288 rm -rf $RPM_BUILD_ROOT
%{_sysconfdir}/logrotate.d
/libvirtd.lxc
1291 rm -rf $RPM_BUILD_ROOT
%{_sysconfdir}/libvirt
/libxl.conf
1292 rm -rf $RPM_BUILD_ROOT
%{_sysconfdir}/logrotate.d
/libvirtd.libxl
1293 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/libvirtd_libxl.aug
1294 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/tests
/test_libvirtd_libxl.aug
1297 # Copied into libvirt-docs subpackage eventually
1298 mv $RPM_BUILD_ROOT
%{_datadir}/doc
/libvirt libvirt
-docs
1300 %ifarch %{power64} s390x x86_64 ia64 alpha sparc64
1301 mv $RPM_BUILD_ROOT
%{_datadir}/systemtap
/tapset
/libvirt_probes.stp \
1302 $RPM_BUILD_ROOT
%{_datadir}/systemtap
/tapset
/libvirt_probes
-64.stp
1305 mv $RPM_BUILD_ROOT
%{_datadir}/systemtap
/tapset
/libvirt_qemu_probes.stp \
1306 $RPM_BUILD_ROOT
%{_datadir}/systemtap
/tapset
/libvirt_qemu_probes
-64.stp
1312 # These tests don't current work in a mock build root
1313 for i
in nodeinfotest seclabeltest
1316 printf 'int main
(void
) { return 0; }'
> $i.c
1317 printf '
#!/bin/sh\nexit 0\n' > $i
1320 if ! make %{?_smp_mflags} check VIR_TEST_DEBUG
=1
1322 cat
test-suite.log || true
1337 # 'libvirt' group is just to allow password-less polkit access to
1338 # libvirtd. The uid number is irrelevant, so we use dynamic allocation
1339 # described at the above link.
1340 getent group libvirt
>/dev
/null || groupadd
-r libvirt
1346 %systemd_post virtlockd.socket virtlockd
-admin.socket
1347 %systemd_post virtlogd.socket virtlogd
-admin.socket
1348 %systemd_post libvirtd.service
1350 # request daemon restart in posttrans
1351 mkdir -p
%{_localstatedir}/lib
/rpm
-state
/libvirt ||
:
1352 touch
%{_localstatedir}/lib
/rpm
-state
/libvirt
/restart ||
:
1355 %systemd_preun libvirtd.service
1356 %systemd_preun virtlogd.socket virtlogd
-admin.socket virtlogd.service
1357 %systemd_preun virtlockd.socket virtlockd
-admin.socket virtlockd.service
1360 /bin
/systemctl daemon
-reload
>/dev
/null
2>&1 ||
:
1361 if [ $
1 -ge
1 ] ; then
1362 /bin
/systemctl reload
-or
-try
-restart virtlockd.service
>/dev
/null
2>&1 ||
:
1363 /bin
/systemctl reload
-or
-try
-restart virtlogd.service
>/dev
/null
2>&1 ||
:
1366 # In upgrade scenario we must explicitly enable virtlockd/virtlogd
1367 # sockets, if libvirtd is already enabled and start them if
1368 # libvirtd is running, otherwise you'll get failures to start
1370 %triggerpostun daemon
-- libvirt
-daemon
< 1.3.0
1371 if [ $
1 -ge
1 ] ; then
1372 /bin
/systemctl is
-enabled libvirtd.service
1>/dev
/null
2>&1 &&
1373 /bin
/systemctl
enable virtlogd.socket virtlogd
-admin.socket ||
:
1374 /bin
/systemctl is
-active libvirtd.service
1>/dev
/null
2>&1 &&
1375 /bin
/systemctl start virtlogd.socket virtlogd
-admin.socket ||
:
1379 if [ -f
%{_localstatedir}/lib
/rpm
-state
/libvirt
/restart
]; then
1380 /bin
/systemctl try
-restart libvirtd.service
>/dev
/null
2>&1 ||
:
1382 rm -rf
%{_localstatedir}/lib
/rpm
-state
/libvirt ||
:
1384 %post daemon
-driver
-network
1385 %if %{with_firewalld_zone}
1389 %postun daemon
-driver
-network
1390 %if %{with_firewalld_zone}
1394 %post daemon
-config
-network
1395 if test $
1 -eq
1 && test ! -f
%{_sysconfdir}/libvirt
/qemu
/networks
/default.xml
; then
1396 # see if the network used by default network creates a conflict,
1397 # and try to resolve it
1398 # NB: 192.168.122.0/24 is used in the default.xml template file;
1399 # do not modify any of those values here without also modifying
1400 # them in the template.
1405 routes
="$
{nl
}$
(ip route show | cut
-d' '
-f1
)$
{nl
}"
1407 *"$
{nl
}192.168.$
{orig_sub
}.0/24$
{nl
}"
*)
1408 # there was a match, so we need to look for an unused subnet
1409 for new_sub
in $
(seq
124 254); do
1411 *"$
{nl
}192.168.$
{new_sub
}.0/24$
{nl
}"
*)
1424 UUID
=`
/usr
/bin
/uuidgen`
1425 sed
-e "s
/$
{orig_sub
}/$
{sub
}/g" \
1426 -e "s
,</name
>,</name
>\n
<uuid
>$UUID
</uuid
>," \
1427 < %{_datadir}/libvirt
/networks
/default.xml \
1428 > %{_sysconfdir}/libvirt
/qemu
/networks
/default.xml
1429 ln
-s ..
/default.xml
%{_sysconfdir}/libvirt
/qemu
/networks
/autostart
/default.xml
1430 # libvirt saves this file with mode 0600
1431 chmod
0600 %{_sysconfdir}/libvirt
/qemu
/networks
/default.xml
1433 # Make sure libvirt picks up the new network defininiton
1434 mkdir -p
%{_localstatedir}/lib
/rpm
-state
/libvirt ||
:
1435 touch
%{_localstatedir}/lib
/rpm
-state
/libvirt
/restart ||
:
1438 %posttrans daemon
-config
-network
1439 if [ -f
%{_localstatedir}/lib
/rpm
-state
/libvirt
/restart
]; then
1440 /bin
/systemctl try
-restart libvirtd.service
>/dev
/null
2>&1 ||
:
1442 rm -rf
%{_localstatedir}/lib
/rpm
-state
/libvirt ||
:
1444 %post daemon
-config
-nwfilter
1445 cp
%{_datadir}/libvirt/nwfilter/*.xml %{_sysconfdir}/libvirt
/nwfilter
/
1446 # libvirt saves these files with mode 600
1447 chmod
600 %{_sysconfdir}/libvirt
/nwfilter
/*.xml
1448 # Make sure libvirt picks up the new nwfilter defininitons
1449 mkdir -p
%{_localstatedir}/lib
/rpm
-state
/libvirt ||
:
1450 touch
%{_localstatedir}/lib
/rpm
-state
/libvirt
/restart ||
:
1452 %posttrans daemon
-config
-nwfilter
1453 if [ -f
%{_localstatedir}/lib
/rpm
-state
/libvirt
/restart
]; then
1454 /bin
/systemctl try
-restart libvirtd.service
>/dev
/null
2>&1 ||
:
1456 rm -rf
%{_localstatedir}/lib
/rpm
-state
/libvirt ||
:
1460 %pre daemon
-driver
-qemu
1461 # We want soft static allocation of well-known ids, as disk images
1462 # are commonly shared across NFS mounts by id rather than name; see
1463 # https://fedoraproject.org/wiki/Packaging:UsersAndGroups
1464 getent group kvm
>/dev
/null || groupadd
-f
-g
36 -r kvm
1465 getent group qemu
>/dev
/null || groupadd
-f
-g
107 -r qemu
1466 if ! getent passwd qemu
>/dev
/null
; then
1467 if ! getent passwd
107 >/dev
/null
; then
1468 useradd
-r
-u
107 -g qemu
-G kvm
-d
/ -s
/sbin
/nologin
-c "qemu user" qemu
1470 useradd
-r
-g qemu
-G kvm
-d
/ -s
/sbin
/nologin
-c "qemu user" qemu
1478 %systemd_preun libvirt
-guests.service
1481 %systemd_post libvirt
-guests.service
1484 %systemd_postun libvirt
-guests.service
1488 getent group virtlogin
>/dev
/null || groupadd
-r virtlogin
1495 %doc AUTHORS ChangeLog.gz NEWS README README.md
1499 %dir %{_datadir}/gtk
-doc
/html
/libvirt
/
1500 %doc %{_datadir}/gtk
-doc
/html
/libvirt
/*.devhelp
1501 %doc %{_datadir}/gtk
-doc
/html
/libvirt
/*.html
1502 %doc %{_datadir}/gtk
-doc
/html
/libvirt
/*.png
1503 %doc %{_datadir}/gtk
-doc
/html
/libvirt
/*.css
1508 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/
1510 %{_unitdir}/libvirtd.service
1511 %{_unitdir}/virt
-guest
-shutdown.target
1512 %{_unitdir}/virtlogd.service
1513 %{_unitdir}/virtlogd.socket
1514 %{_unitdir}/virtlogd
-admin.socket
1515 %{_unitdir}/virtlockd.service
1516 %{_unitdir}/virtlockd.socket
1517 %{_unitdir}/virtlockd
-admin.socket
1518 %config(noreplace
) %{_sysconfdir}/sysconfig
/libvirtd
1519 %config(noreplace
) %{_sysconfdir}/sysconfig
/virtlogd
1520 %config(noreplace
) %{_sysconfdir}/sysconfig
/virtlockd
1521 %config(noreplace
) %{_sysconfdir}/libvirt
/libvirtd.conf
1522 %config(noreplace
) %{_sysconfdir}/libvirt
/virtlogd.conf
1523 %config(noreplace
) %{_sysconfdir}/libvirt
/virtlockd.conf
1524 %config(noreplace
) %{_sysconfdir}/sasl2
/libvirt.conf
1525 %config(noreplace
) %{_prefix}/lib
/sysctl.d
/60-libvirtd.conf
1527 %config(noreplace
) %{_sysconfdir}/logrotate.d
/libvirtd
1528 %dir %{_datadir}/libvirt
/
1530 %ghost %dir %{_localstatedir}/run
/libvirt
/
1532 %dir %attr(0711, root
, root
) %{_localstatedir}/lib
/libvirt
/images
/
1533 %dir %attr(0711, root
, root
) %{_localstatedir}/lib
/libvirt
/filesystems
/
1534 %dir %attr(0711, root
, root
) %{_localstatedir}/lib
/libvirt
/boot
/
1535 %dir %attr(0711, root
, root
) %{_localstatedir}/cache
/libvirt
/
1538 %dir %attr(0755, root
, root
) %{_libdir}/libvirt
/
1539 %dir %attr(0755, root
, root
) %{_libdir}/libvirt
/connection
-driver
/
1540 %dir %attr(0755, root
, root
) %{_libdir}/libvirt
/lock
-driver
1541 %attr(0755, root
, root
) %{_libdir}/libvirt
/lock
-driver
/lockd.so
1543 %{_datadir}/augeas
/lenses
/libvirtd.aug
1544 %{_datadir}/augeas
/lenses
/tests
/test_libvirtd.aug
1545 %{_datadir}/augeas
/lenses
/virtlogd.aug
1546 %{_datadir}/augeas
/lenses
/tests
/test_virtlogd.aug
1547 %{_datadir}/augeas
/lenses
/virtlockd.aug
1548 %{_datadir}/augeas
/lenses
/tests
/test_virtlockd.aug
1549 %{_datadir}/augeas
/lenses
/libvirt_lockd.aug
1551 %{_datadir}/augeas
/lenses
/tests
/test_libvirt_lockd.aug
1554 %{_datadir}/polkit
-1/actions
/org.libvirt.unix.policy
1555 %{_datadir}/polkit
-1/actions
/org.libvirt.api.policy
1556 %{_datadir}/polkit
-1/rules.d
/50-libvirt.rules
1558 %dir %attr(0700, root
, root
) %{_localstatedir}/log
/libvirt
/
1560 %attr(0755, root
, root
) %{_libexecdir}/libvirt_iohelper
1562 %attr(0755, root
, root
) %{_sbindir}/libvirtd
1563 %attr(0755, root
, root
) %{_sbindir}/virtlogd
1564 %attr(0755, root
, root
) %{_sbindir}/virtlockd
1566 %{_mandir}/man8
/libvirtd
.8*
1567 %{_mandir}/man8
/virtlogd
.8*
1568 %{_mandir}/man8
/virtlockd
.8*
1569 %{_mandir}/man7
/virkey
*.7*
1571 %doc examples
/polkit
/*.rules
1573 %files daemon
-config
-network
1574 %dir %{_datadir}/libvirt
/networks
/
1575 %{_datadir}/libvirt
/networks
/default.xml
1576 %ghost %{_sysconfdir}/libvirt
/qemu
/networks
/default.xml
1577 %ghost %{_sysconfdir}/libvirt
/qemu
/networks
/autostart
/default.xml
1579 %files daemon
-config
-nwfilter
1580 %dir %{_datadir}/libvirt
/nwfilter
/
1581 %{_datadir}/libvirt
/nwfilter
/*.xml
1582 %ghost %{_sysconfdir}/libvirt
/nwfilter
/*.xml
1584 %files daemon
-driver
-interface
1585 %{_libdir}/%{name}/connection
-driver
/libvirt_driver_interface.so
1587 %files daemon
-driver
-network
1588 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/qemu
/
1589 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/qemu
/networks
/
1590 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/qemu
/networks
/autostart
1591 %ghost %dir %{_localstatedir}/run
/libvirt
/network
/
1592 %dir %attr(0700, root
, root
) %{_localstatedir}/lib
/libvirt
/network
/
1593 %dir %attr(0755, root
, root
) %{_localstatedir}/lib
/libvirt
/dnsmasq
/
1594 %attr(0755, root
, root
) %{_libexecdir}/libvirt_leaseshelper
1595 %{_libdir}/%{name}/connection
-driver
/libvirt_driver_network.so
1597 %if %{with_firewalld_zone}
1598 %{_prefix}/lib
/firewalld
/zones
/libvirt.xml
1601 %files daemon
-driver
-nodedev
1602 %{_libdir}/%{name}/connection
-driver
/libvirt_driver_nodedev.so
1604 %files daemon
-driver
-nwfilter
1605 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/nwfilter
/
1606 %ghost %dir %{_localstatedir}/run
/libvirt
/network
/
1607 %{_libdir}/%{name}/connection
-driver
/libvirt_driver_nwfilter.so
1609 %files daemon
-driver
-secret
1610 %{_libdir}/%{name}/connection
-driver
/libvirt_driver_secret.so
1612 %files daemon
-driver
-storage
1614 %files daemon
-driver
-storage
-core
1615 %attr(0755, root
, root
) %{_libexecdir}/libvirt_parthelper
1616 %{_libdir}/%{name}/connection
-driver
/libvirt_driver_storage.so
1617 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_fs.so
1618 %{_libdir}/%{name}/storage
-file
/libvirt_storage_file_fs.so
1620 %files daemon
-driver
-storage
-disk
1621 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_disk.so
1623 %files daemon
-driver
-storage
-logical
1624 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_logical.so
1626 %files daemon
-driver
-storage
-scsi
1627 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_scsi.so
1629 %files daemon
-driver
-storage
-iscsi
1630 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_iscsi.so
1632 %if %{with_storage_iscsi_direct}
1633 %files daemon
-driver
-storage
-iscsi
-direct
1634 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_iscsi
-direct.so
1637 %files daemon
-driver
-storage
-mpath
1638 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_mpath.so
1640 %if %{with_storage_gluster}
1641 %files daemon
-driver
-storage
-gluster
1642 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_gluster.so
1643 %{_libdir}/%{name}/storage
-file
/libvirt_storage_file_gluster.so
1646 %if %{with_storage_rbd}
1647 %files daemon
-driver
-storage
-rbd
1648 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_rbd.so
1651 %if %{with_storage_sheepdog}
1652 %files daemon
-driver
-storage
-sheepdog
1653 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_sheepdog.so
1656 %if %{with_storage_zfs}
1657 %files daemon
-driver
-storage
-zfs
1658 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_zfs.so
1662 %files daemon
-driver
-qemu
1663 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/qemu
/
1664 %dir %attr(0700, root
, root
) %{_localstatedir}/log
/libvirt
/qemu
/
1665 %config(noreplace
) %{_sysconfdir}/libvirt
/qemu.conf
1666 %config(noreplace
) %{_sysconfdir}/libvirt
/qemu
-lockd.conf
1667 %config(noreplace
) %{_sysconfdir}/logrotate.d
/libvirtd.qemu
1668 %ghost %dir %{_localstatedir}/run
/libvirt
/qemu
/
1669 %dir %attr(0751, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib
/libvirt
/qemu
/
1670 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache
/libvirt
/qemu
/
1671 %{_datadir}/augeas
/lenses
/libvirtd_qemu.aug
1672 %{_datadir}/augeas
/lenses
/tests
/test_libvirtd_qemu.aug
1673 %{_libdir}/%{name}/connection
-driver
/libvirt_driver_qemu.so
1674 %dir %attr(0711, root
, root
) %{_localstatedir}/lib
/libvirt
/swtpm
/
1675 %dir %attr(0711, root
, root
) %{_localstatedir}/log
/swtpm
/libvirt
/qemu
/
1679 %files daemon
-driver
-lxc
1680 %dir %attr(0700, root
, root
) %{_localstatedir}/log
/libvirt
/lxc
/
1681 %config(noreplace
) %{_sysconfdir}/libvirt
/lxc.conf
1682 %config(noreplace
) %{_sysconfdir}/logrotate.d
/libvirtd.lxc
1683 %ghost %dir %{_localstatedir}/run
/libvirt
/lxc
/
1684 %dir %attr(0700, root
, root
) %{_localstatedir}/lib
/libvirt
/lxc
/
1685 %{_datadir}/augeas
/lenses
/libvirtd_lxc.aug
1686 %{_datadir}/augeas
/lenses
/tests
/test_libvirtd_lxc.aug
1687 %attr(0755, root
, root
) %{_libexecdir}/libvirt_lxc
1688 %{_libdir}/%{name}/connection
-driver
/libvirt_driver_lxc.so
1692 %files daemon
-driver
-libxl
1693 %config(noreplace
) %{_sysconfdir}/libvirt
/libxl.conf
1694 %config(noreplace
) %{_sysconfdir}/logrotate.d
/libvirtd.libxl
1695 %config(noreplace
) %{_sysconfdir}/libvirt
/libxl
-lockd.conf
1696 %{_datadir}/augeas
/lenses
/libvirtd_libxl.aug
1697 %{_datadir}/augeas
/lenses
/tests
/test_libvirtd_libxl.aug
1698 %dir %attr(0700, root
, root
) %{_localstatedir}/log
/libvirt
/libxl
/
1699 %ghost %dir %{_localstatedir}/run
/libvirt
/libxl
/
1700 %dir %attr(0700, root
, root
) %{_localstatedir}/lib
/libvirt
/libxl
/
1701 %{_libdir}/%{name}/connection
-driver
/libvirt_driver_libxl.so
1705 %files daemon
-driver
-vbox
1706 %{_libdir}/%{name}/connection
-driver
/libvirt_driver_vbox.so
1709 %if %{with_qemu_tcg}
1713 %if %{with_qemu_kvm}
1732 %config(noreplace
) %{_sysconfdir}/libvirt
/qemu
-sanlock.conf
1735 %config(noreplace
) %{_sysconfdir}/libvirt
/libxl
-sanlock.conf
1737 %attr(0755, root
, root
) %{_libdir}/libvirt
/lock
-driver
/sanlock.so
1738 %{_datadir}/augeas
/lenses
/libvirt_sanlock.aug
1739 %{_datadir}/augeas
/lenses
/tests
/test_libvirt_sanlock.aug
1740 %dir %attr(0770, root
, sanlock
) %{_localstatedir}/lib
/libvirt
/sanlock
1741 %{_sbindir}/virt
-sanlock
-cleanup
1742 %{_mandir}/man8
/virt
-sanlock
-cleanup
.8*
1743 %attr(0755, root
, root
) %{_libexecdir}/libvirt_sanlock_helper
1747 %{_mandir}/man1
/virsh
.1*
1748 %{_mandir}/man1
/virt
-xml
-validate
.1*
1749 %{_mandir}/man1
/virt
-pki
-validate
.1*
1750 %{_mandir}/man1
/virt
-host
-validate
.1*
1752 %{_bindir}/virt
-xml
-validate
1753 %{_bindir}/virt
-pki
-validate
1754 %{_bindir}/virt
-host
-validate
1756 %{_datadir}/systemtap
/tapset
/libvirt_probes
*.stp
1757 %{_datadir}/systemtap
/tapset
/libvirt_functions.stp
1759 %{_datadir}/systemtap
/tapset
/libvirt_qemu_probes
*.stp
1762 %if %{with_bash_completion}
1763 %{_datadir}/bash
-completion
/completions
/virsh
1767 %{_unitdir}/libvirt
-guests.service
1768 %config(noreplace
) %{_sysconfdir}/sysconfig
/libvirt
-guests
1769 %attr(0755, root
, root
) %{_libexecdir}/libvirt
-guests.sh
1771 %files libs
-f
%{name}.lang
1772 %license COPYING COPYING.LESSER
1773 %config(noreplace
) %{_sysconfdir}/libvirt
/libvirt.conf
1774 %config(noreplace
) %{_sysconfdir}/libvirt
/libvirt
-admin.conf
1775 %{_libdir}/libvirt.so.
*
1776 %{_libdir}/libvirt
-qemu.so.
*
1777 %{_libdir}/libvirt
-lxc.so.
*
1778 %{_libdir}/libvirt
-admin.so.
*
1779 %dir %{_datadir}/libvirt
/
1780 %dir %{_datadir}/libvirt
/schemas
/
1781 %dir %attr(0755, root
, root
) %{_localstatedir}/lib
/libvirt
/
1783 %{_datadir}/libvirt
/schemas
/basictypes.rng
1784 %{_datadir}/libvirt
/schemas
/capability.rng
1785 %{_datadir}/libvirt
/schemas
/cputypes.rng
1786 %{_datadir}/libvirt
/schemas
/domain.rng
1787 %{_datadir}/libvirt
/schemas
/domaincaps.rng
1788 %{_datadir}/libvirt
/schemas
/domaincommon.rng
1789 %{_datadir}/libvirt
/schemas
/domainsnapshot.rng
1790 %{_datadir}/libvirt
/schemas
/interface.rng
1791 %{_datadir}/libvirt
/schemas
/network.rng
1792 %{_datadir}/libvirt
/schemas
/networkcommon.rng
1793 %{_datadir}/libvirt
/schemas
/nodedev.rng
1794 %{_datadir}/libvirt
/schemas
/nwfilter.rng
1795 %{_datadir}/libvirt
/schemas
/nwfilter_params.rng
1796 %{_datadir}/libvirt
/schemas
/nwfilterbinding.rng
1797 %{_datadir}/libvirt
/schemas
/secret.rng
1798 %{_datadir}/libvirt
/schemas
/storagecommon.rng
1799 %{_datadir}/libvirt
/schemas
/storagepool.rng
1800 %{_datadir}/libvirt
/schemas
/storagepoolcaps.rng
1801 %{_datadir}/libvirt
/schemas
/storagevol.rng
1803 %{_datadir}/libvirt
/cpu_map
/*.xml
1805 %{_datadir}/libvirt
/test-screenshot.png
1808 %{_mandir}/man1
/virt
-admin
.1*
1809 %{_bindir}/virt
-admin
1810 %if %{with_bash_completion}
1811 %{_datadir}/bash
-completion
/completions
/virt
-admin
1814 %if %{with_bash_completion}
1815 %files bash
-completion
1816 %{_datadir}/bash
-completion
/completions
/vsh
1819 %if %{with_wireshark}
1821 %{wireshark_plugindir}/libvirt.so
1825 %{_libdir}/libnss_libvirt.so
.2
1826 %{_libdir}/libnss_libvirt_guest.so
.2
1830 %attr(4750, root
, virtlogin
) %{_bindir}/virt
-login
-shell
1831 %config(noreplace
) %{_sysconfdir}/libvirt
/virt
-login
-shell.conf
1832 %{_mandir}/man1
/virt
-login
-shell
.1*
1836 %{_libdir}/libvirt.so
1837 %{_libdir}/libvirt
-admin.so
1838 %{_libdir}/libvirt
-qemu.so
1839 %{_libdir}/libvirt
-lxc.so
1840 %dir %{_includedir}/libvirt
1841 %{_includedir}/libvirt
/virterror.h
1842 %{_includedir}/libvirt
/libvirt.h
1843 %{_includedir}/libvirt
/libvirt
-admin.h
1844 %{_includedir}/libvirt
/libvirt
-common.h
1845 %{_includedir}/libvirt
/libvirt
-domain.h
1846 %{_includedir}/libvirt
/libvirt
-domain
-snapshot.h
1847 %{_includedir}/libvirt
/libvirt
-event.h
1848 %{_includedir}/libvirt
/libvirt
-host.h
1849 %{_includedir}/libvirt
/libvirt
-interface.h
1850 %{_includedir}/libvirt
/libvirt
-network.h
1851 %{_includedir}/libvirt
/libvirt
-nodedev.h
1852 %{_includedir}/libvirt
/libvirt
-nwfilter.h
1853 %{_includedir}/libvirt
/libvirt
-secret.h
1854 %{_includedir}/libvirt
/libvirt
-storage.h
1855 %{_includedir}/libvirt
/libvirt
-stream.h
1856 %{_includedir}/libvirt
/libvirt
-qemu.h
1857 %{_includedir}/libvirt
/libvirt
-lxc.h
1858 %{_libdir}/pkgconfig
/libvirt.pc
1859 %{_libdir}/pkgconfig
/libvirt
-admin.pc
1860 %{_libdir}/pkgconfig
/libvirt
-qemu.pc
1861 %{_libdir}/pkgconfig
/libvirt
-lxc.pc
1863 %dir %{_datadir}/libvirt
/api
/
1864 %{_datadir}/libvirt
/api
/libvirt
-api.xml
1865 %{_datadir}/libvirt
/api
/libvirt
-admin
-api.xml
1866 %{_datadir}/libvirt
/api
/libvirt
-qemu
-api.xml
1867 %{_datadir}/libvirt
/api
/libvirt
-lxc
-api.xml
1868 # Needed building python bindings
1869 %doc docs
/libvirt
-api.xml