#
# Conditional build:
-Summary: general-purpose symmetric cluster manager
+%bcond_with libonly # build package only with lib (needed bootstrap with ccs)
+#
+Summary: General-purpose symmetric cluster manager
+Summary(pl.UTF-8): Zarządca symetrycznych klastrów ogólnego przeznaczenia
Name: cman
-%define snap 20040625
-Version: 0.0.0.%{snap}.1
+Version: 2.00.00
Release: 1
-License: GPL
+License: GPL v2
Group: Applications/System
-Source0: %{name}.tar.gz
-# Source0-md5: 76edec5d961fd1cf46ccac2b7b006f37
-URL: http://sources.redhat.com/cluster/
-BuildRequires: ccs-devel
+Source0: ftp://sources.redhat.com/pub/cluster/releases/cluster-%{version}.tar.gz
+# Source0-md5: 2ef3f4ba9d3c87b50adfc9b406171085
+URL: http://sources.redhat.com/cluster/cman/
+%{!?with_libonly:BuildRequires: ccs-devel}
+BuildRequires: openais-devel
+BuildRequires: perl-base
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _sbindir /sbin
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.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.
+
+%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.
+
%prep
-%setup -q -n %{name}
+%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} \
- --kernel_src=%{_kernelsrcdir} \
--libdir=%{_libdir} \
+ --libexecdir=%{_libdir} \
--mandir=%{_mandir} \
--prefix=%{_prefix} \
--sbindir=%{_sbindir}
-%{__make} \
- CC="%{__cc}"
+%{__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