]> git.pld-linux.org Git - packages/cluster-glue.git/blobdiff - cluster-glue.spec
- allow packaging on systems without systemd
[packages/cluster-glue.git] / cluster-glue.spec
index 00d64e6ca89199dc19c85b7c9c2dc22f675aa889..d2b3d55201923be84700be956725422fb2d73256 100644 (file)
@@ -1,41 +1,58 @@
-# TODO
-# - tests packaged in -devel to own pkg or just rm -rf
+# TODO:
 # - pldize ha_logd initscript (look heartbeat.init?)
-# - stonith-libs? pils?
+# - stonith-libs? pils? (any sense? libs are small and have little external dependencies)
+# - separate some stonith plugins which have external dependencies?
+#
+# Conditional build:
+%bcond_without systemd # systemd
+%bcond_without vacm    # VACM stonith plugin
+#
 Summary:       Reusable cluster components
+Summary(pl.UTF-8):     Komponenty klastrowe wielokrotnego użytku
 Name:          cluster-glue
-Version:       1.0.11
-Release:       3
+Version:       1.0.12
+Release:       6
 License:       GPL v2+ and LGPL v2+
-Group:         Base
-URL:           http://www.linux-ha.org/
+Group:         Aplications/System
+# for future releases:
+#Source0Download: https://github.com/ClusterLabs/cluster-glue/releases
+#Source0:      https://github.com/ClusterLabs/cluster-glue/archive/%{version}/glue-%{version}.tar.gz
 Source0:       http://hg.linux-ha.org/glue/archive/glue-%{version}.tar.bz2
-# Source0-md5: 7d0acd99d43edac849dc76f43cfa4c7f
-Source1:       logd.service
-BuildRequires: OpenIPMI-devel
-BuildRequires: autoconf
+# Source0-md5: ec620466d6f23affa3b074b72bca7870
+Patch0:                %{name}-link.patch
+Patch1:                %{name}-opt.patch
+Patch2:                %{name}-rc.patch
+Patch3:                %{name}-heartbeat-libexecdir.patch
+Patch4:                x32-long-long-time-types.patch
+URL:           http://www.linux-ha.org/wiki/Cluster_Glue
+BuildRequires: OpenIPMI-devel >= 1.4
+BuildRequires: asciidoc
+BuildRequires: autoconf >= 2.53
 BuildRequires: automake
 BuildRequires: bzip2-devel
 BuildRequires: curl-devel
 BuildRequires: docbook-dtd42-xml
 BuildRequires: docbook-dtd44-xml
 BuildRequires: docbook-style-xsl
-BuildRequires: glib2-devel
+BuildRequires: glib2-devel >= 2.0
+BuildRequires: help2man
 BuildRequires: libaio-devel
 BuildRequires: libltdl-devel
-BuildRequires: libnet-devel
+BuildRequires: libnet-devel >= 1.0
 BuildRequires: libstdc++-devel
 BuildRequires: libtool
 BuildRequires: libuuid-devel
-BuildRequires: libxml2-devel
+BuildRequires: libxml2-devel >= 2.0
 BuildRequires: libxslt-progs
 BuildRequires: ncurses-devel
 BuildRequires: net-snmp-devel >= 5.4
 BuildRequires: openhpi-devel
 BuildRequires: openssl-devel
+BuildRequires: perl-tools-pod
 BuildRequires: pkgconfig
-BuildRequires: python-devel
+BuildRequires: python3-devel
 BuildRequires: rpm-pythonprov
+%{?with_vacm:BuildRequires:    vacm-devel}
 BuildRequires: zlib-devel
 Requires(post,preun):  /sbin/chkconfig
 Requires(postun):      /usr/sbin/groupdel
@@ -57,32 +74,59 @@ Obsoletes:  heartbeat-common
 Obsoletes:     heartbeat-pils < 3.0.0-1
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                filterout_ld    -Wl,--as-needed
-
 %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.
 
+%description -l pl.UTF-8
+Zbiór wspólnych narzędzi przydatnych przy pisaniu zarządców klastrów,
+takich jak Pacemaker. Pakiet zawiera zarządcę zasobów lokalnych
+zgodnego ze standardami OCF i LSB oraz interfejs do wspólnych urządzeń
+STONITH.
+
 %package libs
 Summary:       Reusable cluster libraries
-Group:         Development/Libraries
+Summary(pl.UTF-8):     Biblioteki klastrowe wielokrotnego użytku
+Group:         Libraries
 Obsoletes:     libheartbeat2
 
 %description libs
 A collection of libraries that are useful for writing cluster managers
 such as Pacemaker.
 
+%description libs -l pl.UTF-8
+Zbiór bibliotek przydatnych przy pisaniu zarządców klastrów, takich
+jak Pacemaker.
+
 %package libs-devel
-Summary:       Headers and libraries for writing cluster managers
+Summary:       Header files for writing cluster managers
+Summary(pl.UTF-8):     Pliki nagłówkowe do pisania zarządców klastrów
 Group:         Development/Libraries
 Requires:      %{name}-libs = %{version}-%{release}
+Requires:      glib2-devel >= 2.0
+Requires:      libltdl-devel
 Obsoletes:     libheartbeat-devel
 
 %description libs-devel
-Headers and shared libraries for a useful for writing cluster managers
-such as Pacemaker.
+Header files useful for writing cluster managers such as Pacemaker.
+
+%description libs-devel -l pl.UTF-8
+Pliki nagłówkowe przydatne przy pisaniu zarządców klastrów, takich jak
+Pacemaker.
+
+%package tests
+Summary:       Tests for cluster-glue framework
+Summary(pl.UTF-8):     Testy dla szkieletu cluster-glue
+Group:         Development
+Requires:      %{name}-libs = %{version}-%{release}
+
+%description tests
+Tests for cluster-glue framework.
+
+%description tests -l pl.UTF-8
+Testy dla szkieletu cluster-glue.
 
 %package stonith
 Summary:       Provides an interface to Shoot The Other Node In The Head
@@ -101,8 +145,19 @@ STONITH (Shoot The Other Node In The Head) to interfejs służący do
 
 %prep
 %setup -q -n Reusable-Cluster-Components-glue--glue-%{version}
-sed -i -e's;#!/usr/bin/env \(python\|perl\);#!/usr/bin/\1;' \
-                                       lib/plugins/stonith/external/*
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%ifarch x32
+%patch4 -p1
+%endif
+
+%{__sed} -i -e '1{
+       s,^#!.*python$,#!%{__python3},
+       s,^#!.*bin/env perl,#!%{__perl},
+}' \
+       lib/plugins/stonith/external/*
 
 %build
 %{__libtoolize}
@@ -110,13 +165,17 @@ sed -i -e's;#!/usr/bin/env \(python\|perl\);#!/usr/bin/\1;' \
 %{__autoheader}
 %{__automake}
 %{__autoconf}
+CPPFLAGS="%{rpmcppflags} -DOPENIPMI_DEFINE_SELECTOR_T"
 %configure \
-       --with-initdir=/etc/rc.d/init.d \
+       PYTHON=%{__python3} \
+       --docdir=%{_docdir}/%{name}-%{version} \
        --disable-fatal-warnings \
+       --disable-static \
+       --enable-ipmilan \
        --with-daemon-group=haclient \
-       --with-daemon-user=hacluster\
-       --docdir=%{_docdir}/%{name}-%{version} \
-       --disable-static
+       --with-daemon-user=hacluster \
+       --with-initdir=/etc/rc.d/init.d \
+       --with-rundir=/var/run
 %{__make}
 
 %install
@@ -128,8 +187,7 @@ install -d $RPM_BUILD_ROOT%{systemdunitdir}
 
 find $RPM_BUILD_ROOT -name '*.la' -delete
 
-%{__sed} -e's;@libdir@;%{_libdir};g' \
-       %{SOURCE1} > $RPM_BUILD_ROOT%{systemdunitdir}/logd.service
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -162,15 +220,16 @@ fi
 
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS logd/logd.cf
+%doc AUTHORS ChangeLog logd/logd.cf doc/stonith/README*
 %attr(754,root,root) /etc/rc.d/init.d/logd
+%if %{with systemd}
 %{systemdunitdir}/logd.service
+%endif
 
 %attr(755,root,root) %{_sbindir}/ha_logger
 %attr(755,root,root) %{_sbindir}/hb_report
 %attr(755,root,root) %{_sbindir}/lrmadmin
 %attr(755,root,root) %{_sbindir}/meatclient
-%attr(755,root,root) %{_sbindir}/sbd
 %attr(755,root,root) %{_sbindir}/cibsecret
 %{_mandir}/man1/ha_logger.1*
 %{_mandir}/man8/ha_logd.8*
@@ -182,18 +241,18 @@ fi
 %attr(755,root,root) %{_datadir}/%{name}/ha_cf_support.sh
 %attr(755,root,root) %{_datadir}/%{name}/openais_conf_support.sh
 %attr(755,root,root) %{_datadir}/%{name}/utillib.sh
-%attr(755,root,root) %{_datadir}/%{name}/combine-logs.pl
 %attr(755,root,root) %{_datadir}/%{name}/ha_log.sh
 
-%dir %{_libdir}/heartbeat/plugins/RAExec
+%attr(755,root,root) %{_libexecdir}/heartbeat/ha_logd
+%attr(755,root,root) %{_libexecdir}/heartbeat/lrmd
+
 %dir %{_libdir}/heartbeat/plugins/InterfaceMgr
-%dir %{_libdir}/heartbeat/plugins/compress
-%attr(755,root,root) %{_libdir}/heartbeat/lrmd
-%attr(755,root,root) %{_libdir}/heartbeat/ha_logd
 %attr(755,root,root) %{_libdir}/heartbeat/plugins/InterfaceMgr/generic.so
+%dir %{_libdir}/heartbeat/plugins/RAExec
 %attr(755,root,root) %{_libdir}/heartbeat/plugins/RAExec/heartbeat.so
 %attr(755,root,root) %{_libdir}/heartbeat/plugins/RAExec/lsb.so
 %attr(755,root,root) %{_libdir}/heartbeat/plugins/RAExec/ocf.so
+%dir %{_libdir}/heartbeat/plugins/compress
 %attr(755,root,root) %{_libdir}/heartbeat/plugins/compress/bz2.so
 %attr(755,root,root) %{_libdir}/heartbeat/plugins/compress/zlib.so
 
@@ -218,6 +277,7 @@ fi
 %attr(755,root,root) %ghost %{_libdir}/libstonith.so.1
 %dir %{_libdir}/heartbeat
 %dir %{_libdir}/heartbeat/plugins
+# also used by resource-agents runtime package (shouldn't agent_config.h be in resource-agents-devel?)
 %dir %{_includedir}/heartbeat
 
 %files libs-devel
@@ -228,16 +288,21 @@ fi
 %attr(755,root,root) %{_libdir}/libplumbgpl.so
 %attr(755,root,root) %{_libdir}/libstonith.so
 %{_includedir}/clplumbing
-%{_includedir}/heartbeat/*
+%{_includedir}/heartbeat/compress.h
+%{_includedir}/heartbeat/glue_config.h
+%{_includedir}/heartbeat/ha_msg.h
+%{_includedir}/heartbeat/lrm
 %{_includedir}/stonith
 %{_includedir}/pils
 
-%attr(755,root,root) %{_libdir}/heartbeat/ipctest
-%attr(755,root,root) %{_libdir}/heartbeat/ipctransientclient
-%attr(755,root,root) %{_libdir}/heartbeat/ipctransientserver
-%attr(755,root,root) %{_libdir}/heartbeat/transient-test.sh
-%attr(755,root,root) %{_libdir}/heartbeat/base64_md5_test
-%attr(755,root,root) %{_libdir}/heartbeat/logtest
+%files tests
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libexecdir}/heartbeat/ipctest
+%attr(755,root,root) %{_libexecdir}/heartbeat/ipctransientclient
+%attr(755,root,root) %{_libexecdir}/heartbeat/ipctransientserver
+%attr(755,root,root) %{_libexecdir}/heartbeat/transient-test.sh
+%attr(755,root,root) %{_libexecdir}/heartbeat/base64_md5_test
+%attr(755,root,root) %{_libexecdir}/heartbeat/logtest
 
 %dir %{_libdir}/heartbeat/plugins/test
 %attr(755,root,root) %{_libdir}/heartbeat/plugins/test/test.so
@@ -277,6 +342,33 @@ fi
 %dir %{_libdir}/stonith/plugins/external
 %attr(755,root,root) %{_libdir}/stonith/plugins/external/*
 %dir %{_libdir}/stonith/plugins/stonith2
-%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/*.so
+%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/apcmaster.so
+%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/apcmastersnmp.so
+%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/apcsmart.so
+%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/baytech.so
+# R: openhpi
+%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/bladehpi.so
+%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/cyclades.so
+# R: curl libxml2
+%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/drac3.so
+%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/external.so
+%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/ibmhmc.so
+# R: OpenIPMI
+%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/ipmilan.so
+%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/meatware.so
+%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/null.so
+%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/nw_rpc100s.so
+%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/rcd_serial.so
+# R: libxml2
+%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/rhcs.so
+%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/rps10.so
+%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/ssh.so
+%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/suicide.so
+%if %{with vacm}
+# R: vacm-libs
+%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/vacm.so
+%endif
+%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/wti_mpc.so
+%attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/wti_nps.so
 %attr(755,root,root) %{_libdir}/stonith/plugins/stonith2/ribcl.py
 %attr(755,root,root) %{_libdir}/stonith/plugins/xen0-ha-dom0-stonith-helper
This page took 0.354966 seconds and 4 git commands to generate.