]> git.pld-linux.org Git - packages/heartbeat.git/blobdiff - heartbeat.spec
- enhanced libs patch to remove unneeded libraries from global LIBS
[packages/heartbeat.git] / heartbeat.spec
index 0142fdbe72b5b3bd2d7f11c769f3b3098b8c99b2..94ff165b903fdc7558d07dfba95d5cec1a4c83f8 100644 (file)
-Summary: heartbeat - heartbeat subsystem for High-Availability Linux
-Summary(pl):  podsystem heartbeat dla systemów o podwy¿szonej niezawodno¶ci
-Name:  heartbeat
-Version:       0.4.9
-Release:       3
-Copyright: GPL
-URL: http://linux-ha.org/
-Group: Utilities
-Group(pl): Narzêdzia
-Source: http://linux-ha.org/download/heartbeat-0.4.9.tar.gz
-Patch0: heartbeat.dirty.time.h.patch
-BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-BuildPreReq: links
-Requires: sysklogd
-
-#%package stonith
-#Summary: Provides an interface to Shoot The Other Node In The Head 
-#Group: Utilities
+# TODO
+# - merge mibs supackage from 2.1 branch
+# - cleanup deps, users for 3.x
+# - fixup deps, inner deps, think of subpackages, ugprade path from 2.1
+#
+# Conditional build:
+%bcond_with    openais # OpenAIS (pre-corosync) support
+#
+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:       3.0.5
+Release:       7
+License:       GPL v2+
+Group:         Networking/Daemons
+Source0:       http://hg.linux-ha.org/heartbeat-STABLE_3_0/archive/STABLE-%{version}.tar.bz2
+# Source0-md5: f8686abde8722c42265c6d84fbe3d3bf
+Source1:       %{name}.init
+Source2:       %{name}.tmpfiles
+Patch0:                %{name}-type_mismatch.patch
+Patch1:                %{name}-ac.patch
+Patch2:                %{name}-libs.patch
+Patch3:                %{name}-tls.patch
+Patch4:                %{name}-ucast.patch
+URL:           http://www.linux-ha.org/Heartbeat
+BuildRequires: autoconf >= 2.53
+BuildRequires: automake
+BuildRequires: cluster-glue-libs-devel
+BuildRequires: docbook-dtd44-xml
+BuildRequires: docbook-style-xsl
+BuildRequires: glib2-devel >= 2.0
+BuildRequires: glibc-misc
+BuildRequires: gnutls-devel
+BuildRequires: libltdl-devel
+BuildRequires: libtool
+BuildRequires: libuuid-devel
+BuildRequires: libxslt-progs
+BuildRequires: ncurses-devel >= 5.4
+%{?with_openais:BuildRequires: openais-devel}
+BuildRequires: pkgconfig
+BuildRequires: python
+BuildRequires: python-devel
+BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.268
+Requires:      %{name}-libs = %{version}-%{release}
+Requires:      cluster-glue
+Requires:      psmisc >= 22.5-2
+Requires:      rc-scripts
+Requires:      resource-agents >= 3.9.2-2
+Requires:      syslogdaemon
+Requires:      which
+# disappeared
+Obsoletes:     perl-heartbeat
+BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%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.
+%define                specflags       -fgnu89-inline
 
+%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)
-       - UDP/IP broadcast (ethernet, etc)
-       - Bidirectional Serial PPP/UDP Rings (using PPP)
-       - "ping" heartbeats (for routers, switches, etc.)
-          (to be used for breaking ties in 2-node systems)
-%description(pl)
-heartbeat jest podstawowym podsystemem dla systemów o podwy¿szonej dostêpno¶ci budowanych w oparciu o Linuxa. 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.
-
-%changelog
-#
+ - 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 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 development header files
+Summary(pl.UTF-8):     Pliki nagłówkowe bibliotek heartbeat
+Group:         Development/Libraries
+Requires:      %{name}-libs = %{version}-%{release}
+Requires:      cluster-glue-libs-devel
+Requires:      glib2-devel >= 2.0
+Requires:      libltdl-devel
+
+%description devel
+Heartbeat development header files.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe bibliotek 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 -q
-%patch0 -p0
+%setup -qn Heartbeat-3-0-STABLE-%{version}
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+
 %build
-# 
-#zmienic to:
-sed -e 's/MAKE=gmake/MAKE=make/g' < Makefile > aqq
-mv aqq Makefile
-cd doc
-sed -e 's/lynx/links/' > aqq < Makefile
-mv aqq Makefile
-cd ..
-make
-###########################################################
+%{__libtoolize} --ltdl
+%{__aclocal}
+%{__autoconf}
+%{__autoheader}
+%{__automake}
+%configure \
+       %{!?with_openais:ac_cv_header_evs_h=no} \
+       --with-initdir=/etc/rc.d/init.d \
+       --docdir=%{_docdir}/%{name}-%{version} \
+       --enable-fatal-warnings=no \
+       --enable-mgmt \
+       --enable-quorumd \
+       --enable-snmp-subagent
+
+%{__make}
+
 %install
-###########################################################
-if
-  [ -z "${RPM_BUILD_ROOT}"  -a "${RPM_BUILD_ROOT}" != "/" ]
-then
-  rm -rf $RPM_BUILD_ROOT
-fi
-RPM_BUILD=yes BUILD_ROOT=$RPM_BUILD_ROOT make install
-(
-  cd $RPM_BUILD_ROOT/etc/ha.d/resource.d
-  rm -f ldirectord
-  ln -s /usr/sbin/ldirectord ldirectord
-)
-
-TEMPL=$RPM_BUILD_ROOT/var/adm/fillup-templates
-if
-  [ ! -d $TEMPL ]
-then
-  mkdir -p $TEMPL
-fi
-install -m 644 rc.config.heartbeat $TEMPL
+rm -rf $RPM_BUILD_ROOT
+%{__make} -j1 install \
+       DESTDIR=$RPM_BUILD_ROOT
 
-###########################################################
-%files
-###########################################################
-%defattr(-,root,root)
-%dir /etc/ha.d
-/etc/ha.d/harc
-/etc/ha.d/shellfuncs
-/etc/ha.d/rc.d
-/etc/ha.d/README.config
-/etc/ha.d/conf
-/usr/lib/heartbeat
-/usr/lib/libhbclient.so
-/usr/lib/libhbclient.a
-/etc/ha.d/resource.d/
-/etc/init.d/heartbeat
-/etc/logrotate.d/heartbeat
-/var/adm/fillup-templates/rc.config.heartbeat
-%dir /var/lib/heartbeat
-%attr (600, root, root)       /var/lib/heartbeat/fifo
-%attr (750, root, haclient) /var/lib/heartbeat/api
-%attr (620, root, haclient) /var/lib/heartbeat/register
-%attr (1770, root, haclient) /var/lib/heartbeat/casual
-/usr/man/man8/heartbeat.8*
-%doc doc/*
+install -d $RPM_BUILD_ROOT{/var/run/heartbeat,/usr/lib/tmpfiles.d}
+
+# plugins are lt_dlopened, but using *.so names, so *.la are not used
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/heartbeat/plugins/*/*.{la,a}
+
+%{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/heartbeat
+install -p %{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
+cp -a doc/ha.cf $RPM_BUILD_ROOT/etc/ha.d
+
+for tool in hb_addnode hb_delnode hb_standby hb_takeover; do
+       tool=%{_datadir}/%{name}/$tool
+       [ -x $RPM_BUILD_ROOT$tool ] || exit 1
+       ln -s $tool $RPM_BUILD_ROOT%{_bindir}
+done
+
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/heartbeat/cts/README
 
+install %{SOURCE2} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf
 
-###########################################################
 %clean
-###########################################################
 rm -rf $RPM_BUILD_ROOT
-rm -rf $RPM_BUILD_DIR/heartbeat-0.4.9
 
-###########################################################
-%pre
-###########################################################
-#
-#      This isn't perfect.  But getting every distribution
-#      to agree on group id's seems hard to me :-(
-#
-if
-  grep '^haclient:' etc/group >/dev/null
-then
-  : OK group haclient already present
-else
-  GROUPOPT="-g 60"
-  if
-    usr/sbin/groupadd $GROUPOPT haclient 2>/dev/null
-  then
-    : OK we were able to add group haclient
-  else
-    usr/sbin/groupadd haclient
-  fi
-fi
-#
-#  Multi-distribution kludge for init scripts...
-#
-if
-  [ ! -d etc/init.d ]
-then
-  if
-    [ -d sbin/init.d  -a ! -L sbin/init.d ]
-  then
-    ln -s ../sbin/init.d etc/init.d
-  elif
-    [ -d etc/rc.d/init.d ]
-  then
-    ln -s rc.d/init.d etc/init.d
-  else
-    # I give up!
-    echo "Warning: making directory /etc/init.d"
-    mkdir -p etc/init.d
-  fi
-fi
-###########################################################
-#
-#  Multi-distribution kludge for init scripts...
-#
-if
-  [ ! -d etc/init.d ]
-then
-  if
-    [ -d sbin/init.d  -a ! -L sbin/init.d ]
-  then
-    ln -s ../sbin/init.d etc/init.d
-  elif
-    [ -d etc/rc.d/init.d ]
-  then
-    ln -s rc.d/init.d etc/init.d
-  else
-    # I give up!
-    echo "Warning: making directory /etc/init.d"
-    mkdir -p etc/init.d
-  fi
-fi
-###########################################################
 %post
-###########################################################
-
-# Run heartbeat on startup
-if
-  [ -f etc/SuSE-release ]
-then
-  for d in etc/rc.d/init.d/rc[23].d
-  do
-    rm -f $d/S10heartbeat
-    rm -f $d/S99heartbeat; ln -s ../heartbeat $d/S99heartbeat 
-    rm -f $d/K35heartbeat; ln -s ../heartbeat $d/K35heartbeat
-  done
-  FILLUP=/bin/fillup
-  if 
-    $FILLUP -q -d = etc/rc.config var/adm/fillup-templates/rc.config.heartbeat
-  then
-    : fillup returned OK
-  else
-    echo "ERROR: $FILLUP failed. This should not happen. Please compare"
-    echo "/etc/rc.config and /var/adm/fillup-templates/rc.config.heartbeat"
-    echo "and update by hand."
-  fi
-elif
-  [ -x sbin/chkconfig ]
-then
-  sbin/chkconfig --add heartbeat
-fi
-true
+/sbin/chkconfig --add heartbeat
+%service heartbeat restart
 
-###########################################################
 %preun
-###########################################################
-
-Uninstall_PPP_hack() {
-  file2hack=etc/ppp/ip-up.local
-  echo "NOTE: Restoring /$file2hack"
-  MARKER="Heartbeat"
-  ed -s $file2hack <<-!EOF  2>/dev/null
-H
-g/ $MARKER\$/d
-w
-!EOF
-}
-
-if
-  [ $1 = 0 ]
-then
-  [ -x sbin/chkconfig ] && sbin/chkconfig --del heartbeat
-  if
-    [ ! -x etc/ppp/ip-up.heart ]
-  then
-    Uninstall_PPP_hack
-  fi
+if [ "$1" = "0" ]; then
+       %service -q heartbeat stop
+       /sbin/chkconfig --del heartbeat
 fi
-if
-   [ -r etc/SuSE-release ]
-then
-  rm -f sbin/init.d/rc[23]/*heartbeat
-fi
-true
+
+%post  libs -p /sbin/ldconfig
+%postun        libs -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc doc/{*.html,AUTHORS,apphbd.cf,authkeys,ha.cf,haresources,startstop}
+%attr(755,root,root) %{_bindir}/cl_respawn
+%attr(2755,root,haclient) %{_bindir}/cl_status
+%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
+%dir %{_libdir}/heartbeat
+%dir %{_libdir}/heartbeat/plugins
+%dir %{_libdir}/heartbeat/plugins/HBauth
+%attr(755,root,root) %{_libdir}/heartbeat/plugins/HBauth/*.so
+%dir %{_libdir}/heartbeat/plugins/HBcomm
+%attr(755,root,root) %{_libdir}/heartbeat/plugins/HBcomm/*.so
+%dir %{_libdir}/heartbeat/plugins/HBcompress
+%attr(755,root,root) %{_libdir}/heartbeat/plugins/HBcompress/*.so
+%dir %{_libdir}/heartbeat/plugins/quorum
+%attr(755,root,root) %{_libdir}/heartbeat/plugins/quorum/*.so
+%dir %{_libdir}/heartbeat/plugins/quorumd
+%attr(755,root,root) %{_libdir}/heartbeat/plugins/quorumd/*.so
+%dir %{_libdir}/heartbeat/plugins/tiebreaker
+%attr(755,root,root) %{_libdir}/heartbeat/plugins/tiebreaker/*.so
+%attr(755,root,root) %{_libdir}/heartbeat/api_test
+%attr(755,root,root) %{_libdir}/heartbeat/apphbd
+%attr(755,root,root) %{_libdir}/heartbeat/apphbtest
+%attr(755,root,root) %{_libdir}/heartbeat/ccm
+%attr(755,root,root) %{_libdir}/heartbeat/ccm_testclient
+%attr(755,root,root) %{_libdir}/heartbeat/clmtest
+%attr(755,root,root) %{_libdir}/heartbeat/dopd
+%attr(755,root,root) %{_libdir}/heartbeat/drbd-peer-outdater
+%attr(755,root,root) %{_libdir}/heartbeat/heartbeat
+%attr(755,root,root) %{_libdir}/heartbeat/ipfail
+%attr(755,root,root) %{_libdir}/heartbeat/mlock
+%attr(755,root,root) %{_libdir}/heartbeat/quorumd
+%attr(755,root,root) %{_libdir}/heartbeat/quorumdtest
+%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/mach_down
+%attr(755,root,root) %{_datadir}/heartbeat/req_resource
+%{_sysconfdir}/ha.d/README.config
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ha.d/authkeys
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ha.d/ha.cf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ha.d/haresources
+%attr(755,root,root) %{_sysconfdir}/ha.d/harc
+%dir %{_sysconfdir}/ha.d/rc.d
+%attr(755,root,root) %{_sysconfdir}/ha.d/rc.d/*
+%attr(755,root,root) %{_sysconfdir}/ha.d/resource.d/*
+%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
+%dir /var/run/heartbeat
+%attr(750,hacluster,haclient) %dir /var/run/heartbeat/ccm
+%dir /var/lib/heartbeat
+/usr/lib/tmpfiles.d/%{name}.conf
+%{_mandir}/man1/cl_status.1*
+%{_mandir}/man1/hb_addnode.1*
+%{_mandir}/man1/hb_delnode.1*
+%{_mandir}/man1/hb_standby.1*
+%{_mandir}/man1/hb_takeover.1*
+%{_mandir}/man5/authkeys.5*
+%{_mandir}/man5/ha.cf.5*
+%{_mandir}/man8/apphbd.8*
+%{_mandir}/man8/heartbeat.8*
+
+%files libs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libapphb.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libapphb.so.2
+%attr(755,root,root) %{_libdir}/libccmclient.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libccmclient.so.1
+%attr(755,root,root) %{_libdir}/libclm.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libclm.so.1
+%attr(755,root,root) %{_libdir}/libhbclient.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libhbclient.so.1
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libapphb.so
+%attr(755,root,root) %{_libdir}/libccmclient.so
+%attr(755,root,root) %{_libdir}/libclm.so
+%attr(755,root,root) %{_libdir}/libhbclient.so
+%{_libdir}/libapphb.la
+%{_libdir}/libccmclient.la
+%{_libdir}/libclm.la
+%{_libdir}/libhbclient.la
+%{_includedir}/heartbeat/HB*.h
+%{_includedir}/heartbeat/apphb*.h
+%{_includedir}/heartbeat/hb_*.h
+%{_includedir}/heartbeat/heartbeat.h
+%{_includedir}/ocf
+%{_includedir}/saf
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libapphb.a
+%{_libdir}/libccmclient.a
+%{_libdir}/libclm.a
+%{_libdir}/libhbclient.a
+
+%files cts
+%defattr(644,root,root,755)
+%doc cts/README
+%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
This page took 0.100196 seconds and 4 git commands to generate.