diff --git a/fence-virt-0.4.0.tar.bz2 b/fence-virt-0.4.0.tar.bz2 new file mode 100644 index 0000000..b9dee2d Binary files /dev/null and b/fence-virt-0.4.0.tar.bz2 differ diff --git a/fence-virt.spec b/fence-virt.spec new file mode 100644 index 0000000..518b4c8 --- /dev/null +++ b/fence-virt.spec @@ -0,0 +1,191 @@ +Name: fence-virt +Version: 0.4.0 +Release: 7%{?dist} +Summary: A pluggable fencing framework for virtual machines +Group: System Environment/Base +License: GPLv2+ + +%if 0%{?rhel} +ExclusiveArch: i686 x86_64 +%endif + +URL: http://fence-virt.sourceforge.net +Source0: http://people.redhat.com/rmccabe/fence-virt/%{name}-%{version}.tar.bz2 + +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: 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 + +%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 +* Fri Apr 17 2020 houjian - 0.4.0-7 +- Init fence-virt project +