#
# Conditional build:
# - virtualization
+%bcond_without ch # Cloud-Hypervisor support
%bcond_without esx # VMware ESX support
%bcond_without hyperv # Hyper-V support
%bcond_without libxl # libxenlight support
# - storage locking
%bcond_without sanlock # sanlock storage lock manager
# - other
+%bcond_with apparmor # apparmor support
%bcond_without netcf # host interfaces support
%bcond_without polkit # PolicyKit support
%bcond_without systemtap # systemtap/dtrace probes
%undefine with_libxl
%endif
+# Cloud-Hypervisor is available only on x86_64
+%ifnarch %{x8664}
+%undefine with_ch
+%endif
+
# ceph >= 14.0 no longer support 32-bit archs
%ifarch %{ix86}
%undefine with_ceph
Summary: Toolkit to interact with virtualization capabilities
Summary(pl.UTF-8): Narzędzia współpracujące z funkcjami wirtualizacji
Name: libvirt
-Version: 6.10.0
-Release: 1
+Version: 7.5.0
+Release: 2
License: LGPL v2.1+
Group: Libraries
Source0: http://libvirt.org/sources/libvirt-%{version}.tar.xz
-# Source0-md5: 43037045ef94c8600d4289b49ec73a77
+# Source0-md5: c811b546f7d0b83fc259bf82ee7a0d19
Source1: libvirtd.init
Source2: virtlockd.init
Source3: virtlogd.init
BuildRequires: glib2-devel >= 2.48.0
%{?with_glusterfs:BuildRequires: glusterfs-devel >= 3.4.1}
BuildRequires: gnutls-devel >= 3.2.0
-BuildRequires: libapparmor-devel
+%{?with_apparmor:BuildRequires: libapparmor-devel}
BuildRequires: libblkid-devel >= 2.17
BuildRequires: libcap-ng-devel >= 0.4.0
BuildRequires: libfuse-devel >= 2.8.6
%{?with_polkit:BuildRequires: polkit}
%{?with_polkit:BuildRequires: polkit-devel >= 0.90}
BuildRequires: readline-devel >= 7.0
-BuildRequires: rpmbuild(macros) >= 1.728
+BuildRequires: rpcsvc-proto
+BuildRequires: rpmbuild(macros) >= 1.753-5
%{?with_sanlock:BuildRequires: sanlock-devel >= 0.8}
BuildRequires: sheepdog
%{?with_systemtap:BuildRequires: systemtap-sdt-devel}
# For disk driver
BuildRequires: xorg-lib-libpciaccess-devel >= 0.10.0
BuildRequires: yajl-devel >= 2.0.3
+BuildRequires: zfs
BuildRequires: zfs-devel
Requires: curl-libs >= 7.18.0
Requires: device-mapper >= 1.0.0
Requires: dbus-devel >= 1.0.0
Requires: device-mapper-devel >= 1.0.0
Requires: gnutls-devel >= 3.2.0
-Requires: libapparmor-devel
+%{?with_apparmor:Requires: libapparmor-devel}
Requires: libcap-ng-devel >= 0.4.0
Requires: libgcrypt-devel
Requires: libnl-devel >= 3.2
Wtyczka składowania danych wykorzystująca urządzenie blokowe RADOS
(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
+Group: Libraries
+Requires: %{name}-daemon = %{version}-%{release}
+Requires: /usr/sbin/qcow-create
+Requires: xen >= 4.4
+Provides: libvirt(hypervisor)
+
+%description daemon-ch
+Server side driver required to manage the virtualization capabilities
+of Cloud-Hypervisor.
+
+%description daemon-ch -l pl.UTF-8
+Sterownik wymagany po stronie serwera do zarządzania funkcjami
+wirtualizacji Cloud-Hypervisor.
+
%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: Applications/System
Requires: %{name}-client = %{version}-%{release}
Requires: %{name}-daemon = %{version}-%{release}
+Requires: %{name}-daemon-ch = %{version}-%{release}
%{?with_libxl:Requires: %{name}-daemon-libxl = %{version}-%{release}}
Requires: %{name}-daemon-lxc = %{version}-%{release}
Requires: %{name}-daemon-qemu = %{version}-%{release}
-Dpackager_version="%{name}-%{version}-%{release}.%{_target_cpu}" \
-Dqemu_user=qemu \
-Dqemu_group=qemu \
- -Dapparmor=enabled \
+ -Dapparmor=%{__enabled_disabled apparmor} \
+ -Dapparmor_profiles=%{__enabled_disabled apparmor} \
-Dattr=enabled \
-Daudit=enabled \
-Dbash_completion=enabled \
-Dstorage_vstorage=disabled \
-Dstorage_zfs=enabled \
-Ddriver_bhyve=disabled \
+ -Ddriver_ch=%{__enabled_disabled ch} \
-Ddriver_esx=%{__enabled_disabled esx} \
-Ddriver_hyperv=%{__enabled_disabled hyperv} \
-Ddriver_interface=enabled \
+ -Ddriver_libvirtd=enabled \
-Ddriver_libxl=%{__enabled_disabled libxl} \
-Ddriver_lxc=%{__enabled_disabled lxc} \
-Ddriver_network=enabled \
-Ddriver_secrets=enabled \
-Ddriver_vbox=%{__enabled_disabled vbox} \
-Ddriver_vmware=%{__enabled_disabled vmware} \
- -Ddriver_vz=disabled
+ -Ddriver_vz=disabled \
+ -Dsecdriver_apparmor=%{__enabled_disabled apparmor} \
+ -Dsecdriver_selinux=enabled
%meson_build -C build
%defattr(644,root,root,755)
%doc AUTHORS.rst NEWS.rst README.rst
%dir %{_sysconfdir}/libvirt
+%if %{with apparmor}
+%dir %{_sysconfdir}/apparmor.d/libvirt
+%endif
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/libvirt.conf
%attr(755,root,root) %{_libdir}/libvirt.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libvirt.so.0
%defattr(644,root,root,755)
/etc/bash_completion.d/virsh
/etc/bash_completion.d/virt-admin
-/etc/bash_completion.d/vsh
%files devel
%defattr(644,root,root,755)
%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/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}/virtlockd
%attr(755,root,root) %{_sbindir}/virtlogd
%{_datadir}/polkit-1/rules.d/50-libvirt.rules
%endif
%{_mandir}/man8/libvirtd.8*
+%{_mandir}/man8/virtinterfaced.8*
%{_mandir}/man8/virtlockd.8*
%{_mandir}/man8/virtlogd.8*
+%{_mandir}/man8/virtnetworkd.8*
+%{_mandir}/man8/virtnodedevd.8*
+%{_mandir}/man8/virtnwfilterd.8*
+%{_mandir}/man8/virtproxyd.8*
+%{_mandir}/man8/virtsecretd.8*
+%{_mandir}/man8/virtstoraged.8*
%dir /var/lib/libvirt
%dir /var/lib/libvirt/dnsmasq
%attr(711,root,root) %dir /var/lib/libvirt/boot
%attr(755,root,root) %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_rbd.so
%endif
+%if %{with ch}
+%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
+%{_datadir}/augeas/lenses/virtchd.aug
+%{_datadir}/augeas/lenses/tests/test_virtchd.aug
+%endif
+
%if %{with libxl}
%files daemon-libxl
%defattr(644,root,root,755)
%attr(700,root,root) %dir /var/lib/libvirt/libxl
%attr(700,root,root) %dir /var/run/libvirt/libxl
%attr(700,root,root) %dir /var/log/libvirt/libxl
+%{_mandir}/man8/virtxend.8*
%endif
%if %{with lxc}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/lxc.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtlxcd.conf
%config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.lxc
+%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/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) %{_libexecdir}/libvirt_lxc
%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_lxc.so
%attr(755,root,root) %{_sbindir}/virtlxcd
+%{_mandir}/man8/virtlxcd.8*
%endif
%if %{with qemu}
%{?with_sanlock:%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/qemu-sanlock.conf}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/libvirt/virtqemud.conf
%config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/libvirtd.qemu
+%if %{with apparmor}
+%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
%{_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
+%{_mandir}/man8/virtqemud.8*
%endif
%if %{with vbox}
%{_datadir}/augeas/lenses/virtvboxd.aug
%{_datadir}/augeas/lenses/tests/test_virtvboxd.aug
%{?with_vbox:%attr(755,root,root) %{_libdir}/libvirt/connection-driver/libvirt_driver_vbox.so}
+%{_mandir}/man8/virtvboxd.8*
%endif
%files client