+#
+# Conditional build:
+%bcond_with libonly # build package only with lib (needed bootstrap with ccs)
+#
Summary: General-purpose symmetric cluster manager
-Summary(pl): Zarz±dca symetrycznych klastrów ogólnego przeznaczenia
+Summary(pl.UTF-8): Zarządca symetrycznych klastrów ogólnego przeznaczenia
Name: cman
-Version: 1.0
-%define bver pre32
-Release: 0.%{bver}.1
+Version: 2.00.00
+Release: 1
License: GPL v2
Group: Applications/System
-Source0: http://people.redhat.com/cfeist/cluster/tgz/%{name}-%{version}-%{bver}.tar.gz
-# Source0-md5: 0564c8b91dfccb75de792414cccf16bd
-# from cman-kernel CVS
-Source1: cnxman-socket.h
-# NoSource1-md5: 5b10f050be925739f47b27ddb5075f5f (rev. 1.8)
+Source0: ftp://sources.redhat.com/pub/cluster/releases/cluster-%{version}.tar.gz
+# Source0-md5: 2ef3f4ba9d3c87b50adfc9b406171085
URL: http://sources.redhat.com/cluster/cman/
-BuildRequires: ccs-devel
+%{!?with_libonly:BuildRequires: ccs-devel}
+BuildRequires: openais-devel
BuildRequires: perl-base
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
which DLM, GFS, CLVM, and Fence all depend. The CMAN API in the kernel
and userspace is general and available for other programs to use.
-%description -l pl
-MAN to zarz±dca opartych na j±drze symetrycznych klastrów ogólnego
-przeznaczenia. Sk³ada siê z dwóch czê¶ci. Zarz±dca po³±czeñ
-(Connection Manager, cnxman) obs³uguje cz³onkostwo, komunikacjê,
-kworum, powiadamianie o zdarzeniach i przej¶cia. Zarz±dca us³ug
-(Service Manager, sm) obs³uguje "grupy us³ug", które s± ogólnym
-sposobem reprezentacji i zarz±dzania instancjami zewnêtrznych systemów
-wymagaj±cych zarz±dzania klastrem. Zarz±dca klastrów CMAN to
-podstawowy system, na którym polegaj± DLM, GFS, CLVM i Fence. API
-CMAN-a w j±drze i przestrzeni u¿ytkownika jest ogólne i w ca³o¶ci
-dostêpne do wykorzystania w innych programach.
+%description -l pl.UTF-8
+MAN to zarządca opartych na jądrze symetrycznych klastrów ogólnego
+przeznaczenia. Składa się z dwóch części. Zarządca połączeń
+(Connection Manager, cnxman) obsługuje członkostwo, komunikację,
+kworum, powiadamianie o zdarzeniach i przejścia. Zarządca usług
+(Service Manager, sm) obsługuje "grupy usług", które są ogólnym
+sposobem reprezentacji i zarządzania instancjami zewnętrznych systemów
+wymagających zarządzania klastrem. Zarządca klastrów CMAN to
+podstawowy system, na którym polegają DLM, GFS, CLVM i Fence. API
+CMAN-a w jądrze i przestrzeni użytkownika jest ogólne i w całości
+dostępne do wykorzystania w innych programach.
-%prep
-%setup -q -n %{name}-%{version}-%{bver}
+%package devel
+Summary: CMAN header files
+Summary(pl.UTF-8): Pliki nagłówkowe CMAN
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description devel
+CMAN header files.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe CMAN.
+
+%package static
+Summary: CMAN static library
+Summary(pl.UTF-8): Biblioteka statyczna CMAN
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+
+%description static
+CMAN static library.
+
+%description devel -l pl.UTF-8
+Biblioteka statyczna CMAN.
-install -d include/cluster
-cp -f %{SOURCE1} include/cluster
+%prep
+%setup -q -n cluster-%{version}
+cd %{name}
%{__perl} -pi -e 's/-g -O/%{rpmcflags}/' lib/Makefile
%{__perl} -pi -e 's/-g/%{rpmcflags}/' {cman_tool,tests}/Makefile
%build
+cd %{name}
./configure \
+ --ccsincdir="$PWD/../ccs/lib" \
--incdir=%{_includedir} \
--libdir=%{_libdir} \
+ --libexecdir=%{_libdir} \
--mandir=%{_mandir} \
--prefix=%{_prefix} \
--sbindir=%{_sbindir}
-%{__make} \
+%{__make} %{?with_libonly:-C lib} \
CC="%{__cc}" \
incdir=`pwd`/include
%install
rm -rf $RPM_BUILD_ROOT
+cd %{name}
-%{__make} install \
+%{__make} %{?with_libonly:-C lib} install \
DESTDIR=$RPM_BUILD_ROOT
%clean
rm -rf $RPM_BUILD_ROOT
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
%files
%defattr(644,root,root,755)
-%attr(755,root,root) %{_sbindir}/*
+%{!?with_libonly:%attr(755,root,root) %{_sbindir}/*}
+%attr(755,root,root) %{_libdir}/libcman.so.*.*
+%if %{without libonly}
+%attr(755,root,root) %{_libdir}/lcrso/service_cman.lcrso
%{_mandir}/man5/cman.5*
+%{_mandir}/man5/qdisk.5*
%{_mandir}/man8/cman_tool.8*
+%{_mandir}/man8/mkqdisk.8*
+%{_mandir}/man8/qdiskd.8*
#%attr(754,root,root) /etc/rc.d/init.d/cman
+#%attr(754,root,root) /etc/rc.d/init.d/qdiskd
+%endif
+
+%files devel
+%defattr(644,root,root,755)
+%{_includedir}/*.h
+%attr(755,root,root) %{_libdir}/libcman.so
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libcman.a