]> git.pld-linux.org Git - packages/cman.git/blob - cman.spec
0c6ed7f8e0443bf14bdafdcf70633d90e0ff0661
[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:        1
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
55 %description libs
56 CMAN library.
57
58 %description libs -l pl.UTF-8
59 Biblioteka CMAN.
60
61 %package devel
62 Summary:        CMAN header files
63 Summary(pl.UTF-8):      Pliki nagłówkowe CMAN
64 Group:          Development/Libraries
65 Requires:       %{name}-libs = %{version}-%{release}
66
67 %description devel
68 CMAN header files.
69
70 %description devel -l pl.UTF-8
71 Pliki nagłówkowe CMAN.
72
73 %package static
74 Summary:        CMAN static library
75 Summary(pl.UTF-8):      Biblioteka statyczna CMAN
76 Group:          Development/Libraries
77 Requires:       %{name}-devel = %{version}-%{release}
78
79 %description static
80 CMAN static library.
81
82 %description devel -l pl.UTF-8
83 Biblioteka statyczna CMAN.
84
85 %prep
86 %setup -q -n cluster-%{version}
87
88 cd %{name}
89 %{__perl} -pi -e 's/ -g/ %{rpmcflags}/' {lib,qdisk,tests}/Makefile
90 %{__perl} -pi -e 's/ -O2 /%{rpmcflags}/' {cman_tool,daemon}/Makefile
91
92 %build
93 cd %{name}
94 ./configure \
95         --ccsincdir="$PWD/../ccs/lib" \
96         --incdir=%{_includedir} \
97         --libdir=%{_libdir} \
98         --libexecdir=%{_libdir} \
99         --mandir=%{_mandir} \
100         --prefix=%{_prefix} \
101         --sbindir=%{_sbindir}
102 %{__make} %{?with_libonly:-C lib} \
103         CC="%{__cc}" \
104         incdir=`pwd`/include
105
106 %install
107 rm -rf $RPM_BUILD_ROOT
108 install -d $RPM_BUILD_ROOT{/etc/sysconfig,/etc/rc.d/init.d}
109
110 %{__make} -C %{name}%{?with_libonly:/lib} install \
111         DESTDIR=$RPM_BUILD_ROOT
112
113 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
114 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
115
116 %clean
117 rm -rf $RPM_BUILD_ROOT
118
119 %post
120 /sbin/chkconfig --add %{name}
121
122 %preun
123 if [ "$1" = "0" ]; then
124         %service -q %{name} stop
125         /sbin/chkconfig --del %{name}
126 fi
127
128 %post   libs -p /sbin/ldconfig
129 %postun libs -p /sbin/ldconfig
130
131 %if %{without libobly}
132 %files
133 %defattr(644,root,root,755)
134 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
135 %attr(754,root,root) /etc/rc.d/init.d/%{name}
136 #%attr(754,root,root) /etc/rc.d/init.d/qdiskd
137 %attr(755,root,root) %{_sbindir}/*
138 %attr(755,root,root) %{_libdir}/lcrso/service_cman.lcrso
139 %{_mandir}/man5/cman.5*
140 %{_mandir}/man5/qdisk.5*
141 %{_mandir}/man8/cman_tool.8*
142 %{_mandir}/man8/mkqdisk.8*
143 %{_mandir}/man8/qdiskd.8*
144 %endif
145
146 %files libs
147 %defattr(644,root,root,755)
148 %attr(755,root,root) %{_libdir}/libcman.so.*.*
149
150 %files devel
151 %defattr(644,root,root,755)
152 %attr(755,root,root) %{_libdir}/libcman.so
153 %{_includedir}/*.h
154
155 %files static
156 %defattr(644,root,root,755)
157 %{_libdir}/libcman.a
This page took 0.027688 seconds and 2 git commands to generate.