%define gname haclient %define uname hacluster %define nogroup nobody # When downloading directly from Mercurial, it will automatically add this prefix # Invoking 'hg archive' wont but you can add one with: hg archive -t tgz -p "Reusable-Cluster-Components-" -r $upstreamversion $upstreamversion.tar.gz %define upstreamprefix Reusable-Cluster-Components-glue-- %define upstreamversion glue-%{version} # Keep around for when/if required #global alphatag %%{upstreamversion}.hg Name: cluster-glue Summary: Reusable cluster components Version: 1.0.12 Release: %mkrel 8 License: GPLv2+ and LGPLv2+ Url: http://linux-ha.org/wiki/Cluster_Glue Group: System/Libraries Source0: http://hg.linux-ha.org/glue/archive/%{upstreamversion}.tar.bz2 Patch1: cluster-glue-1.0.11-openipmi-2.0.24.patch Patch2: cluster-glue-1.0.12-python3.patch # Directives to allow upgrade from combined heartbeat packages in Fedora11 Provides: heartbeat-stonith = 3.0.0-1 Provides: heartbeat-pils = 3.0.0-1 Obsoletes: heartbeat-stonith < 3.0.0-1 Obsoletes: heartbeat-pils < 3.0.0-1 Conflicts: heartbeat < 3.0.0-1 # Build dependencies Requires: perl-TimeDate BuildRequires: libltdl-devel BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: libaio-devel BuildRequires: systemd-devel # For documentation BuildRequires: xsltproc BuildRequires: docbook-style-xsl BuildRequires: asciidoc # For additional Stonith plugins BuildRequires: net-snmp-devel BuildRequires: openipmi-devel BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(uuid) Requires(post,preun): rpm-helper >= %{rpmhelper_required_version} Requires(post,preun): systemd %description A collection of common tools that are useful for writing cluster managers such as Pacemaker. Provides a local resource manager that understands the OCF and LSB standards, and an interface to common STONITH devices. %prep %setup -q -n %{upstreamprefix}%{upstreamversion} %autopatch -p1 # fix build with new automake 1.13 sed -i -e 's,AM_CONFIG_HEADER,AC_CONFIG_HEADERS,g' configure.* %build autoreconf -vfi %configure --disable-static \ --enable-fatal-warnings=no \ --localstatedir=%{_var} \ --with-daemon-group=%{gname} \ --with-daemon-user=%{uname} %make_build %install %make_install ## tree fix up # Dont package static libs find %{buildroot} -name '*.la' -delete # Don't package things we wont support rm -f %{buildroot}/%{_libdir}/stonith/plugins/stonith2/rhcs.* # python shebangs pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_libdir}/stonith/plugins/external/* pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_libdir}/stonith/plugins/stonith2/* %pre %_pre_useradd %{uname} %{_var}/lib/heartbeat/cores/hacluster /bin/false %_pre_groupadd %{gname} %{uname} %post %_post_service logd %postun %_postun_userdel %{uname} %_postun_groupdel %{gname} %preun %_preun_service logd %files %{_sbindir}/ha_logger %{_sbindir}/hb_report %{_sbindir}/lrmadmin %{_sbindir}/meatclient %{_sbindir}/stonith %{_sbindir}/cibsecret %dir %{_libdir}/heartbeat %dir %{_libdir}/heartbeat/plugins %dir %{_libdir}/heartbeat/plugins/RAExec %dir %{_libdir}/heartbeat/plugins/InterfaceMgr %dir %{_libdir}/heartbeat/plugins/compress %{_libdir}/heartbeat/lrmd %{_libdir}/heartbeat/ha_logd %{_libdir}/heartbeat/plugins/RAExec/*.so %{_libdir}/heartbeat/plugins/InterfaceMgr/*.so %{_libdir}/heartbeat/plugins/compress/*.so %dir %{_libdir}/stonith %dir %{_libdir}/stonith/plugins %dir %{_libdir}/stonith/plugins/stonith2 %{_datadir}/cluster-glue/ha_log.sh %{_libdir}/stonith/plugins/external %{_libdir}/stonith/plugins/stonith2/*.so %{_libdir}/stonith/plugins/stonith2/*.py* %{_libdir}/stonith/plugins/stonith2/__pycache__/ %{_libdir}/stonith/plugins/xen0-ha-dom0-stonith-helper %dir %{_datadir}/cluster-glue %{_datadir}/cluster-glue/ha_cf_support.sh %{_datadir}/cluster-glue/openais_conf_support.sh %{_datadir}/cluster-glue/utillib.sh %dir %{_var}/lib/heartbeat %dir %{_var}/lib/heartbeat/cores %dir %attr (0700, root, root) %{_var}/lib/heartbeat/cores/root %dir %attr (0700, nobody, %{nogroup}) %{_var}/lib/heartbeat/cores/nobody %dir %attr (0700, %{uname}, %{gname}) %{_var}/lib/heartbeat/cores/%{uname} %{_unitdir}/logd.service %doc %{_mandir}/man1/* %doc %{_mandir}/man8/* %doc AUTHORS %doc COPYING %doc %{_docdir}/%{name}/stonith/ #--------------------------------------------------------- %define lrmmajor 2 %define liblrm %mklibname lrm %lrmmajor %package -n %liblrm Summary: Reusable cluster libraries Group: System/Libraries Requires: %{name} = %{version}-%{release} %description -n %liblrm A collection of libraries that are useful for writing cluster managers such as Pacemaker. %files -n %liblrm %{_libdir}/liblrm.so.%{lrmmajor} %{_libdir}/liblrm.so.%{lrmmajor}.* #--------------------------------------------------------- %define pilsmajor 2 %define libpils %mklibname pils %pilsmajor %package -n %libpils Summary: Reusable cluster libraries Group: System/Libraries Requires: %{name} = %{version}-%{release} %description -n %libpils A collection of libraries that are useful for writing cluster managers such as Pacemaker. %files -n %libpils %{_libdir}/libpils.so.%{pilsmajor} %{_libdir}/libpils.so.%{pilsmajor}.* #--------------------------------------------------------- %define plumbmajor 2 %define libplumb %mklibname plumb %plumbmajor %package -n %libplumb Summary: Reusable cluster libraries Group: System/Libraries Requires: %{name} = %{version}-%{release} %description -n %libplumb A collection of libraries that are useful for writing cluster managers such as Pacemaker. %files -n %libplumb %{_libdir}/libplumb.so.%{plumbmajor} %{_libdir}/libplumb.so.%{plumbmajor}.* #--------------------------------------------------------- %define plumbgplmajor 2 %define libplumbgpl %mklibname plumbgpl %plumbgplmajor %package -n %libplumbgpl Summary: Reusable cluster libraries Group: System/Libraries Requires: %{name} = %{version}-%{release} %description -n %libplumbgpl A collection of libraries that are useful for writing cluster managers such as Pacemaker. %files -n %libplumbgpl %{_libdir}/libplumbgpl.so.%{plumbgplmajor} %{_libdir}/libplumbgpl.so.%{plumbgplmajor}.* #--------------------------------------------------------- %define stonithmajor 1 %define libstonith %mklibname stonith %stonithmajor %package -n %libstonith Summary: Reusable cluster libraries Group: System/Libraries Requires: %{name} = %{version}-%{release} Obsoletes: %{_lib}heartbeat-stonith1 < 3.0.0-1 %description -n %libstonith A collection of libraries that are useful for writing cluster managers such as Pacemaker. %files -n %libstonith %{_libdir}/libstonith.so.%{stonithmajor} %{_libdir}/libstonith.so.%{stonithmajor}.* #--------------------------------------------------------- %package devel Summary: Headers and libraries for writing cluster managers Group: Development/Other Requires: %{liblrm} = %{version}-%{release} Requires: %{libpils} = %{version}-%{release} Requires: %{libplumb} = %{version}-%{release} Requires: %{libplumbgpl} = %{version}-%{release} Requires: %{libstonith} = %{version}-%{release} Obsoletes: %{_lib}heartbeat1-devel < 3.0.0-1 Obsoletes: %{_lib}heartbeat-pils1-devel < 3.0.0-1 Obsoletes: %{_lib}heartbeat-stonith1-devel < 3.0.0-1 %description devel Headers and shared libraries for a useful for writing cluster managers such as Pacemaker. %files devel %dir %{_libdir}/heartbeat %dir %{_libdir}/heartbeat/plugins %dir %{_libdir}/heartbeat/plugins/test %dir %{_datadir}/cluster-glue %{_libdir}/lib*.so %{_libdir}/heartbeat/ipctest %{_libdir}/heartbeat/ipctransientclient %{_libdir}/heartbeat/ipctransientserver %{_libdir}/heartbeat/transient-test.sh %{_libdir}/heartbeat/base64_md5_test %{_libdir}/heartbeat/logtest %{_includedir}/clplumbing %{_includedir}/heartbeat %{_includedir}/stonith %{_includedir}/pils %{_datadir}/cluster-glue/lrmtest %{_libdir}/heartbeat/plugins/test/test.so %changelog * Thu Nov 05 2020 joequant <joequant> 1.0.12-8.mga8 + Revision: 1642723 - rebuild * Tue Nov 03 2020 akien <akien> 1.0.12-7.mga8 + Revision: 1641995 - Rebuild for new libnetsnmp * Fri Mar 06 2020 daviddavid <daviddavid> 1.0.12-6.mga8 + Revision: 1554297 - add debian patch to port to python3 + umeabot <umeabot> - Mageia 8 Mass Rebuild + wally <wally> - replace deprecated %%configure2_5x * Sat Dec 29 2018 luigiwalser <luigiwalser> 1.0.12-5.mga7 + Revision: 1346021 - rebuild for net-snmp * Sat Sep 22 2018 umeabot <umeabot> 1.0.12-4.mga7 + Revision: 1296594 - Mageia 7 Mass Rebuild * Wed Jul 25 2018 wally <wally> 1.0.12-3.mga7 + Revision: 1245278 - fix post and preun scriptlets * Tue Mar 06 2018 kekepower <kekepower> 1.0.12-2.mga7 + Revision: 1206970 - Fixed systemd logd.service during postun and preun * Fri Mar 02 2018 kekepower <kekepower> 1.0.12-1.mga7 + Revision: 1206073 - Added BR for systemd-devel - Added BR for asciidoc - Update to version 1.0.12 - Rediffed patch - Added systemd script and action * Wed Sep 27 2017 cjw <cjw> 1.0.11-10.mga7 + Revision: 1160132 - patch1: fix build with openipmi 2.0.24 * Sat Feb 13 2016 umeabot <umeabot> 1.0.11-9.mga6 + Revision: 959805 - Mageia 6 Mass Rebuild * Sun Oct 25 2015 daviddavid <daviddavid> 1.0.11-8.mga6 + Revision: 895147 - add more docs to fix build with latest rpm * Wed Oct 15 2014 umeabot <umeabot> 1.0.11-7.mga5 + Revision: 746943 - Second Mageia 5 Mass Rebuild * Thu Sep 18 2014 umeabot <umeabot> 1.0.11-6.mga5 + Revision: 693627 - Rebuild to fix library dependencies * Tue Sep 16 2014 umeabot <umeabot> 1.0.11-5.mga5 + Revision: 678439 - Mageia 5 Mass Rebuild * Fri Oct 18 2013 umeabot <umeabot> 1.0.11-4.mga4 + Revision: 503370 - Mageia 4 Mass Rebuild * Fri Jan 11 2013 umeabot <umeabot> 1.0.11-3.mga3 + Revision: 347918 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Mon Dec 31 2012 wally <wally> 1.0.11-2.mga3 + Revision: 336555 - fix build with new automake 1.13 * Thu Nov 15 2012 fwang <fwang> 1.0.11-1.mga3 + Revision: 318140 - update file list - br libaio - new version 1.0.11 * Thu Dec 08 2011 fwang <fwang> 1.0.9-1.mga2 + Revision: 178823 - update file list - fix build with latest glib - new version 1.0.9 - new version 1.0.7 - imported package cluster-glue