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 %define arches_qemu_kvm
%{ix86} x86_64 %{power64} %{arm} aarch64 s390x
12 %define arches_qemu_kvm x86_64 aarch64 s390x
14 %define arches_qemu_kvm x86_64
%{power64} aarch64 s390x
18 %define arches_64bit x86_64
%{power64} aarch64 s390x riscv64
19 %define arches_x86
%{ix86} x86_64
21 %define arches_systemtap_64bit
%{arches_64bit}
22 %define arches_dmidecode
%{arches_x86}
23 %define arches_xen
%{arches_x86} aarch64
25 %define arches_xen x86_64 aarch64
27 %define arches_vbox
%{arches_x86}
28 %define arches_ceph
%{arches_64bit}
29 %define arches_zfs
%{arches_x86} %{power64} %{arm}
30 %define arches_numactl
%{arches_x86} %{power64} aarch64 s390x
31 %define arches_numad
%{arches_x86} %{power64} aarch64
33 # The hypervisor drivers that run in libvirtd
34 %define with_qemu
0%{!?_without_qemu:1}
35 %define with_lxc
0%{!?_without_lxc:1}
36 %define with_libxl
0%{!?_without_libxl:1}
37 %define with_vbox
0%{!?_without_vbox:1}
39 %ifarch %{arches_qemu_kvm}
40 %define with_qemu_kvm
%{with_qemu}
42 %define with_qemu_kvm
0
45 %define with_qemu_tcg
%{with_qemu}
47 # RHEL disables TCG on all architectures
49 %define with_qemu_tcg
0
52 %if ! %{with_qemu_tcg} && ! %{with_qemu_kvm}
56 # Then the hypervisor drivers that run outside libvirtd, in libvirt.so
57 %define with_openvz
0%{!?_without_openvz:1}
58 %define with_vmware
0%{!?_without_vmware:1}
59 %define with_esx
0%{!?_without_esx:1}
60 %define with_hyperv
0%{!?_without_hyperv:1}
62 # Then the secondary host drivers, which run inside libvirtd
63 %define with_storage_rbd
0%{!?_without_storage_rbd:1}
65 %define with_storage_gluster
0%{!?_without_storage_gluster:1}
67 # Glusterfs has been dropped in RHEL-9, and before that
68 # was only enabled on arches where KVM exists
70 %define with_storage_gluster
0
72 %ifnarch %{arches_qemu_kvm}
73 %define with_storage_gluster
0
80 %define with_storage_zfs
0%{!?_without_storage_zfs:1}
82 %define with_storage_zfs
0
85 %define with_storage_iscsi_direct
0%{!?_without_storage_iscsi_direct:1}
86 # libiscsi has been dropped in RHEL-9
88 %define with_storage_iscsi_direct
0
91 # Other optional features
92 %define with_numactl
0%{!?_without_numactl:1}
93 %define with_userfaultfd_sysctl
0%{!?_without_userfaultfd_sysctl:1}
95 # A few optional bits off by default, we enable later
97 %define with_sanlock
0
100 %define with_nbdkit_config_default
0
101 %define with_firewalld_zone
0
103 %define with_libssh2
0
104 %define with_wireshark
0
105 %define with_libssh
0
106 %define with_dmidecode
0
108 # Finally set the OS / architecture specific special cases
110 # Architecture-dependent features
111 %ifnarch %{arches_xen}
114 %ifnarch %{arches_vbox}
117 %ifnarch %{arches_numactl}
118 %define with_numactl
0
120 %ifnarch %{arches_zfs}
121 %define with_storage_zfs
0
123 %ifnarch %{arches_ceph}
124 %define with_storage_rbd
0
127 # RHEL doesn't ship many hypervisor drivers
129 %define with_openvz
0
131 %define with_vmware
0
133 %define with_hyperv
0
137 %define with_firewalld_zone
0%{!?_without_firewalld_zone:1}
139 %if 0%{?rhel} && 0%{?rhel} < 9
140 %define with_netcf
0%{!?_without_netcf:1}
143 # fuse is used to provide virtualized /proc for LXC
145 %define with_fuse
0%{!?_without_fuse:1}
148 # Enable sanlock library for lock management with QEMU
149 # Sanlock is available only on arches where kvm is available for RHEL
151 %define with_sanlock
0%{!?_without_sanlock:1}
154 %ifarch %{arches_qemu_kvm}
155 %define with_sanlock
0%{!?_without_sanlock:1}
159 # Enable libssh2 transport for new enough distros
161 %define with_libssh2
0%{!?_without_libssh2:1}
164 # Enable wireshark plugins for all distros
165 %define with_wireshark
0%{!?_without_wireshark:1}
166 %define wireshark_plugindir %
(pkg
-config
--variable plugindir wireshark
)/epan
168 # Enable libssh transport for all distros
169 %define with_libssh
0%{!?_without_libssh:1}
171 %if %{with_qemu} || %{with_lxc}
172 # numad is used to manage the CPU and memory placement dynamically,
173 # it's not available on many non-x86 architectures.
174 %ifarch %{arches_numad}
175 %define with_numad
0%{!?_without_numad:1}
179 # We want to build with nbdkit support, but should only enable nbdkit by
180 # default if the OS ships a SELinux policy that allows libvirt to launch it.
181 # Right now that's not the case anywhere, but things should be fine by the time
182 # Fedora 40 is released.
184 # rhel-8 lacks pidfd_open
185 %if 0%{?fedora} || 0%{?rhel} >= 9
186 %define with_nbdkit
0%{!?_without_nbdkit:1}
188 # setting 'with_nbdkit_config_default' must be done only when compiling
191 # TODO: add RHEL 9 once a minor release that contains the necessary SELinux
192 # bits exists (we only support the most recent minor release)
193 %if 0%{?fedora} >= 40
194 %define with_nbdkit_config_default
0%{!?_without_nbdkit_config_default:1}
199 %ifarch %{arches_dmidecode}
200 %define with_dmidecode
0%{!?_without_dmidecode:1}
203 %define with_modular_daemons
0
204 %if 0%{?fedora} || 0%{?rhel} >= 9
205 %define with_modular_daemons
1
208 # Force QEMU to run as non-root
209 %define qemu_user qemu
210 %define qemu_group qemu
212 # Locations for QEMU data
213 %define qemu_moddir
%{_libdir}/qemu
214 %define qemu_datadir
%{_datadir}/qemu
216 # Native / MinGW builds
217 %define with_native
0%{!?_without_native:1}
219 %define with_mingw32
0
220 %define with_mingw64
0
223 %if 0%{!?_without_mingw:1}
224 %define with_mingw32
0%{!?_without_mingw32:1}
225 %define with_mingw64
0%{!?_without_mingw64:1}
228 # These tell the other mingw macros whether to perform or
229 # skip the 32-bit and 64-bit specific steps respectively
230 %define mingw_build_win32
%{with_mingw32}
231 %define mingw_build_win64
%{with_mingw64}
235 # Building the debugsource package apparently only works if the
236 # native build is enabled. debuginfo packages don't have this
237 # problem and setting this doesn't disable them
238 %global debug_package
%{nil}
241 # RHEL releases provide stable tool chains and so it is safe to turn
242 # compiler warning into errors without being worried about frequent
243 # changes in reported warnings
245 %define enable_werror
-Dwerror
=true
247 %define enable_werror
-Dwerror
=false
-Dgit_werror
=disabled
250 # Fedora and RHEL-9 are new enough to support /dev/userfaultfd, which
251 # does not require enabling vm.unprivileged_userfaultfd sysctl.
252 %if 0%{?fedora} || 0%{?rhel} >= 9
253 %define with_userfaultfd_sysctl
0
256 %define tls_priority "@LIBVIRT
,SYSTEM"
258 # libvirt 8.1.0 stops distributing any sysconfig files.
259 # If the user has customized their sysconfig file,
260 # the RPM upgrade path will rename it to .rpmsave
261 # because the file is no longer managed by RPM.
262 # To prevent a regression we rename it back after the
263 # transaction to preserve the user's modifications
264 %define libvirt_sysconfig_pre
() \
265 for sc
in %{?*} ; do \
266 test -f "
%{_sysconfdir}/sysconfig/${sc}.rpmsave" ||
continue ; \
267 mv
-v "
%{_sysconfdir}/sysconfig/${sc}.rpmsave" "%{_sysconfdir}/sysconfig/${sc}.rpmsave.old"
; \
270 %define libvirt_sysconfig_posttrans
() \
271 for sc
in %{?*} ; do \
272 test -f "
%{_sysconfdir}/sysconfig/${sc}.rpmsave" ||
continue ; \
273 mv
-v "
%{_sysconfdir}/sysconfig/${sc}.rpmsave" "%{_sysconfdir}/sysconfig/${sc}"
; \
277 Summary: Library providing a simple virtualization API
281 License: GPL
-2.0-or
-later AND LGPL
-2.1-only AND LGPL
-2.1-or
-later AND OFL
-1.1
282 URL: https
://libvirt.org
/
284 %if %
(echo %{version} | grep "\
.0$"
>/dev
/null
; echo $?
) == 1
285 %define mainturl stable_updates
/
287 Source: https
://download.libvirt.org
/%{?mainturl}libvirt-%{version}.tar.xz
289 Requires: libvirt
-daemon
= %{version}-%{release}
290 Requires: libvirt
-daemon
-config
-network
= %{version}-%{release}
291 Requires: libvirt
-daemon
-config
-nwfilter
= %{version}-%{release}
293 Requires: libvirt
-daemon
-driver
-libxl
= %{version}-%{release}
296 Requires: libvirt
-daemon
-driver
-lxc
= %{version}-%{release}
299 Requires: libvirt
-daemon
-driver
-qemu
= %{version}-%{release}
300 Requires: libvirt
-client
-qemu
= %{version}-%{release}
302 # We had UML driver, but we've removed it.
303 Obsoletes
: libvirt
-daemon
-driver
-uml
<= 5.0.0
304 Obsoletes
: libvirt
-daemon
-uml
<= 5.0.0
306 Requires: libvirt
-daemon
-driver
-vbox
= %{version}-%{release}
308 Requires: libvirt
-daemon
-driver
-nwfilter
= %{version}-%{release}
309 Requires: libvirt
-daemon
-driver
-interface
= %{version}-%{release}
310 Requires: libvirt
-daemon
-driver
-secret
= %{version}-%{release}
311 Requires: libvirt
-daemon
-driver
-storage
= %{version}-%{release}
312 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
313 Requires: libvirt
-daemon
-driver
-nodedev
= %{version}-%{release}
314 Requires: libvirt
-client
= %{version}-%{release}
315 Requires: libvirt
-libs
= %{version}-%{release}
317 # All build-time requirements. Run-time requirements are
318 # listed against each sub-RPM
319 BuildRequires
: python3
-docutils
320 BuildRequires
: meson
>= 0.56.0
321 BuildRequires
: ninja
-build
323 BuildRequires
: perl
-interpreter
324 BuildRequires
: python3
325 BuildRequires
: python3
-pytest
327 BuildRequires
: libxml2
329 BuildRequires
: libxslt
330 BuildRequires
: gettext
331 BuildRequires
: systemd
-rpm
-macros
332 # Fedora build root suckage
337 BuildRequires
: xen
-devel
339 BuildRequires
: glib2
-devel
>= 2.58
340 BuildRequires
: libxml2
-devel
341 BuildRequires
: readline
-devel
342 BuildRequires
: pkgconfig
(bash
-completion
) >= 2.0
343 BuildRequires
: libtasn1
-devel
344 BuildRequires
: gnutls
-devel
345 BuildRequires
: libattr
-devel
346 # For pool-build probing for existing pools
347 BuildRequires
: libblkid
-devel
>= 2.17
348 # for augparse, optionally used in testing
349 BuildRequires
: augeas
350 BuildRequires
: systemd
-devel
>= 185
351 BuildRequires
: libpciaccess
-devel
>= 0.10.9
352 BuildRequires
: yajl
-devel
354 BuildRequires
: sanlock
-devel
>= 2.4
356 BuildRequires
: libpcap
-devel
>= 1.5.0
357 BuildRequires
: libnl3
-devel
358 BuildRequires
: libselinux
-devel
361 BuildRequires
: cyrus
-sasl
-devel
362 BuildRequires
: polkit
>= 0.112
363 # For mount/umount in FS driver
364 BuildRequires
: util
-linux
367 BuildRequires
: libacl
-devel
368 # From QEMU RPMs, used by virstoragetest
369 BuildRequires
: /usr
/bin
/qemu
-img
371 # nbdkit support requires libnbd
373 BuildRequires
: libnbd
-devel
377 # For pool type=iscsi
378 BuildRequires
: iscsi
-initiator
-utils
379 %if %{with_storage_iscsi_direct}
380 # For pool type=iscsi-direct
381 BuildRequires
: libiscsi
-devel
384 BuildRequires
: parted
-devel
385 # For Multipath support
386 BuildRequires
: device
-mapper
-devel
387 %if %{with_storage_rbd}
388 BuildRequires
: librados
-devel
389 BuildRequires
: librbd
-devel
391 %if %{with_storage_gluster}
392 BuildRequires
: glusterfs
-api
-devel
>= 3.4.1
393 BuildRequires
: glusterfs
-devel
>= 3.4.1
396 # For QEMU/LXC numa info
397 BuildRequires
: numactl
-devel
399 BuildRequires
: libcap
-ng
-devel
>= 0.5.0
401 BuildRequires
: fuse
-devel
>= 2.8.6
404 BuildRequires
: libssh2
-devel
>= 1.3.0
407 BuildRequires
: netcf
-devel
>= 0.2.2
410 BuildRequires
: libcurl
-devel
413 BuildRequires
: libwsman
-devel
>= 2.6.3
415 BuildRequires
: audit
-libs
-devel
416 # we need /usr/sbin/dtrace
417 BuildRequires
: systemtap
-sdt
-devel
418 # For mount/umount in FS driver
419 BuildRequires
: util
-linux
420 # For showmount in FS driver (netfs discovery)
421 BuildRequires
: nfs
-utils
425 %if %{with_wireshark}
426 BuildRequires
: wireshark
-devel
429 BuildRequires
: libssh
-devel
>= 0.8.1
431 BuildRequires
: libtirpc
-devel
432 %if %{with_firewalld_zone}
433 # Needed for the firewalld_reload macro
434 BuildRequires
: firewalld
-filesystem
439 BuildRequires
: mingw32
-filesystem
440 BuildRequires
: mingw32
-gcc
441 BuildRequires
: mingw32
-binutils
442 BuildRequires
: mingw32
-glib2
>= 2.48
443 BuildRequires
: mingw32
-gnutls
444 BuildRequires
: mingw32
-gettext
445 BuildRequires
: mingw32
-libxml2
446 BuildRequires
: mingw32
-portablexdr
447 BuildRequires
: mingw32
-dlfcn
448 BuildRequires
: mingw32
-libssh2
449 BuildRequires
: mingw32
-curl
452 BuildRequires
: mingw64
-filesystem
453 BuildRequires
: mingw64
-gcc
454 BuildRequires
: mingw64
-binutils
455 BuildRequires
: mingw64
-glib2
>= 2.48
456 BuildRequires
: mingw64
-gnutls
457 BuildRequires
: mingw64
-gettext
458 BuildRequires
: mingw64
-libxml2
459 BuildRequires
: mingw64
-portablexdr
460 BuildRequires
: mingw64
-dlfcn
461 BuildRequires
: mingw64
-libssh2
462 BuildRequires
: mingw64
-curl
466 Libvirt is a C toolkit to interact with the virtualization capabilities
467 of recent versions of Linux
(and other OSes
). The main package includes
468 the libvirtd server exporting the virtualization support.
472 Summary: API reference and website documentation
475 Includes the API reference
for the libvirt C library
, and a complete
476 copy of the libvirt.org website documentation.
479 Summary: Server side daemon and supporting files
for libvirt library
481 # All runtime requirements for the libvirt package (runtime requrements
482 # for subpackages are listed later in those subpackages)
484 # The client side, i.e. shared libs are in a subpackage
485 Requires: libvirt
-libs
= %{version}-%{release}
486 Requires: libvirt
-daemon
-common
= %{version}-%{release}
487 Requires: libvirt
-daemon
-lock
= %{version}-%{release}
488 Requires: libvirt
-daemon
-plugin
-lockd
= %{version}-%{release}
489 Requires: libvirt
-daemon
-log
= %{version}-%{release}
490 Requires: libvirt
-daemon
-proxy
= %{version}-%{release}
493 Server side daemon required to manage the virtualization capabilities
494 of recent versions of Linux.
Requires a hypervisor specific sub
-RPM
495 for specific drivers.
497 %package daemon
-common
498 Summary: Files and utilities used by daemons
499 Requires: libvirt
-libs
= %{version}-%{release}
500 # The libvirt-guests.sh script requires virsh from libvirt-client subpackage,
501 # but not every deployment wants to use libvirt-guests service. Using
502 # Recommends here will install libvirt-client by default (if available), but
503 # RPM won't complain if the package is unavailable, masked, or removed later.
504 Recommends
: libvirt
-client
= %{version}-%{release}
509 Requires: polkit
>= 0.112
510 %if %{with_dmidecode}
511 # For virConnectGetSysinfo
514 # For service management
515 Requires(posttrans
): /usr
/bin
/systemctl
516 Requires(preun
): /usr
/bin
/systemctl
517 # libvirtd depends on 'messagebus' service
519 # For uid creation during pre
520 Requires(pre
): shadow
-utils
521 # Needed by /usr/libexec/libvirt-guests.sh script.
523 Requires: gettext
-runtime
528 # Ensure smooth upgrades
529 Obsoletes
: libvirt
-admin
< 7.3.0
530 Provides: libvirt
-admin
= %{version}-%{release}
531 Obsoletes
: libvirt
-bash
-completion
< 7.3.0
533 %description daemon
-common
534 Miscellaneous files and utilities used by other libvirt daemons
537 Summary: Server side daemon
for managing locks
538 Requires: libvirt
-libs
= %{version}-%{release}
540 %description daemon
-lock
541 Server side daemon used to manage locks held against virtual machine
544 %package daemon
-plugin
-lockd
545 Summary: lockd client plugin
for virtlockd
546 Requires: libvirt
-libs
= %{version}-%{release}
547 Requires: libvirt
-daemon
-lock
= %{version}-%{release}
549 %description daemon
-plugin
-lockd
550 A client
-side plugin that implements disk locking using POSIX fcntl advisory
551 locks via communication with the virtlockd daemon
554 Summary: Server side daemon
for managing logs
555 Requires: libvirt
-libs
= %{version}-%{release}
557 %description daemon
-log
558 Server side daemon used to manage logs from virtual machine consoles
560 %package daemon
-proxy
561 Summary: Server side daemon providing libvirtd proxy
562 Requires: libvirt
-libs
= %{version}-%{release}
563 # netcat is needed on the server side so that clients that have
564 # libvirt < 6.9.0 can connect, but newer versions will prefer
565 # virt-ssh-helper. Making this a Recommends means that it gets
566 # installed by default, but can still be removed if compatibility
567 # with old clients is not required
568 Recommends
: /usr
/bin
/nc
570 %description daemon
-proxy
571 Server side daemon providing functionality previously provided by
572 the monolithic libvirtd
574 %package daemon
-config
-network
575 Summary: Default configuration files
for the libvirtd daemon
577 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
579 %description daemon
-config
-network
580 Default configuration files
for setting up NAT based networking
582 %package daemon
-config
-nwfilter
583 Summary: Network filter configuration files
for the libvirtd daemon
585 Requires: libvirt
-daemon
-driver
-nwfilter
= %{version}-%{release}
587 %description daemon
-config
-nwfilter
588 Network filter configuration files
for cleaning guest traffic
590 %package daemon
-driver
-network
591 Summary: Network driver plugin
for the libvirtd daemon
592 Requires: libvirt
-daemon
-common
= %{version}-%{release}
593 Requires: libvirt
-libs
= %{version}-%{release}
594 Requires: dnsmasq
>= 2.41
595 %if 0%{?rhel} >= 10 || 0%{?fedora} >= 41
601 %description daemon
-driver
-network
602 The network driver plugin
for the libvirtd daemon
, providing
603 an implementation of the virtual network APIs using the Linux
606 %package daemon
-driver
-nwfilter
607 Summary: Nwfilter driver plugin
for the libvirtd daemon
608 Requires: libvirt
-daemon
-common
= %{version}-%{release}
609 Requires: libvirt
-libs
= %{version}-%{release}
613 %description daemon
-driver
-nwfilter
614 The nwfilter driver plugin
for the libvirtd daemon
, providing
615 an implementation of the firewall APIs using the ebtables
,
616 iptables and ip6tables capabilities
618 %package daemon
-driver
-nodedev
619 Summary: Nodedev driver plugin
for the libvirtd daemon
620 Requires: libvirt
-daemon
-common
= %{version}-%{release}
621 Requires: libvirt
-libs
= %{version}-%{release}
622 # needed for device enumeration
623 Requires: systemd
>= 185
624 # For managing persistent mediated devices
625 # Note: for nodedev-update support at least mdevctl v1.3.0 is required
627 # for modprobe of pci devices
628 Requires: module
-init
-tools
630 %description daemon
-driver
-nodedev
631 The nodedev driver plugin
for the libvirtd daemon
, providing
632 an implementation of the node device APIs using the udev
635 %package daemon
-driver
-interface
636 Summary: Interface driver plugin
for the libvirtd daemon
637 Requires: libvirt
-daemon
-common
= %{version}-%{release}
638 Requires: libvirt
-libs
= %{version}-%{release}
640 Requires: netcf
-libs
>= 0.2.2
643 %description daemon
-driver
-interface
644 The interface driver plugin
for the libvirtd daemon
, providing
645 an implementation of the host network interface APIs.
647 %package daemon
-driver
-secret
648 Summary: Secret driver plugin
for the libvirtd daemon
649 Requires: libvirt
-daemon
-common
= %{version}-%{release}
650 Requires: libvirt
-libs
= %{version}-%{release}
652 %description daemon
-driver
-secret
653 The secret driver plugin
for the libvirtd daemon
, providing
654 an implementation of the secret key APIs.
656 %package daemon
-driver
-storage
-core
657 Summary: Storage driver plugin including base backends
for the libvirtd daemon
658 Requires: libvirt
-daemon
-common
= %{version}-%{release}
659 Requires: libvirt
-libs
= %{version}-%{release}
663 # For storage wiping with different algorithms
667 Requires: /usr
/bin
/qemu
-img
669 %if !%{with_storage_rbd}
670 Obsoletes
: libvirt
-daemon
-driver
-storage
-rbd
< 5.2.0
672 Obsoletes
: libvirt
-daemon
-driver
-storage
-sheepdog
< 8.8.0
674 %description daemon
-driver
-storage
-core
675 The storage driver plugin
for the libvirtd daemon
, providing
676 an implementation of the storage APIs using files
, local disks
, LVM
, SCSI
,
677 iSCSI
, and multipath storage.
679 %package daemon
-driver
-storage
-logical
680 Summary: Storage driver plugin
for lvm volumes
681 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
682 Requires: libvirt
-libs
= %{version}-%{release}
685 %description daemon
-driver
-storage
-logical
686 The storage driver backend adding implementation of the storage APIs
for block
689 %package daemon
-driver
-storage
-disk
690 Summary: Storage driver plugin
for disk
691 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
692 Requires: libvirt
-libs
= %{version}-%{release}
694 Requires: device
-mapper
696 %description daemon
-driver
-storage
-disk
697 The storage driver backend adding implementation of the storage APIs
for block
698 volumes using the host disks.
700 %package daemon
-driver
-storage
-scsi
701 Summary: Storage driver plugin
for local scsi devices
702 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
703 Requires: libvirt
-libs
= %{version}-%{release}
705 %description daemon
-driver
-storage
-scsi
706 The storage driver backend adding implementation of the storage APIs
for scsi
709 %package daemon
-driver
-storage
-iscsi
710 Summary: Storage driver plugin
for iscsi
711 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
712 Requires: libvirt
-libs
= %{version}-%{release}
713 Requires: iscsi
-initiator
-utils
715 %description daemon
-driver
-storage
-iscsi
716 The storage driver backend adding implementation of the storage APIs
for iscsi
717 volumes using the host iscsi stack.
719 %if %{with_storage_iscsi_direct}
720 %package daemon
-driver
-storage
-iscsi
-direct
721 Summary: Storage driver plugin
for iscsi
-direct
722 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
723 Requires: libvirt
-libs
= %{version}-%{release}
725 %description daemon
-driver
-storage
-iscsi
-direct
726 The storage driver backend adding implementation of the storage APIs
for iscsi
727 volumes using libiscsi direct connection.
730 %package daemon
-driver
-storage
-mpath
731 Summary: Storage driver plugin
for multipath volumes
732 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
733 Requires: libvirt
-libs
= %{version}-%{release}
734 Requires: device
-mapper
736 %description daemon
-driver
-storage
-mpath
737 The storage driver backend adding implementation of the storage APIs
for
738 multipath storage using device mapper.
740 %if %{with_storage_gluster}
741 %package daemon
-driver
-storage
-gluster
742 Summary: Storage driver plugin
for gluster
743 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
744 Requires: libvirt
-libs
= %{version}-%{release}
746 Requires: glusterfs
-client
>= 2.0.1
748 %if 0%{?fedora} || 0%{?with_storage_gluster}
749 Requires: /usr
/sbin
/gluster
752 %description daemon
-driver
-storage
-gluster
753 The storage driver backend adding implementation of the storage APIs
for gluster
754 volumes using libgfapi.
757 %if %{with_storage_rbd}
758 %package daemon
-driver
-storage
-rbd
759 Summary: Storage driver plugin
for rbd
760 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
761 Requires: libvirt
-libs
= %{version}-%{release}
763 %description daemon
-driver
-storage
-rbd
764 The storage driver backend adding implementation of the storage APIs
for rbd
765 volumes using the ceph protocol.
768 %if %{with_storage_zfs}
769 %package daemon
-driver
-storage
-zfs
770 Summary: Storage driver plugin
for ZFS
771 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
772 Requires: libvirt
-libs
= %{version}-%{release}
773 # Support any conforming implementation of zfs
775 Requires: /sbin
/zpool
777 %description daemon
-driver
-storage
-zfs
778 The storage driver backend adding implementation of the storage APIs
for
782 %package daemon
-driver
-storage
783 Summary: Storage driver plugin including all backends
for the libvirtd daemon
784 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
785 Requires: libvirt
-daemon
-driver
-storage
-disk
= %{version}-%{release}
786 Requires: libvirt
-daemon
-driver
-storage
-logical
= %{version}-%{release}
787 Requires: libvirt
-daemon
-driver
-storage
-scsi
= %{version}-%{release}
788 Requires: libvirt
-daemon
-driver
-storage
-iscsi
= %{version}-%{release}
789 Requires: libvirt
-daemon
-driver
-storage
-mpath
= %{version}-%{release}
790 %if %{with_storage_iscsi_direct}
791 Requires: libvirt
-daemon
-driver
-storage
-iscsi
-direct
= %{version}-%{release}
793 %if %{with_storage_gluster}
794 Requires: libvirt
-daemon
-driver
-storage
-gluster
= %{version}-%{release}
796 %if %{with_storage_rbd}
797 Requires: libvirt
-daemon
-driver
-storage
-rbd
= %{version}-%{release}
799 %if %{with_storage_zfs}
800 Requires: libvirt
-daemon
-driver
-storage
-zfs
= %{version}-%{release}
803 %description daemon
-driver
-storage
804 The storage driver plugin
for the libvirtd daemon
, providing
805 an implementation of the storage APIs using LVM
, iSCSI
,
809 %package daemon
-driver
-qemu
810 Summary: QEMU driver plugin
for the libvirtd daemon
811 Requires: libvirt
-daemon
-common
= %{version}-%{release}
812 Requires: libvirt
-daemon
-log
= %{version}-%{release}
813 Requires: libvirt
-libs
= %{version}-%{release}
814 Requires: /usr
/bin
/qemu
-img
815 # For image compression
821 Requires: systemd
-container
822 Requires: swtpm
-tools
826 %if 0%{?fedora} || 0%{?rhel} >= 9
828 Recommends
: passt
-selinux
832 Recommends
: nbdkit
-curl
-plugin
833 Recommends
: nbdkit
-ssh
-plugin
836 %description daemon
-driver
-qemu
837 The qemu driver plugin
for the libvirtd daemon
, providing
838 an implementation of the hypervisor driver APIs using
843 %package daemon
-driver
-lxc
844 Summary: LXC driver plugin
for the libvirtd daemon
845 Requires: libvirt
-daemon
-common
= %{version}-%{release}
846 Requires: libvirt
-libs
= %{version}-%{release}
847 # There really is a hard cross-driver dependency here
848 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
849 Requires: systemd
-container
850 # for modprobe of nbd driver
851 Requires: module
-init
-tools
856 %description daemon
-driver
-lxc
857 The LXC driver plugin
for the libvirtd daemon
, providing
858 an implementation of the hypervisor driver APIs using
863 %package daemon
-driver
-vbox
864 Summary: VirtualBox driver plugin
for the libvirtd daemon
865 Requires: libvirt
-daemon
-common
= %{version}-%{release}
866 Requires: libvirt
-libs
= %{version}-%{release}
868 %description daemon
-driver
-vbox
869 The vbox driver plugin
for the libvirtd daemon
, providing
870 an implementation of the hypervisor driver APIs using
875 %package daemon
-driver
-libxl
876 Summary: Libxl driver plugin
for the libvirtd daemon
877 Requires: libvirt
-daemon
-common
= %{version}-%{release}
878 Requires: libvirt
-libs
= %{version}-%{release}
879 Obsoletes
: libvirt
-daemon
-driver
-xen
< 4.3.0
881 %description daemon
-driver
-libxl
882 The Libxl driver plugin
for the libvirtd daemon
, providing
883 an implementation of the hypervisor driver APIs using
889 Summary: Server side daemon
& driver required to run QEMU guests
891 %if %{with_modular_daemons}
892 Requires: libvirt
-daemon
-common
= %{version}-%{release}
893 Requires: libvirt
-daemon
-log
= %{version}-%{release}
894 Requires: libvirt
-daemon
-lock
= %{version}-%{release}
895 Requires: libvirt
-daemon
-plugin
-lockd
= %{version}-%{release}
896 Requires: libvirt
-daemon
-proxy
= %{version}-%{release}
897 Recommends
: libvirt
-daemon
= %{version}-%{release}
899 Requires: libvirt
-daemon
= %{version}-%{release}
901 Requires: libvirt
-daemon
-driver
-qemu
= %{version}-%{release}
902 Requires: libvirt
-daemon
-driver
-interface
= %{version}-%{release}
903 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
904 Requires: libvirt
-daemon
-driver
-nodedev
= %{version}-%{release}
905 Requires: libvirt
-daemon
-driver
-nwfilter
= %{version}-%{release}
906 Requires: libvirt
-daemon
-driver
-secret
= %{version}-%{release}
907 Requires: libvirt
-daemon
-driver
-storage
= %{version}-%{release}
908 Requires: libvirt
-ssh
-proxy
= %{version}-%{release}
911 %description daemon
-qemu
912 Server side daemon and driver required to manage the virtualization
913 capabilities of the QEMU TCG emulators
918 Summary: Server side daemon
& driver required to run KVM guests
920 %if %{with_modular_daemons}
921 Requires: libvirt
-daemon
-common
= %{version}-%{release}
922 Requires: libvirt
-daemon
-log
= %{version}-%{release}
923 Requires: libvirt
-daemon
-lock
= %{version}-%{release}
924 Requires: libvirt
-daemon
-plugin
-lockd
= %{version}-%{release}
925 Requires: libvirt
-daemon
-proxy
= %{version}-%{release}
926 Recommends
: libvirt
-daemon
= %{version}-%{release}
928 Requires: libvirt
-daemon
= %{version}-%{release}
930 Requires: libvirt
-daemon
-driver
-qemu
= %{version}-%{release}
931 Requires: libvirt
-daemon
-driver
-interface
= %{version}-%{release}
932 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
933 Requires: libvirt
-daemon
-driver
-nodedev
= %{version}-%{release}
934 Requires: libvirt
-daemon
-driver
-nwfilter
= %{version}-%{release}
935 Requires: libvirt
-daemon
-driver
-secret
= %{version}-%{release}
936 Requires: libvirt
-daemon
-driver
-storage
= %{version}-%{release}
937 Requires: libvirt
-ssh
-proxy
= %{version}-%{release}
940 %description daemon
-kvm
941 Server side daemon and driver required to manage the virtualization
942 capabilities of the KVM hypervisor
947 Summary: Server side daemon
& driver required to run LXC guests
949 %if %{with_modular_daemons}
950 Requires: libvirt
-daemon
-common
= %{version}-%{release}
951 Requires: libvirt
-daemon
-proxy
= %{version}-%{release}
952 Recommends
: libvirt
-daemon
= %{version}-%{release}
954 Requires: libvirt
-daemon
= %{version}-%{release}
956 Requires: libvirt
-daemon
-driver
-lxc
= %{version}-%{release}
957 Requires: libvirt
-daemon
-driver
-interface
= %{version}-%{release}
958 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
959 Requires: libvirt
-daemon
-driver
-nodedev
= %{version}-%{release}
960 Requires: libvirt
-daemon
-driver
-nwfilter
= %{version}-%{release}
961 Requires: libvirt
-daemon
-driver
-secret
= %{version}-%{release}
962 Requires: libvirt
-daemon
-driver
-storage
= %{version}-%{release}
964 %description daemon
-lxc
965 Server side daemon and driver required to manage the virtualization
971 Summary: Server side daemon
& driver required to run XEN guests
973 %if %{with_modular_daemons}
974 Requires: libvirt
-daemon
-common
= %{version}-%{release}
975 Requires: libvirt
-daemon
-lock
= %{version}-%{release}
976 Requires: libvirt
-daemon
-plugin
-lockd
= %{version}-%{release}
977 Requires: libvirt
-daemon
-proxy
= %{version}-%{release}
978 Recommends
: libvirt
-daemon
= %{version}-%{release}
980 Requires: libvirt
-daemon
= %{version}-%{release}
982 Requires: libvirt
-daemon
-driver
-libxl
= %{version}-%{release}
983 Requires: libvirt
-daemon
-driver
-interface
= %{version}-%{release}
984 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
985 Requires: libvirt
-daemon
-driver
-nodedev
= %{version}-%{release}
986 Requires: libvirt
-daemon
-driver
-nwfilter
= %{version}-%{release}
987 Requires: libvirt
-daemon
-driver
-secret
= %{version}-%{release}
988 Requires: libvirt
-daemon
-driver
-storage
= %{version}-%{release}
991 %description daemon
-xen
992 Server side daemon and driver required to manage the virtualization
998 Summary: Server side daemon
& driver required to run VirtualBox guests
1000 %if %{with_modular_daemons}
1001 Requires: libvirt
-daemon
-common
= %{version}-%{release}
1002 Requires: libvirt
-daemon
-proxy
= %{version}-%{release}
1003 Recommends
: libvirt
-daemon
= %{version}-%{release}
1005 Requires: libvirt
-daemon
= %{version}-%{release}
1007 Requires: libvirt
-daemon
-driver
-vbox
= %{version}-%{release}
1008 Requires: libvirt
-daemon
-driver
-interface
= %{version}-%{release}
1009 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
1010 Requires: libvirt
-daemon
-driver
-nodedev
= %{version}-%{release}
1011 Requires: libvirt
-daemon
-driver
-nwfilter
= %{version}-%{release}
1012 Requires: libvirt
-daemon
-driver
-secret
= %{version}-%{release}
1013 Requires: libvirt
-daemon
-driver
-storage
= %{version}-%{release}
1015 %description daemon
-vbox
1016 Server side daemon and driver required to manage the virtualization
1017 capabilities of VirtualBox
1021 Summary: Client side utilities of the libvirt library
1022 Requires: libvirt
-libs
= %{version}-%{release}
1023 # Needed by virt-pki-validate script.
1024 Requires: gnutls
-utils
1026 # Ensure smooth upgrades
1027 Obsoletes
: libvirt
-bash
-completion
< 7.3.0
1030 The client binaries needed to access the virtualization
1031 capabilities of recent versions of Linux
(and other OSes
).
1033 %package client
-qemu
1034 Summary: Additional client side utilities
for QEMU
1035 Requires: libvirt
-libs
= %{version}-%{release}
1036 Requires: python3
-libvirt
>= 3.7.0
1037 Requires: python3
-cryptography
1038 Requires: python3
-lxml
1040 %description client
-qemu
1041 The additional client binaries are used to interact
1042 with some QEMU specific features of libvirt.
1045 Summary: Client side libraries
1046 # So remote clients can access libvirt over SSH tunnel
1047 Requires: cyrus
-sasl
1048 # Needed by default sasl.conf - no onerous extra deps, since
1049 # 100's of other things on a system already pull in krb5-libs
1050 Requires: cyrus
-sasl
-gssapi
1053 Shared libraries
for accessing the libvirt daemon.
1055 %if %{with_wireshark}
1057 Summary: Wireshark dissector plugin
for libvirt RPC transactions
1059 Requires: libvirt
-libs
= %{version}-%{release}
1061 %description wireshark
1062 Wireshark dissector plugin
for better analysis of libvirt RPC traffic.
1066 %package login
-shell
1067 Summary: Login shell
for connecting users to an LXC container
1068 Requires: libvirt
-libs
= %{version}-%{release}
1070 %description login
-shell
1071 Provides the
set-uid virt
-login
-shell binary that is used to
1072 connect a user to an LXC container when they login
, by switching
1077 Summary: Libraries
, includes
, etc. to compile with the libvirt library
1078 Requires: libvirt
-libs
= %{version}-%{release}
1082 Include header files
& development libraries
for the libvirt C library.
1085 %package daemon
-plugin
-sanlock
1086 Summary: Sanlock lock manager plugin
for QEMU driver
1087 Requires: sanlock
>= 2.4
1088 #for virt-sanlock-cleanup require augeas
1090 Requires: libvirt
-libs
= %{version}-%{release}
1091 Obsoletes
: libvirt
-lock
-sanlock
< 9.1.0
1092 Provides: libvirt
-lock
-sanlock
= %{version}-%{release}
1094 %description daemon
-plugin
-sanlock
1095 Includes the Sanlock lock manager plugin
for the QEMU
1100 Summary: Libvirt plugin
for Name Service Switch
1101 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
1104 Libvirt plugin
for NSS
for translating domain names into IP addresses.
1108 Summary: Libvirt SSH proxy
1109 Requires: libvirt
-libs
= %{version}-%{release}
1111 %description ssh
-proxy
1112 Allows SSH into domains via VSOCK without need
for network.
1115 %package -n mingw32
-libvirt
1117 Obsoletes
: mingw32
-libvirt
-static
< 7.0.0
1120 %description -n mingw32
-libvirt
1121 MinGW Windows libvirt virtualization library.
1123 %{?mingw32_debug_package}
1127 %package -n mingw64
-libvirt
1129 Obsoletes
: mingw64
-libvirt
-static
< 7.0.0
1132 %description -n mingw64
-libvirt
1133 MinGW Windows libvirt virtualization library.
1135 %{?mingw64_debug_package}
1139 %autosetup -S git_am
1142 %if 0%{?fedora} >= %{min_fedora} || 0%{?rhel} >= %{min_rhel}
1143 %define supported_platform
1
1145 %define supported_platform
0
1148 %if ! %{supported_platform}
1149 echo "This RPM requires either Fedora
>= %{min_fedora} or RHEL >= %{min_rhel}"
1154 %define arg_qemu
-Ddriver_qemu
=enabled
1156 %define arg_qemu
-Ddriver_qemu
=disabled
1160 %define arg_openvz
-Ddriver_openvz
=enabled
1162 %define arg_openvz
-Ddriver_openvz
=disabled
1166 %define arg_lxc
-Ddriver_lxc
=enabled
1167 %define arg_login_shell
-Dlogin_shell
=enabled
1169 %define arg_lxc
-Ddriver_lxc
=disabled
1170 %define arg_login_shell
-Dlogin_shell
=disabled
1174 %define arg_vbox
-Ddriver_vbox
=enabled
1176 %define arg_vbox
-Ddriver_vbox
=disabled
1180 %define arg_libxl
-Ddriver_libxl
=enabled
1182 %define arg_libxl
-Ddriver_libxl
=disabled
1186 %define arg_esx
-Ddriver_esx
=enabled
-Dcurl
=enabled
1188 %define arg_esx
-Ddriver_esx
=disabled
-Dcurl
=disabled
1192 %define arg_hyperv
-Ddriver_hyperv
=enabled
-Dopenwsman
=enabled
1194 %define arg_hyperv
-Ddriver_hyperv
=disabled
-Dopenwsman
=disabled
1198 %define arg_vmware
-Ddriver_vmware
=enabled
1200 %define arg_vmware
-Ddriver_vmware
=disabled
1203 %if %{with_storage_rbd}
1204 %define arg_storage_rbd
-Dstorage_rbd
=enabled
1206 %define arg_storage_rbd
-Dstorage_rbd
=disabled
1209 %if %{with_storage_gluster}
1210 %define arg_storage_gluster
-Dstorage_gluster
=enabled
-Dglusterfs
=enabled
1212 %define arg_storage_gluster
-Dstorage_gluster
=disabled
-Dglusterfs
=disabled
1215 %if %{with_storage_zfs}
1216 %define arg_storage_zfs
-Dstorage_zfs
=enabled
1218 %define arg_storage_zfs
-Dstorage_zfs
=disabled
1222 %define arg_numactl
-Dnumactl
=enabled
1224 %define arg_numactl
-Dnumactl
=disabled
1228 %define arg_numad
-Dnumad
=enabled
1230 %define arg_numad
-Dnumad
=disabled
1234 %define arg_nbdkit
-Dnbdkit
=enabled
1236 %define arg_nbdkit
-Dnbdkit
=disabled
1239 %if %{with_nbdkit_config_default}
1240 %define arg_nbdkit_config_default
-Dnbdkit_config_default
=enabled
1242 %define arg_nbdkit_config_default
-Dnbdkit_config_default
=disabled
1246 %define arg_fuse
-Dfuse
=enabled
1248 %define arg_fuse
-Dfuse
=disabled
1252 %define arg_sanlock
-Dsanlock
=enabled
1254 %define arg_sanlock
-Dsanlock
=disabled
1257 %if %{with_firewalld_zone}
1258 %define arg_firewalld_zone
-Dfirewalld_zone
=enabled
1260 %define arg_firewalld_zone
-Dfirewalld_zone
=disabled
1264 %define arg_netcf
-Dnetcf
=enabled
1266 %define arg_netcf
-Dnetcf
=disabled
1269 %if %{with_wireshark}
1270 %define arg_wireshark
-Dwireshark_dissector
=enabled
1272 %define arg_wireshark
-Dwireshark_dissector
=disabled
1275 %if %{with_storage_iscsi_direct}
1276 %define arg_storage_iscsi_direct
-Dstorage_iscsi_direct
=enabled
-Dlibiscsi
=enabled
1278 %define arg_storage_iscsi_direct
-Dstorage_iscsi_direct
=disabled
-Dlibiscsi
=disabled
1282 %define arg_libssh
-Dlibssh
=enabled
1284 %define arg_libssh
-Dlibssh
=disabled
1288 %define arg_libssh2
-Dlibssh2
=enabled
1290 %define arg_libssh2
-Dlibssh2
=disabled
1293 %if %{with_modular_daemons}
1294 %define arg_remote_mode
-Dremote_default_mode
=direct
1296 %define arg_remote_mode
-Dremote_default_mode
=legacy
1299 %if %{with_userfaultfd_sysctl}
1300 %define arg_userfaultfd_sysctl
-Duserfaultfd_sysctl
=enabled
1302 %define arg_userfaultfd_sysctl
-Duserfaultfd_sysctl
=disabled
1305 %define when %
(date
+"%
%F-%
%T"
)
1306 %define where %
(hostname
)
1307 %define who
%{?packager}%{!?packager:Unknown}
1308 %define arg_packager
-Dpackager
="
%{who}, %{when}, %{where}"
1309 %define arg_packager_version
-Dpackager_version
="
%{release}"
1310 %define arg_selinux_mount
-Dselinux_mount
="
/sys
/fs
/selinux"
1312 # place macros above and build commands below this comment
1314 export SOURCE_DATE_EPOCH
=$
(stat
--printf='
%Y'
%{_specdir}/libvirt.spec
)
1318 -Drunstatedir
=%{_rundir} \
1319 -Dinitconfdir
=%{_sysconfdir}/sysconfig \
1327 -Ddriver_libvirtd
=enabled \
1328 -Ddriver_remote
=enabled \
1329 -Ddriver_test
=enabled \
1333 -Ddriver_vz
=disabled \
1334 -Ddriver_bhyve
=disabled \
1335 -Ddriver_ch
=disabled \
1336 %{?arg_remote_mode} \
1337 -Ddriver_interface
=enabled \
1338 -Ddriver_network
=enabled \
1339 -Dstorage_fs
=enabled \
1340 -Dstorage_lvm
=enabled \
1341 -Dstorage_iscsi
=enabled \
1342 %{?arg_storage_iscsi_direct} \
1343 -Dstorage_scsi
=enabled \
1344 -Dstorage_disk
=enabled \
1345 -Dstorage_mpath
=enabled \
1346 %{?arg_storage_rbd} \
1347 %{?arg_storage_gluster} \
1348 %{?arg_storage_zfs} \
1349 -Dstorage_vstorage
=disabled \
1357 %{?arg_selinux_mount} \
1358 -Dapparmor
=disabled \
1359 -Dapparmor_profiles
=disabled \
1360 -Dsecdriver_apparmor
=disabled \
1366 %{?arg_nbdkit_config_default} \
1370 -Dfirewalld
=enabled \
1371 %{?arg_firewalld_zone} \
1375 -Dpm_utils
=disabled \
1378 %{arg_packager_version} \
1379 -Dqemu_user
=%{qemu_user} \
1380 -Dqemu_group
=%{qemu_group} \
1381 -Dqemu_moddir
=%{qemu_moddir} \
1382 -Dqemu_datadir
=%{qemu_datadir} \
1383 -Dtls_priority
=%{tls_priority} \
1384 -Dsysctl_config
=enabled \
1385 %{?arg_userfaultfd_sysctl} \
1386 -Dssh_proxy
=enabled \
1388 -Dexpensive_tests
=enabled \
1389 -Dinit_script
=systemd \
1390 -Dfirewall_backend_priority
=nftables
,iptables \
1399 %if %{with_mingw32} || %{with_mingw64}
1401 --auto
-features
=enabled \
1402 -Ddriver_remote
=enabled \
1403 -Ddriver_test
=enabled \
1404 -Ddriver_esx
=enabled \
1407 -Dapparmor
=disabled \
1408 -Dapparmor_profiles
=disabled \
1411 -Dbash_completion
=disabled \
1414 -Ddriver_bhyve
=disabled \
1415 -Ddriver_hyperv
=disabled \
1416 -Ddriver_interface
=disabled \
1417 -Ddriver_libvirtd
=disabled \
1418 -Ddriver_libxl
=disabled \
1419 -Ddriver_lxc
=disabled \
1420 -Ddriver_network
=disabled \
1421 -Ddriver_openvz
=disabled \
1422 -Ddriver_qemu
=disabled \
1423 -Ddriver_secrets
=disabled \
1424 -Ddriver_vbox
=disabled \
1425 -Ddriver_vmware
=disabled \
1426 -Ddriver_vz
=disabled \
1428 -Dexpensive_tests
=disabled \
1429 -Dfirewalld
=disabled \
1430 -Dfirewalld_zone
=disabled \
1432 -Dglusterfs
=disabled \
1433 -Dhost_validate
=disabled \
1434 -Dlibiscsi
=disabled \
1436 -Dnbdkit_config_default
=disabled \
1438 -Dlibpcap
=disabled \
1439 -Dlibssh2
=disabled \
1441 -Dlogin_shell
=disabled \
1445 -Dnumactl
=disabled \
1447 -Dopenwsman
=disabled \
1448 -Dpciaccess
=disabled \
1449 -Dpm_utils
=disabled \
1451 -Dreadline
=disabled \
1453 -Dsanlock
=disabled \
1455 -Dsecdriver_apparmor
=disabled \
1456 -Dsecdriver_selinux
=disabled \
1457 -Dselinux
=disabled \
1458 -Dstorage_dir
=disabled \
1459 -Dstorage_disk
=disabled \
1460 -Dstorage_fs
=disabled \
1461 -Dstorage_gluster
=disabled \
1462 -Dstorage_iscsi_direct
=disabled \
1463 -Dstorage_iscsi
=disabled \
1464 -Dstorage_lvm
=disabled \
1465 -Dstorage_mpath
=disabled \
1466 -Dstorage_rbd
=disabled \
1467 -Dstorage_scsi
=disabled \
1468 -Dstorage_vstorage
=disabled \
1469 -Dstorage_zfs
=disabled \
1470 -Dsysctl_config
=disabled \
1471 -Duserfaultfd_sysctl
=disabled \
1472 -Dssh_proxy
=disabled \
1475 -Dwireshark_dissector
=disabled \
1483 export SOURCE_DATE_EPOCH
=$
(stat
--printf='
%Y'
%{_specdir}/libvirt.spec
)
1488 # We don't want to install /etc/libvirt/qemu/networks in the main %%files list
1489 # because if the admin wants to delete the default network completely, we don't
1490 # want to end up re-incarnating it on every RPM upgrade.
1491 install -d
-m
0755 $RPM_BUILD_ROOT
%{_datadir}/libvirt
/networks
/
1492 cp $RPM_BUILD_ROOT
%{_sysconfdir}/libvirt
/qemu
/networks
/default.xml \
1493 $RPM_BUILD_ROOT
%{_datadir}/libvirt
/networks
/default.xml
1494 # libvirt saves this file with mode 0600
1495 chmod
0600 $RPM_BUILD_ROOT
%{_sysconfdir}/libvirt
/qemu
/networks
/default.xml
1497 # nwfilter files are installed in /usr/share/libvirt and copied to /etc in %%post
1498 # to avoid verification errors on changed files in /etc
1499 install -d
-m
0755 $RPM_BUILD_ROOT
%{_datadir}/libvirt
/nwfilter
/
1500 cp
-a $RPM_BUILD_ROOT
%{_sysconfdir}/libvirt
/nwfilter
/*.xml \
1501 $RPM_BUILD_ROOT
%{_datadir}/libvirt
/nwfilter
/
1502 # libvirt saves these files with mode 600
1503 chmod
600 $RPM_BUILD_ROOT
%{_sysconfdir}/libvirt
/nwfilter
/*.xml
1506 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/libvirtd_qemu.aug
1507 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/tests
/test_libvirtd_qemu.aug
1508 rm -f $RPM_BUILD_ROOT
%{_sysusersdir}/libvirt
-qemu.conf
1512 %if ! %{with_sanlock}
1513 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/libvirt_sanlock.aug
1514 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/tests
/test_libvirt_sanlock.aug
1518 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/libvirtd_lxc.aug
1519 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/tests
/test_libvirtd_lxc.aug
1523 rm -rf $RPM_BUILD_ROOT
%{_sysconfdir}/libvirt
/qemu.conf
1524 rm -rf $RPM_BUILD_ROOT
%{_sysconfdir}/logrotate.d
/libvirtd.qemu
1527 rm -rf $RPM_BUILD_ROOT
%{_sysconfdir}/libvirt
/lxc.conf
1528 rm -rf $RPM_BUILD_ROOT
%{_sysconfdir}/logrotate.d
/libvirtd.lxc
1531 rm -rf $RPM_BUILD_ROOT
%{_sysconfdir}/libvirt
/libxl.conf
1532 rm -rf $RPM_BUILD_ROOT
%{_sysconfdir}/logrotate.d
/libvirtd.libxl
1533 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/libvirtd_libxl.aug
1534 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/tests
/test_libvirtd_libxl.aug
1537 # Copied into libvirt-docs subpackage eventually
1538 mv $RPM_BUILD_ROOT
%{_datadir}/doc
/libvirt libvirt
-docs
1540 %ifarch %{arches_systemtap_64bit}
1541 mv $RPM_BUILD_ROOT
%{_datadir}/systemtap
/tapset
/libvirt_probes.stp \
1542 $RPM_BUILD_ROOT
%{_datadir}/systemtap
/tapset
/libvirt_probes
-64.stp
1545 mv $RPM_BUILD_ROOT
%{_datadir}/systemtap
/tapset
/libvirt_qemu_probes.stp \
1546 $RPM_BUILD_ROOT
%{_datadir}/systemtap
/tapset
/libvirt_qemu_probes
-64.stp
1551 %if %{with_mingw32} || %{with_mingw64}
1552 %mingw_ninja_install
1556 rm -rf $RPM_BUILD_ROOT
%{mingw32_sysconfdir}/libvirt
/nwfilter
1557 rm -rf $RPM_BUILD_ROOT
%{mingw32_datadir}/doc
/*
1558 rm -rf $RPM_BUILD_ROOT
%{mingw32_datadir}/gtk
-doc
/*
1559 rm -rf $RPM_BUILD_ROOT
%{mingw32_libexecdir}/libvirt_iohelper.exe
1560 rm -rf $RPM_BUILD_ROOT
%{mingw32_libexecdir}/libvirt
-guests.sh
1564 rm -rf $RPM_BUILD_ROOT
%{mingw64_sysconfdir}/libvirt
/nwfilter
1565 rm -rf $RPM_BUILD_ROOT
%{mingw64_datadir}/doc
/*
1566 rm -rf $RPM_BUILD_ROOT
%{mingw64_datadir}/gtk
-doc
/*
1567 rm -rf $RPM_BUILD_ROOT
%{mingw64_libexecdir}/libvirt_iohelper.exe
1568 rm -rf $RPM_BUILD_ROOT
%{mingw64_libexecdir}/libvirt
-guests.sh
1571 %if %{with_mingw32} || %{with_mingw64}
1572 %mingw_debug_install_post
1574 %mingw_find_lang %{name}
1581 # Building on slow archs, like emulated s390x in Fedora copr, requires
1582 # raising the test timeout
1583 VIR_TEST_DEBUG
=1 %meson_test --no
-suite syntax
-check
--timeout
-multiplier
10
1586 %define libvirt_rpmstatedir
%{_localstatedir}/lib
/rpm
-state
/libvirt
1588 # Mark units such that presets will later be applied to them. Meant
1589 # to be called during %pre. Units that already exist on the system
1590 # will not be marked, with the assumption that presets have already
1591 # been applied at some point in the past. This makes it safe to call
1592 # this macro for all units each time %pre runs.
1593 %define libvirt_systemd_schedule_preset
() \
1594 mkdir -p
%{libvirt_rpmstatedir} ||
: \
1595 for unit
in %{?*}; do \
1596 if ! test -e
%{_unitdir}/$unit
; then \
1597 touch
%{libvirt_rpmstatedir}/preset
-$unit ||
: \
1602 # Apply presets for units that have previously been marked. Meant to
1603 # be called during %posttrans. Note that foo.service must be passed
1604 # as the first argument, before all the various foo*.socket
1605 # associated with it, for things to work correctly. This is necessary
1606 # because Also=foo.socket is usually present in foo.service's
1607 # [Install] section, and we want that configuration to take
1608 # precedence over foo.socket's own presets.
1609 %define libvirt_systemd_perform_preset
() \
1610 %{?7:%{error:Too many arguments}} \
1611 for unit
in %{?2} %{?3} %{?4} %{?5} %{?6} %1; do \
1612 if test -e
%{libvirt_rpmstatedir}/preset
-$unit
; then \
1613 /usr
/bin
/systemctl
--no
-reload preset $unit ||
: \
1615 rm -f
%{libvirt_rpmstatedir}/preset
-$unit \
1617 rmdir %{libvirt_rpmstatedir} 2>/dev
/null ||
: \
1620 # Mark a single unit for restart. Meant to be called during %pre.
1621 %define libvirt_systemd_schedule_restart
() \
1622 mkdir -p
%{libvirt_rpmstatedir} ||
: \
1623 touch
%{libvirt_rpmstatedir}/restart
-%1 ||
: \
1626 # Restart a unit that was previously marked. Meant to be called
1627 # during %posttrans. If systemd is not running, no action will be
1629 %define libvirt_systemd_perform_restart
() \
1630 if test -d
/run
/systemd
/system
&& \
1631 test -e
%{libvirt_rpmstatedir}/restart
-%1; then \
1632 /usr
/bin
/systemctl try
-restart
%1 >/dev
/null
2>&1 ||
: \
1634 rm -f
%{libvirt_rpmstatedir}/restart
-%1 \
1635 rmdir %{libvirt_rpmstatedir} 2>/dev
/null ||
: \
1638 # Mark a single unit for reload. Meant to be called during %pre.
1639 %define libvirt_systemd_schedule_reload
() \
1640 mkdir -p
%{libvirt_rpmstatedir} ||
: \
1641 touch
%{libvirt_rpmstatedir}/reload
-%1 ||
: \
1644 # Reload a unit that was previously marked. Meant to be called during
1645 # %posttrans. If systemd is not running, no action will be performed.
1646 %define libvirt_systemd_perform_reload
() \
1647 if test -d
/run
/systemd
/system
&& \
1648 test -e
%{libvirt_rpmstatedir}/reload
-%1; then \
1649 /usr
/bin
/systemctl try
-reload
-or
-restart
%1 >/dev
/null
2>&1 ||
: \
1651 rm -f
%{libvirt_rpmstatedir}/reload
-%1 \
1652 rmdir %{libvirt_rpmstatedir} 2>/dev
/null ||
: \
1655 # Disable a single unit, optionally stopping it if systemd is
1656 # running. Meant to be called during %preun.
1657 %define libvirt_systemd_disable
() \
1658 if test -d
/run
/systemd
/system
; then \
1659 /usr
/bin
/systemctl
--no
-reload disable
--now
%{?*} ||
: \
1661 /usr
/bin
/systemctl
--no
-reload disable
%{?*} ||
: \
1665 # %pre implementation for services that should be restarted on
1666 # upgrade. Note that foo.service must be passed as the first
1667 # argument, before all the various foo*.socket associated with it.
1668 %define libvirt_systemd_restart_pre
() \
1669 %libvirt_systemd_schedule_preset %{?*} \
1670 %libvirt_systemd_schedule_restart %1 \
1673 # %pre implementation for services that should be reloaded on
1674 # upgrade. Note that foo.service must be passed as the first
1675 # argument, before all the various foo*.socket associated with it.
1676 %define libvirt_systemd_reload_pre
() \
1677 %libvirt_systemd_schedule_preset %{?*} \
1678 %libvirt_systemd_schedule_reload %1 \
1681 # %pre implementation for services that should be neither restarted
1682 # nor reloaded on upgrade.
1683 %define libvirt_systemd_noaction_pre
() \
1684 %libvirt_systemd_schedule_preset %{?*} \
1687 # %posttrans implementation for all services. We can use a single
1688 # macro to cover all scenarios, because each operation will only be
1689 # performed if it had previously been scheduled. Note that
1690 # foo.service must be passed as the first argument, before all the
1691 # various foo*.socket associated with it.
1692 %define libvirt_systemd_posttrans
() \
1693 %libvirt_systemd_perform_preset %{?*} \
1694 %libvirt_systemd_perform_reload %1 \
1695 %libvirt_systemd_perform_restart %1 \
1698 # %preun implementation for all services.
1699 %define libvirt_systemd_preun
() \
1700 if [ $
1 -lt
1 ]; then \
1701 %libvirt_systemd_disable %{?*} \
1705 # For daemons with only UNIX sockets
1707 %define libvirt_systemd_unix_pre
() %libvirt_systemd_restart_pre %1.service
%1.socket
%1-ro.socket
%1-admin.socket
1708 %define libvirt_systemd_unix_posttrans
() %libvirt_systemd_posttrans %1.service
%1.socket
%1-ro.socket
%1-admin.socket
1709 %define libvirt_systemd_unix_preun
() %libvirt_systemd_preun %1.service
%1.socket
%1-ro.socket
%1-admin.socket
1711 # For daemons with UNIX and INET sockets
1712 %define libvirt_systemd_inet_pre
() %libvirt_systemd_restart_pre %1.service
%1.socket
%1-ro.socket
%1-admin.socket
%1-tls.socket
%1-tcp.socket
1713 %define libvirt_systemd_inet_posttrans
() %libvirt_systemd_posttrans %1.service
%1.socket
%1-ro.socket
%1-admin.socket
%1-tls.socket
%1-tcp.socket
1714 %define libvirt_systemd_inet_preun
() %libvirt_systemd_preun %1.service
%1.socket
%1-ro.socket
%1-admin.socket
%1-tls.socket
%1-tcp.socket
1716 # For daemons with only UNIX sockets and no unprivileged read-only access
1717 %define libvirt_systemd_privileged_pre
() %libvirt_systemd_reload_pre %1.service
%1.socket
%1-admin.socket
1718 %define libvirt_systemd_privileged_posttrans
() %libvirt_systemd_posttrans %1.service
%1.socket
%1-admin.socket
1719 %define libvirt_systemd_privileged_preun
() %libvirt_systemd_preun %1.service
%1.socket
%1-admin.socket
1721 # For one-shot daemons that have no associated sockets and should never be restarted
1722 %define libvirt_systemd_oneshot_pre
() %libvirt_systemd_noaction_pre %1.service
1723 %define libvirt_systemd_oneshot_posttrans
() %libvirt_systemd_posttrans %1.service
1724 %define libvirt_systemd_oneshot_preun
() %libvirt_systemd_preun %1.service
1726 # For packages that install configuration for other daemons
1727 %define libvirt_systemd_config_pre
() %libvirt_systemd_schedule_restart %1.service
1728 %define libvirt_systemd_config_posttrans
() %libvirt_systemd_perform_restart %1.service
1732 %libvirt_sysconfig_pre libvirtd
1733 %libvirt_systemd_inet_pre libvirtd
1736 %libvirt_sysconfig_posttrans libvirtd
1737 %libvirt_systemd_inet_posttrans libvirtd
1740 %libvirt_systemd_inet_preun libvirtd
1743 %libvirt_sysconfig_pre libvirt
-guests
1744 %libvirt_systemd_oneshot_pre libvirt
-guests
1745 # 'libvirt' group is just to allow password-less polkit access to libvirt
1746 # daemons. The uid number is irrelevant, so we use dynamic allocation.
1747 getent group libvirt
>/dev
/null || groupadd
-r libvirt
1750 %posttrans daemon
-common
1751 %libvirt_sysconfig_posttrans libvirt
-guests
1752 %libvirt_systemd_oneshot_posttrans libvirt
-guests
1754 %preun daemon
-common
1755 %libvirt_systemd_oneshot_preun libvirt
-guests
1758 %libvirt_sysconfig_pre virtlockd
1759 %libvirt_systemd_privileged_pre virtlockd
1761 %posttrans daemon
-lock
1762 %libvirt_sysconfig_posttrans virtlockd
1763 %libvirt_systemd_privileged_posttrans virtlockd
1766 %libvirt_systemd_privileged_preun virtlockd
1769 %libvirt_sysconfig_pre virtlogd
1770 %libvirt_systemd_privileged_pre virtlogd
1772 %posttrans daemon
-log
1773 %libvirt_sysconfig_posttrans virtlogd
1774 %libvirt_systemd_privileged_posttrans virtlogd
1777 %libvirt_systemd_privileged_preun virtlogd
1780 %libvirt_sysconfig_pre virtproxyd
1781 %libvirt_systemd_inet_pre virtproxyd
1783 %posttrans daemon
-proxy
1784 %libvirt_sysconfig_posttrans virtproxyd
1785 %libvirt_systemd_inet_posttrans virtproxyd
1788 %libvirt_systemd_inet_preun virtproxyd
1790 %pre daemon
-driver
-network
1791 %libvirt_sysconfig_pre virtnetworkd
1792 %libvirt_systemd_unix_pre virtnetworkd
1794 %post daemon
-driver
-network
1795 %if %{with_firewalld_zone}
1799 %posttrans daemon
-driver
-network
1800 %libvirt_sysconfig_posttrans virtnetworkd
1801 %libvirt_systemd_unix_posttrans virtnetworkd
1803 %preun daemon
-driver
-network
1804 %libvirt_systemd_unix_preun virtnetworkd
1806 %postun daemon
-driver
-network
1807 %if %{with_firewalld_zone}
1811 %pre daemon
-driver
-nwfilter
1812 %libvirt_sysconfig_pre virtnwfilterd
1813 %libvirt_systemd_unix_pre virtnwfilterd
1815 %posttrans daemon
-driver
-nwfilter
1816 %libvirt_sysconfig_posttrans virtnwfilterd
1817 %libvirt_systemd_unix_posttrans virtnwfilterd
1819 %preun daemon
-driver
-nwfilter
1820 %libvirt_systemd_unix_preun virtnwfilterd
1822 %pre daemon
-driver
-nodedev
1823 %libvirt_sysconfig_pre virtnodedevd
1824 %libvirt_systemd_unix_pre virtnodedevd
1826 %posttrans daemon
-driver
-nodedev
1827 %libvirt_sysconfig_posttrans virtnodedevd
1828 %libvirt_systemd_unix_posttrans virtnodedevd
1830 %preun daemon
-driver
-nodedev
1831 %libvirt_systemd_unix_preun virtnodedevd
1833 %pre daemon
-driver
-interface
1834 %libvirt_sysconfig_pre virtinterfaced
1835 %libvirt_systemd_unix_pre virtinterfaced
1837 %posttrans daemon
-driver
-interface
1838 %libvirt_sysconfig_posttrans virtinterfaced
1839 %libvirt_systemd_unix_posttrans virtinterfaced
1841 %preun daemon
-driver
-interface
1842 %libvirt_systemd_unix_preun virtinterfaced
1844 %pre daemon
-driver
-secret
1845 %libvirt_sysconfig_pre virtsecretd
1846 %libvirt_systemd_unix_pre virtsecretd
1848 %posttrans daemon
-driver
-secret
1849 %libvirt_sysconfig_posttrans virtsecretd
1850 %libvirt_systemd_unix_posttrans virtsecretd
1852 %preun daemon
-driver
-secret
1853 %libvirt_systemd_unix_preun virtsecretd
1855 %pre daemon
-driver
-storage
-core
1856 %libvirt_sysconfig_pre virtstoraged
1857 %libvirt_systemd_unix_pre virtstoraged
1859 %posttrans daemon
-driver
-storage
-core
1860 %libvirt_sysconfig_posttrans virtstoraged
1861 %libvirt_systemd_unix_posttrans virtstoraged
1863 %preun daemon
-driver
-storage
-core
1864 %libvirt_systemd_unix_preun virtstoraged
1867 %pre daemon
-driver
-qemu
1868 %libvirt_sysconfig_pre virtqemud
1869 %libvirt_systemd_unix_pre virtqemud
1871 # We want soft static allocation of well-known ids, as disk images
1872 # are commonly shared across NFS mounts by id rather than name.
1873 # See https://docs.fedoraproject.org/en-US/packaging-guidelines/UsersAndGroups/
1874 # We can not use the sysusers_create_compat macro here as we want to keep the
1875 # specfile standalone and not relying on additionnal files.
1876 getent group 'kvm'
>/dev
/null || groupadd
-f
-g '
36'
-r 'kvm' ||
:
1877 getent group 'qemu'
>/dev
/null || groupadd
-f
-g '
107'
-r 'qemu' ||
:
1878 if ! getent passwd 'qemu'
>/dev
/null
; then
1879 if ! getent passwd '
107'
>/dev
/null
; then
1880 useradd
-r
-u '
107'
-g 'qemu'
-G 'kvm'
-d '
/'
-s '
/sbin
/nologin'
-c 'qemu user' 'qemu' ||
:
1882 useradd
-r
-g 'qemu'
-G 'kvm'
-d '
/'
-s '
/sbin
/nologin'
-c 'qemu user' 'qemu' ||
:
1887 %posttrans daemon
-driver
-qemu
1888 %libvirt_sysconfig_posttrans virtqemud
1889 %libvirt_systemd_unix_posttrans virtqemud
1891 %preun daemon
-driver
-qemu
1892 %libvirt_systemd_unix_preun virtqemud
1896 %pre daemon
-driver
-lxc
1897 %libvirt_sysconfig_pre virtlxcd
1898 %libvirt_systemd_unix_pre virtlxcd
1900 %posttrans daemon
-driver
-lxc
1901 %libvirt_sysconfig_posttrans virtlxcd
1902 %libvirt_systemd_unix_posttrans virtlxcd
1904 %preun daemon
-driver
-lxc
1905 %libvirt_systemd_unix_preun virtlxcd
1909 %pre daemon
-driver
-vbox
1910 %libvirt_sysconfig_pre virtvboxd
1911 %libvirt_systemd_unix_pre virtvboxd
1913 %posttrans daemon
-driver
-vbox
1914 %libvirt_sysconfig_posttrans virtvboxd
1915 %libvirt_systemd_unix_posttrans virtvboxd
1917 %preun daemon
-driver
-vbox
1918 %libvirt_systemd_unix_preun virtvboxd
1922 %pre daemon
-driver
-libxl
1923 %libvirt_sysconfig_pre virtxend
1924 %libvirt_systemd_unix_pre virtxend
1926 %posttrans daemon
-driver
-libxl
1927 %libvirt_sysconfig_posttrans virtxend
1928 %libvirt_systemd_unix_posttrans virtxend
1930 %preun daemon
-driver
-libxl
1931 %libvirt_systemd_unix_preun virtxend
1934 %pre daemon
-config
-network
1935 %libvirt_systemd_config_pre libvirtd
1936 %libvirt_systemd_config_pre virtnetworkd
1938 %post daemon
-config
-network
1939 if test $
1 -eq
1 && test ! -f
%{_sysconfdir}/libvirt
/qemu
/networks
/default.xml
; then
1940 # see if the network used by default network creates a conflict,
1941 # and try to resolve it
1942 # NB: 192.168.122.0/24 is used in the default.xml template file;
1943 # do not modify any of those values here without also modifying
1944 # them in the template.
1949 routes
="$
{nl
}$
(ip route show | cut
-d' '
-f1
)$
{nl
}"
1951 *"$
{nl
}192.168.$
{orig_sub
}.0/24$
{nl
}"
*)
1952 # there was a match, so we need to look for an unused subnet
1953 for new_sub
in $
(seq
124 254); do
1955 *"$
{nl
}192.168.$
{new_sub
}.0/24$
{nl
}"
*)
1968 sed
-e "s
/$
{orig_sub
}/$
{sub
}/g" \
1969 < %{_datadir}/libvirt
/networks
/default.xml \
1970 > %{_sysconfdir}/libvirt
/qemu
/networks
/default.xml
1971 ln
-s ..
/default.xml
%{_sysconfdir}/libvirt
/qemu
/networks
/autostart
/default.xml
1972 # libvirt saves this file with mode 0600
1973 chmod
0600 %{_sysconfdir}/libvirt
/qemu
/networks
/default.xml
1976 %posttrans daemon
-config
-network
1977 %libvirt_systemd_config_posttrans libvirtd
1978 %libvirt_systemd_config_posttrans virtnetworkd
1980 %pre daemon
-config
-nwfilter
1981 %libvirt_systemd_config_pre libvirtd
1982 %libvirt_systemd_config_pre virtnwfilterd
1984 %post daemon
-config
-nwfilter
1985 for datadir_file
in %{_datadir}/libvirt
/nwfilter
/*.xml
; do
1986 sysconfdir_file
=%{_sysconfdir}/libvirt
/nwfilter
/$
(basename "$datadir_file"
)
1987 if [ ! -f "$sysconfdir_file"
]; then
1988 # libvirt saves these files with mode 600
1989 install -m
0600 "$datadir_file" "$sysconfdir_file"
1993 %posttrans daemon
-config
-nwfilter
1994 %libvirt_systemd_config_posttrans libvirtd
1995 %libvirt_systemd_config_posttrans virtnwfilterd
1999 getent group virtlogin
>/dev
/null || groupadd
-r virtlogin
2008 %doc AUTHORS.rst NEWS.rst README.rst
2012 %{_unitdir}/libvirtd.service
2013 %{_unitdir}/libvirtd.socket
2014 %{_unitdir}/libvirtd
-ro.socket
2015 %{_unitdir}/libvirtd
-admin.socket
2016 %{_unitdir}/libvirtd
-tcp.socket
2017 %{_unitdir}/libvirtd
-tls.socket
2018 %config(noreplace
) %{_sysconfdir}/libvirt
/libvirtd.conf
2019 %config(noreplace
) %{_prefix}/lib
/sysctl.d
/60-libvirtd.conf
2020 %config(noreplace
) %{_sysconfdir}/logrotate.d
/libvirtd
2021 %{_datadir}/augeas
/lenses
/libvirtd.aug
2022 %{_datadir}/augeas
/lenses
/tests
/test_libvirtd.aug
2023 %attr(0755, root
, root
) %{_sbindir}/libvirtd
2024 %{_mandir}/man8
/libvirtd
.8*
2026 %files daemon
-common
2027 %{_unitdir}/virt
-guest
-shutdown.target
2028 %{_unitdir}/libvirt
-guests.service
2029 %config(noreplace
) %{_sysconfdir}/sasl2
/libvirt.conf
2030 %dir %{_datadir}/libvirt
/
2031 %ghost %dir %{_rundir}/libvirt
/
2032 %ghost %dir %{_rundir}/libvirt
/common
/
2033 %dir %attr(0755, root
, root
) %{_localstatedir}/lib
/libvirt
/
2034 %dir %attr(0711, root
, root
) %{_localstatedir}/lib
/libvirt
/images
/
2035 %dir %attr(0711, root
, root
) %{_localstatedir}/lib
/libvirt
/filesystems
/
2036 %dir %attr(0711, root
, root
) %{_localstatedir}/lib
/libvirt
/boot
/
2037 %dir %attr(0711, root
, root
) %{_localstatedir}/cache
/libvirt
/
2038 %dir %attr(0755, root
, root
) %{_libdir}/libvirt
/
2039 %dir %attr(0755, root
, root
) %{_libdir}/libvirt
/connection
-driver
/
2040 %dir %attr(0755, root
, root
) %{_libdir}/libvirt
/storage
-backend
/
2041 %dir %attr(0755, root
, root
) %{_libdir}/libvirt
/storage
-file
/
2042 %{_datadir}/polkit
-1/actions
/org.libvirt.unix.policy
2043 %{_datadir}/polkit
-1/actions
/org.libvirt.api.policy
2044 %{_datadir}/polkit
-1/rules.d
/50-libvirt.rules
2045 %dir %attr(0700, root
, root
) %{_localstatedir}/log
/libvirt
/
2046 %attr(0755, root
, root
) %{_libexecdir}/libvirt_iohelper
2047 %attr(0755, root
, root
) %{_bindir}/virt
-ssh
-helper
2048 %attr(0755, root
, root
) %{_libexecdir}/libvirt
-guests.sh
2049 %{_mandir}/man1
/virt
-admin
.1*
2050 %{_mandir}/man1
/virt
-host
-validate
.1*
2051 %{_mandir}/man8
/virt
-ssh
-helper
.8*
2052 %{_mandir}/man8
/libvirt
-guests
.8*
2053 %{_bindir}/virt
-host
-validate
2054 %{_bindir}/virt
-admin
2055 %{_datadir}/bash
-completion
/completions
/virt
-admin
2058 %{_unitdir}/virtlockd.service
2059 %{_unitdir}/virtlockd.socket
2060 %{_unitdir}/virtlockd
-admin.socket
2061 %config(noreplace
) %{_sysconfdir}/libvirt
/virtlockd.conf
2062 %{_datadir}/augeas
/lenses
/virtlockd.aug
2063 %{_datadir}/augeas
/lenses
/tests
/test_virtlockd.aug
2064 %{_datadir}/augeas
/lenses
/libvirt_lockd.aug
2066 %{_datadir}/augeas
/lenses
/tests
/test_libvirt_lockd.aug
2068 %attr(0755, root
, root
) %{_sbindir}/virtlockd
2069 %{_mandir}/man8
/virtlockd
.8*
2071 %files daemon
-plugin
-lockd
2072 %dir %attr(0755, root
, root
) %{_libdir}/libvirt
/lock
-driver
/
2073 %attr(0755, root
, root
) %{_libdir}/libvirt
/lock
-driver
/lockd.so
2076 %{_unitdir}/virtlogd.service
2077 %{_unitdir}/virtlogd.socket
2078 %{_unitdir}/virtlogd
-admin.socket
2079 %config(noreplace
) %{_sysconfdir}/libvirt
/virtlogd.conf
2080 %{_datadir}/augeas
/lenses
/virtlogd.aug
2081 %{_datadir}/augeas
/lenses
/tests
/test_virtlogd.aug
2082 %attr(0755, root
, root
) %{_sbindir}/virtlogd
2083 %{_mandir}/man8
/virtlogd
.8*
2086 %{_unitdir}/virtproxyd.service
2087 %{_unitdir}/virtproxyd.socket
2088 %{_unitdir}/virtproxyd
-ro.socket
2089 %{_unitdir}/virtproxyd
-admin.socket
2090 %{_unitdir}/virtproxyd
-tcp.socket
2091 %{_unitdir}/virtproxyd
-tls.socket
2092 %config(noreplace
) %{_sysconfdir}/libvirt
/virtproxyd.conf
2093 %{_datadir}/augeas
/lenses
/virtproxyd.aug
2094 %{_datadir}/augeas
/lenses
/tests
/test_virtproxyd.aug
2095 %attr(0755, root
, root
) %{_sbindir}/virtproxyd
2096 %{_mandir}/man8
/virtproxyd
.8*
2098 %files daemon
-config
-network
2099 %dir %{_datadir}/libvirt
/networks
/
2100 %{_datadir}/libvirt
/networks
/default.xml
2101 %ghost %{_sysconfdir}/libvirt
/qemu
/networks
/default.xml
2102 %ghost %{_sysconfdir}/libvirt
/qemu
/networks
/autostart
/default.xml
2104 %files daemon
-config
-nwfilter
2105 %dir %{_datadir}/libvirt
/nwfilter
/
2106 %{_datadir}/libvirt
/nwfilter
/*.xml
2107 %ghost %{_sysconfdir}/libvirt
/nwfilter
/*.xml
2109 %files daemon
-driver
-interface
2110 %config(noreplace
) %{_sysconfdir}/libvirt
/virtinterfaced.conf
2111 %{_datadir}/augeas
/lenses
/virtinterfaced.aug
2112 %{_datadir}/augeas
/lenses
/tests
/test_virtinterfaced.aug
2113 %{_unitdir}/virtinterfaced.service
2114 %{_unitdir}/virtinterfaced.socket
2115 %{_unitdir}/virtinterfaced
-ro.socket
2116 %{_unitdir}/virtinterfaced
-admin.socket
2117 %attr(0755, root
, root
) %{_sbindir}/virtinterfaced
2118 %ghost %dir %{_rundir}/libvirt
/interface
/
2119 %{_libdir}/libvirt
/connection
-driver
/libvirt_driver_interface.so
2120 %{_mandir}/man8
/virtinterfaced
.8*
2122 %files daemon
-driver
-network
2123 %config(noreplace
) %{_sysconfdir}/libvirt
/virtnetworkd.conf
2124 %{_datadir}/augeas
/lenses
/virtnetworkd.aug
2125 %{_datadir}/augeas
/lenses
/tests
/test_virtnetworkd.aug
2126 %config(noreplace
) %{_sysconfdir}/libvirt
/network.conf
2127 %{_datadir}/augeas
/lenses
/libvirtd_network.aug
2128 %{_datadir}/augeas
/lenses
/tests
/test_libvirtd_network.aug
2129 %{_unitdir}/virtnetworkd.service
2130 %{_unitdir}/virtnetworkd.socket
2131 %{_unitdir}/virtnetworkd
-ro.socket
2132 %{_unitdir}/virtnetworkd
-admin.socket
2133 %attr(0755, root
, root
) %{_sbindir}/virtnetworkd
2134 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/qemu
/
2135 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/qemu
/networks
/
2136 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/qemu
/networks
/autostart
2137 %ghost %dir %{_rundir}/libvirt
/network
/
2138 %dir %attr(0700, root
, root
) %{_localstatedir}/lib
/libvirt
/network
/
2139 %dir %attr(0755, root
, root
) %{_localstatedir}/lib
/libvirt
/dnsmasq
/
2140 %attr(0755, root
, root
) %{_libexecdir}/libvirt_leaseshelper
2141 %{_libdir}/libvirt
/connection
-driver
/libvirt_driver_network.so
2142 %{_mandir}/man8
/virtnetworkd
.8*
2143 %if %{with_firewalld_zone}
2144 %{_prefix}/lib
/firewalld
/zones
/libvirt.xml
2145 %{_prefix}/lib
/firewalld
/zones
/libvirt
-routed.xml
2146 %{_prefix}/lib
/firewalld
/policies
/libvirt
-routed
-in.xml
2147 %{_prefix}/lib
/firewalld
/policies
/libvirt
-routed
-out.xml
2148 %{_prefix}/lib
/firewalld
/policies
/libvirt
-to
-host.xml
2151 %files daemon
-driver
-nodedev
2152 %config(noreplace
) %{_sysconfdir}/libvirt
/virtnodedevd.conf
2153 %{_datadir}/augeas
/lenses
/virtnodedevd.aug
2154 %{_datadir}/augeas
/lenses
/tests
/test_virtnodedevd.aug
2155 %{_unitdir}/virtnodedevd.service
2156 %{_unitdir}/virtnodedevd.socket
2157 %{_unitdir}/virtnodedevd
-ro.socket
2158 %{_unitdir}/virtnodedevd
-admin.socket
2159 %attr(0755, root
, root
) %{_sbindir}/virtnodedevd
2160 %ghost %dir %{_rundir}/libvirt
/nodedev
/
2161 %{_libdir}/libvirt
/connection
-driver
/libvirt_driver_nodedev.so
2162 %{_mandir}/man8
/virtnodedevd
.8*
2164 %files daemon
-driver
-nwfilter
2165 %config(noreplace
) %{_sysconfdir}/libvirt
/virtnwfilterd.conf
2166 %{_datadir}/augeas
/lenses
/virtnwfilterd.aug
2167 %{_datadir}/augeas
/lenses
/tests
/test_virtnwfilterd.aug
2168 %{_unitdir}/virtnwfilterd.service
2169 %{_unitdir}/virtnwfilterd.socket
2170 %{_unitdir}/virtnwfilterd
-ro.socket
2171 %{_unitdir}/virtnwfilterd
-admin.socket
2172 %attr(0755, root
, root
) %{_sbindir}/virtnwfilterd
2173 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/nwfilter
/
2174 %ghost %dir %{_rundir}/libvirt
/network
/
2175 %ghost %dir %{_rundir}/libvirt
/nwfilter
-binding
/
2176 %ghost %dir %{_rundir}/libvirt
/nwfilter
/
2177 %{_libdir}/libvirt
/connection
-driver
/libvirt_driver_nwfilter.so
2178 %{_mandir}/man8
/virtnwfilterd
.8*
2180 %files daemon
-driver
-secret
2181 %config(noreplace
) %{_sysconfdir}/libvirt
/virtsecretd.conf
2182 %{_datadir}/augeas
/lenses
/virtsecretd.aug
2183 %{_datadir}/augeas
/lenses
/tests
/test_virtsecretd.aug
2184 %{_unitdir}/virtsecretd.service
2185 %{_unitdir}/virtsecretd.socket
2186 %{_unitdir}/virtsecretd
-ro.socket
2187 %{_unitdir}/virtsecretd
-admin.socket
2188 %attr(0755, root
, root
) %{_sbindir}/virtsecretd
2189 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/secrets
/
2190 %ghost %dir %{_rundir}/libvirt
/secrets
/
2191 %{_libdir}/libvirt
/connection
-driver
/libvirt_driver_secret.so
2192 %{_mandir}/man8
/virtsecretd
.8*
2194 %files daemon
-driver
-storage
2196 %files daemon
-driver
-storage
-core
2197 %config(noreplace
) %{_sysconfdir}/libvirt
/virtstoraged.conf
2198 %{_datadir}/augeas
/lenses
/virtstoraged.aug
2199 %{_datadir}/augeas
/lenses
/tests
/test_virtstoraged.aug
2200 %{_unitdir}/virtstoraged.service
2201 %{_unitdir}/virtstoraged.socket
2202 %{_unitdir}/virtstoraged
-ro.socket
2203 %{_unitdir}/virtstoraged
-admin.socket
2204 %attr(0755, root
, root
) %{_sbindir}/virtstoraged
2205 %attr(0755, root
, root
) %{_libexecdir}/libvirt_parthelper
2206 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/storage
/
2207 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/storage
/autostart
/
2208 %ghost %dir %{_rundir}/libvirt
/storage
/
2209 %{_libdir}/libvirt
/connection
-driver
/libvirt_driver_storage.so
2210 %{_libdir}/libvirt
/storage
-backend
/libvirt_storage_backend_fs.so
2211 %{_libdir}/libvirt
/storage
-file
/libvirt_storage_file_fs.so
2212 %{_mandir}/man8
/virtstoraged
.8*
2214 %files daemon
-driver
-storage
-disk
2215 %{_libdir}/libvirt
/storage
-backend
/libvirt_storage_backend_disk.so
2217 %files daemon
-driver
-storage
-logical
2218 %{_libdir}/libvirt
/storage
-backend
/libvirt_storage_backend_logical.so
2220 %files daemon
-driver
-storage
-scsi
2221 %{_libdir}/libvirt
/storage
-backend
/libvirt_storage_backend_scsi.so
2223 %files daemon
-driver
-storage
-iscsi
2224 %{_libdir}/libvirt
/storage
-backend
/libvirt_storage_backend_iscsi.so
2226 %if %{with_storage_iscsi_direct}
2227 %files daemon
-driver
-storage
-iscsi
-direct
2228 %{_libdir}/libvirt
/storage
-backend
/libvirt_storage_backend_iscsi
-direct.so
2231 %files daemon
-driver
-storage
-mpath
2232 %{_libdir}/libvirt
/storage
-backend
/libvirt_storage_backend_mpath.so
2234 %if %{with_storage_gluster}
2235 %files daemon
-driver
-storage
-gluster
2236 %{_libdir}/libvirt
/storage
-backend
/libvirt_storage_backend_gluster.so
2237 %{_libdir}/libvirt
/storage
-file
/libvirt_storage_file_gluster.so
2240 %if %{with_storage_rbd}
2241 %files daemon
-driver
-storage
-rbd
2242 %{_libdir}/libvirt
/storage
-backend
/libvirt_storage_backend_rbd.so
2245 %if %{with_storage_zfs}
2246 %files daemon
-driver
-storage
-zfs
2247 %{_libdir}/libvirt
/storage
-backend
/libvirt_storage_backend_zfs.so
2251 %files daemon
-driver
-qemu
2252 %config(noreplace
) %{_sysconfdir}/libvirt
/virtqemud.conf
2253 %if %{with_userfaultfd_sysctl}
2254 %config(noreplace
) %{_prefix}/lib
/sysctl.d
/60-qemu
-postcopy
-migration.conf
2256 %{_datadir}/augeas
/lenses
/virtqemud.aug
2257 %{_datadir}/augeas
/lenses
/tests
/test_virtqemud.aug
2258 %{_unitdir}/virtqemud.service
2259 %{_unitdir}/virtqemud.socket
2260 %{_unitdir}/virtqemud
-ro.socket
2261 %{_unitdir}/virtqemud
-admin.socket
2262 %attr(0755, root
, root
) %{_sbindir}/virtqemud
2263 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/qemu
/
2264 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/qemu
/autostart
/
2265 %dir %attr(0700, root
, root
) %{_localstatedir}/log
/libvirt
/qemu
/
2266 %config(noreplace
) %{_sysconfdir}/libvirt
/qemu.conf
2267 %config(noreplace
) %{_sysconfdir}/libvirt
/qemu
-lockd.conf
2268 %config(noreplace
) %{_sysconfdir}/logrotate.d
/libvirtd.qemu
2269 %ghost %dir %{_rundir}/libvirt
/qemu
/
2270 %ghost %dir %{_rundir}/libvirt
/qemu
/dbus
/
2271 %ghost %dir %{_rundir}/libvirt
/qemu
/passt
/
2272 %ghost %dir %{_rundir}/libvirt
/qemu
/slirp
/
2273 %ghost %dir %{_rundir}/libvirt
/qemu
/swtpm
/
2274 %dir %attr(0751, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib
/libvirt
/qemu
/
2275 %dir %attr(0751, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib
/libvirt
/qemu
/checkpoint
/
2276 %dir %attr(0751, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib
/libvirt
/qemu
/dump
/
2277 %dir %attr(0751, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib
/libvirt
/qemu
/nvram
/
2278 %dir %attr(0751, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib
/libvirt
/qemu
/ram
/
2279 %dir %attr(0751, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib
/libvirt
/qemu
/save
/
2280 %dir %attr(0751, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib
/libvirt
/qemu
/snapshot
/
2281 %dir %attr(0750, root
, root
) %{_localstatedir}/cache
/libvirt
/qemu
/
2282 %{_datadir}/augeas
/lenses
/libvirtd_qemu.aug
2283 %{_datadir}/augeas
/lenses
/tests
/test_libvirtd_qemu.aug
2284 %{_libdir}/libvirt
/connection
-driver
/libvirt_driver_qemu.so
2285 %dir %attr(0711, root
, root
) %{_localstatedir}/lib
/libvirt
/swtpm
/
2286 %dir %attr(0730, tss
, tss
) %{_localstatedir}/log
/swtpm
/libvirt
/qemu
/
2287 %{_bindir}/virt
-qemu
-run
2288 %{_mandir}/man1
/virt
-qemu
-run
.1*
2289 %{_mandir}/man8
/virtqemud
.8*
2290 %{_sysusersdir}/libvirt
-qemu.conf
2294 %files daemon
-driver
-lxc
2295 %config(noreplace
) %{_sysconfdir}/libvirt
/virtlxcd.conf
2296 %{_datadir}/augeas
/lenses
/virtlxcd.aug
2297 %{_datadir}/augeas
/lenses
/tests
/test_virtlxcd.aug
2298 %{_unitdir}/virtlxcd.service
2299 %{_unitdir}/virtlxcd.socket
2300 %{_unitdir}/virtlxcd
-ro.socket
2301 %{_unitdir}/virtlxcd
-admin.socket
2302 %attr(0755, root
, root
) %{_sbindir}/virtlxcd
2303 %dir %attr(0700, root
, root
) %{_localstatedir}/log
/libvirt
/lxc
/
2304 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/lxc
/
2305 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/lxc
/autostart
/
2306 %config(noreplace
) %{_sysconfdir}/libvirt
/lxc.conf
2307 %config(noreplace
) %{_sysconfdir}/logrotate.d
/libvirtd.lxc
2308 %ghost %dir %{_rundir}/libvirt
/lxc
/
2309 %dir %attr(0700, root
, root
) %{_localstatedir}/lib
/libvirt
/lxc
/
2310 %{_datadir}/augeas
/lenses
/libvirtd_lxc.aug
2311 %{_datadir}/augeas
/lenses
/tests
/test_libvirtd_lxc.aug
2312 %attr(0755, root
, root
) %{_libexecdir}/libvirt_lxc
2313 %{_libdir}/libvirt
/connection
-driver
/libvirt_driver_lxc.so
2314 %{_mandir}/man8
/virtlxcd
.8*
2318 %files daemon
-driver
-libxl
2319 %config(noreplace
) %{_sysconfdir}/libvirt
/virtxend.conf
2320 %{_datadir}/augeas
/lenses
/virtxend.aug
2321 %{_datadir}/augeas
/lenses
/tests
/test_virtxend.aug
2322 %{_unitdir}/virtxend.service
2323 %{_unitdir}/virtxend.socket
2324 %{_unitdir}/virtxend
-ro.socket
2325 %{_unitdir}/virtxend
-admin.socket
2326 %attr(0755, root
, root
) %{_sbindir}/virtxend
2327 %config(noreplace
) %{_sysconfdir}/libvirt
/libxl.conf
2328 %config(noreplace
) %{_sysconfdir}/logrotate.d
/libvirtd.libxl
2329 %config(noreplace
) %{_sysconfdir}/libvirt
/libxl
-lockd.conf
2330 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/libxl
/
2331 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/libxl
/autostart
/
2332 %{_datadir}/augeas
/lenses
/libvirtd_libxl.aug
2333 %{_datadir}/augeas
/lenses
/tests
/test_libvirtd_libxl.aug
2334 %dir %attr(0700, root
, root
) %{_localstatedir}/log
/libvirt
/libxl
/
2335 %ghost %dir %{_rundir}/libvirt
/libxl
/
2336 %dir %attr(0700, root
, root
) %{_localstatedir}/lib
/libvirt
/libxl
/
2337 %dir %attr(0700, root
, root
) %{_localstatedir}/lib
/libvirt
/libxl
/channel
/
2338 %dir %attr(0700, root
, root
) %{_localstatedir}/lib
/libvirt
/libxl
/channel
/target
/
2339 %dir %attr(0700, root
, root
) %{_localstatedir}/lib
/libvirt
/libxl
/dump
/
2340 %dir %attr(0700, root
, root
) %{_localstatedir}/lib
/libvirt
/libxl
/save
/
2341 %{_libdir}/libvirt
/connection
-driver
/libvirt_driver_libxl.so
2342 %{_mandir}/man8
/virtxend
.8*
2346 %files daemon
-driver
-vbox
2347 %config(noreplace
) %{_sysconfdir}/libvirt
/virtvboxd.conf
2348 %{_datadir}/augeas
/lenses
/virtvboxd.aug
2349 %{_datadir}/augeas
/lenses
/tests
/test_virtvboxd.aug
2350 %{_unitdir}/virtvboxd.service
2351 %{_unitdir}/virtvboxd.socket
2352 %{_unitdir}/virtvboxd
-ro.socket
2353 %{_unitdir}/virtvboxd
-admin.socket
2354 %attr(0755, root
, root
) %{_sbindir}/virtvboxd
2355 %{_libdir}/libvirt
/connection
-driver
/libvirt_driver_vbox.so
2356 %{_mandir}/man8
/virtvboxd
.8*
2359 %if %{with_qemu_tcg}
2363 %if %{with_qemu_kvm}
2380 %files daemon
-plugin
-sanlock
2382 %config(noreplace
) %{_sysconfdir}/libvirt
/qemu
-sanlock.conf
2385 %config(noreplace
) %{_sysconfdir}/libvirt
/libxl
-sanlock.conf
2387 %dir %attr(0755, root
, root
) %{_libdir}/libvirt
/lock
-driver
/
2388 %attr(0755, root
, root
) %{_libdir}/libvirt
/lock
-driver
/sanlock.so
2389 %{_datadir}/augeas
/lenses
/libvirt_sanlock.aug
2390 %{_datadir}/augeas
/lenses
/tests
/test_libvirt_sanlock.aug
2391 %dir %attr(0770, root
, sanlock
) %{_localstatedir}/lib
/libvirt
/sanlock
2392 %{_sbindir}/virt
-sanlock
-cleanup
2393 %{_mandir}/man8
/virt
-sanlock
-cleanup
.8*
2394 %attr(0755, root
, root
) %{_libexecdir}/libvirt_sanlock_helper
2398 %{_mandir}/man1
/virsh
.1*
2399 %{_mandir}/man1
/virt
-xml
-validate
.1*
2400 %{_mandir}/man1
/virt
-pki
-query
-dn
.1*
2401 %{_mandir}/man1
/virt
-pki
-validate
.1*
2402 %{_mandir}/man7
/virkey
*.7*
2404 %{_bindir}/virt
-xml
-validate
2405 %{_bindir}/virt
-pki
-query
-dn
2406 %{_bindir}/virt
-pki
-validate
2407 %{_datadir}/bash
-completion
/completions
/virsh
2411 %{_mandir}/man1
/virt
-qemu
-qmp
-proxy
.1*
2412 %{_mandir}/man1
/virt
-qemu
-sev
-validate
.1*
2413 %{_bindir}/virt
-qemu
-qmp
-proxy
2414 %{_bindir}/virt
-qemu
-sev
-validate
2417 %files libs
-f
%{name}.lang
2418 %license COPYING COPYING.LESSER
2419 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/
2420 %config(noreplace
) %{_sysconfdir}/libvirt
/libvirt.conf
2421 %config(noreplace
) %{_sysconfdir}/libvirt
/libvirt
-admin.conf
2422 %{_libdir}/libvirt.so.
*
2423 %{_libdir}/libvirt
-qemu.so.
*
2424 %{_libdir}/libvirt
-lxc.so.
*
2425 %{_libdir}/libvirt
-admin.so.
*
2426 %dir %{_datadir}/libvirt
/
2427 %dir %{_datadir}/libvirt
/schemas
/
2428 %{_datadir}/systemtap
/tapset
/libvirt_probes
*.stp
2429 %{_datadir}/systemtap
/tapset
/libvirt_functions.stp
2431 %{_datadir}/systemtap
/tapset
/libvirt_qemu_probes
*.stp
2433 %{_datadir}/libvirt
/schemas
/*.rng
2434 %{_datadir}/libvirt
/cpu_map
/*.xml
2435 %{_datadir}/libvirt
/test-screenshot.png
2437 %if %{with_wireshark}
2439 %{wireshark_plugindir}/libvirt.so
2443 %{_libdir}/libnss_libvirt.so
.2
2444 %{_libdir}/libnss_libvirt_guest.so
.2
2447 %config(noreplace
) %{_sysconfdir}/ssh
/ssh_config.d
/30-libvirt
-ssh
-proxy.conf
2448 %{_libexecdir}/libvirt
-ssh
-proxy
2452 %attr(4750, root
, virtlogin
) %{_bindir}/virt
-login
-shell
2453 %{_libexecdir}/virt
-login
-shell
-helper
2454 %config(noreplace
) %{_sysconfdir}/libvirt
/virt
-login
-shell.conf
2455 %{_mandir}/man1
/virt
-login
-shell
.1*
2459 %{_libdir}/libvirt.so
2460 %{_libdir}/libvirt
-admin.so
2461 %{_libdir}/libvirt
-qemu.so
2462 %{_libdir}/libvirt
-lxc.so
2463 %dir %{_includedir}/libvirt
2464 %{_includedir}/libvirt
/virterror.h
2465 %{_includedir}/libvirt
/libvirt.h
2466 %{_includedir}/libvirt
/libvirt
-admin.h
2467 %{_includedir}/libvirt
/libvirt
-common.h
2468 %{_includedir}/libvirt
/libvirt
-domain.h
2469 %{_includedir}/libvirt
/libvirt
-domain
-checkpoint.h
2470 %{_includedir}/libvirt
/libvirt
-domain
-snapshot.h
2471 %{_includedir}/libvirt
/libvirt
-event.h
2472 %{_includedir}/libvirt
/libvirt
-host.h
2473 %{_includedir}/libvirt
/libvirt
-interface.h
2474 %{_includedir}/libvirt
/libvirt
-network.h
2475 %{_includedir}/libvirt
/libvirt
-nodedev.h
2476 %{_includedir}/libvirt
/libvirt
-nwfilter.h
2477 %{_includedir}/libvirt
/libvirt
-secret.h
2478 %{_includedir}/libvirt
/libvirt
-storage.h
2479 %{_includedir}/libvirt
/libvirt
-stream.h
2480 %{_includedir}/libvirt
/libvirt
-qemu.h
2481 %{_includedir}/libvirt
/libvirt
-lxc.h
2482 %{_libdir}/pkgconfig
/libvirt.pc
2483 %{_libdir}/pkgconfig
/libvirt
-admin.pc
2484 %{_libdir}/pkgconfig
/libvirt
-qemu.pc
2485 %{_libdir}/pkgconfig
/libvirt
-lxc.pc
2486 %dir %{_datadir}/libvirt
/api
/
2487 %{_datadir}/libvirt
/api
/libvirt
-api.xml
2488 %{_datadir}/libvirt
/api
/libvirt
-admin
-api.xml
2489 %{_datadir}/libvirt
/api
/libvirt
-qemu
-api.xml
2490 %{_datadir}/libvirt
/api
/libvirt
-lxc
-api.xml
2494 %files -n mingw32
-libvirt
-f mingw32
-libvirt.lang
2495 %dir %{mingw32_sysconfdir}/libvirt
/
2496 %config(noreplace
) %{mingw32_sysconfdir}/libvirt
/libvirt.conf
2497 %config(noreplace
) %{mingw32_sysconfdir}/libvirt
/libvirt
-admin.conf
2498 %{mingw32_bindir}/libvirt
-0.dll
2499 %{mingw32_bindir}/virsh.exe
2500 %{mingw32_bindir}/virt
-admin.exe
2501 %{mingw32_bindir}/virt
-xml
-validate
2502 %{mingw32_bindir}/virt
-pki
-query
-dn.exe
2503 %{mingw32_bindir}/virt
-pki
-validate
2504 %{mingw32_bindir}/libvirt
-lxc
-0.dll
2505 %{mingw32_bindir}/libvirt
-qemu
-0.dll
2506 %{mingw32_bindir}/libvirt
-admin
-0.dll
2507 %{mingw32_libdir}/libvirt.dll.a
2508 %{mingw32_libdir}/pkgconfig
/libvirt.pc
2509 %{mingw32_libdir}/pkgconfig
/libvirt
-qemu.pc
2510 %{mingw32_libdir}/pkgconfig
/libvirt
-lxc.pc
2511 %{mingw32_libdir}/pkgconfig
/libvirt
-admin.pc
2512 %{mingw32_libdir}/libvirt
-lxc.dll.a
2513 %{mingw32_libdir}/libvirt
-qemu.dll.a
2514 %{mingw32_libdir}/libvirt
-admin.dll.a
2515 %dir %{mingw32_datadir}/libvirt
/
2516 %dir %{mingw32_datadir}/libvirt
/schemas
/
2517 %{mingw32_datadir}/libvirt
/schemas
/*.rng
2518 %dir %{mingw32_datadir}/libvirt
/api
/
2519 %{mingw32_datadir}/libvirt
/api
/libvirt
-api.xml
2520 %{mingw32_datadir}/libvirt
/api
/libvirt
-lxc
-api.xml
2521 %{mingw32_datadir}/libvirt
/api
/libvirt
-qemu
-api.xml
2522 %{mingw32_datadir}/libvirt
/api
/libvirt
-admin
-api.xml
2523 %{mingw32_datadir}/libvirt
/cpu_map
/*.xml
2524 %{mingw32_datadir}/libvirt
/test-screenshot.png
2525 %dir %{mingw32_includedir}/libvirt
2526 %{mingw32_includedir}/libvirt
/libvirt.h
2527 %{mingw32_includedir}/libvirt
/libvirt
-common.h
2528 %{mingw32_includedir}/libvirt
/libvirt
-domain.h
2529 %{mingw32_includedir}/libvirt
/libvirt
-domain
-checkpoint.h
2530 %{mingw32_includedir}/libvirt
/libvirt
-domain
-snapshot.h
2531 %{mingw32_includedir}/libvirt
/libvirt
-event.h
2532 %{mingw32_includedir}/libvirt
/libvirt
-host.h
2533 %{mingw32_includedir}/libvirt
/libvirt
-interface.h
2534 %{mingw32_includedir}/libvirt
/libvirt
-network.h
2535 %{mingw32_includedir}/libvirt
/libvirt
-nodedev.h
2536 %{mingw32_includedir}/libvirt
/libvirt
-nwfilter.h
2537 %{mingw32_includedir}/libvirt
/libvirt
-secret.h
2538 %{mingw32_includedir}/libvirt
/libvirt
-storage.h
2539 %{mingw32_includedir}/libvirt
/libvirt
-stream.h
2540 %{mingw32_includedir}/libvirt
/virterror.h
2541 %{mingw32_includedir}/libvirt
/libvirt
-lxc.h
2542 %{mingw32_includedir}/libvirt
/libvirt
-qemu.h
2543 %{mingw32_includedir}/libvirt
/libvirt
-admin.h
2544 %{mingw32_mandir}/man1
/virsh
.1*
2545 %{mingw32_mandir}/man1
/virt
-admin
.1*
2546 %{mingw32_mandir}/man1
/virt
-xml
-validate
.1*
2547 %{mingw32_mandir}/man1
/virt
-pki
-query
-dn
.1*
2548 %{mingw32_mandir}/man1
/virt
-pki
-validate
.1*
2549 %{mingw32_mandir}/man7
/virkey
*.7*
2553 %files -n mingw64
-libvirt
-f mingw64
-libvirt.lang
2554 %dir %{mingw64_sysconfdir}/libvirt
/
2555 %config(noreplace
) %{mingw64_sysconfdir}/libvirt
/libvirt.conf
2556 %config(noreplace
) %{mingw64_sysconfdir}/libvirt
/libvirt
-admin.conf
2557 %{mingw64_bindir}/libvirt
-0.dll
2558 %{mingw64_bindir}/virsh.exe
2559 %{mingw64_bindir}/virt
-admin.exe
2560 %{mingw64_bindir}/virt
-xml
-validate
2561 %{mingw64_bindir}/virt
-pki
-query
-dn.exe
2562 %{mingw64_bindir}/virt
-pki
-validate
2563 %{mingw64_bindir}/libvirt
-lxc
-0.dll
2564 %{mingw64_bindir}/libvirt
-qemu
-0.dll
2565 %{mingw64_bindir}/libvirt
-admin
-0.dll
2566 %{mingw64_libdir}/libvirt.dll.a
2567 %{mingw64_libdir}/pkgconfig
/libvirt.pc
2568 %{mingw64_libdir}/pkgconfig
/libvirt
-qemu.pc
2569 %{mingw64_libdir}/pkgconfig
/libvirt
-lxc.pc
2570 %{mingw64_libdir}/pkgconfig
/libvirt
-admin.pc
2571 %{mingw64_libdir}/libvirt
-lxc.dll.a
2572 %{mingw64_libdir}/libvirt
-qemu.dll.a
2573 %{mingw64_libdir}/libvirt
-admin.dll.a
2574 %dir %{mingw64_datadir}/libvirt
/
2575 %dir %{mingw64_datadir}/libvirt
/schemas
/
2576 %{mingw64_datadir}/libvirt
/schemas
/*.rng
2577 %dir %{mingw64_datadir}/libvirt
/api
/
2578 %{mingw64_datadir}/libvirt
/api
/libvirt
-api.xml
2579 %{mingw64_datadir}/libvirt
/api
/libvirt
-lxc
-api.xml
2580 %{mingw64_datadir}/libvirt
/api
/libvirt
-qemu
-api.xml
2581 %{mingw64_datadir}/libvirt
/api
/libvirt
-admin
-api.xml
2582 %{mingw64_datadir}/libvirt
/cpu_map
/*.xml
2583 %{mingw64_datadir}/libvirt
/test-screenshot.png
2584 %dir %{mingw64_includedir}/libvirt
2585 %{mingw64_includedir}/libvirt
/libvirt.h
2586 %{mingw64_includedir}/libvirt
/libvirt
-common.h
2587 %{mingw64_includedir}/libvirt
/libvirt
-domain.h
2588 %{mingw64_includedir}/libvirt
/libvirt
-domain
-checkpoint.h
2589 %{mingw64_includedir}/libvirt
/libvirt
-domain
-snapshot.h
2590 %{mingw64_includedir}/libvirt
/libvirt
-event.h
2591 %{mingw64_includedir}/libvirt
/libvirt
-host.h
2592 %{mingw64_includedir}/libvirt
/libvirt
-interface.h
2593 %{mingw64_includedir}/libvirt
/libvirt
-network.h
2594 %{mingw64_includedir}/libvirt
/libvirt
-nodedev.h
2595 %{mingw64_includedir}/libvirt
/libvirt
-nwfilter.h
2596 %{mingw64_includedir}/libvirt
/libvirt
-secret.h
2597 %{mingw64_includedir}/libvirt
/libvirt
-storage.h
2598 %{mingw64_includedir}/libvirt
/libvirt
-stream.h
2599 %{mingw64_includedir}/libvirt
/virterror.h
2600 %{mingw64_includedir}/libvirt
/libvirt
-lxc.h
2601 %{mingw64_includedir}/libvirt
/libvirt
-qemu.h
2602 %{mingw64_includedir}/libvirt
/libvirt
-admin.h
2603 %{mingw64_mandir}/man1
/virsh
.1*
2604 %{mingw64_mandir}/man1
/virt
-admin
.1*
2605 %{mingw64_mandir}/man1
/virt
-xml
-validate
.1*
2606 %{mingw64_mandir}/man1
/virt
-pki
-query
-dn
.1*
2607 %{mingw64_mandir}/man1
/virt
-pki
-validate
.1*
2608 %{mingw64_mandir}/man7
/virkey
*.7*