# TODO:
# - parallels-sdk >= 7.0.22?
# - virtuozzo storage?
+# - mdevctl
+# - mm-ctl (https://github.com/tfukushima/mm-ctl ?)
+# - numad (https://pagure.io/numad/ or https://github.com/yhaenggi/numad/releases ?)
+# - vstorage, vstorage-mount
+# - package firewalld zone definition (see files)
#
# Conditional build:
# - virtualization
# - storage locking
%bcond_without sanlock # sanlock storage lock manager
# - other
-%bcond_with apparmor # apparmor support
+%bcond_without apparmor # apparmor support
%bcond_without netcf # host interfaces support
%bcond_without polkit # PolicyKit support
%bcond_without systemtap # systemtap/dtrace probes
%bcond_with wireshark # wireshark dissector module
%bcond_without zfs # ZFS storage support
+%bcond_without static_libs # static libraries build
-# qemu available only on x86 and ppc
-%ifnarch %{ix86} %{x8664} ppc
+# qemu available only on x86, arm and ppc
+%ifnarch %{ix86} %{x8664} x32 aarch64 ppc
%undefine with_qemu
%endif
-# Xen is available only on x86 and ia64
-%ifnarch %{ix86} %{x8664} ia64
+# Xen supported architectures
+%ifnarch %{ix86} %{x8664} %{arm} aarch64
%undefine with_libxl
%endif
Summary: Toolkit to interact with virtualization capabilities
Summary(pl.UTF-8): Narzędzia współpracujące z funkcjami wirtualizacji
Name: libvirt
-Version: 10.2.0
-Release: 2
+Version: 10.4.0
+Release: 1
License: LGPL v2.1+
Group: Libraries
-Source0: http://libvirt.org/sources/libvirt-%{version}.tar.xz
-# Source0-md5: f0856217199b32447704fb741d4a8edc
+Source0: https://download.libvirt.org/libvirt-%{version}.tar.xz
+# Source0-md5: 446cbe5e81c8cce8b6830b93a0c7b2ee
Source1: libvirtd.init
Source2: virtlockd.init
Source3: virtlogd.init
Patch2: %{name}-udevadm-settle.patch
Patch3: bashisms.patch
Patch4: %{name}-sysctl-dir.patch
-Patch5: shebang.patch
-URL: http://www.libvirt.org/
+URL: https://www.libvirt.org/
BuildRequires: acl-devel
BuildRequires: attr-devel
BuildRequires: audit-libs-devel
BuildRequires: augeas-devel
BuildRequires: autoconf >= 2.50
BuildRequires: automake
-BuildRequires: bash-completion-devel >= 2.0
+BuildRequires: bash-completion-devel >= 1:2.0
%{?with_ceph:BuildRequires: ceph-devel}
BuildRequires: curl-devel >= 7.19.1
BuildRequires: cyrus-sasl-devel >= 2.1.26
BuildRequires: dbus-devel >= 1.0.0
BuildRequires: device-mapper-devel >= 1.0.0
+# rst2html5 rst2man
BuildRequires: docutils
BuildRequires: gawk
BuildRequires: gcc >= 6:4.4
BuildRequires: gettext-tools >= 0.17
-BuildRequires: glib2-devel >= 2.56.0
+BuildRequires: glib2-devel >= 1:2.56.0
%{?with_glusterfs:BuildRequires: glusterfs-devel >= 3.4.1}
-BuildRequires: gnutls-devel >= 3.2.0
-%{?with_apparmor:BuildRequires: libapparmor-devel}
+BuildRequires: gnutls-devel >= 3.6.0
+%{?with_apparmor:BuildRequires: libapparmor-devel >= 3.0.0}
BuildRequires: libblkid-devel >= 2.17
BuildRequires: libcap-ng-devel >= 0.4.0
-BuildRequires: libfuse-devel >= 2.8.6
+BuildRequires: libfuse3-devel >= 3.1.0
BuildRequires: libgcrypt-devel
BuildRequires: libiscsi-devel >= 1.18.0
+BuildRequires: libnbd-devel >= 1.0
BuildRequires: libnl-devel >= 3.2
BuildRequires: libpcap-devel >= 1.5.0
BuildRequires: libselinux-devel >= 2.5
-BuildRequires: libssh-devel >= 0.7
+BuildRequires: libssh-devel >= 0.8.1
BuildRequires: libssh2-devel >= 1.3
BuildRequires: libtool
BuildRequires: libxml2-devel >= 1:2.9.1
+BuildRequires: libxml2-progs >= 1:2.9.1
BuildRequires: libxslt-devel
+BuildRequires: libxslt-progs
BuildRequires: lvm2
-BuildRequires: meson >= 0.54.0
+BuildRequires: meson >= 0.56.0
BuildRequires: ncurses-devel
%{?with_netcf:BuildRequires: netcf-devel >= 0.2.0}
+BuildRequires: ninja >= 1.5
+BuildRequires: nss-devel >= 3
BuildRequires: numactl-devel >= 2.0.6
BuildRequires: open-iscsi
%{?with_hyperv:BuildRequires: openwsman-devel >= 2.6.3}
BuildRequires: pkgconfig
%{?with_polkit:BuildRequires: polkit}
%{?with_polkit:BuildRequires: polkit-devel >= 0.90}
+BuildRequires: python3 >= 1:3.0
BuildRequires: readline-devel >= 7.0
BuildRequires: rpcsvc-proto
+BuildRequires: rpm-build >= 4.6
BuildRequires: rpmbuild(macros) >= 1.753-5
-%{?with_sanlock:BuildRequires: sanlock-devel >= 0.8}
+%{?with_sanlock:BuildRequires: sanlock-devel >= 3.5.0}
+BuildRequires: sed >= 4.0
%{?with_systemtap:BuildRequires: systemtap-sdt-devel}
+BuildRequires: tar >= 1:1.22
BuildRequires: udev-devel >= 1:219
%{?with_wireshark:BuildRequires: wireshark-devel >= 2.6.0}
-%{?with_libxl:BuildRequires: xen-devel >= 4.6.0}
+%{?with_libxl:BuildRequires: xen-devel >= 4.13}
# For disk driver
BuildRequires: xorg-lib-libpciaccess-devel >= 0.10.0
+BuildRequires: xz
BuildRequires: yajl-devel >= 2.0.3
%{?with_zfs:BuildRequires: zfs}
%{?with_zfs:BuildRequires: zfs-devel}
-Requires: curl-libs >= 7.18.0
-Requires: device-mapper >= 1.0.0
+Requires: curl-libs >= 7.19.1
+Requires: cyrus-sasl-libs >= 2.1.26
+Requires: device-mapper-libs >= 1.0.0
+Requires: glib2 >= 1:2.56.0
+Requires: gnutls-libs >= 3.6.0
+%{?with_apparmor:Requires: libapparmor >= 3.0.0}
Requires: libcap-ng >= 0.4.0
Requires: libnl >= 3.2
Requires: libpcap >= 1.5.0
Requires: libselinux >= 2.5
-Requires: libssh >= 0.7
+Requires: libssh >= 0.8.1
Requires: libssh2 >= 1.3
Requires: libxml2 >= 1:2.9.1
%{?with_hyperv:Requires: openwsman-libs >= 2.6.3}
-Obsoletes: libvirt-daemon-esx
-Obsoletes: libvirt-daemon-hyperv
-Obsoletes: libvirt-daemon-openvz
-Obsoletes: libvirt-daemon-phyp
-Obsoletes: libvirt-daemon-uml
-Obsoletes: libvirt-daemon-vmware
-Obsoletes: libvirt-daemon-xen
+Requires: yajl >= 2.0.3
+Obsoletes: libvirt-daemon-esx < 0.9.13
+Obsoletes: libvirt-daemon-hyperv < 0.9.13
+Obsoletes: libvirt-daemon-openvz < 0.9.13
+Obsoletes: libvirt-daemon-phyp < 6.0.0
+Obsoletes: libvirt-daemon-uml < 5.0.0
+Obsoletes: libvirt-daemon-vmware < 0.9.13
+Obsoletes: libvirt-daemon-xen < 0.9.13
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Ten pakiet zawiera podstawowe biblioteki oraz plik konfiguracyjny.
%package -n bash-completion-%{name}
-Summary: bash-completion for libvirt
-Group: Applications/Shells
-Requires: bash-completion
-%if "%{_rpmversion}" >= "5"
-BuildArch: noarch
-%endif
+Summary: bash-completion for libvirt
+Summary(pl.UTF-8): Bashowe dopełnianie składni poleceń libvirt
+Group: Applications/Shells
+Requires: bash-completion >= 1:2.0
+BuildArch: noarch
%description -n bash-completion-%{name}
This package provides bash-completion for libvirt.
+%description -n bash-completion-%{name} -l pl.UTF-8
+Ten pakiet zapewnia bashowe dopełnianie składni dla poleceń libvirt.
+
%package devel
Summary: Development files for programs using libvirt
Summary(pl.UTF-8): Pliki programistyczne do programów wykorzystujących libvirt
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: audit-libs-devel
-Requires: curl-devel >= 7.18.0
-Requires: dbus-devel >= 1.0.0
-Requires: device-mapper-devel >= 1.0.0
-Requires: gnutls-devel >= 3.2.0
-%{?with_apparmor:Requires: libapparmor-devel}
-Requires: libcap-ng-devel >= 0.4.0
-Requires: libgcrypt-devel
-Requires: libnl-devel >= 3.2
-Requires: libpcap-devel >= 1.5.0
-Requires: libselinux-devel >= 2.5
-Requires: libxml2-devel >= 1:2.9.1
-Requires: numactl-devel >= 2.0.6
-%{?with_hyperv:Requires: openwsman-devel >= 2.6.3}
%description devel
Libvirt is a C toolkit to interact with the virtualization
Ten pakiet zawiera pliki nagłówkowe potrzebne do tworzenia programów
wykorzystujących bibliotekę libvirt.
+%package static
+Summary: Development static libraries for programs using libvirt
+Summary(pl.UTF-8): Statyczne biblioteki programistyczne do programów wykorzystujących libvirt
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+
+%description static
+Libvirt is a C toolkit to interact with the virtualization
+capabilities of recent versions of Linux.
+
+This package contains the static libraries for developing programs
+using the libvirt library.
+
+%description static -l pl.UTF-8
+Libvirt to zestaw narzędzi w C do współpracy z funkcjami wirtualizacji
+obecnych wersji Linuksa.
+
+Ten pakiet zawiera biblioteki statyczne do tworzenia programów
+wykorzystujących bibliotekę libvirt.
+
+%package doc
+Summary: Documentation for libvirt
+Summary(pl.UTF-8): Dokumentacja do libvirt
+Group: Documentation
+BuildArch: noarch
+
+%description doc
+Documentation for libvirt.
+
+%description doc -l pl.UTF-8
+Dokumentacja do libvirt.
+
%package lock-sanlock
Summary: Sanlock lock manager plugin for libvirt
Summary(pl.UTF-8): Zarządca blokad sanlock dla biblioteki libvirt
Group: Libraries
Requires: %{name}-daemon = %{version}-%{release}
+Requires: sanlock-libs >= 3.5.0
%description lock-sanlock
Sanlock lock manager plugin for libvirt.
Summary: Server side daemon and supporting files for libvirt library
Summary(pl.UTF-8): Demon działający po stronie serwera oraz pliki wspierające dla biblioteki libvirt
Group: Applications/System
+Requires(post,preun): /sbin/chkconfig
Requires: %{name} = %{version}-%{release}
+Requires: device-mapper >= 1.0.0
Requires: iproute2
Requires: libblkid >= 2.17
+# iscsi-direct driver
+Requires: libiscsi >= 1.18.0
%{?with_netcf:Requires: netcf >= 0.2.0}
Requires: parted-libs >= 1.8.0
Requires: rc-scripts
# Needed for probing the power management features of the host.
Requires: pm-utils
-Requires: udev-libs >= 1:218
+Requires: udev-libs >= 1:219
Requires: util-linux
Requires: virtual(module-tools)
Requires: xorg-lib-libpciaccess >= 0.10.0
-Requires(post,preun): /sbin/chkconfig
Suggests: bridge-utils
-Suggests: cyrus-sasl
-Suggests: cyrus-sasl-digest-md5
+Suggests: cyrus-sasl >= 2.1.26
+Suggests: cyrus-sasl-digest-md5 >= 2.1.26
Suggests: dmidecode
Suggests: dnsmasq >= 2.41
Suggests: ebtables
Suggests: gawk
-Suggests: glusterfs-client >= 2.0.1
+Suggests: glusterfs-client >= 3.4.1
Suggests: iptables
Suggests: iptables
Suggests: libcgroup
(system plików Ceph).
%package daemon-ch
-Summary: Server side driver required to run Cloud-Hypervisor
-Summary(pl.UTF-8): Sterownik wymagany po stronie serwera do uruchamiania gości Cloud-Hypervisor
+Summary: Cloud Hypervisor server side driver
+Summary(pl.UTF-8): Sterownik wymagany po stronie serwera do uruchamiania gości Cloud Hypervisor
Group: Libraries
Requires: %{name}-daemon = %{version}-%{release}
Provides: libvirt(hypervisor)
%description daemon-ch
-Server side driver required to manage the virtualization capabilities
-of Cloud-Hypervisor.
+Cloud Hypervisor is an open source Virtual Machine Monitor (VMM) that
+runs on top of KVM. The project focuses on exclusively running modern,
+cloud workloads, on top of a limited set of hardware architectures and
+platforms. Cloud workloads refers to those that are usually run by
+customers inside a cloud provider. For our purposes this means modern
+operating systems with most I/O handled by paravirtualised devices
+(i.e. virtio), no requirement for legacy devices, and 64-bit CPUs.
%description daemon-ch -l pl.UTF-8
-Sterownik wymagany po stronie serwera do zarządzania funkcjami
-wirtualizacji Cloud-Hypervisor.
+Cloud Hypervisor to mający otwarte źródła monitor maszyn wirtualnych
+(VMM), działający powyżej KVM. Projekt skupia się wyłącznie na
+uruchamianiu nowoczesnych, chmurowych zadań na ograniczonym zbiorze
+architektur i platform sprzętowych. Zadania chmurowe to te, które
+zwykle są uruchamiane przez klientów u dostawców chmurowych. W tym
+przypadku oznacza to nowoczesne systemy operacyjne z większością
+we/wy obsługiwaną przez urządzenia parawirtualizowane (np. virtio),
+bez wymogu tradycyjnych urządzeń, oraz 64-bitowe procesory.
%package daemon-libxl
Summary: Server side driver required to run XEN guests (xenlight)
Summary(pl.UTF-8): Sterownik wymagany po stronie serwera do uruchamiania gości XEN (xenlight)
Group: Libraries
Requires: %{name}-daemon = %{version}-%{release}
-Requires: xen >= 4.4
+Requires: xen >= 4.13
Provides: libvirt(hypervisor)
+Obsoletes: libvirt-daemon-xen < 4.3.0
%description daemon-libxl
Server side driver required to manage the virtualization capabilities
Summary(pl.UTF-8): Sterownik wymagany po stronie serwera do uruchamiania gości LXC
Group: Libraries
Requires: %{name}-daemon = %{version}-%{release}
-Requires: libfuse >= 2.8.6
+Requires: libfuse3 >= 3.1.0
Provides: libvirt(hypervisor)
%description daemon-lxc
Requires: /usr/bin/qemu-img
Requires: bzip2
Requires: gzip
+Requires: libnbd >= 1.0
Requires: lzop
-Requires: qemu-system-x86
+Requires: qemu-system-x86 >= 4.2
Requires: xz
Provides: libvirt(hypervisor)
wirtualizacji emulatora QEMU.
%package daemon-vbox
-Summary: Server side driver required to run Oracle VirtualBox guests
-Summary(pl.UTF-8): Sterownik wymagany po stronie serwera do uruchamiania gości Oracle VirtualBox
+Summary: Server side driver required to run VirtalBox guests
+Summary(pl.UTF-8): Sterownik wymagany po stronie serwera do uruchamiania gości VirtalBox
Group: Libraries
+Requires: %{name}-daemon = %{version}-%{release}
+Requires: VirtualBox >= 5.2
Provides: libvirt(hypervisor)
%description daemon-vbox
Server side driver required to manage the virtualization capabilities
-of Oracle VirtualBox
+of VirtualBox.
%description daemon-vbox -l pl.UTF-8
Sterownik wymagany po stronie serwera do zarządzania funkcjami
-wirtualizacji emulatora Oracle VirtualBox.
+wirtualizacji VirtualBoksa.
%package client
Summary: Client side utilities of the libvirt library
Summary(pl.UTF-8): Narzędzia klienckie do biblioteki libvirt
Group: Applications/System
+Requires(post,preun): /sbin/chkconfig
Requires: %{name} = %{version}-%{release}
Requires: gettext >= 0.18.1.1-6
-Requires: gnutls >= 3.2.0
+Requires: gnutls >= 3.6.0
Requires: netcat-openbsd
Requires: rc-scripts
-Requires(post,preun): /sbin/chkconfig
%description client
Client binaries needed to access to the virtualization capabilities of
Programy klienckie potrzebne do funkcji wirtualizacji nowych wersji
Linuksa (oraz innych systemów operacyjnych).
+%package ssh-proxy
+Summary: Libvirt SSH proxy
+Summary(pl.UTF-8): Proxy SSH dla Libvirt
+Group: Applications/System
+Requires: %{name} = %{version}-%{release}
+Requires: openssh-clients
+
+%description ssh-proxy
+Allows SSH into domains via VSOCK without need for network.
+
+%description ssh-proxy -l pl.UTF-8
+Ten pakiet pozwala na SSH do domen poprzez VSOCK bez wymagania sieci.
+
%package utils
Summary: Tools to interact with virtualization capabilities (metapackage)
Summary(pl.UTF-8): Narzędzia do współpracy z funkcjami wirtualizacyjnymi (metapakiet)
Summary: Wireshark dissector module for libvirt packets
Summary(pl.UTF-8): Moduł sekcji Wiresharka do pakietów libvirt
Group: Libraries
-Requires: wireshark >= 1.11.3
+Requires: wireshark >= 2.6.0
%description -n wireshark-libvirt
Wireshark dissector module for libvirt packets.
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
+
+%if %{with static_libs}
+%{__sed} -i '/^libvirt\(_admin\|_lxc\|_qemu\)\?_lib = / s/shared_library/library/' src/meson.build
+%endif
+
+%{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' tools/{virt-qemu-qmp-proxy,virt-qemu-sev-validate}
+
+%{__sed} -i -e 's,/usr/lib/qemu,/usr/%{_lib}/qemu,' -e 's,/usr/lib",/usr/%{_lib}/",' src/qemu/qemu_interface.c
+%{__sed} -i -e 's,/usr/libexec",%{_libexecdir}",' src/qemu/qemu_process.c
%build
%meson build \
-Dpackager="TLD-Linux" \
-Dpackager_version="%{name}-%{version}-%{release}.%{_target_cpu}" \
- -Dqemu_user=qemu \
-Dqemu_group=qemu \
+ -Dqemu_user=qemu \
-Dapparmor=%{__enabled_disabled apparmor} \
-Dapparmor_profiles=%{__enabled_disabled apparmor} \
-Dattr=enabled \
-Daudit=enabled \
-Dbash_completion=enabled \
- -Dbash_completion_dir=/etc/bash_completion.d \
+ -Dbash_completion_dir=%{bash_compdir} \
-Dblkid=enabled \
-Dcapng=enabled \
-Dcurl=enabled \
%files -n bash-completion-%{name}
%defattr(644,root,root,755)
-/etc/bash_completion.d/virsh
-/etc/bash_completion.d/virt-admin
+%{bash_compdir}/virsh
+%{bash_compdir}/virt-admin
%files devel
%defattr(644,root,root,755)
%{_mandir}/man7/virkeycode-*.7*
%{_mandir}/man7/virkeyname-*.7*
+%if %{with static_libs}
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libvirt.a
+%{?with_lxc:%{_libdir}/libvirt-lxc.a}
+%{_libdir}/libvirt-qemu.a
+%endif
+
+%files doc
+%defattr(644,root,root,755)
+%dir %{_docdir}/libvirt
+%{_docdir}/libvirt/examples
+%{_docdir}/libvirt/html
+
%if %{with sanlock}
%files lock-sanlock
%defattr(644,root,root,755)
%files daemon
%defattr(644,root,root,755)
-%doc docs/*.xml
-%dir %attr(700,root,root) %{_sysconfdir}/libvirt/nwfilter
-%dir %attr(700,root,root) %{_sysconfdir}/libvirt/qemu
-%dir %attr(700,root,root) %{_sysconfdir}/libvirt/qemu/networks
-%dir %attr(700,root,root) %{_sysconfdir}/libvirt/qemu/networks/autostart
+%if %{with apparmor}
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/abstractions/libvirt-lxc
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/abstractions/libvirt-qemu
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/libvirt
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/usr.lib.libvirt.virt-aa-helper
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/usr.sbin.libvirtd
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/usr.sbin.virtqemud
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/usr.sbin.virtxend
+%endif
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libvirt-admin.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libvirtd.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/network.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtinterfaced.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtlockd.conf
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libvirt-admin.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtlogd.conf
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtinterfaced.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtnetworkd.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtnodedevd.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtnwfilterd.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtproxyd.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtsecretd.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtstoraged.conf
+%dir %attr(700,root,root) %{_sysconfdir}/libvirt/qemu
+%dir %attr(700,root,root) %{_sysconfdir}/libvirt/qemu/networks
%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/qemu/networks/default.xml
+%dir %attr(700,root,root) %{_sysconfdir}/libvirt/qemu/networks/autostart
%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
+%dir %attr(700,root,root) %{_sysconfdir}/libvirt/nwfilter
%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/nwfilter/*.xml
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sasl/libvirt.conf
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/libvirtd
%attr(754,root,root) /etc/rc.d/init.d/virtlockd
%attr(754,root,root) /etc/rc.d/init.d/virtlogd
%config(noreplace) %verify(not md5 mtime size) /etc/sysctl.d/60-libvirtd.conf
-%config(noreplace) %verify(not md5 mtime size) /etc/sysctl.d/60-qemu-postcopy-migration.conf
%config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd
-%if %{with apparmor}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/local/usr.lib.libvirt.virt-aa-helper
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/usr.lib.libvirt.virt-aa-helper
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/usr.sbin.libvirtd
-%endif
-%attr(755,root,root) %{_libexecdir}/libvirt_iohelper
-%attr(755,root,root) %{_libexecdir}/libvirt_parthelper
-%if %{with apparmor}
-%attr(755,root,root) %{_libexecdir}/virt-aa-helper
-%endif
%attr(755,root,root) %{_sbindir}/libvirtd
+%attr(755,root,root) %{_sbindir}/virtinterfaced
%attr(755,root,root) %{_sbindir}/virtlockd
%attr(755,root,root) %{_sbindir}/virtlogd
-%attr(755,root,root) %{_sbindir}/virtinterfaced
%attr(755,root,root) %{_sbindir}/virtnetworkd
%attr(755,root,root) %{_sbindir}/virtnodedevd
%attr(755,root,root) %{_sbindir}/virtnwfilterd
%attr(755,root,root) %{_sbindir}/virtproxyd
%attr(755,root,root) %{_sbindir}/virtsecretd
%attr(755,root,root) %{_sbindir}/virtstoraged
-%{_datadir}/augeas/lenses/libvirtd.aug
+%attr(755,root,root) %{_libexecdir}/libvirt_iohelper
+%attr(755,root,root) %{_libexecdir}/libvirt_leaseshelper
+%attr(755,root,root) %{_libexecdir}/libvirt_parthelper
+%if %{with apparmor}
+%attr(755,root,root) %{_libexecdir}/virt-aa-helper
+%endif
+%dir %{_libdir}/libvirt/connection-driver
+%{?with_netcf:%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_interface.so}
+%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_network.so
+%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_nodedev.so
+%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_nwfilter.so
+%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_secret.so
+%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_storage.so
+%dir %{_libdir}/libvirt/lock-driver
+%attr(755,root,root) %{_libdir}/libvirt/lock-driver/lockd.so
+%dir %{_libdir}/libvirt/storage-backend
+%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_disk.so
+%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_fs.so
+%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_iscsi.so
+%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_iscsi-direct.so
+%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_logical.so
+# mpath requires libdevmapper, but libvirt itself requires it too
+%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_mpath.so
+%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_scsi.so
+%{?with_zfs:%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_zfs.so}
+%dir %{_libdir}/libvirt/storage-file
+%attr(755,root,root) %{_libdir}/libvirt/storage-file/libvirt_storage_file_fs.so
%{_datadir}/augeas/lenses/libvirt_lockd.aug
+%{_datadir}/augeas/lenses/libvirtd.aug
+%{_datadir}/augeas/lenses/libvirtd_network.aug
+%{_datadir}/augeas/lenses/virtinterfaced.aug
%{_datadir}/augeas/lenses/virtlockd.aug
%{_datadir}/augeas/lenses/virtlogd.aug
-%{_datadir}/augeas/lenses/virtinterfaced.aug
%{_datadir}/augeas/lenses/virtnetworkd.aug
%{_datadir}/augeas/lenses/virtnodedevd.aug
%{_datadir}/augeas/lenses/virtnwfilterd.aug
%{_datadir}/augeas/lenses/virtstoraged.aug
%{_datadir}/augeas/lenses/tests/test_libvirtd.aug
%{?with_qemu:%{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug}
+%{_datadir}/augeas/lenses/tests/test_libvirtd_network.aug
+%{_datadir}/augeas/lenses/tests/test_virtinterfaced.aug
%{_datadir}/augeas/lenses/tests/test_virtlockd.aug
%{_datadir}/augeas/lenses/tests/test_virtlogd.aug
-%{_datadir}/augeas/lenses/tests/test_virtinterfaced.aug
%{_datadir}/augeas/lenses/tests/test_virtnetworkd.aug
%{_datadir}/augeas/lenses/tests/test_virtnodedevd.aug
%{_datadir}/augeas/lenses/tests/test_virtnwfilterd.aug
%{_datadir}/augeas/lenses/tests/test_virtproxyd.aug
%{_datadir}/augeas/lenses/tests/test_virtsecretd.aug
%{_datadir}/augeas/lenses/tests/test_virtstoraged.aug
+%{_datadir}/libvirt/cpu_map
%if %{with polkit}
%{_datadir}/polkit-1/actions/org.libvirt.api.policy
%{_datadir}/polkit-1/actions/org.libvirt.unix.policy
%attr(711,root,root) %dir /var/cache/libvirt
%dir /var/run/libvirt
%dir /var/run/libvirt/network
-%attr(755,root,root) %{_libexecdir}/libvirt_leaseshelper
-%dir %{_libdir}/libvirt/connection-driver
-%{_datadir}/libvirt/cpu_map
-%{?with_netcf:%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_interface.so}
-%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_network.so
-%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_nodedev.so
-%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_nwfilter.so
-%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_secret.so
-%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_storage.so
-%dir %{_libdir}/libvirt/lock-driver
-%attr(755,root,root) %{_libdir}/libvirt/lock-driver/lockd.so
-%dir %{_libdir}/libvirt/storage-backend
-%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_disk.so
-%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_fs.so
-%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_iscsi.so
-%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_iscsi-direct.so
-%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_logical.so
-# mpath requires libdevmapper, but libvirt itself requires it too
-%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_mpath.so
-%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_scsi.so
-%{?with_zfs:%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_zfs.so}
-%dir %{_libdir}/libvirt/storage-file
-%attr(755,root,root) %{_libdir}/libvirt/storage-file/libvirt_storage_file_fs.so
%if %{with glusterfs}
%files daemon-storage-gluster
%files daemon-ch
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtchd.conf
-%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_ch.so
%attr(755,root,root) %{_sbindir}/virtchd
+%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_ch.so
%{_datadir}/augeas/lenses/virtchd.aug
%{_datadir}/augeas/lenses/tests/test_virtchd.aug
%endif
%{?with_sanlock:%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libxl-sanlock.conf}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtxend.conf
%config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.libxl
-%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_libxl.so
%attr(755,root,root) %{_sbindir}/virtxend
+%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_libxl.so
%{_datadir}/augeas/lenses/libvirtd_libxl.aug
%{_datadir}/augeas/lenses/virtxend.aug
%{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.aug
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/abstractions/libvirt-lxc
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/libvirt/TEMPLATE.lxc
%endif
-%attr(700,root,root) %dir /var/lib/libvirt/lxc
-%attr(700,root,root) %dir /var/run/libvirt/lxc
-%attr(700,root,root) %dir /var/log/libvirt/lxc
+%attr(755,root,root) %{_sbindir}/virtlxcd
+%attr(755,root,root) %{_libexecdir}/libvirt_lxc
+%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_lxc.so
%{_datadir}/augeas/lenses/libvirtd_lxc.aug
%{_datadir}/augeas/lenses/virtlxcd.aug
%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
%{_datadir}/augeas/lenses/tests/test_virtlxcd.aug
-%attr(755,root,root) %{_libexecdir}/libvirt_lxc
-%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_lxc.so
-%attr(755,root,root) %{_sbindir}/virtlxcd
+%attr(700,root,root) %dir /var/lib/libvirt/lxc
+%attr(700,root,root) %dir /var/run/libvirt/lxc
+%attr(700,root,root) %dir /var/log/libvirt/lxc
%{_mandir}/man8/virtlxcd.8*
%endif
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/abstractions/libvirt-qemu
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apparmor.d/libvirt/TEMPLATE.qemu
%endif
-%attr(750,qemu,qemu) %dir /var/cache/libvirt/qemu
-%attr(750,qemu,qemu) %dir /var/lib/libvirt/qemu
-%attr(700,root,root) %dir /var/log/libvirt/qemu
-%attr(700,root,root) %dir /var/run/libvirt/qemu
+%attr(755,root,root) %{_sbindir}/virtqemud
+%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_qemu.so
%{_datadir}/augeas/lenses/libvirtd_qemu.aug
%{_datadir}/augeas/lenses/virtqemud.aug
%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
%{_datadir}/augeas/lenses/tests/test_virtqemud.aug
-%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_qemu.so
-%attr(755,root,root) %{_sbindir}/virtqemud
+%attr(750,qemu,qemu) %dir /var/cache/libvirt/qemu
+%attr(750,qemu,qemu) %dir /var/lib/libvirt/qemu
+%attr(700,root,root) %dir /var/log/libvirt/qemu
+%attr(700,root,root) %dir /var/run/libvirt/qemu
+%config(noreplace) %verify(not md5 mtime size) /etc/sysctl.d/60-qemu-postcopy-migration.conf
%{_mandir}/man8/virtqemud.8*
%endif
%endif
%attr(755,root,root) %{_bindir}/virt-ssh-helper
%attr(754,root,root) %{_libexecdir}/libvirt-guests.sh
-%{_libexecdir}/virt-login-shell-helper
+%attr(754,root,root) %{_libexecdir}/virt-login-shell-helper
%{_mandir}/man1/virsh.1*
%{_mandir}/man1/virt-admin.1*
%{_mandir}/man1/virt-host-validate.1*
# for test driver (built into libvirt)
%{_datadir}/libvirt/test-screenshot.png
+%files ssh-proxy
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libexecdir}/libvirt-ssh-proxy
+%config(noreplace) %verify(not md5 mtime size) /etc/ssh/ssh_config.d/30-libvirt-ssh-proxy.conf
+
%files utils
%defattr(644,root,root,755)