# %include /usr/lib/rpm/macros.perl Summary: Heartbeat - subsystem for High-Availability Linux Summary(es.UTF-8): Subsistema heartbeat para Linux "High-Availability" Summary(pl.UTF-8): Podsystem heartbeat dla systemów o podwyższonej niezawodności Summary(pt_BR.UTF-8): Implementa sistema de monitoração (heartbeats) visando Alta Disponibilidade Name: heartbeat Version: 2.99.2 Release: 0.1 License: GPL v2+ Group: Applications/System Source0: http://hg.linux-ha.org/dev/archive/beta-%{version}.tar.bz2 # Source0-md5: ef79dc10100451bfcbb55b4707d28eb1 Source1: %{name}.init Source2: ldirectord.init Patch0: %{name}-ac.patch Patch1: %{name}-no_ipmilan_test.patch URL: http://www.linux-ha.org/Heartbeat BuildRequires: OpenIPMI-devel >= 2.0.3 BuildRequires: autoconf BuildRequires: automake BuildRequires: gdbm-devel BuildRequires: glib2-devel BuildRequires: gnutls-devel BuildRequires: libltdl-devel BuildRequires: libnet-devel >= 1.1.0 BuildRequires: libnl-devel BuildRequires: libtool BuildRequires: libuuid-devel BuildRequires: libwrap-devel BuildRequires: libxml2-devel BuildRequires: lm_sensors-devel BuildRequires: ncurses-devel >= 5.4 BuildRequires: net-snmp-devel >= 5.1 BuildRequires: pam-devel BuildRequires: pkgconfig BuildRequires: python-devel BuildRequires: rpm-perlprov BuildRequires: rpm-pythonprov BuildRequires: rpmbuild(macros) >= 1.268 BuildRequires: swig-perl >= 1.3.25 BuildRequires: swig-python >= 1.3.25 Requires(post,postun): /sbin/ldconfig Requires(post,preun): /sbin/chkconfig Requires(postun): /usr/sbin/groupdel Requires(postun): /usr/sbin/userdel Requires(pre): /bin/id Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd Requires: %{name}-libs = %{version}-%{release} Requires: psmisc >= 22.5-2 Requires: rc-scripts Requires: syslogdaemon Requires: which Provides: group(haclient) Provides: user(hacluster) # disappeared Obsoletes: perl-heartbeat BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define specflags -fgnu89-inline %define filterout_ld -Wl,--as-needed %description heartbeat is a basic heartbeat subsystem for Linux-HA. It will run scripts at initialization, and when machines go up or down. This version will also perform IP address takeover using gratuitous ARPs. It works correctly for a 2-node configuration, and is extensible to larger configurations. It implements the following kinds of heartbeats: - Bidirectional Serial Rings ("raw" serial ports) %description -l es.UTF-8 heartbeat es un sistema básico para Linux-HA. La función de este software es ejecutar scripts en la inicialización y al apagar las máquinas que lo utilizan. %description -l pl.UTF-8 heartbeat jest podstawowym podsystemem dla systemów o podwyższonej dostępności budowanych w oparciu o Linuksa. Zajmuje się uruchamianiem skryptów podczas startu i zamykania systemu. Ta wersja pakietu pozwala na przejmowanie adresów IP. Oprogramowanie działa poprawnie dla konfiguracji składającej się z 2 hostów, można je również stosować do bardziej skomplikowanych konfiguracji. %package stonith Summary: Provides an interface to Shoot The Other Node In The Head Summary(pl.UTF-8): Interfejs do "odstrzelenia" drugiego węzła w klastrze Group: Applications/System Requires: OpenIPMI >= 2.0.3 %description stonith Provides an interface to Shoot The Other Node In The Head. %description stonith -l pl.UTF-8 STONITH (Shoot The Other Node In The Head) to interfejs służący do "odstrzelenia" drugiego węzła w klastrze. %package ldirectord Summary: Monitor virtual services provided by LVS Summary(pl.UTF-8): Demon monitorujący wirtualne usługi dostarczane poprzez LVS Group: Applications/System Requires(post,preun): /sbin/chkconfig Requires: ipvsadm Requires: rc-scripts %description ldirectord ldirectord is a stand-alone daemon to monitor services of real for virtual services provided by The Linux Virtual Server . %description ldirectord -l pl.UTF-8 ldirectord to samodzielny demon monitorujący rzeczywiste usługi dla wirtualnych usług dostarczanych poprzez Linux Virtual Server . %package libs Summary: Heartbeat libraries Summary(pl.UTF-8): Biblioteki heartbeat Group: Libraries Conflicts: heartbeat < 2.99.2-0.1 %description libs Heartbeat libraries. %description libs -l pl.UTF-8 Biblioteki heartbeat. %package devel Summary: Heartbeat developement header files and libraries Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki heartbeat Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release} %description devel Heartbeat developement header files and libraries. %description devel -l pl.UTF-8 Pliki nagłówkowe i biblioteki heartbeat. %package static Summary: Heartbeat static libraries Summary(pl.UTF-8): Biblioteki statyczne heartbeat Group: Development/Libraries Requires: %{name}-devel = %{version}-%{release} %description static Heartbeat static libraries. %description static -l pl.UTF-8 Biblioteki statyczne heartbeat. %package cts Summary: Cluster Test Suite Summary(pl.UTF-8): Zestaw testów klastra Group: Applications/System Requires: %{name} = %{version}-%{release} %description cts Cluster Test Suite for heartbeat. %description cts -l pl.UTF-8 Zestaw testów klastra opartego o heartbeat. %prep %setup -qn Linux-HA-Dev-beta-%{version} %patch0 -p1 %patch1 -p1 rm -rf libltdl %build %{__libtoolize} --ltdl %{__aclocal} %{__autoconf} %{__autoheader} %{__automake} %configure \ FSCK=/sbin/fsck \ FUSER=/bin/fuser \ IPTABLES=/usr/sbin/iptables \ MAILCMD=/bin/mail \ MOUNT=/bin/mount \ PING=/bin/ping \ --with-initdir=/etc/rc.d/init.d \ --enable-fatal-warnings=no \ --enable-mgmt \ --enable-quorumd \ --enable-snmp-subagent %{__make} %install rm -rf $RPM_BUILD_ROOT %{__make} install \ DESTDIR=$RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT/var/run/heartbeat rm -f $RPM_BUILD_ROOT%{_sysconfdir}/ha.d/resource.d/ldirectord ln -sf %{_sbindir}/ldirectord $RPM_BUILD_ROOT%{_sysconfdir}/ha.d/resource.d/ldirectord # plugins are lt_dlopened, but using *.so names, so *.la are not used rm -f $RPM_BUILD_ROOT%{_libdir}/{heartbeat,pils,stonith}/plugins/*/*.{la,a} rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/heartbeat install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/heartbeat > $RPM_BUILD_ROOT/etc/ha.d/haresources echo -e "auth 2\n2 crc" > $RPM_BUILD_ROOT/etc/ha.d/authkeys install doc/ha.cf $RPM_BUILD_ROOT/etc/ha.d rm -f $RPM_BUILD_ROOT/etc/rc.d/init.d/ldirectord install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/ldirectord install ldirectord/ldirectord.cf $RPM_BUILD_ROOT%{_sysconfdir}/ha.d rm -f $RPM_BUILD_ROOT%{_datadir}/heartbeat/cts/README for tool in ha_logger hb_addnode hb_delnode hb_standby hb_takeover; do ln -sf %{_libdir}/heartbeat/$tool $RPM_BUILD_ROOT%{_bindir} done sed -i -e's, /%{_lib}/libpam.la, /usr/%{_lib}/libpam.la,g' $RPM_BUILD_ROOT%{_libdir}/*.la %clean rm -rf $RPM_BUILD_ROOT %pre %groupadd -g 60 haclient %useradd -u 17 -d /var/lib/heartbeat/cores/hacluster -c "Heartbeat User" -g haclient hacluster %post /sbin/ldconfig /sbin/chkconfig --add heartbeat %service %{name} restart %preun if [ "$1" = "0" ]; then %service -q %{name} stop /sbin/chkconfig --del heartbeat fi %postun /sbin/ldconfig if [ "$1" = "0" ]; then %userremove hacluster %groupremove haclient fi %post stonith -p /sbin/ldconfig %postun stonith -p /sbin/ldconfig %files %defattr(644,root,root,755) %doc doc/{*.html,AUTHORS,apphbd.cf,authkeys,ha.cf,logd.cf,haresources,startstop} %dir %{_libdir}/heartbeat %dir %{_libdir}/heartbeat/plugins %dir %{_libdir}/heartbeat/plugins/* %attr(755,root,root) %{_libdir}/heartbeat/plugins/*/*.so %attr(755,root,root) %{_libdir}/heartbeat/[!cp]* %attr(755,root,root) %{_libdir}/heartbeat/c[!t]* %dir %{_libdir}/pils %dir %{_libdir}/pils/plugins %dir %{_libdir}/pils/plugins/* %dir %{_datadir}/heartbeat %attr(755,root,root) %{_datadir}/heartbeat/BasicSanityCheck %attr(755,root,root) %{_datadir}/heartbeat/ResourceManager %attr(755,root,root) %{_datadir}/heartbeat/TestHeartbeatComm %attr(755,root,root) %{_datadir}/heartbeat/ha_* %attr(755,root,root) %{_datadir}/heartbeat/hb_* %attr(755,root,root) %{_datadir}/heartbeat/lrmtest %attr(755,root,root) %{_datadir}/heartbeat/mach_down %attr(755,root,root) %{_datadir}/heartbeat/req_resource %attr(755,root,root) %{_datadir}/heartbeat/utillib.sh %{_datadir}/heartbeat/ra-api-1.dtd %attr(755,root,root) %{_libdir}/pils/plugins/*/*.so %dir %{_sysconfdir}/ha.d %attr(755,root,root) %{_sysconfdir}/ha.d/rc.d %attr(755,root,root) %{_sysconfdir}/ha.d/resource.d %exclude %{_sysconfdir}/ha.d/resource.d/ldirectord %{_sysconfdir}/ha.d/README.config %attr(755,root,root) %{_sysconfdir}/ha.d/harc %{_sysconfdir}/ha.d/shellfuncs %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/heartbeat %attr(754,root,root) /etc/rc.d/init.d/heartbeat %attr(755,root,root) %{_prefix}/lib/ocf %dir /var/run/heartbeat %attr(750,hacluster,haclient) %dir /var/run/heartbeat/ccm %dir /var/lib/heartbeat %attr(770,root,haclient) %dir /var/lib/heartbeat/lrm %attr(711,root,root) %dir /var/lib/heartbeat/cores %attr(700,root,root) %dir /var/lib/heartbeat/cores/root # we don't want any files owned by nobody %attr(700,root,root) %dir /var/lib/heartbeat/cores/nobody %attr(700,hacluster,root) %dir /var/lib/heartbeat/cores/hacluster %{_mandir}/man1/*.1* %{_mandir}/man8/[a-h]*.8* %attr(755,root,root) %{_bindir}/cl_respawn %attr(2755,root,haclient) %{_bindir}/cl_status %attr(755,root,root) %{_bindir}/ha_logger %attr(755,root,root) %{_bindir}/hb_addnode %attr(755,root,root) %{_bindir}/hb_delnode %attr(755,root,root) %{_bindir}/hb_standby %attr(755,root,root) %{_bindir}/hb_takeover %attr(755,root,root) %{_sbindir}/[a-i]* %attr(755,root,root) %{_sbindir}/ocf-tester %attr(755,root,root) %{_sbindir}/sbd %attr(755,root,root) %{_sbindir}/sfex_init %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/ha.d/haresources %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/ha.d/authkeys %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/ha.d/ha.cf %files stonith %defattr(644,root,root,755) %dir %{_libdir}/stonith %dir %{_libdir}/stonith/plugins %dir %{_libdir}/stonith/plugins/external %dir %{_libdir}/stonith/plugins/stonith2 %attr(755,root,root) %{_libdir}/stonith/plugins/*/* %attr(755,root,root) %{_libdir}/stonith/plugins/xen0-ha-dom0-stonith-helper %attr(755,root,root) %{_sbindir}/meatclient %attr(755,root,root) %{_sbindir}/stonith %{_mandir}/man8/stonith.8* %{_mandir}/man8/meatclient.8* %files ldirectord %defattr(644,root,root,755) %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/ha.d/ldirectord.cf %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/ldirectord %attr(755,root,root) %{_sysconfdir}/ha.d/resource.d/ldirectord %attr(754,root,root) /etc/rc.d/init.d/ldirectord %attr(755,root,root) %{_sbindir}/*ldirectord* %{_mandir}/man8/*ldirectord*.8* %files libs %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/lib*.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/lib*.so.[0-9] %files devel %defattr(644,root,root,755) %{_includedir}/* %attr(755,root,root) %{_libdir}/lib*.so %{_libdir}/*.la %files static %defattr(644,root,root,755) %{_libdir}/*.a %files cts %defattr(644,root,root,755) %doc cts/README %{_libdir}/heartbeat/cts %dir %{_datadir}/heartbeat/cts %attr(755,root,root) %{_datadir}/heartbeat/cts/*.py %{_datadir}/heartbeat/cts/*.py[co] %attr(755,root,root) %{_datadir}/heartbeat/cts/*.sh %attr(755,root,root) %{_datadir}/heartbeat/cts/*Dummy