From a0ce27ed2dc283ab508a7150f5fc54c257fabd74 Mon Sep 17 00:00:00 2001 From: virtbuilder_pel7ppc64lebuilder0 Date: Fri, 1 May 2020 12:06:50 +0200 Subject: [PATCH] libvirt version update 6.2.0 Signed-off-by: virtbuilder_pel7ppc64lebuilder0 --- SPECS/libvirt.spec | 946 ++++++++++++++++++--------------------------- 1 file changed, 375 insertions(+), 571 deletions(-) diff --git a/SPECS/libvirt.spec b/SPECS/libvirt.spec index 9b1e40b..9ea3680 100644 --- a/SPECS/libvirt.spec +++ b/SPECS/libvirt.spec @@ -1,62 +1,45 @@ -%define supported_platform 1 -%global enable_autotools 0 -%define qemu_kvm_arches x86_64 ppc64 ppc64le - -%define with_storage_rbd 1 -%define with_storage_sheepdog 0 -%define with_storage_gluster 1 -%define with_numactl 1 -%define with_storage_zfs 0 -%define with_fuse 1 -%define with_cgconfig 1 -%define with_sanlock 1 -%define with_systemd 1 -%define with_numad 1 -%define with_numactl 1 -%define with_firewalld 0 -%define with_pm_utils 1 -%define with_qemu 1 -%define with_qemu_tcg 1 -%define with_qemu_kvm 1 -%define with_lxc 1 -%define with_uml 0 -%define with_libxl 0 -%define with_esx 0 -%define with_openvz 0 -%define with_vbox 0 -%define with_phyp 1 -%define with_vmware 0 -%define with_xenapi 0 -%define with_hyperv 1 -%define with_vz 0 -%define with_systemd 1 -%define with_systemd_macros 1 -%define with_fuse 1 -%define with_libssh 1 -%define with_libssh2 1 -%define with_bash_completion 1 -%define with_wireshark 0 -%define wireshark_plugindir %{_libdir}/wireshark/plugins -%define python python2 -%define qemu_user qemu -%define qemu_group qemu -### ### ### %define enable_werror --enable-werror +%global enable_autotools 0 +%define supported_platform 1 +%define _vpath_builddir %{_target_platform} +%define with_qemu 1 +%define with_qemu_kvm 1 +%define with_qemu_tcg 1 +%define qemu_kvm_arches x86_64 ppc64 ppc64le aarch64 s390x +%define with_lxc 1 +%define with_libxl 0 +%define with_vbox 0 +%define with_openvz 0 +%define with_vmware 1 +%define with_esx 1 +%define with_hyperv 1 +%define with_storage_sheepdog 0 +%define with_storage_gluster 1 +%define with_storage_rbd 1 +%define with_storage_zfs 0 +%define with_storage_iscsi_direct 1 +%define with_fuse 1 +%define with_sanlock 1 +%define with_numad 1 +%define with_numactl 1 +%define with_firewalld 0 +%define with_firewalld_zone 0 +%define with_libssh2 1 +%define with_libssh 1 +%define with_wireshark 0 +%define wireshark_plugindir %(pkg-config --variable plugindir wireshark)/epan +%define with_bash_completion 1 +%define qemu_user qemu +%define qemu_group qemu %define enable_werror --disable-werror %define tls_priority "@LIBVIRT,SYSTEM" -# # # ### %define tls_priority "NORMAL" - Summary: Library providing a simple virtualization API Name: libvirt -Version: 5.9.0 -Release: 1%{?dist}%{?extra_release} +Version: 6.2.0 +Release: 1%{?dist} License: LGPLv2+ -Group: Development/Libraries -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: https://libvirt.org/ -Source: https://libvirt.org/sources/libvirt-%{version}.tar.xz -Source1: symlinks - +Source: https://libvirt.org/sources/stable_updates/libvirt-%{version}.tar.xz Requires: libvirt-daemon = %{version}-%{release} Requires: libvirt-daemon-config-network = %{version}-%{release} Requires: libvirt-daemon-config-nwfilter = %{version}-%{release} @@ -69,9 +52,9 @@ Requires: libvirt-daemon-driver-lxc = %{version}-%{release} %if %{with_qemu} Requires: libvirt-daemon-driver-qemu = %{version}-%{release} %endif -%if %{with_uml} -Requires: libvirt-daemon-driver-uml = %{version}-%{release} -%endif +# We had UML driver, but we've removed it. +Obsoletes: libvirt-daemon-driver-uml <= 5.0.0 +Obsoletes: libvirt-daemon-uml <= 5.0.0 %if %{with_vbox} Requires: libvirt-daemon-driver-vbox = %{version}-%{release} %endif @@ -92,18 +75,21 @@ BuildRequires: autoconf BuildRequires: automake BuildRequires: gettext-devel BuildRequires: libtool -BuildRequires: /usr/bin/pod2man %endif +#BuildRequires: python3-docutils BuildRequires: gcc BuildRequires: git +%if 0%{?fedora} || 0%{?rhel} > 7 +BuildRequires: perl-interpreter +%else BuildRequires: perl -BuildRequires: %{python} -%if %{with_systemd} -BuildRequires: systemd-units %endif +BuildRequires: python3 +BuildRequires: systemd-units %if %{with_libxl} BuildRequires: xen-devel %endif +BuildRequires: glib2-devel >= 2.48 BuildRequires: libxml2-devel BuildRequires: libxslt BuildRequires: readline-devel @@ -113,32 +99,23 @@ BuildRequires: bash-completion >= 2.0 BuildRequires: ncurses-devel BuildRequires: gettext BuildRequires: libtasn1-devel -#BuildRequires: libgcrypt-devel BuildRequires: gnutls-devel BuildRequires: libattr-devel # For pool-build probing for existing pools BuildRequires: libblkid-devel >= 2.17 # for augparse, optionally used in testing BuildRequires: augeas -%if 0%{?fedora} || 0%{?rhel} >= 7 BuildRequires: systemd-devel >= 185 -%else -BuildRequires: libudev-devel >= 145 -%endif BuildRequires: libpciaccess-devel >= 0.10.9 BuildRequires: yajl-devel %if %{with_sanlock} BuildRequires: sanlock-devel >= 2.4 %endif -BuildRequires: libpcap-devel +BuildRequires: libpcap-devel >= 1.5.0 BuildRequires: libnl3-devel -BuildRequires: avahi-devel BuildRequires: libselinux-devel BuildRequires: dnsmasq >= 2.41 BuildRequires: iptables -%if 0%{?rhel} && 0%{?rhel} < 7 -BuildRequires: iptables-ipv6 -%endif BuildRequires: radvd BuildRequires: ebtables BuildRequires: module-init-tools @@ -154,16 +131,26 @@ BuildRequires: /usr/bin/qemu-img %endif # For LVM drivers BuildRequires: lvm2 -# For ISCSI driver +# For pool type=iscsi BuildRequires: iscsi-initiator-utils +%if %{with_storage_iscsi_direct} +# For pool type=iscsi-direct BuildRequires: libiscsi-devel +%endif # For disk driver BuildRequires: parted-devel # For Multipath support BuildRequires: device-mapper-devel +# For XFS reflink clone support +BuildRequires: xfsprogs-devel %if %{with_storage_rbd} + %if 0%{?fedora} || 0%{?rhel} > 7 +BuildRequires: librados-devel +BuildRequires: librbd-devel + %else BuildRequires: librados2-devel BuildRequires: librbd1-devel + %endif %endif %if %{with_storage_gluster} BuildRequires: glusterfs-api-devel >= 3.4.1 @@ -186,9 +173,10 @@ BuildRequires: libcap-ng-devel >= 0.5.0 %if %{with_fuse} BuildRequires: fuse-devel >= 2.8.6 %endif -%if %{with_phyp} || %{with_libssh2} +%if %{with_libssh2} BuildRequires: libssh2-devel >= 1.3.0 %endif + BuildRequires: netcf-devel >= 0.2.2 %if %{with_esx} BuildRequires: libcurl-devel @@ -199,77 +187,86 @@ BuildRequires: libwsman-devel >= 2.2.3 BuildRequires: audit-libs-devel # we need /usr/sbin/dtrace BuildRequires: systemtap-sdt-devel + # For mount/umount in FS driver BuildRequires: util-linux # For showmount in FS driver (netfs discovery) BuildRequires: nfs-utils + # Communication with the firewall and polkit daemons use DBus BuildRequires: dbus-devel + # Fedora build root suckage BuildRequires: gawk + # For storage wiping with different algorithms BuildRequires: scrub + %if %{with_numad} BuildRequires: numad %endif + %if %{with_wireshark} -BuildRequires: wireshark-devel >= 2.1.0 +BuildRequires: wireshark-devel >= 2.4.0 %endif + %if %{with_libssh} BuildRequires: libssh-devel >= 0.7.0 %endif -%if 0%{?fedora} > 27 || 0%{?rhel} > 7 + +%if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: rpcgen BuildRequires: libtirpc-devel %endif -Provides: bundled(gnulib) +%if %{with_firewalld_zone} +BuildRequires: firewalld-filesystem +%endif %description Libvirt is a C toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes). The main package includes the libvirtd server exporting the virtualization support. - %package docs Summary: API reference and website documentation -Group: Development/Libraries + %description docs Includes the API reference for the libvirt C library, and a complete copy of the libvirt.org website documentation. - %package daemon Summary: Server side daemon and supporting files for libvirt library -Group: Development/Libraries + # All runtime requirements for the libvirt package (runtime requrements # for subpackages are listed later in those subpackages) + # The client side, i.e. shared libs are in a subpackage Requires: %{name}-libs = %{version}-%{release} + +# (client invokes 'nc' against the UNIX socket on the server) +Requires: /usr/bin/nc + # for modprobe of pci devices Requires: module-init-tools + # for /sbin/ip & /sbin/tc Requires: iproute -Requires: avahi-libs -%if 0%{?fedora} || 0%{?rhel} >= 7 -Requires: polkit >= 0.112 -%else -Requires: polkit >= 0.93 -%endif -%if %{with_cgconfig} -Requires: libcgroup +# tc is provided by iproute-tc since at least Fedora 26 +%if 0%{?fedora} || 0%{?rhel} > 7 +Requires: iproute-tc %endif + +Requires: polkit >= 0.112 %ifarch %{ix86} x86_64 ia64 # For virConnectGetSysinfo Requires: dmidecode %endif # For service management -%if %{with_systemd} Requires(post): systemd-units Requires(post): systemd-sysv Requires(preun): systemd-units Requires(postun): systemd-units -%endif %if %{with_numad} Requires: numad %endif @@ -277,7 +274,6 @@ Requires: numad Requires: dbus # For uid creation during pre Requires(pre): shadow-utils -Requires: jansson %description daemon Server side daemon required to manage the virtualization capabilities @@ -286,7 +282,6 @@ for specific drivers. %package daemon-config-network Summary: Default configuration files for the libvirtd daemon -Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} Requires: libvirt-daemon-driver-network = %{version}-%{release} @@ -296,7 +291,6 @@ Default configuration files for setting up NAT based networking %package daemon-config-nwfilter Summary: Network filter configuration files for the libvirtd daemon -Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release} @@ -306,14 +300,11 @@ Network filter configuration files for cleaning guest traffic %package daemon-driver-network Summary: Network driver plugin for the libvirtd daemon -Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} +Requires: libvirt-libs = %{version}-%{release} Requires: dnsmasq >= 2.41 Requires: radvd Requires: iptables -%if 0%{?rhel} && 0%{?rhel} < 7 -Requires: iptables-ipv6 -%endif %description daemon-driver-network The network driver plugin for the libvirtd daemon, providing @@ -323,12 +314,9 @@ bridge capabilities. %package daemon-driver-nwfilter Summary: Nwfilter driver plugin for the libvirtd daemon -Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} +Requires: libvirt-libs = %{version}-%{release} Requires: iptables -%if 0%{?rhel} && 0%{?rhel} < 7 -Requires: iptables-ipv6 -%endif Requires: ebtables %description daemon-driver-nwfilter @@ -339,14 +327,10 @@ iptables and ip6tables capabilities %package daemon-driver-nodedev Summary: Nodedev driver plugin for the libvirtd daemon -Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} +Requires: libvirt-libs = %{version}-%{release} # needed for device enumeration -%if 0%{?fedora} || 0%{?rhel} >= 7 Requires: systemd >= 185 -%else -Requires: udev >= 145 -%endif %description daemon-driver-nodedev The nodedev driver plugin for the libvirtd daemon, providing @@ -356,11 +340,9 @@ capabilities. %package daemon-driver-interface Summary: Interface driver plugin for the libvirtd daemon -Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} -%if (0%{?fedora} || 0%{?rhel} >= 7) +Requires: libvirt-libs = %{version}-%{release} Requires: netcf-libs >= 0.2.2 -%endif %description daemon-driver-interface The interface driver plugin for the libvirtd daemon, providing @@ -370,8 +352,8 @@ netcf library %package daemon-driver-secret Summary: Secret driver plugin for the libvirtd daemon -Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} +Requires: libvirt-libs = %{version}-%{release} %description daemon-driver-secret The secret driver plugin for the libvirtd daemon, providing @@ -379,8 +361,8 @@ an implementation of the secret key APIs. %package daemon-driver-storage-core Summary: Storage driver plugin including base backends for the libvirtd daemon -Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} +Requires: libvirt-libs = %{version}-%{release} Requires: nfs-utils # For mkfs Requires: util-linux @@ -388,6 +370,9 @@ Requires: util-linux # From QEMU RPMs Requires: /usr/bin/qemu-img %endif +%if !%{with_storage_rbd} +Obsoletes: libvirt-daemon-driver-storage-rbd < %{version}-%{release} +%endif %description daemon-driver-storage-core The storage driver plugin for the libvirtd daemon, providing @@ -396,8 +381,8 @@ iSCSI, and multipath storage. %package daemon-driver-storage-logical Summary: Storage driver plugin for lvm volumes -Group: Development/Libraries Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} +Requires: libvirt-libs = %{version}-%{release} Requires: lvm2 %description daemon-driver-storage-logical @@ -407,8 +392,8 @@ volumes using lvm. %package daemon-driver-storage-disk Summary: Storage driver plugin for disk -Group: Development/Libraries Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} +Requires: libvirt-libs = %{version}-%{release} Requires: parted Requires: device-mapper @@ -419,8 +404,8 @@ volumes using the host disks. %package daemon-driver-storage-scsi Summary: Storage driver plugin for local scsi devices -Group: Development/Libraries Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} +Requires: libvirt-libs = %{version}-%{release} %description daemon-driver-storage-scsi The storage driver backend adding implementation of the storage APIs for scsi @@ -429,8 +414,8 @@ host devices. %package daemon-driver-storage-iscsi Summary: Storage driver plugin for iscsi -Group: Development/Libraries Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} +Requires: libvirt-libs = %{version}-%{release} Requires: iscsi-initiator-utils %description daemon-driver-storage-iscsi @@ -438,10 +423,23 @@ The storage driver backend adding implementation of the storage APIs for iscsi volumes using the host iscsi stack. +%if %{with_storage_iscsi_direct} +%package daemon-driver-storage-iscsi-direct +Summary: Storage driver plugin for iscsi-direct +Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} +Requires: libvirt-libs = %{version}-%{release} +Requires: libiscsi + +%description daemon-driver-storage-iscsi-direct +The storage driver backend adding implementation of the storage APIs for iscsi +volumes using libiscsi direct connection. +%endif + + %package daemon-driver-storage-mpath Summary: Storage driver plugin for multipath volumes -Group: Development/Libraries Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} +Requires: libvirt-libs = %{version}-%{release} Requires: device-mapper %description daemon-driver-storage-mpath @@ -452,8 +450,8 @@ multipath storage using device mapper. %if %{with_storage_gluster} %package daemon-driver-storage-gluster Summary: Storage driver plugin for gluster -Group: Development/Libraries Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} +Requires: libvirt-libs = %{version}-%{release} %if 0%{?fedora} Requires: glusterfs-client >= 2.0.1 %endif @@ -470,8 +468,8 @@ volumes using libgfapi. %if %{with_storage_rbd} %package daemon-driver-storage-rbd Summary: Storage driver plugin for rbd -Group: Development/Libraries Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} +Requires: libvirt-libs = %{version}-%{release} %description daemon-driver-storage-rbd The storage driver backend adding implementation of the storage APIs for rbd @@ -482,8 +480,8 @@ volumes using the ceph protocol. %if %{with_storage_sheepdog} %package daemon-driver-storage-sheepdog Summary: Storage driver plugin for sheepdog -Group: Development/Libraries Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} +Requires: libvirt-libs = %{version}-%{release} Requires: sheepdog %description daemon-driver-storage-sheepdog @@ -495,8 +493,8 @@ sheepdog volumes using. %if %{with_storage_zfs} %package daemon-driver-storage-zfs Summary: Storage driver plugin for ZFS -Group: Development/Libraries Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} +Requires: libvirt-libs = %{version}-%{release} # Support any conforming implementation of zfs Requires: /sbin/zfs Requires: /sbin/zpool @@ -509,13 +507,15 @@ ZFS volumes. %package daemon-driver-storage Summary: Storage driver plugin including all backends for the libvirtd daemon -Group: Development/Libraries Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} Requires: libvirt-daemon-driver-storage-disk = %{version}-%{release} Requires: libvirt-daemon-driver-storage-logical = %{version}-%{release} Requires: libvirt-daemon-driver-storage-scsi = %{version}-%{release} Requires: libvirt-daemon-driver-storage-iscsi = %{version}-%{release} Requires: libvirt-daemon-driver-storage-mpath = %{version}-%{release} +%if %{with_storage_iscsi_direct} +Requires: libvirt-daemon-driver-storage-iscsi-direct = %{version}-%{release} +%endif %if %{with_storage_gluster} Requires: libvirt-daemon-driver-storage-gluster = %{version}-%{release} %endif @@ -538,11 +538,8 @@ parted and more. %if %{with_qemu} %package daemon-driver-qemu Summary: QEMU driver plugin for the libvirtd daemon -Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} -# There really is a hard cross-driver dependency here -Requires: libvirt-daemon-driver-network = %{version}-%{release} -Requires: libvirt-daemon-driver-storage-core = %{version}-%{release} +Requires: libvirt-libs = %{version}-%{release} Requires: /usr/bin/qemu-img # For image compression Requires: gzip @@ -563,8 +560,8 @@ QEMU %if %{with_lxc} %package daemon-driver-lxc Summary: LXC driver plugin for the libvirtd daemon -Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} +Requires: libvirt-libs = %{version}-%{release} # There really is a hard cross-driver dependency here Requires: libvirt-daemon-driver-network = %{version}-%{release} %if 0%{?fedora} || 0%{?rhel} > 7 @@ -578,24 +575,11 @@ the Linux kernel %endif -%if %{with_uml} -%package daemon-driver-uml -Summary: Uml driver plugin for the libvirtd daemon -Group: Development/Libraries -Requires: libvirt-daemon = %{version}-%{release} - -%description daemon-driver-uml -The UML driver plugin for the libvirtd daemon, providing -an implementation of the hypervisor driver APIs using -User Mode Linux -%endif - - %if %{with_vbox} %package daemon-driver-vbox Summary: VirtualBox driver plugin for the libvirtd daemon -Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} +Requires: libvirt-libs = %{version}-%{release} %description daemon-driver-vbox The vbox driver plugin for the libvirtd daemon, providing @@ -607,8 +591,8 @@ VirtualBox %if %{with_libxl} %package daemon-driver-libxl Summary: Libxl driver plugin for the libvirtd daemon -Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} +Requires: libvirt-libs = %{version}-%{release} Obsoletes: libvirt-daemon-driver-xen < 4.3.0 %description daemon-driver-libxl @@ -622,7 +606,6 @@ Libxl %if %{with_qemu_tcg} %package daemon-qemu Summary: Server side daemon & driver required to run QEMU guests -Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} Requires: libvirt-daemon-driver-qemu = %{version}-%{release} @@ -643,7 +626,6 @@ capabilities of the QEMU TCG emulators %if %{with_qemu_kvm} %package daemon-kvm Summary: Server side daemon & driver required to run KVM guests -Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} Requires: libvirt-daemon-driver-qemu = %{version}-%{release} @@ -664,7 +646,6 @@ capabilities of the KVM hypervisor %if %{with_lxc} %package daemon-lxc Summary: Server side daemon & driver required to run LXC guests -Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} Requires: libvirt-daemon-driver-lxc = %{version}-%{release} @@ -681,31 +662,9 @@ capabilities of LXC %endif -%if %{with_uml} -%package daemon-uml -Summary: Server side daemon & driver required to run UML guests -Group: Development/Libraries - -Requires: libvirt-daemon = %{version}-%{release} -Requires: libvirt-daemon-driver-uml = %{version}-%{release} -Requires: libvirt-daemon-driver-interface = %{version}-%{release} -Requires: libvirt-daemon-driver-network = %{version}-%{release} -Requires: libvirt-daemon-driver-nodedev = %{version}-%{release} -Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release} -Requires: libvirt-daemon-driver-secret = %{version}-%{release} -Requires: libvirt-daemon-driver-storage = %{version}-%{release} -# There are no UML kernel RPMs in Fedora/RHEL to depend on. - -%description daemon-uml -Server side daemon and driver required to manage the virtualization -capabilities of UML -%endif - - %if %{with_libxl} %package daemon-xen Summary: Server side daemon & driver required to run XEN guests -Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} %if %{with_libxl} @@ -727,7 +686,6 @@ capabilities of XEN %if %{with_vbox} %package daemon-vbox Summary: Server side daemon & driver required to run VirtualBox guests -Group: Development/Libraries Requires: libvirt-daemon = %{version}-%{release} Requires: libvirt-daemon-driver-vbox = %{version}-%{release} @@ -745,7 +703,6 @@ capabilities of VirtualBox %package client Summary: Client side utilities of the libvirt library -Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release} Requires: readline Requires: ncurses @@ -753,10 +710,6 @@ Requires: ncurses Requires: gettext # Needed by virt-pki-validate script. Requires: gnutls-utils -%if %{with_pm_utils} -# Needed for probing the power management features of the host. -Requires: pm-utils -%endif %if %{with_bash_completion} Requires: %{name}-bash-completion = %{version}-%{release} %endif @@ -767,10 +720,7 @@ capabilities of recent versions of Linux (and other OSes). %package libs Summary: Client side libraries -Group: Development/Libraries # So remote clients can access libvirt over SSH tunnel -# (client invokes 'nc' against the UNIX socket on the server) -Requires: /usr/bin/nc Requires: cyrus-sasl # Needed by default sasl.conf - no onerous extra deps, since # 100's of other things on a system already pull in krb5-libs @@ -781,7 +731,6 @@ Shared libraries for accessing the libvirt daemon. %package admin Summary: Set of tools to control libvirt daemon -Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release} Requires: readline %if %{with_bash_completion} @@ -791,18 +740,18 @@ Requires: %{name}-bash-completion = %{version}-%{release} %description admin The client side utilities to control the libvirt daemon. +%if %{with_bash_completion} %package bash-completion Summary: Bash completion script -Group: Development/Libraries %description bash-completion Bash completion script stub. +%endif %if %{with_wireshark} %package wireshark Summary: Wireshark dissector plugin for libvirt RPC transactions -Group: Development/Libraries -Requires: wireshark >= 1.12.6-4 +Requires: wireshark >= 2.4.0 Requires: %{name}-libs = %{version}-%{release} %description wireshark @@ -812,7 +761,6 @@ Wireshark dissector plugin for better analysis of libvirt RPC traffic. %if %{with_lxc} %package login-shell Summary: Login shell for connecting users to an LXC container -Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release} %description login-shell @@ -823,7 +771,6 @@ namespaces. %package devel Summary: Libraries, includes, etc. to compile with the libvirt library -Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release} Requires: pkgconfig @@ -833,7 +780,6 @@ Include header files & development libraries for the libvirt C library. %if %{with_sanlock} %package lock-sanlock Summary: Sanlock lock manager plugin for QEMU driver -Group: Development/Libraries Requires: sanlock >= 2.4 #for virt-sanlock-cleanup require augeas Requires: augeas @@ -847,7 +793,6 @@ driver %package nss Summary: Libvirt plugin for Name Service Switch -Group: Development/Libraries Requires: libvirt-daemon-driver-network = %{version}-%{release} %description nss @@ -856,55 +801,14 @@ Libvirt plugin for NSS for translating domain names into IP addresses. %prep -%setup -q - -# "make dist" replaces all symlinks with a copy of the linked files; -# we need to replace all of them with the original symlinks -echo "Restoring symlinks" -while read lnk target; do - if [ -e $lnk ]; then - rm -rf $lnk - ln -s $target $lnk - fi -done <%{_sourcedir}/symlinks || exit 1 - -# Patches have to be stored in a temporary file because RPM has -# a limit on the length of the result of any macro expansion; -# if the string is longer, it's silently cropped -%{lua: - tmp = os.tmpname(); - f = io.open(tmp, "w+"); - count = 0; - for i, p in ipairs(patches) do - f:write(p.."\n"); - count = count + 1; - end; - f:close(); - print("PATCHCOUNT="..count.."\n") - print("PATCHLIST="..tmp.."\n") -} - -git init -q -git config user.name rpm-build -git config user.email rpm-build -git config gc.auto 0 -git add . -git commit -q -a --author 'rpm-build ' \ - -m '%{name}-%{version} base' - -COUNT=$(grep '\.patch$' $PATCHLIST | wc -l) -if [ $COUNT -ne $PATCHCOUNT ]; then - echo "Found $COUNT patches in $PATCHLIST, expected $PATCHCOUNT" - exit 1 -fi -if [ $COUNT -gt 0 ]; then - xargs git am <$PATCHLIST || exit 1 -fi -echo "Applied $COUNT patches" -rm -f $PATCHLIST -rm -rf .git +%autosetup -S git_am %build +%if ! %{supported_platform} +echo "This RPM requires either Fedora >= %{min_fedora} or RHEL >= %{min_rhel}" +exit 1 +%endif + %if %{with_qemu} %define arg_qemu --with-qemu %else @@ -937,12 +841,6 @@ rm -rf .git %define arg_libxl --without-libxl %endif -%if %{with_phyp} - %define arg_phyp --with-phyp -%else - %define arg_phyp --without-phyp -%endif - %if %{with_esx} %define arg_esx --with-esx %else @@ -961,12 +859,6 @@ rm -rf .git %define arg_vmware --without-vmware %endif -%if %{with_uml} - %define arg_uml --with-uml -%else - %define arg_uml --without-uml -%endif - %if %{with_storage_rbd} %define arg_storage_rbd --with-storage-rbd %else @@ -1016,9 +908,15 @@ rm -rf .git %endif %if %{with_firewalld} - %define arg_firewalld --with-firewalld --with-firewalld-zone + %define arg_firewalld --with-firewalld %else - %define arg_firewalld --without-firewalld --without-firewalld-zone + %define arg_firewalld --without-firewalld +%endif + +%if %{with_firewalld_zone} + %define arg_firewalld_zone --with-firewalld-zone +%else + %define arg_firewalld_zone --without-firewalld-zone %endif %if %{with_wireshark} @@ -1027,41 +925,19 @@ rm -rf .git %define arg_wireshark --without-wireshark-dissector %endif -%if %{with_pm_utils} - %define arg_pm_utils --with-pm-utils +%if %{with_storage_iscsi_direct} + %define arg_storage_iscsi_direct --with-storage-iscsi-direct %else - %define arg_pm_utils --without-pm-utils + %define arg_storage_iscsi_direct --without-storage-iscsi-direct %endif %define when %(date +"%%F-%%T") %define where %(hostname) -%define who 'PowerEL Virt' +%define who %{?packager}%{!?packager:Unknown} %define arg_packager --with-packager="%{who}, %{when}, %{where}" %define arg_packager_version --with-packager-version="%{release}" -%if %{with_systemd} - %define arg_init_script --with-init-script=systemd -%else - %define arg_init_script --with-init-script=redhat -%endif - -%if 0%{?fedora} || 0%{?rhel} >= 7 - %define arg_selinux_mount --with-selinux-mount="/sys/fs/selinux" -%else - %define arg_selinux_mount --with-selinux-mount="/selinux" -%endif - -%if 0%{?fedora} - # Nightly firmware repo x86/OVMF - LOADERS="/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd:/usr/share/edk2.git/ovmf-x64/OVMF_VARS-pure-efi.fd" - # Nightly firmware repo aarch64/AAVMF - LOADERS="$LOADERS:/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw:/usr/share/edk2.git/aarch64/vars-template-pflash.raw" - # Fedora official x86/OVMF - LOADERS="$LOADERS:/usr/share/edk2/ovmf/OVMF_CODE.fd:/usr/share/edk2/ovmf/OVMF_VARS.fd" - # Fedora official aarch64/AAVMF - LOADERS="$LOADERS:/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw:/usr/share/edk2/aarch64/vars-template-pflash.raw" - %define arg_loader_nvram --with-loader-nvram="$LOADERS" -%endif +%define arg_selinux_mount --with-selinux-mount="/sys/fs/selinux" # place macros above and build commands below this comment @@ -1072,29 +948,33 @@ export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/%{name}.spec) %endif rm -f po/stamp-po -%configure %{?arg_qemu} \ + +%define _configure ../configure +mkdir %{_vpath_builddir} +cd %{_vpath_builddir} + +%configure --enable-dependency-tracking \ + --with-runstatedir=%{_rundir} \ + %{?arg_qemu} \ %{?arg_openvz} \ %{?arg_lxc} \ %{?arg_vbox} \ %{?arg_libxl} \ --with-sasl \ - --with-avahi \ --with-polkit \ --with-libvirtd \ - %{?arg_uml} \ - %{?arg_phyp} \ %{?arg_esx} \ %{?arg_hyperv} \ %{?arg_vmware} \ - --without-xenapi \ --without-vz \ --without-bhyve \ + --with-remote-default-mode=legacy \ --with-interface \ --with-network \ --with-storage-fs \ --with-storage-lvm \ --with-storage-iscsi \ - --without-storage-iscsi-direct \ + %{?arg_storage_iscsi_direct} \ --with-storage-scsi \ --with-storage-disk \ --with-storage-mpath \ @@ -1113,6 +993,7 @@ rm -f po/stamp-po --without-apparmor \ --without-hal \ --with-udev \ + --with-yajl \ %{?arg_sanlock} \ --with-libpcap \ --with-macvtap \ @@ -1120,33 +1001,28 @@ rm -f po/stamp-po --with-dtrace \ --with-driver-modules \ %{?arg_firewalld} \ + %{?arg_firewalld_zone} \ %{?arg_wireshark} \ - %{?arg_pm_utils} \ + --without-pm-utils \ --with-nss-plugin \ %{arg_packager} \ %{arg_packager_version} \ --with-qemu-user=%{qemu_user} \ --with-qemu-group=%{qemu_group} \ --with-tls-priority=%{tls_priority} \ - %{?arg_loader_nvram} \ %{?enable_werror} \ --enable-expensive-tests \ - %{arg_init_script} \ + --with-init-script=systemd \ %{?arg_login_shell} make %{?_smp_mflags} V=1 -gzip -9 ChangeLog %install rm -fr %{buildroot} export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/%{name}.spec) -# Avoid using makeinstall macro as it changes prefixes rather than setting -# DESTDIR. Newer make_install macro would be better but it's not available -# on RHEL 5, thus we need to expand it here. -make %{?_smp_mflags} install DESTDIR=%{?buildroot} SYSTEMD_UNIT_DIR=%{_unitdir} V=1 - -make %{?_smp_mflags} -C examples distclean V=1 +cd %{_vpath_builddir} +%make_install %{?_smp_mflags} SYSTEMD_UNIT_DIR=%{_unitdir} V=1 rm -f $RPM_BUILD_ROOT%{_libdir}/*.la rm -f $RPM_BUILD_ROOT%{_libdir}/*.a @@ -1157,6 +1033,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.a rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-backend/*.la rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-backend/*.a rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-file/*.la +rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-file/*.a %if %{with_wireshark} rm -f $RPM_BUILD_ROOT%{wireshark_plugindir}/libvirt.la %endif @@ -1168,14 +1045,16 @@ install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/lib/libvirt/dnsmasq/ install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/ cp $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml \ $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml -rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml -rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml +# libvirt saves this file with mode 0600 +chmod 0600 $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml # nwfilter files are installed in /usr/share/libvirt and copied to /etc in %post # to avoid verification errors on changed files in /etc install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/libvirt/nwfilter/ cp -a $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/nwfilter/*.xml \ $RPM_BUILD_ROOT%{_datadir}/libvirt/nwfilter/ +# libvirt saves these files with mode 600 +chmod 600 $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/nwfilter/*.xml # Strip auto-generated UUID - we need it generated per-install sed -i -e "//d" $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml @@ -1209,9 +1088,6 @@ rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.libxl rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_libxl.aug rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.aug %endif -%if ! %{with_uml} -rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.uml -%endif # Copied into libvirt-docs subpackage eventually mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt libvirt-docs @@ -1219,29 +1095,31 @@ mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt libvirt-docs %ifarch %{power64} s390x x86_64 ia64 alpha sparc64 mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes.stp \ $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes-64.stp + + %if %{with_qemu} mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes.stp \ $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes-64.stp + %endif %endif -%clean -rm -fr %{buildroot} - %check -cd tests -# These tests don't current work in a mock build root -for i in nodeinfotest seclabeltest -do - rm -f $i - printf 'int main(void) { return 0; }' > $i.c - printf '#!/bin/sh\nexit 0\n' > $i - chmod +x $i -done +cd %{_vpath_builddir} if ! make %{?_smp_mflags} check VIR_TEST_DEBUG=1 then - cat test-suite.log || true + cat tests/test-suite.log || true exit 1 fi +%post libs +%if 0%{?rhel} == 7 +/sbin/ldconfig +%endif + +%postun libs +%if 0%{?rhel} == 7 +/sbin/ldconfig +%endif + %pre daemon # 'libvirt' group is just to allow password-less polkit access to # libvirtd. The uid number is irrelevant, so we use dynamic allocation @@ -1252,93 +1130,29 @@ exit 0 %post daemon -%if %{with_systemd} - %if %{with_systemd_macros} - %systemd_post virtlockd.socket virtlockd-admin.socket - %systemd_post virtlogd.socket virtlogd-admin.socket - %systemd_post libvirtd.service - %else -if [ $1 -eq 1 ] ; then - # Initial installation - /bin/systemctl enable \ - virtlockd.socket \ - virtlockd-admin.socket \ - virtlogd.socket \ - virtlogd-admin.socket \ - libvirtd.service >/dev/null 2>&1 || : -fi - %endif -%else - %if %{with_cgconfig} -# Starting with Fedora 16/RHEL-7, systemd automounts all cgroups, -# and cgconfig is no longer a necessary service. - %if 0%{?rhel} && 0%{?rhel} < 7 -if [ "$1" -eq "1" ]; then -/sbin/chkconfig cgconfig on -fi - %endif - %endif - -/sbin/chkconfig --add libvirtd -/sbin/chkconfig --add virtlogd -/sbin/chkconfig --add virtlockd -%endif +%systemd_post virtlockd.socket virtlockd-admin.socket +%systemd_post virtlogd.socket virtlogd-admin.socket +%systemd_post libvirtd.socket libvirtd-ro.socket libvirtd-admin.socket +%systemd_post libvirtd-tcp.socket libvirtd-tls.socket +%systemd_post libvirtd.service # request daemon restart in posttrans mkdir -p %{_localstatedir}/lib/rpm-state/libvirt || : touch %{_localstatedir}/lib/rpm-state/libvirt/restart || : %preun daemon -%if %{with_systemd} - %if %{with_systemd_macros} - %systemd_preun libvirtd.service - %systemd_preun virtlogd.socket virtlogd-admin.socket virtlogd.service - %systemd_preun virtlockd.socket virtlockd-admin.socket virtlockd.service - %else -if [ $1 -eq 0 ] ; then - # Package removal, not upgrade - /bin/systemctl --no-reload disable \ - libvirtd.service \ - virtlogd.socket \ - virtlogd-admin.socket \ - virtlogd.service \ - virtlockd.socket \ - virtlockd-admin.socket \ - virtlockd.service > /dev/null 2>&1 || : - /bin/systemctl stop \ - libvirtd.service \ - virtlogd.socket \ - virtlogd-admin.socket \ - virtlogd.service \ - virtlockd.socket \ - virtlockd-admin.socket \ - virtlockd.service > /dev/null 2>&1 || : -fi - %endif -%else -if [ $1 = 0 ]; then - /sbin/service libvirtd stop 1>/dev/null 2>&1 - /sbin/chkconfig --del libvirtd - /sbin/service virtlogd stop 1>/dev/null 2>&1 - /sbin/chkconfig --del virtlogd - /sbin/service virtlockd stop 1>/dev/null 2>&1 - /sbin/chkconfig --del virtlockd -fi -%endif +%systemd_preun libvirtd.service +%systemd_preun libvirtd-tcp.socket libvirtd-tls.socket +%systemd_preun libvirtd.socket libvirtd-ro.socket libvirtd-admin.socket +%systemd_preun virtlogd.socket virtlogd-admin.socket virtlogd.service +%systemd_preun virtlockd.socket virtlockd-admin.socket virtlockd.service %postun daemon -%if %{with_systemd} /bin/systemctl daemon-reload >/dev/null 2>&1 || : if [ $1 -ge 1 ] ; then /bin/systemctl reload-or-try-restart virtlockd.service >/dev/null 2>&1 || : /bin/systemctl reload-or-try-restart virtlogd.service >/dev/null 2>&1 || : fi -%else -if [ $1 -ge 1 ]; then - /sbin/service virtlockd reload > /dev/null 2>&1 || : - /sbin/service virtlogd reload > /dev/null 2>&1 || : -fi -%endif # In upgrade scenario we must explicitly enable virtlockd/virtlogd # sockets, if libvirtd is already enabled and start them if @@ -1346,31 +1160,59 @@ fi # guests %triggerpostun daemon -- libvirt-daemon < 1.3.0 if [ $1 -ge 1 ] ; then -%if %{with_systemd} /bin/systemctl is-enabled libvirtd.service 1>/dev/null 2>&1 && /bin/systemctl enable virtlogd.socket virtlogd-admin.socket || : /bin/systemctl is-active libvirtd.service 1>/dev/null 2>&1 && /bin/systemctl start virtlogd.socket virtlogd-admin.socket || : -%else - /sbin/chkconfig libvirtd 1>/dev/null 2>&1 && - /sbin/chkconfig virtlogd on || : - /sbin/service libvirtd status 1>/dev/null 2>&1 && - /sbin/service virtlogd start || : - /sbin/service virtlockd reload > /dev/null 2>&1 || : - /sbin/service virtlogd reload > /dev/null 2>&1 || : -%endif fi %posttrans daemon if [ -f %{_localstatedir}/lib/rpm-state/libvirt/restart ]; then -%if %{with_systemd} - /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || : -%else - /sbin/service libvirtd condrestart > /dev/null 2>&1 || : -%endif + # See if user has previously modified their install to + # tell libvirtd to use --listen + grep -E '^LIBVIRTD_ARGS=.*--listen' /etc/sysconfig/libvirtd 1>/dev/null 2>&1 + if test $? = 0 + then + # Then lets keep honouring --listen and *not* use + # systemd socket activation, because switching things + # might confuse mgmt tool like puppet/ansible that + # expect the old style libvirtd + /bin/systemctl mask libvirtd.socket >/dev/null 2>&1 || : + /bin/systemctl mask libvirtd-ro.socket >/dev/null 2>&1 || : + /bin/systemctl mask libvirtd-admin.socket >/dev/null 2>&1 || : + /bin/systemctl mask libvirtd-tls.socket >/dev/null 2>&1 || : + /bin/systemctl mask libvirtd-tcp.socket >/dev/null 2>&1 || : + else + # Old libvirtd owns the sockets and will delete them on + # shutdown. Can't use a try-restart as libvirtd will simply + # own the sockets again when it comes back up. Thus we must + # do this particular ordering, so that we get libvirtd + # running with socket activation in use + /bin/systemctl is-active libvirtd.service 1>/dev/null 2>&1 + if test $? = 0 + then + /bin/systemctl stop libvirtd.service >/dev/null 2>&1 || : + + /bin/systemctl try-restart libvirtd.socket >/dev/null 2>&1 || : + /bin/systemctl try-restart libvirtd-ro.socket >/dev/null 2>&1 || : + /bin/systemctl try-restart libvirtd-admin.socket >/dev/null 2>&1 || : + + /bin/systemctl start libvirtd.service >/dev/null 2>&1 || : + fi + fi fi rm -rf %{_localstatedir}/lib/rpm-state/libvirt || : +%post daemon-driver-network +%if %{with_firewalld_zone} + %firewalld_reload +%endif + +%postun daemon-driver-network +%if %{with_firewalld_zone} + %firewalld_reload +%endif + %post daemon-config-network if test $1 -eq 1 && test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml ; then # see if the network used by default network creates a conflict, @@ -1407,6 +1249,8 @@ if test $1 -eq 1 && test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml ; < %{_datadir}/libvirt/networks/default.xml \ > %{_sysconfdir}/libvirt/qemu/networks/default.xml ln -s ../default.xml %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml + # libvirt saves this file with mode 0600 + chmod 0600 %{_sysconfdir}/libvirt/qemu/networks/default.xml # Make sure libvirt picks up the new network defininiton mkdir -p %{_localstatedir}/lib/rpm-state/libvirt || : @@ -1415,43 +1259,25 @@ fi %posttrans daemon-config-network if [ -f %{_localstatedir}/lib/rpm-state/libvirt/restart ]; then -%if %{with_systemd} /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || : -%else - /sbin/service libvirtd condrestart > /dev/null 2>&1 || : -%endif fi rm -rf %{_localstatedir}/lib/rpm-state/libvirt || : %post daemon-config-nwfilter cp %{_datadir}/libvirt/nwfilter/*.xml %{_sysconfdir}/libvirt/nwfilter/ +# libvirt saves these files with mode 600 +chmod 600 %{_sysconfdir}/libvirt/nwfilter/*.xml # Make sure libvirt picks up the new nwfilter defininitons mkdir -p %{_localstatedir}/lib/rpm-state/libvirt || : touch %{_localstatedir}/lib/rpm-state/libvirt/restart || : %posttrans daemon-config-nwfilter if [ -f %{_localstatedir}/lib/rpm-state/libvirt/restart ]; then -%if %{with_systemd} /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || : -%else - /sbin/service libvirtd condrestart > /dev/null 2>&1 || : -%endif fi rm -rf %{_localstatedir}/lib/rpm-state/libvirt || : -%if %{with_systemd} -%triggerun -- libvirt < 0.9.4 -%{_bindir}/systemd-sysv-convert --save libvirtd >/dev/null 2>&1 ||: - -# If the package is allowed to autostart: -/bin/systemctl --no-reload enable libvirtd.service >/dev/null 2>&1 ||: - -# Run these because the SysV package being removed won't do them -/sbin/chkconfig --del libvirtd >/dev/null 2>&1 || : -/bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || : -%endif - %if %{with_qemu} %pre daemon-driver-qemu # We want soft static allocation of well-known ids, as disk images @@ -1471,52 +1297,13 @@ exit 0 %preun client -%if %{with_systemd} - %if %{with_systemd_macros} - %systemd_preun libvirt-guests.service - %endif -%else -if [ $1 = 0 ]; then - /sbin/chkconfig --del libvirt-guests - rm -f /var/lib/libvirt/libvirt-guests -fi -%endif +%systemd_preun libvirt-guests.service %post client - -/sbin/ldconfig -%if %{with_systemd} - %if %{with_systemd_macros} - %systemd_post libvirt-guests.service - %endif -%else -/sbin/chkconfig --add libvirt-guests -%endif +%systemd_post libvirt-guests.service %postun client - -/sbin/ldconfig -%if %{with_systemd} - %if %{with_systemd_macros} - %systemd_postun libvirt-guests.service - %endif -%triggerun client -- libvirt < 0.9.4 -%{_bindir}/systemd-sysv-convert --save libvirt-guests >/dev/null 2>&1 ||: - -# If the package is allowed to autostart: -/bin/systemctl --no-reload enable libvirt-guests.service >/dev/null 2>&1 ||: - -# Run this because the SysV package being removed won't do them -/sbin/chkconfig --del libvirt-guests >/dev/null 2>&1 || : -%endif - -%if %{with_sanlock} -%post lock-sanlock -if getent group sanlock > /dev/null ; then - chmod 0770 %{_localstatedir}/lib/libvirt/sanlock - chown root:sanlock %{_localstatedir}/lib/libvirt/sanlock -fi -%endif +%systemd_postun libvirt-guests.service %if %{with_lxc} %pre login-shell @@ -1527,38 +1314,17 @@ exit 0 %files %files docs -%doc AUTHORS ChangeLog.gz NEWS README README.md -%doc libvirt-docs/* - -%ifnarch ppc64le x86_64 -# API docs -%dir %{_datadir}/gtk-doc/html/libvirt/ -%doc %{_datadir}/gtk-doc/html/libvirt/*.devhelp -%doc %{_datadir}/gtk-doc/html/libvirt/*.html -%doc %{_datadir}/gtk-doc/html/libvirt/*.png -%doc %{_datadir}/gtk-doc/html/libvirt/*.css -%doc examples/hellolibvirt -%doc examples/object-events -%doc examples/dominfo -%doc examples/domsuspend -%doc examples/dommigrate -%doc examples/openauth -%doc examples/xml -%doc examples/rename -%doc examples/systemtap -%doc examples/admin -%endif - +%doc AUTHORS ChangeLog NEWS README README.md +%doc %{_vpath_builddir}/libvirt-docs/* %files daemon %dir %attr(0700, root, root) %{_sysconfdir}/libvirt/ -%if %{with_systemd} %{_unitdir}/libvirtd.service %{_unitdir}/libvirtd.socket -%{_unitdir}/libvirtd-admin.socket %{_unitdir}/libvirtd-ro.socket +%{_unitdir}/libvirtd-admin.socket %{_unitdir}/libvirtd-tcp.socket %{_unitdir}/libvirtd-tls.socket %{_unitdir}/virtproxyd.service @@ -1574,11 +1340,6 @@ exit 0 %{_unitdir}/virtlockd.service %{_unitdir}/virtlockd.socket %{_unitdir}/virtlockd-admin.socket -%else -%{_sysconfdir}/rc.d/init.d/libvirtd -%{_sysconfdir}/rc.d/init.d/virtlogd -%{_sysconfdir}/rc.d/init.d/virtlockd -%endif %config(noreplace) %{_sysconfdir}/sysconfig/libvirtd %config(noreplace) %{_sysconfdir}/sysconfig/virtlogd %config(noreplace) %{_sysconfdir}/sysconfig/virtlockd @@ -1586,12 +1347,13 @@ exit 0 %config(noreplace) %{_sysconfdir}/libvirt/virtproxyd.conf %config(noreplace) %{_sysconfdir}/libvirt/virtlogd.conf %config(noreplace) %{_sysconfdir}/libvirt/virtlockd.conf +%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf %config(noreplace) %{_prefix}/lib/sysctl.d/60-libvirtd.conf %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd %dir %{_datadir}/libvirt/ -%ghost %dir %{_localstatedir}/run/libvirt/ +%ghost %dir %{_rundir}/libvirt/ %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/images/ %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/filesystems/ @@ -1606,12 +1368,12 @@ exit 0 %{_datadir}/augeas/lenses/libvirtd.aug %{_datadir}/augeas/lenses/tests/test_libvirtd.aug -%{_datadir}/augeas/lenses/virtproxyd.aug -%{_datadir}/augeas/lenses/tests/test_virtproxyd.aug %{_datadir}/augeas/lenses/virtlogd.aug %{_datadir}/augeas/lenses/tests/test_virtlogd.aug %{_datadir}/augeas/lenses/virtlockd.aug %{_datadir}/augeas/lenses/tests/test_virtlockd.aug +%{_datadir}/augeas/lenses/virtproxyd.aug +%{_datadir}/augeas/lenses/tests/test_virtproxyd.aug %{_datadir}/augeas/lenses/libvirt_lockd.aug %if %{with_qemu} %{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug @@ -1635,11 +1397,11 @@ exit 0 %{_mandir}/man8/virtlockd.8* %{_mandir}/man7/virkey*.7* -%doc examples/polkit/*.rules - %files daemon-config-network %dir %{_datadir}/libvirt/networks/ %{_datadir}/libvirt/networks/default.xml +%ghost %{_sysconfdir}/libvirt/qemu/networks/default.xml +%ghost %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml %files daemon-config-nwfilter %dir %{_datadir}/libvirt/nwfilter/ @@ -1675,6 +1437,10 @@ exit 0 %attr(0755, root, root) %{_libexecdir}/libvirt_leaseshelper %{_libdir}/%{name}/connection-driver/libvirt_driver_network.so +%if %{with_firewalld_zone} +%{_prefix}/lib/firewalld/zones/libvirt.xml +%endif + %files daemon-driver-nodedev %config(noreplace) %{_sysconfdir}/libvirt/virtnodedevd.conf %{_datadir}/augeas/lenses/virtnodedevd.aug @@ -1737,7 +1503,11 @@ exit 0 %files daemon-driver-storage-iscsi %{_libdir}/%{name}/storage-backend/libvirt_storage_backend_iscsi.so -#%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_iscsi-direct.so + +%if %{with_storage_iscsi_direct} +%files daemon-driver-storage-iscsi-direct +%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_iscsi-direct.so +%endif %files daemon-driver-storage-mpath %{_libdir}/%{name}/storage-backend/libvirt_storage_backend_mpath.so @@ -1778,7 +1548,7 @@ exit 0 %config(noreplace) %{_sysconfdir}/libvirt/qemu.conf %config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu -%ghost %dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/ +%ghost %dir %{_rundir}/libvirt/qemu/ %dir %attr(0751, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/ %dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/ %{_datadir}/augeas/lenses/libvirtd_qemu.aug @@ -1786,6 +1556,8 @@ exit 0 %{_libdir}/%{name}/connection-driver/libvirt_driver_qemu.so %dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/swtpm/ %dir %attr(0711, root, root) %{_localstatedir}/log/swtpm/libvirt/qemu/ +%{_bindir}/virt-qemu-run +%{_mandir}/man1/virt-qemu-run.1* %endif %if %{with_lxc} @@ -1801,7 +1573,7 @@ exit 0 %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/ %config(noreplace) %{_sysconfdir}/libvirt/lxc.conf %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc -%ghost %dir %{_localstatedir}/run/libvirt/lxc/ +%ghost %dir %{_rundir}/libvirt/lxc/ %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/ %{_datadir}/augeas/lenses/libvirtd_lxc.aug %{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug @@ -1809,30 +1581,37 @@ exit 0 %{_libdir}/%{name}/connection-driver/libvirt_driver_lxc.so %endif -%if %{with_uml} -%files daemon-driver-uml -%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/ -%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml -%ghost %dir %{_localstatedir}/run/libvirt/uml/ -%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/ -%{_libdir}/%{name}/connection-driver/libvirt_driver_uml.so -%endif - %if %{with_libxl} %files daemon-driver-libxl +%config(noreplace) %{_sysconfdir}/libvirt/virtxend.conf +%{_datadir}/augeas/lenses/virtxend.aug +%{_datadir}/augeas/lenses/tests/test_virtxend.aug +%{_unitdir}/virtxend.service +%{_unitdir}/virtxend.socket +%{_unitdir}/virtxend-ro.socket +%{_unitdir}/virtxend-admin.socket +%attr(0755, root, root) %{_sbindir}/virtxend %config(noreplace) %{_sysconfdir}/libvirt/libxl.conf %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.libxl %config(noreplace) %{_sysconfdir}/libvirt/libxl-lockd.conf %{_datadir}/augeas/lenses/libvirtd_libxl.aug %{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.aug %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/libxl/ -%ghost %dir %{_localstatedir}/run/libvirt/libxl/ +%ghost %dir %{_rundir}/libvirt/libxl/ %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/ %{_libdir}/%{name}/connection-driver/libvirt_driver_libxl.so %endif %if %{with_vbox} %files daemon-driver-vbox +%config(noreplace) %{_sysconfdir}/libvirt/virtvboxd.conf +%{_datadir}/augeas/lenses/virtvboxd.aug +%{_datadir}/augeas/lenses/tests/test_virtvboxd.aug +%{_unitdir}/virtvboxd.service +%{_unitdir}/virtvboxd.socket +%{_unitdir}/virtvboxd-ro.socket +%{_unitdir}/virtvboxd-admin.socket +%attr(0755, root, root) %{_sbindir}/virtvboxd %{_libdir}/%{name}/connection-driver/libvirt_driver_vbox.so %endif @@ -1848,10 +1627,6 @@ exit 0 %files daemon-lxc %endif -%if %{with_uml} -%files daemon-uml -%endif - %if %{with_libxl} %files daemon-xen %endif @@ -1871,7 +1646,7 @@ exit 0 %attr(0755, root, root) %{_libdir}/libvirt/lock-driver/sanlock.so %{_datadir}/augeas/lenses/libvirt_sanlock.aug %{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug -%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/sanlock +%dir %attr(0770, root, sanlock) %{_localstatedir}/lib/libvirt/sanlock %{_sbindir}/virt-sanlock-cleanup %{_mandir}/man8/virt-sanlock-cleanup.8* %attr(0755, root, root) %{_libexecdir}/libvirt_sanlock_helper @@ -1888,25 +1663,21 @@ exit 0 %{_bindir}/virt-host-validate %{_datadir}/systemtap/tapset/libvirt_probes*.stp -%{_datadir}/systemtap/tapset/libvirt_qemu_probes*.stp %{_datadir}/systemtap/tapset/libvirt_functions.stp +%if %{with_qemu} +%{_datadir}/systemtap/tapset/libvirt_qemu_probes*.stp +%endif %if %{with_bash_completion} %{_datadir}/bash-completion/completions/virsh %endif -%if %{with_systemd} %{_unitdir}/libvirt-guests.service -%else -%{_sysconfdir}/rc.d/init.d/libvirt-guests -%endif %config(noreplace) %{_sysconfdir}/sysconfig/libvirt-guests %attr(0755, root, root) %{_libexecdir}/libvirt-guests.sh -%files libs -f %{name}.lang -# RHEL6 doesn't have 'license' macro -%{!?_licensedir:%global license %%doc} +%files libs -f %{_vpath_builddir}/%{name}.lang %license COPYING COPYING.LESSER %config(noreplace) %{_sysconfdir}/libvirt/libvirt.conf %config(noreplace) %{_sysconfdir}/libvirt/libvirt-admin.conf @@ -1922,37 +1693,40 @@ exit 0 %{_datadir}/libvirt/schemas/capability.rng %{_datadir}/libvirt/schemas/cputypes.rng %{_datadir}/libvirt/schemas/domain.rng +%{_datadir}/libvirt/schemas/domainbackup.rng %{_datadir}/libvirt/schemas/domaincaps.rng +%{_datadir}/libvirt/schemas/domaincheckpoint.rng %{_datadir}/libvirt/schemas/domaincommon.rng %{_datadir}/libvirt/schemas/domainsnapshot.rng %{_datadir}/libvirt/schemas/interface.rng %{_datadir}/libvirt/schemas/network.rng %{_datadir}/libvirt/schemas/networkcommon.rng +%{_datadir}/libvirt/schemas/networkport.rng %{_datadir}/libvirt/schemas/nodedev.rng %{_datadir}/libvirt/schemas/nwfilter.rng +%{_datadir}/libvirt/schemas/nwfilter_params.rng +%{_datadir}/libvirt/schemas/nwfilterbinding.rng %{_datadir}/libvirt/schemas/secret.rng %{_datadir}/libvirt/schemas/storagecommon.rng %{_datadir}/libvirt/schemas/storagepool.rng -%{_datadir}/libvirt/schemas/storagevol.rng %{_datadir}/libvirt/schemas/storagepoolcaps.rng -%{_datadir}/libvirt/schemas/nwfilter_params.rng -%{_datadir}/libvirt/schemas/nwfilterbinding.rng -%{_datadir}/libvirt/schemas/domaincheckpoint.rng -%{_datadir}/libvirt/schemas/networkport.rng +%{_datadir}/libvirt/schemas/storagevol.rng -%{_datadir}/libvirt/cpu_map/* +%{_datadir}/libvirt/cpu_map/*.xml %{_datadir}/libvirt/test-screenshot.png -%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf - %files admin %{_mandir}/man1/virt-admin.1* %{_bindir}/virt-admin +%if %{with_bash_completion} %{_datadir}/bash-completion/completions/virt-admin +%endif +%if %{with_bash_completion} %files bash-completion %{_datadir}/bash-completion/completions/vsh +%endif %if %{with_wireshark} %files wireshark @@ -1982,6 +1756,7 @@ exit 0 %{_includedir}/libvirt/libvirt-admin.h %{_includedir}/libvirt/libvirt-common.h %{_includedir}/libvirt/libvirt-domain.h +%{_includedir}/libvirt/libvirt-domain-checkpoint.h %{_includedir}/libvirt/libvirt-domain-snapshot.h %{_includedir}/libvirt/libvirt-event.h %{_includedir}/libvirt/libvirt-host.h @@ -1994,7 +1769,6 @@ exit 0 %{_includedir}/libvirt/libvirt-stream.h %{_includedir}/libvirt/libvirt-qemu.h %{_includedir}/libvirt/libvirt-lxc.h -%{_includedir}/libvirt/libvirt-domain-checkpoint.h %{_libdir}/pkgconfig/libvirt.pc %{_libdir}/pkgconfig/libvirt-admin.pc %{_libdir}/pkgconfig/libvirt-qemu.pc @@ -2005,77 +1779,107 @@ exit 0 %{_datadir}/libvirt/api/libvirt-admin-api.xml %{_datadir}/libvirt/api/libvirt-qemu-api.xml %{_datadir}/libvirt/api/libvirt-lxc-api.xml -# Needed building python bindings -%doc docs/libvirt-api.xml %changelog -* Thu May 3 2018 Daniel P. Berrangé - 4.3.0-1 -- Update to 4.2.0 release +* Thu Apr 02 2020 Cole Robinson - 6.2.0-1 +- Update to version 6.2.0 + +* Tue Mar 24 2020 Felipe Borges - 6.1.0-2 +- Check for disk type correctly in virDomainDiskTranslateSourcePool + +* Wed Mar 04 2020 Cole Robinson - 6.1.0-1 +- Update to version 6.1.0 + +* Tue Feb 25 2020 Cole Robinson - 6.0.0-3 +- Rebuild for libiscsi soname bump + +* Wed Jan 29 2020 Fedora Release Engineering - 6.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jan 15 2020 Cole Robinson - 6.0.0-1 +- Update to version 6.0.0 + +* Thu Dec 19 2019 Adam Williamson - 5.10.0-2 +- Rebuild for new xen-libs -* Tue Apr 3 2018 Daniel P. Berrangé - 4.2.0-1 -- Update to 4.2.0 release +* Tue Dec 03 2019 Cole Robinson - 5.10.0-1 +- Update to version 5.10.0 -* Fri Mar 23 2018 Iryna Shcherbina - 4.1.0-3 -- Update Python 2 dependency declarations to new packaging standards - (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) +* Mon Nov 11 2019 Cole Robinson - 5.9.0-1 +- Update to version 5.9.0 -* Wed Mar 21 2018 Daniel P. Berrangé - 4.1.0-2 -- Fix systemd macro argument with line continuations (rhbz#1558648) +* Mon Oct 07 2019 Cole Robinson - 5.8.0-1 +- Update to version 5.8.0 -* Mon Mar 5 2018 Daniel Berrange - 4.1.0-1 -- Rebase to version 4.1.0 +* Thu Sep 26 2019 Cole Robinson - 5.7.0-3 +- Fix VM startup when legacy cgroups are defined (bz #1612383) -* Wed Feb 07 2018 Fedora Release Engineering - 4.0.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild +* Fri Sep 20 2019 Daniel P. Berrangé - 5.7.0-2 +- Fix systemd socket activation with TLS socket -* Fri Jan 19 2018 Daniel P. Berrange - 4.0.0-1 -- Rebase to version 4.0.0 +* Tue Sep 03 2019 Cole Robinson - 5.7.0-1 +- Update to version 5.7.0 -* Wed Dec 20 2017 Cole Robinson - 3.10.0-2 -- Rebuild for xen 4.10 +* Tue Aug 06 2019 Cole Robinson - 5.6.0-1 +- Update to version 5.6.0 -* Tue Dec 5 2017 Daniel P. Berrange - 3.10.0-1 -- Rebase to version 3.10.0 +* Thu Jul 25 2019 Fedora Release Engineering - 5.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild -* Fri Nov 3 2017 Daniel P. Berrange - 3.9.0-1 -- Rebase to version 3.9.0 +* Wed Jul 03 2019 Cole Robinson - 5.5.0-1 +- Rebased to version 5.5.0 -* Wed Oct 4 2017 Daniel P. Berrange - 3.8.0-1 -- Rebase to version 3.8.0 +* Thu Jun 20 2019 Cole Robinson - 5.4.0-2 +- CVE-2019-10161: arbitrary file read/exec via virDomainSaveImageGetXMLDesc + API (bz #1722463, bz #1720115) +- CVE-2019-10166: virDomainManagedSaveDefineXML API exposed to readonly + clients (bz #1722462, bz #1720114) +- CVE-2019-10167: arbitrary command execution via + virConnectGetDomainCapabilities API (bz #1722464, bz #1720117) +- CVE-2019-10168: arbitrary command execution via + virConnectBaselineHypervisorCPU and virConnectCompareHypervisorCPU APIs (bz + #1722466, bz #1720118) -* Mon Sep 4 2017 Daniel P. Berrange - 3.7.0-1 -- Rebase to version 3.7.0 +* Wed Jun 12 2019 Daniel P. Berrangé - 5.4.0-1 +- Update to 5.4.0 release -* Wed Aug 2 2017 Daniel P. Berrange - 3.6.0-1 -- Rebase to version 3.6.0 +* Tue May 21 2019 Daniel P. Berrangé - 5.3.0-3 +- Fix systemd socket permissions +- Resolves: rhbz #1712498 (CVE-2019-10132) -* Sun Jul 30 2017 Florian Weimer - 3.5.0-4 -- Rebuild with binutils fix for ppc64le (#1475636) +* Tue May 14 2019 Daniel P. Berrangé - 5.3.0-2 +- Define md-clear CPUID bit +- Resolves: rhbz #1709977 (CVE-2018-12126), rhbz #1709979 (CVE-2018-12127), + rhbz #1709997 (CVE-2018-12130), rhbz #1709984 (CVE-2019-11091) -* Tue Jul 25 2017 Daniel P. Berrange - 3.5.0-3 -- Disabled RBD on i386, arm, ppc64 (rhbz #1474743) +* Tue May 7 2019 Daniel P. Berrangé - 5.3.0-1 +- Update to 5.3.0 release -* Mon Jul 17 2017 Cole Robinson - 3.5.0-2 -- Rebuild for xen 4.9 +* Mon Apr 08 2019 Cole Robinson - 5.2.0-2 +- Rebuild for xen 4.12 soname bump -* Thu Jul 6 2017 Daniel P. Berrange - 3.5.0-1 -- Rebase to version 3.5.0 +* Wed Apr 3 2019 Daniel P. Berrangé - 5.2.0-1 +- Update to 5.2.0 release -* Fri Jun 2 2017 Daniel P. Berrange - 3.4.0-1 -- Rebase to version 3.4.0 +* Wed Mar 20 2019 Daniel P. Berrangé - 5.1.0-3 +- Fix upgrades for rbd on i686 (rhbz #1688121) +- Add missing xfsprogs-devel dep +- Fix use of deprecated RBD features +- Avoid using firewalld if unprivileged +- Don't require ipv6 firewall support at startup (rhbz #1688968) -* Mon May 8 2017 Daniel P. Berrange - 3.3.0-1 -- Rebase to version 3.3.0 +* Wed Mar 06 2019 Igor Gnatenko - 5.1.0-2 +- Remove obsolete scriptlets -* Mon Apr 3 2017 Daniel P. Berrange - 3.2.0-1 -- Rebase to version 3.2.0 +* Mon Mar 4 2019 Daniel P. Berrangé - 5.1.0-1 +- Update to 5.1.0 release -* Fri Mar 3 2017 Daniel P. Berrange - 3.1.0-1 -- Rebase to version 3.1.0 +* Sun Feb 17 2019 Igor Gnatenko - 5.0.0-3 +- Rebuild for readline 8.0 -* Fri Feb 10 2017 Fedora Release Engineering - 3.0.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild +* Fri Feb 01 2019 Fedora Release Engineering - 5.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild -* Thu Jan 19 2017 Daniel P. Berrange - 3.0.0-1 -- Rebase to version 3.0.0 +* Mon Jan 21 2019 Daniel P. Berrangé - 5.0.0-1 +- Update to 5.0.0 release