Blame SPECS/fence-virt.spec

9d9c20
Name:		fence-virt
9d9c20
Version:	0.4.0
9d9c20
Release:	9%{?dist}
9d9c20
Summary:	A pluggable fencing framework for virtual machines
9d9c20
Group:		System Environment/Base
9d9c20
License:	GPLv2+
9d9c20
9d9c20
%if 0%{?rhel}
9d9c20
ExclusiveArch: i686 x86_64
9d9c20
%endif
9d9c20
9d9c20
URL:		http://fence-virt.sourceforge.net
9d9c20
Source0:	http://people.redhat.com/rmccabe/fence-virt/%{name}-%{version}.tar.bz2
9d9c20
Patch0:		bz1624110-1-harden-fPIE.patch
9d9c20
Patch1:		bz1624110-2-fence_virt-fix-coredump.patch
9d9c20
Patch2:		bz1668357-fence_virt-dont-report-success-incorrect-parameter.patch
9d9c20
Patch3:		bz1766993-fence_virtd-1-fix-segfault-no-domains.patch
9d9c20
Patch4:		bz1766993-fence_virtd-2-return-mainloop-on-interrupt.patch
9d9c20
9d9c20
BuildRoot:	%(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
9d9c20
9d9c20
BuildRequires:	corosynclib-devel libvirt-devel
9d9c20
BuildRequires:	automake autoconf libxml2-devel nss-devel nspr-devel
9d9c20
BuildRequires:	flex bison libuuid-devel
9d9c20
9d9c20
BuildRequires: systemd-units
9d9c20
Requires(post):	systemd-sysv systemd-units
9d9c20
Requires(preun):	systemd-units
9d9c20
Requires(postun):	systemd-units
9d9c20
9d9c20
Conflicts:	fence-agents < 3.0.5-2
9d9c20
9d9c20
9d9c20
%description
9d9c20
Fencing agent for virtual machines.
9d9c20
9d9c20
9d9c20
%package -n fence-virtd
9d9c20
Summary:	Daemon which handles requests from fence-virt
9d9c20
Group:		System Environment/Base
9d9c20
9d9c20
%description -n fence-virtd
9d9c20
This package provides the host server framework, fence_virtd,
9d9c20
for fence_virt.  The fence_virtd host daemon is resposible for
9d9c20
processing fencing requests from virtual machines and routing
9d9c20
the requests to the appropriate physical machine for action.
9d9c20
9d9c20
9d9c20
%package -n fence-virtd-multicast
9d9c20
Summary:	Multicast listener for fence-virtd
9d9c20
Group:		System Environment/Base
9d9c20
Requires:	fence-virtd
9d9c20
9d9c20
%description -n fence-virtd-multicast
9d9c20
Provides multicast listener capability for fence-virtd.
9d9c20
9d9c20
9d9c20
%package -n fence-virtd-serial
9d9c20
Summary:	Serial VMChannel listener for fence-virtd
9d9c20
Group:		System Environment/Base
9d9c20
Requires:	libvirt >= 0.6.2
9d9c20
Requires:	fence-virtd
9d9c20
9d9c20
%description -n fence-virtd-serial
9d9c20
Provides serial VMChannel listener capability for fence-virtd.
9d9c20
9d9c20
%package -n fence-virtd-tcp
9d9c20
Summary:	TCP listener for fence-virtd
9d9c20
Group:		System Environment/Base
9d9c20
Requires:	fence-virtd
9d9c20
9d9c20
%description -n fence-virtd-tcp
9d9c20
Provides TCP listener capability for fence-virtd.
9d9c20
9d9c20
9d9c20
%package -n fence-virtd-libvirt
9d9c20
Summary:	Libvirt backend for fence-virtd
9d9c20
Group:		System Environment/Base
9d9c20
Requires:	libvirt >= 0.6.0
9d9c20
Requires:	fence-virtd
9d9c20
9d9c20
%description -n fence-virtd-libvirt
9d9c20
Provides fence_virtd with a connection to libvirt to fence
9d9c20
virtual machines.  Useful for running a cluster of virtual
9d9c20
machines on a desktop.
9d9c20
9d9c20
9d9c20
%package -n fence-virtd-cpg
9d9c20
Summary:	CPG/libvirt backend for fence-virtd
9d9c20
Group:		System Environment/Base
9d9c20
Requires:	corosynclib
9d9c20
Requires:	fence-virtd
9d9c20
9d9c20
%description -n fence-virtd-cpg
9d9c20
Provides fence_virtd with a connection to libvirt to fence
9d9c20
virtual machines. Uses corosync CPG to keep track of VM
9d9c20
locations to allow for non-local VMs to be fenced when VMs
9d9c20
are located on corosync cluster nodes.
9d9c20
9d9c20
9d9c20
%prep
9d9c20
%setup -q
9d9c20
%patch0 -p1
9d9c20
%patch1 -p1
9d9c20
%patch2 -p1 -F1
9d9c20
%patch3 -p1
9d9c20
%patch4 -p1
9d9c20
9d9c20
%build
9d9c20
./autogen.sh
9d9c20
%{configure} --disable-libvirt-qmf-plugin --enable-cpg-plugin
9d9c20
make %{?_smp_mflags}
9d9c20
9d9c20
9d9c20
%install
9d9c20
rm -rf %{buildroot}
9d9c20
make install DESTDIR=%{buildroot}
9d9c20
9d9c20
# Systemd unit file
9d9c20
mkdir -p %{buildroot}/%{_unitdir}/
9d9c20
install -m 0644 fence_virtd.service %{buildroot}/%{_unitdir}/
9d9c20
9d9c20
%clean
9d9c20
rm -rf %{buildroot}
9d9c20
9d9c20
9d9c20
%files
9d9c20
%defattr(-,root,root,-)
9d9c20
%doc COPYING TODO README
9d9c20
%{_sbindir}/fence_virt
9d9c20
%{_sbindir}/fence_xvm
9d9c20
%{_mandir}/man8/fence_virt.*
9d9c20
%{_mandir}/man8/fence_xvm.*
9d9c20
9d9c20
9d9c20
%post
9d9c20
ccs_update_schema > /dev/null 2>&1 ||:
9d9c20
# https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd
9d9c20
if [ $1 -eq 1 ] ; then 
9d9c20
    # Initial installation 
9d9c20
    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
9d9c20
fi
9d9c20
9d9c20
%preun
9d9c20
# https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd
9d9c20
if [ $1 -eq 0 ] ; then
9d9c20
    # Package removal, not upgrade
9d9c20
    /bin/systemctl --no-reload disable fence_virtd.service &> /dev/null || :
9d9c20
    /bin/systemctl stop fence_virtd.service &> /dev/null || :
9d9c20
fi
9d9c20
9d9c20
%postun
9d9c20
# https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd
9d9c20
/bin/systemctl daemon-reload &> /dev/null || :
9d9c20
if [ $1 -ge 1 ] ; then
9d9c20
    # Package upgrade, not uninstall
9d9c20
    /bin/systemctl try-restart fence_virtd.service &> /dev/null || :
9d9c20
fi
9d9c20
9d9c20
9d9c20
%triggerun -- fence_virtd < 0.3.0-1
9d9c20
# https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Packages_migrating_to_a_systemd_unit_file_from_a_SysV_initscript
9d9c20
/usr/bin/systemd-sysv-convert --save fence_virtd &> /dev/null || :
9d9c20
/sbin/chkconfig --del fence_virtd &> /dev/null || :
9d9c20
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
9d9c20
/bin/systemctl try-restart fence_virtd.service &> /dev/null || :
9d9c20
9d9c20
9d9c20
%files -n fence-virtd
9d9c20
%defattr(-,root,root,-)
9d9c20
%{_sbindir}/fence_virtd
9d9c20
%{_unitdir}/fence_virtd.service
9d9c20
%config(noreplace) %{_sysconfdir}/fence_virt.conf
9d9c20
%dir %{_libdir}/%{name}
9d9c20
%{_mandir}/man5/fence_virt.conf.*
9d9c20
%{_mandir}/man8/fence_virtd.*
9d9c20
9d9c20
%files -n fence-virtd-multicast
9d9c20
%defattr(-,root,root,-)
9d9c20
%{_libdir}/%{name}/multicast.so
9d9c20
9d9c20
%files -n fence-virtd-serial
9d9c20
%defattr(-,root,root,-)
9d9c20
%{_libdir}/%{name}/serial.so
9d9c20
9d9c20
%files -n fence-virtd-tcp
9d9c20
%defattr(-,root,root,-)
9d9c20
%{_libdir}/%{name}/tcp.so
9d9c20
9d9c20
%files -n fence-virtd-libvirt
9d9c20
%defattr(-,root,root,-)
9d9c20
%{_libdir}/%{name}/libvirt.so
9d9c20
9d9c20
%files -n fence-virtd-cpg
9d9c20
%defattr(-,root,root,-)
9d9c20
%{_libdir}/%{name}/cpg.so
9d9c20
9d9c20
%changelog
9d9c20
* Thu Jan 30 2020 Oyvind Albrigtsen <oalbrigt@redhat.com> - 0.4.0-9
9d9c20
- fence_virtd: fix segfault when no domains are found
9d9c20
  Resolves: rhbz#1766993
9d9c20
9d9c20
* Tue Jul 23 2019 Oyvind Albrigtsen <oalbrigt@redhat.com> - 0.4.0-7
9d9c20
- fence_xvm/fence_virt: dont report success for incorrect parameter
9d9c20
  Resolves: rhbz#1668357
9d9c20
9d9c20
* Tue Apr  9 2019 Oyvind Albrigtsen <oalbrigt@redhat.com> - 0.4.0-6
9d9c20
- Harden with -fPIE and -Wl,-z,now
9d9c20
  Resolves: rhbz#1624110
9d9c20
- Add CI gating tests
9d9c20
  Resolves: rhbz#1682883
9d9c20
9d9c20
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0-4
9d9c20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
9d9c20
9d9c20
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0-3
9d9c20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
9d9c20
9d9c20
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0-2
9d9c20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
9d9c20
9d9c20
* Mon Jun 05 2017 Ryan McCabe <rmccabe@redhat.com> - 0.4.0-1
9d9c20
- Rebase to fence-virt-0.4.0
9d9c20
9d9c20
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.2-7
9d9c20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
9d9c20
9d9c20
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.2-6
9d9c20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
9d9c20
9d9c20
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-5
9d9c20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
9d9c20
9d9c20
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 0.3.2-4
9d9c20
- Rebuilt for GCC 5 C++11 ABI change
9d9c20
9d9c20
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-3
9d9c20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
9d9c20
9d9c20
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-2
9d9c20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
9d9c20
9d9c20
* Mon Nov 04 2013 Ryan McCabe <rmccabe@redhat.com> - 0.3.2-1
9d9c20
- New upstream version 0.3.2
9d9c20
9d9c20
* Sun Nov 03 2013 Ryan McCabe <rmccabe@redhat.com> - 0.3.1-1
9d9c20
- Drop executable flags of manual pages
9d9c20
- Fix for missed libvirtd events
9d9c20
- Fix for broken systemd service file
9d9c20
9d9c20
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.0-15
9d9c20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
9d9c20
9d9c20
* Wed Jul 10 2013 Ryan McCabe <rmccabe@redhat.com> - 0.3.0-14
9d9c20
- Fail properly when unable to bind the TCP listener socket.
9d9c20
- Resolves: rhbz#814515
9d9c20
9d9c20
* Tue May 07 2013 Ryan McCabe <rmccabe@redhat.com> - 0.3.0-13
9d9c20
- Rebuild
9d9c20
9d9c20
* Tue May 07 2013 Ryan McCabe <rmccabe@redhat.com> - 0.3.0-12
9d9c20
- Drop libvirt-qmf-plugin
9d9c20
9d9c20
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.0-11
9d9c20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
9d9c20
9d9c20
* Fri Nov 02 2012 Ryan McCabe <rmccabe@redhat.com> - 0.3.0-10
9d9c20
- bswap fix for big endian
9d9c20
9d9c20
* Fri Nov 02 2012 Ryan McCabe <rmccabe@redhat.com> - 0.3.0-9
9d9c20
- Return success if a domain exists but is already off.
9d9c20
9d9c20
* Thu Oct 25 2012 Ryan McCabe <rmccabe@redhat.com> - 0.3.0-8
9d9c20
- Version bump
9d9c20
9d9c20
* Thu Oct 25 2012 Ryan McCabe <rmccabe@redhat.com> - 0.3.0-7
9d9c20
- Fix uninitialized variable for the -w option.
9d9c20
9d9c20
* Mon Oct 15 2012 Ryan McCabe <rmccabe@redhat.com> - 0.3.0-6
9d9c20
- Add a -w (delay) option.
9d9c20
- Return failure when attempting to fence a nonexistent domain
9d9c20
- Improve man pages
9d9c20
9d9c20
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.0-5
9d9c20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
9d9c20
9d9c20
* Tue Mar 27 2012 Ryan McCabe <rmccabe@fedoraproject.org> 0.3.0-4
9d9c20
- Add QPid build fix patch from upstream.
9d9c20
9d9c20
* Fri Feb 10 2012 Lon Hohberger <lon@fedoraproject.org> 0.3.0-2
9d9c20
- Fix URL / Source0 lines
9d9c20
  Resolves: Fedora#706560
9d9c20
9d9c20
* Tue Feb 07 2012 Lon Hohberger <lhh@redhat.com> 0.3.0-1
9d9c20
- Rebase from upstream to 0.3.0
9d9c20
- Systemd unit file integration
9d9c20
- Pacemaker backend
9d9c20
- Various fixes for startup
9d9c20
- Rename libvirt-qpid to libvirt-qmf backend
9d9c20
- Updated default configuration for easier deployment on
9d9c20
  Fedora systems
9d9c20
9d9c20
* Tue Feb 07 2012 Lon Hohberger <lhh@redhat.com> - 0.2.3-6
9d9c20
- Bump and rebuild
9d9c20
9d9c20
* Tue Feb 07 2012 Lon Hohberger <lhh@redhat.com> - 0.2.3-5
9d9c20
- Fixup changelog
9d9c20
9d9c20
* Mon Feb 06 2012 Lon Hohberger <lhh@redhat.com> - 0.2.3-4
9d9c20
- Drop checkpoint backend since cman and openais are gone
9d9c20
9d9c20
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.3-3
9d9c20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
9d9c20
9d9c20
* Fri Jul  8 2011 Fabio M. Di Nitto <fdinitto@redhat.com> - 0.2.3-2
9d9c20
- add post call to fence-virt to integrate with cluster 3.1.4
9d9c20
9d9c20
* Wed Jun 29 2011 Fabio M. Di Nitto <fdinitto@redhat.com> 0.2.3-1
9d9c20
- new upstream release fix compat regression
9d9c20
9d9c20
* Mon Jun 27 2011 Fabio M. Di Nitto <fdinitto@redhat.com> 0.2.2-1
9d9c20
- new upstream release
9d9c20
9d9c20
* Mon May 09 2011 Fabio M. Di Nitto <fdinitto@redhat.com> 0.2.1-5
9d9c20
- Rebuilt for libqmfconsole soname change
9d9c20
9d9c20
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.1-4
9d9c20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
9d9c20
9d9c20
* Thu Apr 01 2010 Lon Hohberger <lhh@redhat.com> 0.2.1-3
9d9c20
- Update specfile to require correct qpid/qmf libraries
9d9c20
- Resolves: bz#565111
9d9c20
9d9c20
* Tue Feb 23 2010 Fabio M. Di Nitto <fdinitto@redhat.com> 0.2.1-2
9d9c20
- Update spec file to handle correctly versioned Requires
9d9c20
9d9c20
* Fri Jan 15 2010 Lon Hohberger <lhh@redhat.com> 0.2.1-1
9d9c20
- Update to latest upstream version
9d9c20
- Fix bug around status return codes for VMs which are 'off'
9d9c20
9d9c20
* Thu Jan 14 2010 Lon Hohberger <lhh@redhat.com> 0.2-1
9d9c20
- Update to latest upstream version
9d9c20
- Serial & VMChannel listener support
9d9c20
- Static permission map support
9d9c20
- Man pages
9d9c20
- Init script
9d9c20
- Various bugfixes
9d9c20
9d9c20
* Mon Sep 21 2009 Lon Hohberger <lhh@redhat.com> 0.1.3-1
9d9c20
- Update to latest upstream version
9d9c20
- Adds libvirt-qpid backend support
9d9c20
- Fixes UUID operation with libvirt backend
9d9c20
- Adds man page for fence_xvm and fence_virt
9d9c20
- Provides fence_xvm compatibility for cluster 3.0.6
9d9c20
9d9c20
* Mon Sep 21 2009 Lon Hohberger <lhh@redhat.com> 0.1.2-1
9d9c20
- Update to latest upstream version
9d9c20
- Fix build issue on i686
9d9c20
9d9c20
* Mon Sep 21 2009 Lon Hohberger <lhh@redhat.com> 0.1.1-1
9d9c20
- Update to latest upstream version
9d9c20
- Clean up spec file
9d9c20
9d9c20
* Mon Sep 21 2009 Lon Hohberger <lhh@redhat.com> 0.1-2
9d9c20
- Spec file cleanup
9d9c20
9d9c20
* Thu Sep 17 2009 Lon Hohberger <lhh@redhat.com> 0.1-1
9d9c20
- Initial build for rawhide