]> git.pld-linux.org Git - packages/cman.git/blobdiff - cman.spec
- rel 3; (after bootstrap)
[packages/cman.git] / cman.spec
index 3b010a280e6fdf5c179b21e2a908c4f9dabe5be2..3b41417d5d465548d4cabd5666f94e01b3dfc7a5 100644 (file)
--- a/cman.spec
+++ b/cman.spec
@@ -1,19 +1,30 @@
+#
+# 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
-%define        snap    20040625
-Version:       0.0.0.%{snap}.1
-Release:       1
-License:       GPL
+Version:       2.00.00
+Release:       3
+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
+Source1:       %{name}.init
+Source2:       %{name}.sysconfig
+URL:           http://sources.redhat.com/cluster/cman/
+%{!?with_libonly:BuildRequires:        ccs-devel}
+BuildRequires: openais-devel
+BuildRequires: perl-base
+Requires:      %{name}-libs = %{version}-%{release}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _sbindir        /sbin
 
+# aliasing problems in qdisk/disk.c
+%define                specflags       -fno-strict-aliasing
+
 %description
 MAN is a symmetric, general-purpose, kernel-based cluster manager. It
 has two parts. Connection Manager (cnxman) handles membership,
@@ -24,41 +35,132 @@ 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 libs
+Summary:       CMAN library
+Summary(pl.UTF-8):     Biblioteka CMAN
+Group:         Libraries
+Obsoletes:     gulm
+Obsoletes:     gulm-devel
+Obsoletes:     gulm-static
+Obsoletes:     iddev
+Obsoletes:     magma
+Obsoletes:     magma-devel
+Obsoletes:     magma-plugins
+Obsoletes:     magma-static
+Conflicts:     cman < 2.00.00-2
+
+%description libs
+CMAN library.
+
+%description libs -l pl.UTF-8
+Biblioteka CMAN.
+
+%package devel
+Summary:       CMAN header files
+Summary(pl.UTF-8):     Pliki nagłówkowe CMAN
+Group:         Development/Libraries
+Requires:      %{name}-libs = %{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/ %{rpmcflags}/' {lib,qdisk,tests}/Makefile
+%{__perl} -pi -e 's/ -O2 /%{rpmcflags}/' {cman_tool,daemon}/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
+install -d $RPM_BUILD_ROOT{/etc/sysconfig,/etc/rc.d/init.d}
 
-%{__make} install \
+%{__make} -C %{name}%{?with_libonly:/lib} install \
        DESTDIR=$RPM_BUILD_ROOT
 
+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/chkconfig --add %{name}
+
+%preun
+if [ "$1" = "0" ]; then
+       %service -q %{name} stop
+       /sbin/chkconfig --del %{name}
+fi
+
+%post  libs -p /sbin/ldconfig
+%postun        libs -p /sbin/ldconfig
+
+%if %{without libonly}
 %files
 %defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
+%attr(754,root,root) /etc/rc.d/init.d/%{name}
+#%attr(754,root,root) /etc/rc.d/init.d/qdiskd
 %attr(755,root,root) %{_sbindir}/*
+%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*
+%endif
+
+%files libs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libcman.so.*.*
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libcman.so
+%{_includedir}/*.h
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libcman.a
This page took 0.090885 seconds and 4 git commands to generate.