X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=cluster-glue.spec;h=d2b3d55201923be84700be956725422fb2d73256;hb=HEAD;hp=6e7fb9aa6bfda6ccdef05e85472beec12dee0e21;hpb=6e295ee0b12120b595b7e7ce51431b81112b6e7d;p=packages%2Fcluster-glue.git diff --git a/cluster-glue.spec b/cluster-glue.spec index 6e7fb9a..d2b3d55 100644 --- a/cluster-glue.spec +++ b/cluster-glue.spec @@ -1,48 +1,59 @@ -# TODO -# - filterout fix needed: -# ./.libs/ipmilan.so: undefined reference to `stonith_free_hostlist' -# ./.libs/ipmilan.so: undefined reference to `PILCallLog' -# collect2: ld returned 1 exit status -# gmake[4]: *** [ipmilantest] Error 1 -# gmake[4]: Leaving directory `/home/users/glen/rpm/BUILD.x86_64-linux/cluster-glue-1.0.2-rc2/lib/plugins/stonith' -# - tests packaged in -devel to own pkg or just rm -rf +# TODO: # - pldize ha_logd initscript (look heartbeat.init?) -# - stonith-libs? pils? -%define subver rc2 -%define rel 0.2 +# - 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.2 -Release: 0.%{subver}.%{rel} +Version: 1.0.12 +Release: 6 License: GPL v2+ and LGPL v2+ -Group: Base -URL: http://www.clusterlabs.org/ -Source0: http://www.linux-ha.org/w/images/3/3d/Cluster-glue-%{version}-%{subver}.tar.bz2 -# Source0-md5: 1f83b6bd83d9cae5310c32d14fecf2fd -Patch0: heartbeat-no_ipmilan_test.patch -BuildRequires: OpenIPMI-devel -BuildRequires: autoconf +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: 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 -BuildRequires: which +%{?with_vacm:BuildRequires: vacm-devel} +BuildRequires: zlib-devel Requires(post,preun): /sbin/chkconfig Requires(postun): /usr/sbin/groupdel Requires(postun): /usr/sbin/userdel @@ -50,6 +61,9 @@ Requires(pre): /bin/id Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd +Requires(post,preun,postun): systemd-units +Requires: systemd-units +Requires: %{name}-libs = %{version}-%{release} Requires: perl-TimeDate Requires: rc-scripts Provides: group(haclient) @@ -60,33 +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} = %{version}-%{release} 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 @@ -104,8 +144,20 @@ STONITH (Shoot The Other Node In The Head) to interfejs służący do "odstrzelenia" drugiego węzła w klastrze. %prep -%setup -q -n %{name}-%{version}-%{subver} +%setup -q -n Reusable-Cluster-Components-glue--glue-%{version} %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} @@ -113,22 +165,30 @@ STONITH (Shoot The Other Node In The Head) to interfejs służący do %{__autoheader} %{__automake} %{__autoconf} +CPPFLAGS="%{rpmcppflags} -DOPENIPMI_DEFINE_SELECTOR_T" %configure \ - --with-initdir=/etc/rc.d/init.d \ - --enable-fatal-warnings=yes \ - --with-daemon-group=haclient \ - --with-daemon-user=hacluster\ + PYTHON=%{__python3} \ --docdir=%{_docdir}/%{name}-%{version} \ - --disable-static + --disable-fatal-warnings \ + --disable-static \ + --enable-ipmilan \ + --with-daemon-group=haclient \ + --with-daemon-user=hacluster \ + --with-initdir=/etc/rc.d/init.d \ + --with-rundir=/var/run %{__make} %install rm -rf $RPM_BUILD_ROOT +install -d $RPM_BUILD_ROOT%{systemdunitdir} + %{__make} install \ DESTDIR=$RPM_BUILD_ROOT find $RPM_BUILD_ROOT -name '*.la' -delete +%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} + %clean rm -rf $RPM_BUILD_ROOT @@ -139,54 +199,62 @@ rm -rf $RPM_BUILD_ROOT %post /sbin/chkconfig --add logd %service logd restart +%systemd_post logd.service %preun if [ "$1" = "0" ]; then %service -q logd stop /sbin/chkconfig --del logd fi +%systemd_preun logd.service %postun if [ "$1" = "0" ]; then %userremove hacluster %groupremove haclient fi +%systemd_reload %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig %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* %{_mandir}/man8/hb_report.8* +%{_mandir}/man8/lrmadmin.8* %{_mandir}/man8/meatclient.8* %dir %{_datadir}/%{name} %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 -%dir %{_libdir}/heartbeat/plugins -%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 -%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 %dir /var/lib/heartbeat %attr(711,root,root) %dir /var/lib/heartbeat/cores @@ -207,6 +275,10 @@ fi %attr(755,root,root) %ghost %{_libdir}/libplumbgpl.so.2 %attr(755,root,root) %{_libdir}/libstonith.so.*.*.* %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 %defattr(644,root,root,755) @@ -216,18 +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 -%dir %{_libdir}/heartbeat -%dir %{_libdir}/heartbeat/plugins -%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 @@ -252,17 +327,48 @@ fi %{_datadir}/%{name}/lrmtest/testcases/rscexec.exp %{_datadir}/%{name}/lrmtest/testcases/rscmgmt %{_datadir}/%{name}/lrmtest/testcases/rscmgmt.exp +%{_datadir}/%{name}/lrmtest/testcases/stonith +%{_datadir}/%{name}/lrmtest/testcases/stonith.exp %attr(755,root,root) %{_datadir}/%{name}/lrmtest/testcases/*filter %attr(755,root,root) %{_datadir}/%{name}/lrmtest/testcases/*.sh %files stonith +%defattr(644,root,root,755) %doc doc/stonith/README* %attr(755,root,root) %{_sbindir}/stonith %{_mandir}/man8/stonith.8* %dir %{_libdir}/stonith %dir %{_libdir}/stonith/plugins +%dir %{_libdir}/stonith/plugins/external +%attr(755,root,root) %{_libdir}/stonith/plugins/external/* %dir %{_libdir}/stonith/plugins/stonith2 -%{_libdir}/stonith/plugins/external -%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