Name: fence-virt Version: 0.4.0 Release: 11 Summary: A pluggable fencing framework for virtual machines Group: System Environment/Base License: GPLv2+ ExclusiveArch: x86_64 aarch64 URL: http://fence-virt.sourceforge.net Source0: https://github.com/ClusterLabs/fence-virt/archive/v%{version}.tar.gz Patch0: bz1624110-1-harden-fPIE.patch Patch1: bz1624110-2-fence_virt-fix-coredump.patch Patch2: bz1668357-fence_virt-dont-report-success-incorrect-parameter.patch Patch3: bz1766993-fence_virtd-1-fix-segfault-no-domains.patch Patch4: bz1766993-fence_virtd-2-return-mainloop-on-interrupt.patch Patch5: Fix-fence_virtd.service-stop-failed.patch BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildRequires: corosynclib-devel libvirt-devel BuildRequires: automake autoconf libxml2-devel nss-devel nspr-devel BuildRequires: flex bison libuuid-devel BuildRequires: gcc-c++ make BuildRequires: systemd-units Requires(post): systemd-sysv systemd-units Requires(preun): systemd-units Requires(postun): systemd-units Conflicts: fence-agents < 3.0.5-2 %description Fencing agent for virtual machines. %package -n fence-virtd Summary: Daemon which handles requests from fence-virt Group: System Environment/Base %description -n fence-virtd This package provides the host server framework, fence_virtd, for fence_virt. The fence_virtd host daemon is resposible for processing fencing requests from virtual machines and routing the requests to the appropriate physical machine for action. %package -n fence-virtd-multicast Summary: Multicast listener for fence-virtd Group: System Environment/Base Requires: fence-virtd %description -n fence-virtd-multicast Provides multicast listener capability for fence-virtd. %package -n fence-virtd-serial Summary: Serial VMChannel listener for fence-virtd Group: System Environment/Base Requires: libvirt >= 0.6.2 Requires: fence-virtd %description -n fence-virtd-serial Provides serial VMChannel listener capability for fence-virtd. %package -n fence-virtd-tcp Summary: TCP listener for fence-virtd Group: System Environment/Base Requires: fence-virtd %description -n fence-virtd-tcp Provides TCP listener capability for fence-virtd. %package -n fence-virtd-libvirt Summary: Libvirt backend for fence-virtd Group: System Environment/Base Requires: libvirt >= 0.6.0 Requires: fence-virtd %description -n fence-virtd-libvirt Provides fence_virtd with a connection to libvirt to fence virtual machines. Useful for running a cluster of virtual machines on a desktop. %package -n fence-virtd-cpg Summary: CPG/libvirt backend for fence-virtd Group: System Environment/Base Requires: corosynclib Requires: fence-virtd %description -n fence-virtd-cpg Provides fence_virtd with a connection to libvirt to fence virtual machines. Uses corosync CPG to keep track of VM locations to allow for non-local VMs to be fenced when VMs are located on corosync cluster nodes. %prep %setup -q %patch0 -p1 %patch1 -p1 %patch2 -p1 -F1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %build ./autogen.sh %{configure} --disable-libvirt-qmf-plugin --enable-cpg-plugin make %{?_smp_mflags} %install rm -rf %{buildroot} make install DESTDIR=%{buildroot} # Systemd unit file mkdir -p %{buildroot}/%{_unitdir}/ install -m 0644 fence_virtd.service %{buildroot}/%{_unitdir}/ %clean rm -rf %{buildroot} %files %defattr(-,root,root,-) %doc COPYING TODO README %{_sbindir}/fence_virt %{_sbindir}/fence_xvm %{_mandir}/man8/fence_virt.* %{_mandir}/man8/fence_xvm.* %post ccs_update_schema > /dev/null 2>&1 ||: # https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd if [ $1 -eq 1 ] ; then # Initial installation /bin/systemctl daemon-reload >/dev/null 2>&1 || : fi %preun # https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd if [ $1 -eq 0 ] ; then # Package removal, not upgrade /bin/systemctl --no-reload disable fence_virtd.service &> /dev/null || : /bin/systemctl stop fence_virtd.service &> /dev/null || : fi %postun # https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd /bin/systemctl daemon-reload &> /dev/null || : if [ $1 -ge 1 ] ; then # Package upgrade, not uninstall /bin/systemctl try-restart fence_virtd.service &> /dev/null || : fi %triggerun -- fence_virtd < 0.3.0-1 # https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Packages_migrating_to_a_systemd_unit_file_from_a_SysV_initscript /usr/bin/systemd-sysv-convert --save fence_virtd &> /dev/null || : /sbin/chkconfig --del fence_virtd &> /dev/null || : /bin/systemctl daemon-reload >/dev/null 2>&1 || : /bin/systemctl try-restart fence_virtd.service &> /dev/null || : %files -n fence-virtd %defattr(-,root,root,-) %{_sbindir}/fence_virtd %{_unitdir}/fence_virtd.service %config(noreplace) %{_sysconfdir}/fence_virt.conf %dir %{_libdir}/%{name} %{_mandir}/man5/fence_virt.conf.* %{_mandir}/man8/fence_virtd.* %files -n fence-virtd-multicast %defattr(-,root,root,-) %{_libdir}/%{name}/multicast.so %files -n fence-virtd-serial %defattr(-,root,root,-) %{_libdir}/%{name}/serial.so %files -n fence-virtd-tcp %defattr(-,root,root,-) %{_libdir}/%{name}/tcp.so %files -n fence-virtd-libvirt %defattr(-,root,root,-) %{_libdir}/%{name}/libvirt.so %files -n fence-virtd-cpg %defattr(-,root,root,-) %{_libdir}/%{name}/cpg.so %changelog * Wed Aug 24 2022 jiangxinyu - 0.4.0-11 - Add Fix-fence_virtd.service-stop-failed.patch * Mon Feb 28 2022 jiangxinyu - 0.4.0-10 - Fix fence_virtd.service stop failed * Sat Feb 12 2022 jiangxinyu - 0.4.0-9 - Add BuildRequires: gcc-c++ solves build error * Fri Oct 30 2020 jiangxinyu - 0.4.0-8 - add ExclusiveArch: aarch64 * Fri Apr 17 2020 houjian - 0.4.0-7 - Init fence-virt project