]> git.pld-linux.org Git - packages/cman.git/blob - cman.spec
6e7c889cfa0db4257baccff08b158a3dd72e2f78
[packages/cman.git] / cman.spec
1 #
2 # Conditional build:
3 %bcond_with     libonly         # build package only with lib (needed bootstrap with ccs)
4 #
5 Summary:        General-purpose symmetric cluster manager
6 Summary(pl.UTF-8):      Zarządca symetrycznych klastrów ogólnego przeznaczenia
7 Name:           cman
8 Version:        2.00.00
9 Release:        2
10 License:        GPL v2
11 Group:          Applications/System
12 Source0:        ftp://sources.redhat.com/pub/cluster/releases/cluster-%{version}.tar.gz
13 # Source0-md5:  2ef3f4ba9d3c87b50adfc9b406171085
14 Source1:        %{name}.init
15 Source2:        %{name}.sysconfig
16 URL:            http://sources.redhat.com/cluster/cman/
17 %{!?with_libonly:BuildRequires: ccs-devel}
18 BuildRequires:  openais-devel
19 BuildRequires:  perl-base
20 Requires:       %{name}-libs = %{version}-%{release}
21 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
22
23 %define         _sbindir        /sbin
24
25 # aliasing problems in qdisk/disk.c
26 %define         specflags       -fno-strict-aliasing
27
28 %description
29 MAN is a symmetric, general-purpose, kernel-based cluster manager. It
30 has two parts. Connection Manager (cnxman) handles membership,
31 messaging, quorum, event notification and transitions. Service Manager
32 (sm) handles "service groups" which are a general way of representing
33 and managing instances of external systems that require cluster
34 management. The CMAN cluster manager is the foundational system upon
35 which DLM, GFS, CLVM, and Fence all depend. The CMAN API in the kernel
36 and userspace is general and available for other programs to use.
37
38 %description -l pl.UTF-8
39 MAN to zarządca opartych na jądrze symetrycznych klastrów ogólnego
40 przeznaczenia. Składa się z dwóch części. Zarządca połączeń
41 (Connection Manager, cnxman) obsługuje członkostwo, komunikację,
42 kworum, powiadamianie o zdarzeniach i przejścia. Zarządca usług
43 (Service Manager, sm) obsługuje "grupy usług", które są ogólnym
44 sposobem reprezentacji i zarządzania instancjami zewnętrznych systemów
45 wymagających zarządzania klastrem. Zarządca klastrów CMAN to
46 podstawowy system, na którym polegają DLM, GFS, CLVM i Fence. API
47 CMAN-a w jądrze i przestrzeni użytkownika jest ogólne i w całości
48 dostępne do wykorzystania w innych programach.
49
50 %package libs
51 Summary:        CMAN library
52 Summary(pl.UTF-8):      Biblioteka CMAN
53 Group:          Libraries
54 Obsoletes:      gulm
55 Obsoletes:      gulm-devel
56 Obsoletes:      gulm-static
57 Obsoletes:      magma
58 Obsoletes:      magma-devel
59 Obsoletes:      magma-plugins
60 Obsoletes:      magma-static
61 Conflicts:      cman < 2.00.00-2
62
63 %description libs
64 CMAN library.
65
66 %description libs -l pl.UTF-8
67 Biblioteka CMAN.
68
69 %package devel
70 Summary:        CMAN header files
71 Summary(pl.UTF-8):      Pliki nagłówkowe CMAN
72 Group:          Development/Libraries
73 Requires:       %{name}-libs = %{version}-%{release}
74
75 %description devel
76 CMAN header files.
77
78 %description devel -l pl.UTF-8
79 Pliki nagłówkowe CMAN.
80
81 %package static
82 Summary:        CMAN static library
83 Summary(pl.UTF-8):      Biblioteka statyczna CMAN
84 Group:          Development/Libraries
85 Requires:       %{name}-devel = %{version}-%{release}
86
87 %description static
88 CMAN static library.
89
90 %description devel -l pl.UTF-8
91 Biblioteka statyczna CMAN.
92
93 %prep
94 %setup -q -n cluster-%{version}
95
96 cd %{name}
97 %{__perl} -pi -e 's/ -g/ %{rpmcflags}/' {lib,qdisk,tests}/Makefile
98 %{__perl} -pi -e 's/ -O2 /%{rpmcflags}/' {cman_tool,daemon}/Makefile
99
100 %build
101 cd %{name}
102 ./configure \
103         --ccsincdir="$PWD/../ccs/lib" \
104         --incdir=%{_includedir} \
105         --libdir=%{_libdir} \
106         --libexecdir=%{_libdir} \
107         --mandir=%{_mandir} \
108         --prefix=%{_prefix} \
109         --sbindir=%{_sbindir}
110 %{__make} %{?with_libonly:-C lib} \
111         CC="%{__cc}" \
112         incdir=`pwd`/include
113
114 %install
115 rm -rf $RPM_BUILD_ROOT
116 install -d $RPM_BUILD_ROOT{/etc/sysconfig,/etc/rc.d/init.d}
117
118 %{__make} -C %{name}%{?with_libonly:/lib} install \
119         DESTDIR=$RPM_BUILD_ROOT
120
121 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
122 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
123
124 %clean
125 rm -rf $RPM_BUILD_ROOT
126
127 %post
128 /sbin/chkconfig --add %{name}
129
130 %preun
131 if [ "$1" = "0" ]; then
132         %service -q %{name} stop
133         /sbin/chkconfig --del %{name}
134 fi
135
136 %post   libs -p /sbin/ldconfig
137 %postun libs -p /sbin/ldconfig
138
139 %if %{without libobly}
140 %files
141 %defattr(644,root,root,755)
142 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
143 %attr(754,root,root) /etc/rc.d/init.d/%{name}
144 #%attr(754,root,root) /etc/rc.d/init.d/qdiskd
145 %attr(755,root,root) %{_sbindir}/*
146 %attr(755,root,root) %{_libdir}/lcrso/service_cman.lcrso
147 %{_mandir}/man5/cman.5*
148 %{_mandir}/man5/qdisk.5*
149 %{_mandir}/man8/cman_tool.8*
150 %{_mandir}/man8/mkqdisk.8*
151 %{_mandir}/man8/qdiskd.8*
152 %endif
153
154 %files libs
155 %defattr(644,root,root,755)
156 %attr(755,root,root) %{_libdir}/libcman.so.*.*
157
158 %files devel
159 %defattr(644,root,root,755)
160 %attr(755,root,root) %{_libdir}/libcman.so
161 %{_includedir}/*.h
162
163 %files static
164 %defattr(644,root,root,755)
165 %{_libdir}/libcman.a
This page took 0.062795 seconds and 2 git commands to generate.