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
: libselinux
-devel
301 BuildRequires
: dnsmasq
>= 2.41
302 BuildRequires
: iptables
304 BuildRequires
: ebtables
305 BuildRequires
: module
-init
-tools
306 BuildRequires
: cyrus
-sasl
-devel
307 BuildRequires
: polkit
>= 0.112
308 # For mount/umount in FS driver
309 BuildRequires
: util
-linux
312 BuildRequires
: libacl
-devel
314 BuildRequires
: /usr
/bin
/qemu
-img
318 # For pool type=iscsi
319 BuildRequires
: iscsi
-initiator
-utils
320 %if %{with_storage_iscsi_direct}
321 # For pool type=iscsi-direct
322 BuildRequires
: libiscsi
-devel
325 BuildRequires
: parted
-devel
326 # For Multipath support
327 BuildRequires
: device
-mapper
-devel
328 # For XFS reflink clone support
329 BuildRequires
: xfsprogs
-devel
330 %if %{with_storage_rbd}
331 BuildRequires
: librados2
-devel
332 BuildRequires
: librbd1
-devel
334 %if %{with_storage_gluster}
335 BuildRequires
: glusterfs
-api
-devel
>= 3.4.1
336 BuildRequires
: glusterfs
-devel
>= 3.4.1
338 %if %{with_storage_sheepdog}
339 BuildRequires
: sheepdog
341 %if %{with_storage_zfs}
342 # Support any conforming implementation of zfs. On stock Fedora
343 # this is zfs-fuse, but could be zfsonlinux upstream RPMs
344 BuildRequires
: /sbin
/zfs
345 BuildRequires
: /sbin
/zpool
348 # For QEMU/LXC numa info
349 BuildRequires
: numactl
-devel
351 BuildRequires
: libcap
-ng
-devel
>= 0.5.0
353 BuildRequires
: fuse
-devel
>= 2.8.6
355 %if %{with_phyp} || %{with_libssh2}
356 BuildRequires
: libssh2
-devel
>= 1.3.0
359 BuildRequires
: netcf
-devel
>= 0.2.2
361 BuildRequires
: libcurl
-devel
364 BuildRequires
: libwsman
-devel
>= 2.2.3
366 BuildRequires
: audit
-libs
-devel
367 # we need /usr/sbin/dtrace
368 BuildRequires
: systemtap
-sdt
-devel
370 # For mount/umount in FS driver
371 BuildRequires
: util
-linux
372 # For showmount in FS driver (netfs discovery)
373 BuildRequires
: nfs
-utils
375 # Communication with the firewall and polkit daemons use DBus
376 BuildRequires
: dbus
-devel
378 # Fedora build root suckage
381 # For storage wiping with different algorithms
388 %if %{with_wireshark}
389 BuildRequires
: wireshark
-devel
>= 2.4.0
393 BuildRequires
: libssh
-devel
>= 0.7.0
396 %if 0%{?fedora} || 0%{?rhel} > 7
397 BuildRequires
: rpcgen
398 BuildRequires
: libtirpc
-devel
401 %if %{with_firewalld_zone}
402 BuildRequires
: firewalld
-filesystem
405 Provides: bundled
(gnulib
)
408 Libvirt is a C toolkit to interact with the virtualization capabilities
409 of recent versions of Linux
(and other OSes
). The main package includes
410 the libvirtd server exporting the virtualization support.
413 Summary: API reference and website documentation
416 Includes the API reference
for the libvirt C library
, and a complete
417 copy of the libvirt.org website documentation.
420 Summary: Server side daemon and supporting files
for libvirt library
422 # All runtime requirements for the libvirt package (runtime requrements
423 # for subpackages are listed later in those subpackages)
425 # The client side, i.e. shared libs are in a subpackage
426 Requires: %{name}-libs = %{version}-%{release}
428 # for modprobe of pci devices
429 Requires: module
-init
-tools
431 # for /sbin/ip & /sbin/tc
433 # tc is provided by iproute-tc since at least Fedora 26
434 %if 0%{?fedora} || 0%{?rhel} > 7
438 Requires: polkit
>= 0.112
439 %ifarch %{ix86} x86_64 ia64
440 # For virConnectGetSysinfo
443 # For service management
444 Requires(post
): systemd
-units
445 Requires(post
): systemd
-sysv
446 Requires(preun
): systemd
-units
447 Requires(postun
): systemd
-units
451 # libvirtd depends on 'messagebus' service
453 # For uid creation during pre
454 Requires(pre
): shadow
-utils
457 Server side daemon required to manage the virtualization capabilities
458 of recent versions of Linux.
Requires a hypervisor specific sub
-RPM
459 for specific drivers.
461 %package daemon
-config
-network
462 Summary: Default configuration files
for the libvirtd daemon
464 Requires: libvirt
-daemon
= %{version}-%{release}
465 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
467 %description daemon
-config
-network
468 Default configuration files
for setting up NAT based networking
470 %package daemon
-config
-nwfilter
471 Summary: Network filter configuration files
for the libvirtd daemon
473 Requires: libvirt
-daemon
= %{version}-%{release}
474 Requires: libvirt
-daemon
-driver
-nwfilter
= %{version}-%{release}
476 %description daemon
-config
-nwfilter
477 Network filter configuration files
for cleaning guest traffic
479 %package daemon
-driver
-network
480 Summary: Network driver plugin
for the libvirtd daemon
481 Requires: libvirt
-daemon
= %{version}-%{release}
482 Requires: libvirt
-libs
= %{version}-%{release}
483 Requires: dnsmasq
>= 2.41
487 %description daemon
-driver
-network
488 The network driver plugin
for the libvirtd daemon
, providing
489 an implementation of the virtual network APIs using the Linux
493 %package daemon
-driver
-nwfilter
494 Summary: Nwfilter driver plugin
for the libvirtd daemon
495 Requires: libvirt
-daemon
= %{version}-%{release}
496 Requires: libvirt
-libs
= %{version}-%{release}
500 %description daemon
-driver
-nwfilter
501 The nwfilter driver plugin
for the libvirtd daemon
, providing
502 an implementation of the firewall APIs using the ebtables
,
503 iptables and ip6tables capabilities
506 %package daemon
-driver
-nodedev
507 Summary: Nodedev driver plugin
for the libvirtd daemon
508 Requires: libvirt
-daemon
= %{version}-%{release}
509 Requires: libvirt
-libs
= %{version}-%{release}
510 # needed for device enumeration
511 Requires: systemd
>= 185
513 %description daemon
-driver
-nodedev
514 The nodedev driver plugin
for the libvirtd daemon
, providing
515 an implementation of the node device APIs using the udev
519 %package daemon
-driver
-interface
520 Summary: Interface driver plugin
for the libvirtd daemon
521 Requires: libvirt
-daemon
= %{version}-%{release}
522 Requires: libvirt
-libs
= %{version}-%{release}
523 Requires: netcf
-libs
>= 0.2.2
525 %description daemon
-driver
-interface
526 The interface driver plugin
for the libvirtd daemon
, providing
527 an implementation of the network interface APIs using the
531 %package daemon
-driver
-secret
532 Summary: Secret driver plugin
for the libvirtd daemon
533 Requires: libvirt
-daemon
= %{version}-%{release}
534 Requires: libvirt
-libs
= %{version}-%{release}
536 %description daemon
-driver
-secret
537 The secret driver plugin
for the libvirtd daemon
, providing
538 an implementation of the secret key APIs.
540 %package daemon
-driver
-storage
-core
541 Summary: Storage driver plugin including base backends
for the libvirtd daemon
542 Requires: libvirt
-daemon
= %{version}-%{release}
543 Requires: libvirt
-libs
= %{version}-%{release}
549 Requires: /usr
/bin
/qemu
-img
551 %if !%{with_storage_rbd}
552 Obsoletes
: libvirt
-daemon
-driver
-storage
-rbd
< %{version}-%{release}
555 %description daemon
-driver
-storage
-core
556 The storage driver plugin
for the libvirtd daemon
, providing
557 an implementation of the storage APIs using files
, local disks
, LVM
, SCSI
,
558 iSCSI
, and multipath storage.
560 %package daemon
-driver
-storage
-logical
561 Summary: Storage driver plugin
for lvm volumes
562 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
563 Requires: libvirt
-libs
= %{version}-%{release}
566 %description daemon
-driver
-storage
-logical
567 The storage driver backend adding implementation of the storage APIs
for block
571 %package daemon
-driver
-storage
-disk
572 Summary: Storage driver plugin
for disk
573 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
574 Requires: libvirt
-libs
= %{version}-%{release}
576 Requires: device
-mapper
578 %description daemon
-driver
-storage
-disk
579 The storage driver backend adding implementation of the storage APIs
for block
580 volumes using the host disks.
583 %package daemon
-driver
-storage
-scsi
584 Summary: Storage driver plugin
for local scsi devices
585 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
586 Requires: libvirt
-libs
= %{version}-%{release}
588 %description daemon
-driver
-storage
-scsi
589 The storage driver backend adding implementation of the storage APIs
for scsi
593 %package daemon
-driver
-storage
-iscsi
594 Summary: Storage driver plugin
for iscsi
595 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
596 Requires: libvirt
-libs
= %{version}-%{release}
597 Requires: iscsi
-initiator
-utils
599 %description daemon
-driver
-storage
-iscsi
600 The storage driver backend adding implementation of the storage APIs
for iscsi
601 volumes using the host iscsi stack.
604 %if %{with_storage_iscsi_direct}
605 %package daemon
-driver
-storage
-iscsi
-direct
606 Summary: Storage driver plugin
for iscsi
-direct
607 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
608 Requires: libvirt
-libs
= %{version}-%{release}
611 %description daemon
-driver
-storage
-iscsi
-direct
612 The storage driver backend adding implementation of the storage APIs
for iscsi
613 volumes using libiscsi direct connection.
617 %package daemon
-driver
-storage
-mpath
618 Summary: Storage driver plugin
for multipath volumes
619 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
620 Requires: libvirt
-libs
= %{version}-%{release}
621 Requires: device
-mapper
623 %description daemon
-driver
-storage
-mpath
624 The storage driver backend adding implementation of the storage APIs
for
625 multipath storage using device mapper.
628 %if %{with_storage_gluster}
629 %package daemon
-driver
-storage
-gluster
630 Summary: Storage driver plugin
for gluster
631 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
632 Requires: libvirt
-libs
= %{version}-%{release}
634 Requires: glusterfs
-client
>= 2.0.1
636 %if (0%{?fedora} || 0%{?with_storage_gluster})
637 Requires: /usr
/sbin
/gluster
640 %description daemon
-driver
-storage
-gluster
641 The storage driver backend adding implementation of the storage APIs
for gluster
642 volumes using libgfapi.
646 %if %{with_storage_rbd}
647 %package daemon
-driver
-storage
-rbd
648 Summary: Storage driver plugin
for rbd
649 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
650 Requires: libvirt
-libs
= %{version}-%{release}
652 %description daemon
-driver
-storage
-rbd
653 The storage driver backend adding implementation of the storage APIs
for rbd
654 volumes using the ceph protocol.
658 %if %{with_storage_sheepdog}
659 %package daemon
-driver
-storage
-sheepdog
660 Summary: Storage driver plugin
for sheepdog
661 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
662 Requires: libvirt
-libs
= %{version}-%{release}
665 %description daemon
-driver
-storage
-sheepdog
666 The storage driver backend adding implementation of the storage APIs
for
667 sheepdog volumes using.
671 %if %{with_storage_zfs}
672 %package daemon
-driver
-storage
-zfs
673 Summary: Storage driver plugin
for ZFS
674 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
675 Requires: libvirt
-libs
= %{version}-%{release}
676 # Support any conforming implementation of zfs
678 Requires: /sbin
/zpool
680 %description daemon
-driver
-storage
-zfs
681 The storage driver backend adding implementation of the storage APIs
for
686 %package daemon
-driver
-storage
687 Summary: Storage driver plugin including all backends
for the libvirtd daemon
688 Requires: libvirt
-daemon
-driver
-storage
-core
= %{version}-%{release}
689 Requires: libvirt
-daemon
-driver
-storage
-disk
= %{version}-%{release}
690 Requires: libvirt
-daemon
-driver
-storage
-logical
= %{version}-%{release}
691 Requires: libvirt
-daemon
-driver
-storage
-scsi
= %{version}-%{release}
692 Requires: libvirt
-daemon
-driver
-storage
-iscsi
= %{version}-%{release}
693 Requires: libvirt
-daemon
-driver
-storage
-mpath
= %{version}-%{release}
694 %if %{with_storage_iscsi_direct}
695 Requires: libvirt
-daemon
-driver
-storage
-iscsi
-direct
= %{version}-%{release}
697 %if %{with_storage_gluster}
698 Requires: libvirt
-daemon
-driver
-storage
-gluster
= %{version}-%{release}
700 %if %{with_storage_rbd}
701 Requires: libvirt
-daemon
-driver
-storage
-rbd
= %{version}-%{release}
703 %if %{with_storage_sheepdog}
704 Requires: libvirt
-daemon
-driver
-storage
-sheepdog
= %{version}-%{release}
706 %if %{with_storage_zfs}
707 Requires: libvirt
-daemon
-driver
-storage
-zfs
= %{version}-%{release}
710 %description daemon
-driver
-storage
711 The storage driver plugin
for the libvirtd daemon
, providing
712 an implementation of the storage APIs using LVM
, iSCSI
,
717 %package daemon
-driver
-qemu
718 Summary: QEMU driver plugin
for the libvirtd daemon
719 Requires: libvirt
-daemon
= %{version}-%{release}
720 Requires: libvirt
-libs
= %{version}-%{release}
721 Requires: /usr
/bin
/qemu
-img
722 # For image compression
727 %if 0%{?fedora} || 0%{?rhel} > 7
728 Requires: systemd
-container
731 %description daemon
-driver
-qemu
732 The qemu driver plugin
for the libvirtd daemon
, providing
733 an implementation of the hypervisor driver APIs using
739 %package daemon
-driver
-lxc
740 Summary: LXC driver plugin
for the libvirtd daemon
741 Requires: libvirt
-daemon
= %{version}-%{release}
742 Requires: libvirt
-libs
= %{version}-%{release}
743 # There really is a hard cross-driver dependency here
744 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
745 %if 0%{?fedora} || 0%{?rhel} > 7
746 Requires: systemd
-container
749 %description daemon
-driver
-lxc
750 The LXC driver plugin
for the libvirtd daemon
, providing
751 an implementation of the hypervisor driver APIs using
757 %package daemon
-driver
-vbox
758 Summary: VirtualBox driver plugin
for the libvirtd daemon
759 Requires: libvirt
-daemon
= %{version}-%{release}
760 Requires: libvirt
-libs
= %{version}-%{release}
762 %description daemon
-driver
-vbox
763 The vbox driver plugin
for the libvirtd daemon
, providing
764 an implementation of the hypervisor driver APIs using
770 %package daemon
-driver
-libxl
771 Summary: Libxl driver plugin
for the libvirtd daemon
772 Requires: libvirt
-daemon
= %{version}-%{release}
773 Requires: libvirt
-libs
= %{version}-%{release}
774 Obsoletes
: libvirt
-daemon
-driver
-xen
< 4.3.0
776 %description daemon
-driver
-libxl
777 The Libxl driver plugin
for the libvirtd daemon
, providing
778 an implementation of the hypervisor driver APIs using
786 Summary: Server side daemon
& driver required to run QEMU guests
788 Requires: libvirt
-daemon
= %{version}-%{release}
789 Requires: libvirt
-daemon
-driver
-qemu
= %{version}-%{release}
790 Requires: libvirt
-daemon
-driver
-interface
= %{version}-%{release}
791 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
792 Requires: libvirt
-daemon
-driver
-nodedev
= %{version}-%{release}
793 Requires: libvirt
-daemon
-driver
-nwfilter
= %{version}-%{release}
794 Requires: libvirt
-daemon
-driver
-secret
= %{version}-%{release}
795 Requires: libvirt
-daemon
-driver
-storage
= %{version}-%{release}
798 %description daemon
-qemu
799 Server side daemon and driver required to manage the virtualization
800 capabilities of the QEMU TCG emulators
806 Summary: Server side daemon
& driver required to run KVM guests
808 Requires: libvirt
-daemon
= %{version}-%{release}
809 Requires: libvirt
-daemon
-driver
-qemu
= %{version}-%{release}
810 Requires: libvirt
-daemon
-driver
-interface
= %{version}-%{release}
811 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
812 Requires: libvirt
-daemon
-driver
-nodedev
= %{version}-%{release}
813 Requires: libvirt
-daemon
-driver
-nwfilter
= %{version}-%{release}
814 Requires: libvirt
-daemon
-driver
-secret
= %{version}-%{release}
815 Requires: libvirt
-daemon
-driver
-storage
= %{version}-%{release}
818 %description daemon
-kvm
819 Server side daemon and driver required to manage the virtualization
820 capabilities of the KVM hypervisor
826 Summary: Server side daemon
& driver required to run LXC guests
828 Requires: libvirt
-daemon
= %{version}-%{release}
829 Requires: libvirt
-daemon
-driver
-lxc
= %{version}-%{release}
830 Requires: libvirt
-daemon
-driver
-interface
= %{version}-%{release}
831 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
832 Requires: libvirt
-daemon
-driver
-nodedev
= %{version}-%{release}
833 Requires: libvirt
-daemon
-driver
-nwfilter
= %{version}-%{release}
834 Requires: libvirt
-daemon
-driver
-secret
= %{version}-%{release}
835 Requires: libvirt
-daemon
-driver
-storage
= %{version}-%{release}
837 %description daemon
-lxc
838 Server side daemon and driver required to manage the virtualization
845 Summary: Server side daemon
& driver required to run XEN guests
847 Requires: libvirt
-daemon
= %{version}-%{release}
849 Requires: libvirt
-daemon
-driver
-libxl
= %{version}-%{release}
851 Requires: libvirt
-daemon
-driver
-interface
= %{version}-%{release}
852 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
853 Requires: libvirt
-daemon
-driver
-nodedev
= %{version}-%{release}
854 Requires: libvirt
-daemon
-driver
-nwfilter
= %{version}-%{release}
855 Requires: libvirt
-daemon
-driver
-secret
= %{version}-%{release}
856 Requires: libvirt
-daemon
-driver
-storage
= %{version}-%{release}
859 %description daemon
-xen
860 Server side daemon and driver required to manage the virtualization
866 Summary: Server side daemon
& driver required to run VirtualBox guests
868 Requires: libvirt
-daemon
= %{version}-%{release}
869 Requires: libvirt
-daemon
-driver
-vbox
= %{version}-%{release}
870 Requires: libvirt
-daemon
-driver
-interface
= %{version}-%{release}
871 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
872 Requires: libvirt
-daemon
-driver
-nodedev
= %{version}-%{release}
873 Requires: libvirt
-daemon
-driver
-nwfilter
= %{version}-%{release}
874 Requires: libvirt
-daemon
-driver
-secret
= %{version}-%{release}
875 Requires: libvirt
-daemon
-driver
-storage
= %{version}-%{release}
877 %description daemon
-vbox
878 Server side daemon and driver required to manage the virtualization
879 capabilities of VirtualBox
883 Summary: Client side utilities of the libvirt library
884 Requires: %{name}-libs = %{version}-%{release}
887 # Needed by /usr/libexec/libvirt-guests.sh script.
889 # Needed by virt-pki-validate script.
890 Requires: gnutls
-utils
891 %if %{with_bash_completion}
892 Requires: %{name}-bash-completion = %{version}-%{release}
896 The client binaries needed to access the virtualization
897 capabilities of recent versions of Linux
(and other OSes
).
900 Summary: Client side libraries
901 # So remote clients can access libvirt over SSH tunnel
902 # (client invokes 'nc' against the UNIX socket on the server)
905 # Needed by default sasl.conf - no onerous extra deps, since
906 # 100's of other things on a system already pull in krb5-libs
907 Requires: cyrus
-sasl
-gssapi
910 Shared libraries
for accessing the libvirt daemon.
913 Summary: Set of tools to control libvirt daemon
914 Requires: %{name}-libs = %{version}-%{release}
916 %if %{with_bash_completion}
917 Requires: %{name}-bash-completion = %{version}-%{release}
921 The client side utilities to control the libvirt daemon.
923 %if %{with_bash_completion}
924 %package bash
-completion
925 Summary: Bash completion script
927 %description bash
-completion
928 Bash completion script stub.
931 %if %{with_wireshark}
933 Summary: Wireshark dissector plugin
for libvirt RPC transactions
934 Requires: wireshark
>= 2.4.0
935 Requires: %{name}-libs = %{version}-%{release}
937 %description wireshark
938 Wireshark dissector plugin
for better analysis of libvirt RPC traffic.
943 Summary: Login shell
for connecting users to an LXC container
944 Requires: %{name}-libs = %{version}-%{release}
946 %description login
-shell
947 Provides the
set-uid virt
-login
-shell binary that is used to
948 connect a user to an LXC container when they login
, by switching
953 Summary: Libraries
, includes
, etc. to compile with the libvirt library
954 Requires: %{name}-libs = %{version}-%{release}
958 Include header files
& development libraries
for the libvirt C library.
961 %package lock
-sanlock
962 Summary: Sanlock lock manager plugin
for QEMU driver
963 Requires: sanlock
>= 2.4
964 #for virt-sanlock-cleanup require augeas
966 Requires: %{name}-daemon = %{version}-%{release}
967 Requires: %{name}-libs = %{version}-%{release}
969 %description lock
-sanlock
970 Includes the Sanlock lock manager plugin
for the QEMU
975 Summary: Libvirt plugin
for Name Service Switch
976 Requires: libvirt
-daemon
-driver
-network
= %{version}-%{release}
979 Libvirt plugin
for NSS
for translating domain names into IP addresses.
987 %if ! %{supported_platform}
988 echo "This RPM requires either Fedora
>= %{min_fedora} or RHEL >= %{min_rhel}"
993 %define arg_qemu
--with
-qemu
995 %define arg_qemu
--without
-qemu
999 %define arg_openvz
--with
-openvz
1001 %define arg_openvz
--without
-openvz
1005 %define arg_lxc
--with
-lxc
1006 %define arg_login_shell
--with
-login
-shell
1008 %define arg_lxc
--without
-lxc
1009 %define arg_login_shell
--without
-login
-shell
1013 %define arg_vbox
--with
-vbox
1015 %define arg_vbox
--without
-vbox
1019 %define arg_libxl
--with
-libxl
1021 %define arg_libxl
--without
-libxl
1025 %define arg_phyp
--with
-phyp
1027 %define arg_phyp
--without
-phyp
1031 %define arg_esx
--with
-esx
1033 %define arg_esx
--without
-esx
1037 %define arg_hyperv
--with
-hyperv
1039 %define arg_hyperv
--without
-hyperv
1043 %define arg_vmware
--with
-vmware
1045 %define arg_vmware
--without
-vmware
1048 %if %{with_storage_rbd}
1049 %define arg_storage_rbd
--with
-storage
-rbd
1051 %define arg_storage_rbd
--without
-storage
-rbd
1054 %if %{with_storage_sheepdog}
1055 %define arg_storage_sheepdog
--with
-storage
-sheepdog
1057 %define arg_storage_sheepdog
--without
-storage
-sheepdog
1060 %if %{with_storage_gluster}
1061 %define arg_storage_gluster
--with
-storage
-gluster
1063 %define arg_storage_gluster
--without
-storage
-gluster
1066 %if %{with_storage_zfs}
1067 %define arg_storage_zfs
--with
-storage
-zfs
1069 %define arg_storage_zfs
--without
-storage
-zfs
1073 %define arg_numactl
--with
-numactl
1075 %define arg_numactl
--without
-numactl
1079 %define arg_numad
--with
-numad
1081 %define arg_numad
--without
-numad
1085 %define arg_fuse
--with
-fuse
1087 %define arg_fuse
--without
-fuse
1091 %define arg_sanlock
--with
-sanlock
1093 %define arg_sanlock
--without
-sanlock
1096 %if %{with_firewalld}
1097 %define arg_firewalld
--with
-firewalld
1099 %define arg_firewalld
--without
-firewalld
1102 %if %{with_firewalld_zone}
1103 %define arg_firewalld_zone
--with
-firewalld
-zone
1105 %define arg_firewalld_zone
--without
-firewalld
-zone
1108 %if %{with_wireshark}
1109 %define arg_wireshark
--with
-wireshark
-dissector
1111 %define arg_wireshark
--without
-wireshark
-dissector
1114 %if %{with_storage_iscsi_direct}
1115 %define arg_storage_iscsi_direct
--with
-storage
-iscsi
-direct
1117 %define arg_storage_iscsi_direct
--without
-storage
-iscsi
-direct
1120 %define when %
(date
+"%
%F-%
%T"
)
1121 %define where %
(hostname
)
1122 %define who
%{?packager}%{!?packager:Unknown}
1123 %define arg_packager
--with
-packager
="
%{who}, %{when}, %{where}"
1124 %define arg_packager_version
--with
-packager
-version
="
%{release}"
1126 %define arg_selinux_mount
--with
-selinux
-mount
="
/sys
/fs
/selinux"
1129 # Nightly edk2.git-ovmf-x64
1130 LOADERS
="
/usr
/share
/edk2.git
/ovmf
-x64
/OVMF_CODE
-pure
-efi.fd
:/usr
/share
/edk2.git
/ovmf
-x64
/OVMF_VARS
-pure
-efi.fd"
1131 # Nightly edk2.git-ovmf-ia32
1132 LOADERS
="$LOADERS
:/usr
/share
/edk2.git
/ovmf
-ia32
/OVMF_CODE
-pure
-efi.fd
:/usr
/share
/edk2.git
/ovmf
-ia32
/OVMF_VARS
-pure
-efi.fd"
1133 # Nightly edk2.git-aarch64
1134 LOADERS
="$LOADERS
:/usr
/share
/edk2.git
/aarch64
/QEMU_EFI
-pflash.raw
:/usr
/share
/edk2.git
/aarch64
/vars
-template
-pflash.raw"
1135 # Nightly edk2.git-arm
1136 LOADERS
="$LOADERS
:/usr
/share
/edk2.git
/arm
/QEMU_EFI
-pflash.raw
:/usr
/share
/edk2.git
/arm
/vars
-template
-pflash.raw"
1139 LOADERS
="$LOADERS
:/usr
/share
/edk2
/ovmf
/OVMF_CODE.fd
:/usr
/share
/edk2
/ovmf
/OVMF_VARS.fd"
1140 # Fedora edk2-ovmf-ia32
1141 LOADERS
="$LOADERS
:/usr
/share
/edk2
/ovmf
-ia32
/OVMF_CODE.fd
:/usr
/share
/edk2
/ovmf
-ia32
/OVMF_VARS.fd"
1142 # Fedora edk2-aarch64
1143 LOADERS
="$LOADERS
:/usr
/share
/edk2
/aarch64
/QEMU_EFI
-pflash.raw
:/usr
/share
/edk2
/aarch64
/vars
-template
-pflash.raw"
1145 LOADERS
="$LOADERS
:/usr
/share
/edk2
/arm
/QEMU_EFI
-pflash.raw
:/usr
/share
/edk2
/arm
/vars
-template
-pflash.raw"
1146 %define arg_loader_nvram
--with
-loader
-nvram
="$LOADERS"
1149 # place macros above and build commands below this comment
1151 export SOURCE_DATE_EPOCH
=$
(stat
--printf='
%Y'
%{_specdir}/%{name}.spec
)
1153 %if 0%{?enable_autotools}
1158 %configure %{?arg_qemu} \
1176 --with
-storage
-lvm \
1177 --with
-storage
-iscsi \
1178 %{?arg_storage_iscsi_direct} \
1179 --with
-storage
-scsi \
1180 --with
-storage
-disk \
1181 --with
-storage
-mpath \
1182 %{?arg_storage_rbd} \
1183 %{?arg_storage_sheepdog} \
1184 %{?arg_storage_gluster} \
1185 %{?arg_storage_zfs} \
1186 --without
-storage
-vstorage \
1193 %{?arg_selinux_mount} \
1194 --without
-apparmor \
1203 --with
-driver
-modules \
1205 %{?arg_firewalld_zone} \
1207 --without
-pm
-utils \
1210 %{arg_packager_version} \
1211 --with
-qemu
-user
=%{qemu_user} \
1212 --with
-qemu
-group
=%{qemu_group} \
1213 --with
-tls
-priority
=%{tls_priority} \
1214 %{?arg_loader_nvram} \
1216 --enable-expensive
-tests \
1217 --with
-init
-script
=systemd \
1219 make %{?_smp_mflags} V
=1
1225 export SOURCE_DATE_EPOCH
=$
(stat
--printf='
%Y'
%{_specdir}/%{name}.spec
)
1227 %make_install %{?_smp_mflags} SYSTEMD_UNIT_DIR=%{_unitdir} V
=1
1229 rm -f $RPM_BUILD_ROOT
%{_libdir}/*.la
1230 rm -f $RPM_BUILD_ROOT
%{_libdir}/*.a
1231 rm -f $RPM_BUILD_ROOT
%{_libdir}/libvirt
/lock
-driver
/*.la
1232 rm -f $RPM_BUILD_ROOT
%{_libdir}/libvirt
/lock
-driver
/*.a
1233 rm -f $RPM_BUILD_ROOT
%{_libdir}/libvirt
/connection
-driver
/*.la
1234 rm -f $RPM_BUILD_ROOT
%{_libdir}/libvirt
/connection
-driver
/*.a
1235 rm -f $RPM_BUILD_ROOT
%{_libdir}/libvirt
/storage
-backend
/*.la
1236 rm -f $RPM_BUILD_ROOT
%{_libdir}/libvirt
/storage
-backend
/*.a
1237 rm -f $RPM_BUILD_ROOT
%{_libdir}/libvirt
/storage
-file
/*.la
1238 rm -f $RPM_BUILD_ROOT
%{_libdir}/libvirt
/storage
-file
/*.a
1239 %if %{with_wireshark}
1240 rm -f $RPM_BUILD_ROOT
%{wireshark_plugindir}/libvirt.la
1243 install -d
-m
0755 $RPM_BUILD_ROOT
%{_datadir}/lib
/libvirt
/dnsmasq
/
1244 # We don't want to install /etc/libvirt/qemu/networks in the main %files list
1245 # because if the admin wants to delete the default network completely, we don't
1246 # want to end up re-incarnating it on every RPM upgrade.
1247 install -d
-m
0755 $RPM_BUILD_ROOT
%{_datadir}/libvirt
/networks
/
1248 cp $RPM_BUILD_ROOT
%{_sysconfdir}/libvirt
/qemu
/networks
/default.xml \
1249 $RPM_BUILD_ROOT
%{_datadir}/libvirt
/networks
/default.xml
1250 # libvirt saves this file with mode 0600
1251 chmod
0600 $RPM_BUILD_ROOT
%{_sysconfdir}/libvirt
/qemu
/networks
/default.xml
1253 # nwfilter files are installed in /usr/share/libvirt and copied to /etc in %post
1254 # to avoid verification errors on changed files in /etc
1255 install -d
-m
0755 $RPM_BUILD_ROOT
%{_datadir}/libvirt
/nwfilter
/
1256 cp
-a $RPM_BUILD_ROOT
%{_sysconfdir}/libvirt
/nwfilter
/*.xml \
1257 $RPM_BUILD_ROOT
%{_datadir}/libvirt
/nwfilter
/
1258 # libvirt saves these files with mode 600
1259 chmod
600 $RPM_BUILD_ROOT
%{_sysconfdir}/libvirt
/nwfilter
/*.xml
1261 # Strip auto-generated UUID - we need it generated per-install
1262 sed
-i
-e "
/<uuid
>/d" $RPM_BUILD_ROOT
%{_datadir}/libvirt
/networks
/default.xml
1264 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/libvirtd_qemu.aug
1265 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/tests
/test_libvirtd_qemu.aug
1269 %if ! %{with_sanlock}
1270 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/libvirt_sanlock.aug
1271 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/tests
/test_libvirt_sanlock.aug
1275 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/libvirtd_lxc.aug
1276 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/tests
/test_libvirtd_lxc.aug
1280 rm -rf $RPM_BUILD_ROOT
%{_sysconfdir}/libvirt
/qemu.conf
1281 rm -rf $RPM_BUILD_ROOT
%{_sysconfdir}/logrotate.d
/libvirtd.qemu
1284 rm -rf $RPM_BUILD_ROOT
%{_sysconfdir}/libvirt
/lxc.conf
1285 rm -rf $RPM_BUILD_ROOT
%{_sysconfdir}/logrotate.d
/libvirtd.lxc
1288 rm -rf $RPM_BUILD_ROOT
%{_sysconfdir}/libvirt
/libxl.conf
1289 rm -rf $RPM_BUILD_ROOT
%{_sysconfdir}/logrotate.d
/libvirtd.libxl
1290 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/libvirtd_libxl.aug
1291 rm -f $RPM_BUILD_ROOT
%{_datadir}/augeas
/lenses
/tests
/test_libvirtd_libxl.aug
1294 # Copied into libvirt-docs subpackage eventually
1295 mv $RPM_BUILD_ROOT
%{_datadir}/doc
/libvirt libvirt
-docs
1297 %ifarch %{power64} s390x x86_64 ia64 alpha sparc64
1298 mv $RPM_BUILD_ROOT
%{_datadir}/systemtap
/tapset
/libvirt_probes.stp \
1299 $RPM_BUILD_ROOT
%{_datadir}/systemtap
/tapset
/libvirt_probes
-64.stp
1302 mv $RPM_BUILD_ROOT
%{_datadir}/systemtap
/tapset
/libvirt_qemu_probes.stp \
1303 $RPM_BUILD_ROOT
%{_datadir}/systemtap
/tapset
/libvirt_qemu_probes
-64.stp
1309 # These tests don't current work in a mock build root
1310 for i
in nodeinfotest seclabeltest
1313 printf 'int main
(void
) { return 0; }'
> $i.c
1314 printf '
#!/bin/sh\nexit 0\n' > $i
1317 if ! make %{?_smp_mflags} check VIR_TEST_DEBUG
=1
1319 cat
test-suite.log || true
1334 # 'libvirt' group is just to allow password-less polkit access to
1335 # libvirtd. The uid number is irrelevant, so we use dynamic allocation
1336 # described at the above link.
1337 getent group libvirt
>/dev
/null || groupadd
-r libvirt
1343 %systemd_post virtlockd.socket virtlockd
-admin.socket
1344 %systemd_post virtlogd.socket virtlogd
-admin.socket
1345 %systemd_post libvirtd.service
1347 # request daemon restart in posttrans
1348 mkdir -p
%{_localstatedir}/lib
/rpm
-state
/libvirt ||
:
1349 touch
%{_localstatedir}/lib
/rpm
-state
/libvirt
/restart ||
:
1352 %systemd_preun libvirtd.service
1353 %systemd_preun virtlogd.socket virtlogd
-admin.socket virtlogd.service
1354 %systemd_preun virtlockd.socket virtlockd
-admin.socket virtlockd.service
1357 /bin
/systemctl daemon
-reload
>/dev
/null
2>&1 ||
:
1358 if [ $
1 -ge
1 ] ; then
1359 /bin
/systemctl reload
-or
-try
-restart virtlockd.service
>/dev
/null
2>&1 ||
:
1360 /bin
/systemctl reload
-or
-try
-restart virtlogd.service
>/dev
/null
2>&1 ||
:
1363 # In upgrade scenario we must explicitly enable virtlockd/virtlogd
1364 # sockets, if libvirtd is already enabled and start them if
1365 # libvirtd is running, otherwise you'll get failures to start
1367 %triggerpostun daemon
-- libvirt
-daemon
< 1.3.0
1368 if [ $
1 -ge
1 ] ; then
1369 /bin
/systemctl is
-enabled libvirtd.service
1>/dev
/null
2>&1 &&
1370 /bin
/systemctl
enable virtlogd.socket virtlogd
-admin.socket ||
:
1371 /bin
/systemctl is
-active libvirtd.service
1>/dev
/null
2>&1 &&
1372 /bin
/systemctl start virtlogd.socket virtlogd
-admin.socket ||
:
1376 if [ -f
%{_localstatedir}/lib
/rpm
-state
/libvirt
/restart
]; then
1377 /bin
/systemctl try
-restart libvirtd.service
>/dev
/null
2>&1 ||
:
1379 rm -rf
%{_localstatedir}/lib
/rpm
-state
/libvirt ||
:
1381 %post daemon
-driver
-network
1382 %if %{with_firewalld_zone}
1386 %postun daemon
-driver
-network
1387 %if %{with_firewalld_zone}
1391 %post daemon
-config
-network
1392 if test $
1 -eq
1 && test ! -f
%{_sysconfdir}/libvirt
/qemu
/networks
/default.xml
; then
1393 # see if the network used by default network creates a conflict,
1394 # and try to resolve it
1395 # NB: 192.168.122.0/24 is used in the default.xml template file;
1396 # do not modify any of those values here without also modifying
1397 # them in the template.
1402 routes
="$
{nl
}$
(ip route show | cut
-d' '
-f1
)$
{nl
}"
1404 *"$
{nl
}192.168.$
{orig_sub
}.0/24$
{nl
}"
*)
1405 # there was a match, so we need to look for an unused subnet
1406 for new_sub
in $
(seq
124 254); do
1408 *"$
{nl
}192.168.$
{new_sub
}.0/24$
{nl
}"
*)
1421 UUID
=`
/usr
/bin
/uuidgen`
1422 sed
-e "s
/$
{orig_sub
}/$
{sub
}/g" \
1423 -e "s
,</name
>,</name
>\n
<uuid
>$UUID
</uuid
>," \
1424 < %{_datadir}/libvirt
/networks
/default.xml \
1425 > %{_sysconfdir}/libvirt
/qemu
/networks
/default.xml
1426 ln
-s ..
/default.xml
%{_sysconfdir}/libvirt
/qemu
/networks
/autostart
/default.xml
1427 # libvirt saves this file with mode 0600
1428 chmod
0600 %{_sysconfdir}/libvirt
/qemu
/networks
/default.xml
1430 # Make sure libvirt picks up the new network defininiton
1431 mkdir -p
%{_localstatedir}/lib
/rpm
-state
/libvirt ||
:
1432 touch
%{_localstatedir}/lib
/rpm
-state
/libvirt
/restart ||
:
1435 %posttrans daemon
-config
-network
1436 if [ -f
%{_localstatedir}/lib
/rpm
-state
/libvirt
/restart
]; then
1437 /bin
/systemctl try
-restart libvirtd.service
>/dev
/null
2>&1 ||
:
1439 rm -rf
%{_localstatedir}/lib
/rpm
-state
/libvirt ||
:
1441 %post daemon
-config
-nwfilter
1442 cp
%{_datadir}/libvirt/nwfilter/*.xml %{_sysconfdir}/libvirt
/nwfilter
/
1443 # libvirt saves these files with mode 600
1444 chmod
600 %{_sysconfdir}/libvirt
/nwfilter
/*.xml
1445 # Make sure libvirt picks up the new nwfilter defininitons
1446 mkdir -p
%{_localstatedir}/lib
/rpm
-state
/libvirt ||
:
1447 touch
%{_localstatedir}/lib
/rpm
-state
/libvirt
/restart ||
:
1449 %posttrans daemon
-config
-nwfilter
1450 if [ -f
%{_localstatedir}/lib
/rpm
-state
/libvirt
/restart
]; then
1451 /bin
/systemctl try
-restart libvirtd.service
>/dev
/null
2>&1 ||
:
1453 rm -rf
%{_localstatedir}/lib
/rpm
-state
/libvirt ||
:
1457 %pre daemon
-driver
-qemu
1458 # We want soft static allocation of well-known ids, as disk images
1459 # are commonly shared across NFS mounts by id rather than name; see
1460 # https://fedoraproject.org/wiki/Packaging:UsersAndGroups
1461 getent group kvm
>/dev
/null || groupadd
-f
-g
36 -r kvm
1462 getent group qemu
>/dev
/null || groupadd
-f
-g
107 -r qemu
1463 if ! getent passwd qemu
>/dev
/null
; then
1464 if ! getent passwd
107 >/dev
/null
; then
1465 useradd
-r
-u
107 -g qemu
-G kvm
-d
/ -s
/sbin
/nologin
-c "qemu user" qemu
1467 useradd
-r
-g qemu
-G kvm
-d
/ -s
/sbin
/nologin
-c "qemu user" qemu
1475 %systemd_preun libvirt
-guests.service
1478 %systemd_post libvirt
-guests.service
1481 %systemd_postun libvirt
-guests.service
1485 getent group virtlogin
>/dev
/null || groupadd
-r virtlogin
1492 %doc AUTHORS ChangeLog.gz NEWS README README.md
1496 %dir %{_datadir}/gtk
-doc
/html
/libvirt
/
1497 %doc %{_datadir}/gtk
-doc
/html
/libvirt
/*.devhelp
1498 %doc %{_datadir}/gtk
-doc
/html
/libvirt
/*.html
1499 %doc %{_datadir}/gtk
-doc
/html
/libvirt
/*.png
1500 %doc %{_datadir}/gtk
-doc
/html
/libvirt
/*.css
1505 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/
1507 %{_unitdir}/libvirtd.service
1508 %{_unitdir}/virt
-guest
-shutdown.target
1509 %{_unitdir}/virtlogd.service
1510 %{_unitdir}/virtlogd.socket
1511 %{_unitdir}/virtlogd
-admin.socket
1512 %{_unitdir}/virtlockd.service
1513 %{_unitdir}/virtlockd.socket
1514 %{_unitdir}/virtlockd
-admin.socket
1515 %config(noreplace
) %{_sysconfdir}/sysconfig
/libvirtd
1516 %config(noreplace
) %{_sysconfdir}/sysconfig
/virtlogd
1517 %config(noreplace
) %{_sysconfdir}/sysconfig
/virtlockd
1518 %config(noreplace
) %{_sysconfdir}/libvirt
/libvirtd.conf
1519 %config(noreplace
) %{_sysconfdir}/libvirt
/virtlogd.conf
1520 %config(noreplace
) %{_sysconfdir}/libvirt
/virtlockd.conf
1521 %config(noreplace
) %{_sysconfdir}/sasl2
/libvirt.conf
1522 %config(noreplace
) %{_prefix}/lib
/sysctl.d
/60-libvirtd.conf
1524 %config(noreplace
) %{_sysconfdir}/logrotate.d
/libvirtd
1525 %dir %{_datadir}/libvirt
/
1527 %ghost %dir %{_localstatedir}/run
/libvirt
/
1529 %dir %attr(0711, root
, root
) %{_localstatedir}/lib
/libvirt
/images
/
1530 %dir %attr(0711, root
, root
) %{_localstatedir}/lib
/libvirt
/filesystems
/
1531 %dir %attr(0711, root
, root
) %{_localstatedir}/lib
/libvirt
/boot
/
1532 %dir %attr(0711, root
, root
) %{_localstatedir}/cache
/libvirt
/
1535 %dir %attr(0755, root
, root
) %{_libdir}/libvirt
/
1536 %dir %attr(0755, root
, root
) %{_libdir}/libvirt
/connection
-driver
/
1537 %dir %attr(0755, root
, root
) %{_libdir}/libvirt
/lock
-driver
1538 %attr(0755, root
, root
) %{_libdir}/libvirt
/lock
-driver
/lockd.so
1540 %{_datadir}/augeas
/lenses
/libvirtd.aug
1541 %{_datadir}/augeas
/lenses
/tests
/test_libvirtd.aug
1542 %{_datadir}/augeas
/lenses
/virtlogd.aug
1543 %{_datadir}/augeas
/lenses
/tests
/test_virtlogd.aug
1544 %{_datadir}/augeas
/lenses
/virtlockd.aug
1545 %{_datadir}/augeas
/lenses
/tests
/test_virtlockd.aug
1546 %{_datadir}/augeas
/lenses
/libvirt_lockd.aug
1548 %{_datadir}/augeas
/lenses
/tests
/test_libvirt_lockd.aug
1551 %{_datadir}/polkit
-1/actions
/org.libvirt.unix.policy
1552 %{_datadir}/polkit
-1/actions
/org.libvirt.api.policy
1553 %{_datadir}/polkit
-1/rules.d
/50-libvirt.rules
1555 %dir %attr(0700, root
, root
) %{_localstatedir}/log
/libvirt
/
1557 %attr(0755, root
, root
) %{_libexecdir}/libvirt_iohelper
1559 %attr(0755, root
, root
) %{_sbindir}/libvirtd
1560 %attr(0755, root
, root
) %{_sbindir}/virtlogd
1561 %attr(0755, root
, root
) %{_sbindir}/virtlockd
1563 %{_mandir}/man8
/libvirtd
.8*
1564 %{_mandir}/man8
/virtlogd
.8*
1565 %{_mandir}/man8
/virtlockd
.8*
1566 %{_mandir}/man7
/virkey
*.7*
1568 %files daemon
-config
-network
1569 %dir %{_datadir}/libvirt
/networks
/
1570 %{_datadir}/libvirt
/networks
/default.xml
1571 %ghost %{_sysconfdir}/libvirt
/qemu
/networks
/default.xml
1572 %ghost %{_sysconfdir}/libvirt
/qemu
/networks
/autostart
/default.xml
1574 %files daemon
-config
-nwfilter
1575 %dir %{_datadir}/libvirt
/nwfilter
/
1576 %{_datadir}/libvirt
/nwfilter
/*.xml
1577 %ghost %{_sysconfdir}/libvirt
/nwfilter
/*.xml
1579 %files daemon
-driver
-interface
1580 %{_libdir}/%{name}/connection
-driver
/libvirt_driver_interface.so
1582 %files daemon
-driver
-network
1583 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/qemu
/
1584 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/qemu
/networks
/
1585 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/qemu
/networks
/autostart
1586 %ghost %dir %{_localstatedir}/run
/libvirt
/network
/
1587 %dir %attr(0700, root
, root
) %{_localstatedir}/lib
/libvirt
/network
/
1588 %dir %attr(0755, root
, root
) %{_localstatedir}/lib
/libvirt
/dnsmasq
/
1589 %attr(0755, root
, root
) %{_libexecdir}/libvirt_leaseshelper
1590 %{_libdir}/%{name}/connection
-driver
/libvirt_driver_network.so
1592 %if %{with_firewalld_zone}
1593 %{_prefix}/lib
/firewalld
/zones
/libvirt.xml
1596 %files daemon
-driver
-nodedev
1597 %{_libdir}/%{name}/connection
-driver
/libvirt_driver_nodedev.so
1599 %files daemon
-driver
-nwfilter
1600 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/nwfilter
/
1601 %ghost %dir %{_localstatedir}/run
/libvirt
/network
/
1602 %{_libdir}/%{name}/connection
-driver
/libvirt_driver_nwfilter.so
1604 %files daemon
-driver
-secret
1605 %{_libdir}/%{name}/connection
-driver
/libvirt_driver_secret.so
1607 %files daemon
-driver
-storage
1609 %files daemon
-driver
-storage
-core
1610 %attr(0755, root
, root
) %{_libexecdir}/libvirt_parthelper
1611 %{_libdir}/%{name}/connection
-driver
/libvirt_driver_storage.so
1612 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_fs.so
1613 %{_libdir}/%{name}/storage
-file
/libvirt_storage_file_fs.so
1615 %files daemon
-driver
-storage
-disk
1616 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_disk.so
1618 %files daemon
-driver
-storage
-logical
1619 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_logical.so
1621 %files daemon
-driver
-storage
-scsi
1622 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_scsi.so
1624 %files daemon
-driver
-storage
-iscsi
1625 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_iscsi.so
1627 %if %{with_storage_iscsi_direct}
1628 %files daemon
-driver
-storage
-iscsi
-direct
1629 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_iscsi
-direct.so
1632 %files daemon
-driver
-storage
-mpath
1633 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_mpath.so
1635 %if %{with_storage_gluster}
1636 %files daemon
-driver
-storage
-gluster
1637 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_gluster.so
1638 %{_libdir}/%{name}/storage
-file
/libvirt_storage_file_gluster.so
1641 %if %{with_storage_rbd}
1642 %files daemon
-driver
-storage
-rbd
1643 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_rbd.so
1646 %if %{with_storage_sheepdog}
1647 %files daemon
-driver
-storage
-sheepdog
1648 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_sheepdog.so
1651 %if %{with_storage_zfs}
1652 %files daemon
-driver
-storage
-zfs
1653 %{_libdir}/%{name}/storage
-backend
/libvirt_storage_backend_zfs.so
1657 %files daemon
-driver
-qemu
1658 %dir %attr(0700, root
, root
) %{_sysconfdir}/libvirt
/qemu
/
1659 %dir %attr(0700, root
, root
) %{_localstatedir}/log
/libvirt
/qemu
/
1660 %config(noreplace
) %{_sysconfdir}/libvirt
/qemu.conf
1661 %config(noreplace
) %{_sysconfdir}/libvirt
/qemu
-lockd.conf
1662 %config(noreplace
) %{_sysconfdir}/logrotate.d
/libvirtd.qemu
1663 %ghost %dir %{_localstatedir}/run
/libvirt
/qemu
/
1664 %dir %attr(0751, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib
/libvirt
/qemu
/
1665 %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache
/libvirt
/qemu
/
1666 %{_datadir}/augeas
/lenses
/libvirtd_qemu.aug
1667 %{_datadir}/augeas
/lenses
/tests
/test_libvirtd_qemu.aug
1668 %{_libdir}/%{name}/connection
-driver
/libvirt_driver_qemu.so
1669 %dir %attr(0711, root
, root
) %{_localstatedir}/lib
/libvirt
/swtpm
/
1670 %dir %attr(0711, root
, root
) %{_localstatedir}/log
/swtpm
/libvirt
/qemu
/
1674 %files daemon
-driver
-lxc
1675 %dir %attr(0700, root
, root
) %{_localstatedir}/log
/libvirt
/lxc
/
1676 %config(noreplace
) %{_sysconfdir}/libvirt
/lxc.conf
1677 %config(noreplace
) %{_sysconfdir}/logrotate.d
/libvirtd.lxc
1678 %ghost %dir %{_localstatedir}/run
/libvirt
/lxc
/
1679 %dir %attr(0700, root
, root
) %{_localstatedir}/lib
/libvirt
/lxc
/
1680 %{_datadir}/augeas
/lenses
/libvirtd_lxc.aug
1681 %{_datadir}/augeas
/lenses
/tests
/test_libvirtd_lxc.aug
1682 %attr(0755, root
, root
) %{_libexecdir}/libvirt_lxc
1683 %{_libdir}/%{name}/connection
-driver
/libvirt_driver_lxc.so
1687 %files daemon
-driver
-libxl
1688 %config(noreplace
) %{_sysconfdir}/libvirt
/libxl.conf
1689 %config(noreplace
) %{_sysconfdir}/logrotate.d
/libvirtd.libxl
1690 %config(noreplace
) %{_sysconfdir}/libvirt
/libxl
-lockd.conf
1691 %{_datadir}/augeas
/lenses
/libvirtd_libxl.aug
1692 %{_datadir}/augeas
/lenses
/tests
/test_libvirtd_libxl.aug
1693 %dir %attr(0700, root
, root
) %{_localstatedir}/log
/libvirt
/libxl
/
1694 %ghost %dir %{_localstatedir}/run
/libvirt
/libxl
/
1695 %dir %attr(0700, root
, root
) %{_localstatedir}/lib
/libvirt
/libxl
/
1696 %{_libdir}/%{name}/connection
-driver
/libvirt_driver_libxl.so
1700 %files daemon
-driver
-vbox
1701 %{_libdir}/%{name}/connection
-driver
/libvirt_driver_vbox.so
1704 %if %{with_qemu_tcg}
1708 %if %{with_qemu_kvm}
1727 %config(noreplace
) %{_sysconfdir}/libvirt
/qemu
-sanlock.conf
1730 %config(noreplace
) %{_sysconfdir}/libvirt
/libxl
-sanlock.conf
1732 %attr(0755, root
, root
) %{_libdir}/libvirt
/lock
-driver
/sanlock.so
1733 %{_datadir}/augeas
/lenses
/libvirt_sanlock.aug
1734 %{_datadir}/augeas
/lenses
/tests
/test_libvirt_sanlock.aug
1735 %dir %attr(0770, root
, sanlock
) %{_localstatedir}/lib
/libvirt
/sanlock
1736 %{_sbindir}/virt
-sanlock
-cleanup
1737 %{_mandir}/man8
/virt
-sanlock
-cleanup
.8*
1738 %attr(0755, root
, root
) %{_libexecdir}/libvirt_sanlock_helper
1742 %{_mandir}/man1
/virsh
.1*
1743 %{_mandir}/man1
/virt
-xml
-validate
.1*
1744 %{_mandir}/man1
/virt
-pki
-validate
.1*
1745 %{_mandir}/man1
/virt
-host
-validate
.1*
1747 %{_bindir}/virt
-xml
-validate
1748 %{_bindir}/virt
-pki
-validate
1749 %{_bindir}/virt
-host
-validate
1751 %{_datadir}/systemtap
/tapset
/libvirt_probes
*.stp
1752 %{_datadir}/systemtap
/tapset
/libvirt_functions.stp
1754 %{_datadir}/systemtap
/tapset
/libvirt_qemu_probes
*.stp
1757 %if %{with_bash_completion}
1758 %{_datadir}/bash
-completion
/completions
/virsh
1762 %{_unitdir}/libvirt
-guests.service
1763 %config(noreplace
) %{_sysconfdir}/sysconfig
/libvirt
-guests
1764 %attr(0755, root
, root
) %{_libexecdir}/libvirt
-guests.sh
1766 %files libs
-f
%{name}.lang
1767 %license COPYING COPYING.LESSER
1768 %config(noreplace
) %{_sysconfdir}/libvirt
/libvirt.conf
1769 %config(noreplace
) %{_sysconfdir}/libvirt
/libvirt
-admin.conf
1770 %{_libdir}/libvirt.so.
*
1771 %{_libdir}/libvirt
-qemu.so.
*
1772 %{_libdir}/libvirt
-lxc.so.
*
1773 %{_libdir}/libvirt
-admin.so.
*
1774 %dir %{_datadir}/libvirt
/
1775 %dir %{_datadir}/libvirt
/schemas
/
1776 %dir %attr(0755, root
, root
) %{_localstatedir}/lib
/libvirt
/
1778 %{_datadir}/libvirt
/schemas
/basictypes.rng
1779 %{_datadir}/libvirt
/schemas
/capability.rng
1780 %{_datadir}/libvirt
/schemas
/cputypes.rng
1781 %{_datadir}/libvirt
/schemas
/domain.rng
1782 %{_datadir}/libvirt
/schemas
/domaincaps.rng
1783 %{_datadir}/libvirt
/schemas
/domaincommon.rng
1784 %{_datadir}/libvirt
/schemas
/domainsnapshot.rng
1785 %{_datadir}/libvirt
/schemas
/interface.rng
1786 %{_datadir}/libvirt
/schemas
/network.rng
1787 %{_datadir}/libvirt
/schemas
/networkcommon.rng
1788 %{_datadir}/libvirt
/schemas
/networkport.rng
1789 %{_datadir}/libvirt
/schemas
/nodedev.rng
1790 %{_datadir}/libvirt
/schemas
/nwfilter.rng
1791 %{_datadir}/libvirt
/schemas
/nwfilter_params.rng
1792 %{_datadir}/libvirt
/schemas
/nwfilterbinding.rng
1793 %{_datadir}/libvirt
/schemas
/secret.rng
1794 %{_datadir}/libvirt
/schemas
/storagecommon.rng
1795 %{_datadir}/libvirt
/schemas
/storagepool.rng
1796 %{_datadir}/libvirt
/schemas
/storagepoolcaps.rng
1797 %{_datadir}/libvirt
/schemas
/storagevol.rng
1799 %{_datadir}/libvirt
/cpu_map
/*.xml
1801 %{_datadir}/libvirt
/test-screenshot.png
1804 %{_mandir}/man1
/virt
-admin
.1*
1805 %{_bindir}/virt
-admin
1806 %if %{with_bash_completion}
1807 %{_datadir}/bash
-completion
/completions
/virt
-admin
1810 %if %{with_bash_completion}
1811 %files bash
-completion
1812 %{_datadir}/bash
-completion
/completions
/vsh
1815 %if %{with_wireshark}
1817 %{wireshark_plugindir}/libvirt.so
1821 %{_libdir}/libnss_libvirt.so
.2
1822 %{_libdir}/libnss_libvirt_guest.so
.2
1826 %attr(4750, root
, virtlogin
) %{_bindir}/virt
-login
-shell
1827 %config(noreplace
) %{_sysconfdir}/libvirt
/virt
-login
-shell.conf
1828 %{_mandir}/man1
/virt
-login
-shell
.1*
1832 %{_libdir}/libvirt.so
1833 %{_libdir}/libvirt
-admin.so
1834 %{_libdir}/libvirt
-qemu.so
1835 %{_libdir}/libvirt
-lxc.so
1836 %dir %{_includedir}/libvirt
1837 %{_includedir}/libvirt
/virterror.h
1838 %{_includedir}/libvirt
/libvirt.h
1839 %{_includedir}/libvirt
/libvirt
-admin.h
1840 %{_includedir}/libvirt
/libvirt
-common.h
1841 %{_includedir}/libvirt
/libvirt
-domain.h
1842 %{_includedir}/libvirt
/libvirt
-domain
-snapshot.h
1843 %{_includedir}/libvirt
/libvirt
-event.h
1844 %{_includedir}/libvirt
/libvirt
-host.h
1845 %{_includedir}/libvirt
/libvirt
-interface.h
1846 %{_includedir}/libvirt
/libvirt
-network.h
1847 %{_includedir}/libvirt
/libvirt
-nodedev.h
1848 %{_includedir}/libvirt
/libvirt
-nwfilter.h
1849 %{_includedir}/libvirt
/libvirt
-secret.h
1850 %{_includedir}/libvirt
/libvirt
-storage.h
1851 %{_includedir}/libvirt
/libvirt
-stream.h
1852 %{_includedir}/libvirt
/libvirt
-qemu.h
1853 %{_includedir}/libvirt
/libvirt
-lxc.h
1854 %{_libdir}/pkgconfig
/libvirt.pc
1855 %{_libdir}/pkgconfig
/libvirt
-admin.pc
1856 %{_libdir}/pkgconfig
/libvirt
-qemu.pc
1857 %{_libdir}/pkgconfig
/libvirt
-lxc.pc
1859 %dir %{_datadir}/libvirt
/api
/
1860 %{_datadir}/libvirt
/api
/libvirt
-api.xml
1861 %{_datadir}/libvirt
/api
/libvirt
-admin
-api.xml
1862 %{_datadir}/libvirt
/api
/libvirt
-qemu
-api.xml
1863 %{_datadir}/libvirt
/api
/libvirt
-lxc
-api.xml