]> git.pld-linux.org Git - packages/cman.git/blobdiff - cman.spec
- ldconfig dep
[packages/cman.git] / cman.spec
index 67a33413e6d36f44bb515e0f236b0e1d7432001e..419f5dc5d63bf2f80747ea52b3fa6fae49534c34 100644 (file)
--- a/cman.spec
+++ b/cman.spec
@@ -1,19 +1,23 @@
+#
+# 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
+Source1:       %{name}.init
+Source2:       %{name}.sysconfig
 URL:           http://sources.redhat.com/cluster/cman/
-BuildRequires: ccs-devel
+%{!?with_libonly:BuildRequires:        ccs-devel}
+BuildRequires: openais-devel
 BuildRequires: perl-base
+Requires(post):        /sbin/ldconfig
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _sbindir        /sbin
@@ -28,70 +32,111 @@ management. The CMAN cluster manager is the foundational system upon
 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.
 
 %package devel
 Summary:       CMAN header files
-Summary(pl):   Pliki nag³ówkowe CMAN
+Summary(pl.UTF-8):     Pliki nagłówkowe CMAN
 Group:         Development/Libraries
+Requires:      %{name} = %{version}-%{release}
 
 %description devel
 CMAN header files.
 
-%description devel -l pl
-Pliki nag³ówkowe CMAN.
+%description devel -l pl.UTF-8
+Pliki nagłówkowe CMAN.
 
-%prep
-%setup -q -n %{name}-%{version}-%{bver}
+%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.
 
-install -d include/cluster
-cp -f %{SOURCE1} include/cluster
+%description devel -l pl.UTF-8
+Biblioteka statyczna CMAN.
+
+%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
+install -d $RPM_BUILD_ROOT{/etc/sysconfig,/etc/rc.d/init.d}
+cd %{name}
 
-%{__make} install \
+%{__make} %{?with_libonly:-C lib} install \
        DESTDIR=$RPM_BUILD_ROOT
 
-install -d $RPM_BUILD_ROOT%{_includedir}/cluster
-install include/cluster/cnxman-socket.h $RPM_BUILD_ROOT%{_includedir}/cluster
+install %SOURCE1 $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
+install %SOURCE2 $RPM_BUILD_ROOT/etc/sysconfig/%{name}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%post
+/sbin/ldconfig
+/sbin/chkconfig --add %{name}
+
+%postun        -p /sbin/ldconfig
+
+%preun
+if [ "$1" = "0" ]; then
+       %service -q %{name} stop
+       /sbin/chkconfig --del %{name}
+fi
+
 %files
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_sbindir}/*
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
+%attr(754,root,root) /etc/rc.d/init.d/%{name}
+%{!?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)
-# XXX dir shared with dml-devel
-%dir %{_includedir}/cluster
-%{_includedir}/cluster/cnxman-socket.h
+%{_includedir}/*.h
+%attr(755,root,root) %{_libdir}/libcman.so
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libcman.a
This page took 0.100568 seconds and 4 git commands to generate.