3 %bcond_without ldap # do not include ldap support
5 Summary: Linux Cluster infrastructure
6 Summary(pl.UTF-8): Infrastruktura klastra linuksowego
10 License: LGPL v2.1+ (libraries), GPL v2+ (applications)
11 Group: Applications/System
12 Source0: https://fedorahosted.org/releases/c/l/cluster/%{name}-%{version}.tar.xz
13 # Source0-md5: 300d83dbbc525c3da21c2e961271c84b
14 Source1: %{name}.tmpfiles
15 Patch0: %{name}-no_ldap.patch
16 URL: https://fedorahosted.org/cluster/wiki/HomePage
17 BuildRequires: corosync-devel >= 1.4.1
18 BuildRequires: corosync-devel < 2
19 BuildRequires: libxml2-devel >= 2.0
20 BuildRequires: libxslt-progs
21 BuildRequires: ncurses-devel
22 BuildRequires: nspr-devel
23 BuildRequires: nss-devel
24 BuildRequires: openais-devel >= 1.1.4
25 %{?with_ldap:BuildRequires: openldap-devel}
26 BuildRequires: perl-ExtUtils-MakeMaker
27 BuildRequires: slang-devel
28 Requires: %{name}-cman = %{version}-%{release}
29 Requires: %{name}-rgmanager = %{version}-%{release}
30 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
32 %define _sbindir /sbin
35 Linux Cluster infrastructure.
37 %description -l pl.UTF-8
38 Infrastruktura klastra linuksowego.
41 Summary: Cluster configuration system
42 Summary(pl.UTF-8): System konfiguracji klastra
43 Group: Applications/System
44 Requires: %{name}-ccs-libs = %{version}-%{release}
45 Requires: corosync >= 1.4.1
46 Requires: libxml2-progs
50 Cluster configuration system to manage the cluster config file.
52 %description ccs -l pl.UTF-8
53 System konfiguracji klastra do zarządzania jego plikiem
57 Summary: Cluster configuration system library
58 Summary(pl.UTF-8): Biblioteka systemu konfiguracji klastra
60 Requires: corosync-libs >= 1.4.1
63 Cluster configuration system library.
65 %description ccs-libs -l pl.UTF-8
66 Biblioteka systemu konfiguracji klastra.
69 Summary: Header files for ccs library
70 Summary(pl.UTF-8): Pliki nagłówkowe dla biblioteki ccs
71 Group: Development/Libraries
72 Requires: %{name}-ccs-libs = %{version}-%{release}
73 Obsoletes: ccs-devel < 3
75 %description ccs-devel
76 Header files for ccs library.
78 %description ccs-devel -l pl.UTF-8
79 Pliki nagłówkowe dla biblioteki ccs.
82 Summary: Static ccs library
83 Summary(pl.UTF-8): Statyczna biblioteka ccs
84 Group: Development/Libraries
86 %description ccs-static
89 %description ccs-static -l pl.UTF-8
90 Statyczna biblioteka ccs.
93 Summary: Cluster infrastructure manager
94 Summary(pl.UTF-8): Zarządca infrastruktury klastra
95 Group: Applications/System
96 Requires: %{name}-ccs = %{version}-%{release}
97 Requires: %{name}-cman-libs = %{version}-%{release}
98 Requires: %{name}-dlm = %{version}-%{release}
99 Requires: %{name}-fence = %{version}-%{release}
100 Requires: %{name}-group = %{version}-%{release}
101 Requires: corosync >= 1.4.1
106 MAN is a symmetric, general-purpose, kernel-based cluster manager. It
107 has two parts. Connection Manager (cnxman) handles membership,
108 messaging, quorum, event notification and transitions. Service Manager
109 (sm) handles "service groups" which are a general way of representing
110 and managing instances of external systems that require cluster
111 management. The CMAN cluster manager is the foundational system upon
112 which DLM, GFS, CLVM, and Fence all depend. The CMAN API in the kernel
113 and userspace is general and available for other programs to use.
115 %description cman -l pl.UTF-8
116 MAN to zarządca opartych na jądrze symetrycznych klastrów ogólnego
117 przeznaczenia. Składa się z dwóch części. Zarządca połączeń
118 (Connection Manager, cnxman) obsługuje członkostwo, komunikację,
119 kworum, powiadamianie o zdarzeniach i przejścia. Zarządca usług
120 (Service Manager, sm) obsługuje "grupy usług", które są ogólnym
121 sposobem reprezentacji i zarządzania instancjami zewnętrznych systemów
122 wymagających zarządzania klastrem. Zarządca klastrów CMAN to
123 podstawowy system, na którym polegają DLM, GFS, CLVM i Fence. API
124 CMAN-a w jądrze i przestrzeni użytkownika jest ogólne i w całości
125 dostępne do wykorzystania w innych programach.
128 Summary: Cluster infrastructure manager library
129 Summary(pl.UTF-8): Biblioteka zarządcy infrastruktury klastra
131 Obsoletes: cman-libs < 3
132 # cluster 1.x packages obsoleted by cman-libs 2.x
134 Obsoletes: gulm-devel
135 Obsoletes: gulm-static
138 Obsoletes: magma-devel
139 Obsoletes: magma-plugins
140 Obsoletes: magma-static
142 %description cman-libs
143 Cluster infrastructure manager library.
145 %description cman-libs -l pl.UTF-8
146 Biblioteka zarządcy infrastruktury klastra.
149 Summary: Header filed for cman library
150 Summary(pl.UTF-8): Pliki nagłówkowe dla biblioteki cman
151 Group: Development/Libraries
152 Requires: %{name}-cman-libs = %{version}-%{release}
153 Obsoletes: cman-devel < 3
155 %description cman-devel
156 Header filed for cman library.
158 %description cman-devel -l pl.UTF-8
159 Pliki nagłówkowe dla biblioteki cman.
162 Summary: Static cman library
163 Summary(pl.UTF-8): Statyczna biblioteka cman
164 Group: Development/Libraries
165 Obsoletes: cman-static < 3
167 %description cman-static
170 %description cman-static -l pl.UTF-8
171 Statyczna biblioteka cman.
174 Summary: Distributed lock manager
175 Summary(pl.UTF-8): Zarządca rozproszonych blokad
176 Group: Applications/System
177 Requires: %{name}-dlm-libs = %{version}-%{release}
181 The DLM lock manager is a kernel-based VMS-like distributed lock
182 manager. It is general purpose and not specific to only GFS or CLVM.
183 Kernel and userspace locking API's are available.
185 %description dlm -l pl.UTF-8
186 Zarządca blokad DLM to oparty na jądrze zarządca rozproszonych blokad
187 w stylu VMS. Jest ogólnego przeznaczenia, przeznaczonym nie tylko dla
188 GFS-a czy CLVM-a. Dostępne są API blokowania w jądrze i przestrzeni
192 Summary: Distributed lock manager library
193 Summary(pl.UTF-8): Biblioteka zarządcy rozproszonych blokad
195 Obsoletes: dlm-libs < 3
197 %description dlm-libs
198 Distributed lock manager library.
200 %description dlm-libs -l pl.UTF-8
201 Biblioteka zarządcy rozproszonych blokad.
204 Summary: Header filed for dlm library
205 Summary(pl.UTF-8): Pliki nagłówkowe dla biblioteki dlm
206 Group: Development/Libraries
207 Requires: %{name}-dlm-libs = %{version}-%{release}
208 Obsoletes: dlm-devel < 3
210 %description dlm-devel
211 Header filed for dlm library.
213 %description dlm-devel -l pl.UTF-8
214 Pliki nagłówkowe dla biblioteki dlm.
217 Summary: Static dlm library
218 Summary(pl.UTF-8): Statyczna biblioteka dlm
219 Group: Development/Libraries
220 Obsoletes: dlm-static < 3
222 %description dlm-static
225 %description dlm-static -l pl.UTF-8
226 Statyczna biblioteka dlm.
229 Summary: Cluster infrastructure I/O fencing system
230 Summary(pl.UTF-8): System barier I/O infrastruktury klastra
231 Group: Applications/System
232 Requires: %{name}-ccs-libs = %{version}-%{release}
233 Requires: %{name}-cman-libs = %{version}-%{release}
234 Requires: %{name}-fence-libs = %{version}-%{release}
235 Requires: corosync >= 1.4.1
236 Suggests: fence-agents
240 The Fence system does I/O fencing of cluster members. Any member may
241 join the default fence domain after which it will be fenced if it
242 fails without leaving the fence domain cleanly. The lock_dlm GFS lock
243 module will not permit GFS to be mounted until the node has joined a
246 The fence daemon, fenced, is usually started by running "fence_tool
247 join". Once started, fenced joins the default fence domain and the
248 node is subject to being fenced if it fails. A collection of fence
249 agents are used by fenced to interface with hardware devices (usually
250 to shut off its path to shared storage or cycle its power source.)
252 %description fence -l pl.UTF-8
253 System Fence odpowiada za bariery I/O dla członków klastra. Każdy z
254 członków może dołączyć do domyślnej domeny barier, po czym będzie
255 odgrodzony jeśli zawiedzie nie opuszczając czysto domeny barier. Moduł
256 blokujący GFS-a lock_dlm nie pozwoli na podmontowanie GFS-a dopóki
257 węzeł nie dołączy do domeny barier.
259 Demon fence, fenced, jest zwykle uruchamiany przez fence_tool join. Po
260 uruchomieniu fenced dołącza do domyślnej domeny barier, a węzeł jest
261 przedmiotem odgrodzenia jeśli zawiedzie. fenced wykorzystuje zbiór
262 agentów fence do komunikacji z urządzeniami sprzętowymi (zwykle do
263 odcinania drogi do dzielonej pamięci lub wyłączania i włączania
267 Summary: Cluster infrastructure I/O fencing system libraries
268 Summary(pl.UTF-8): Biblioteki systemu barier I/O infrastruktury klastra
270 Requires: %{name}-ccs-libs = %{version}-%{release}
272 %description fence-libs
273 Cluster infrastructure I/O fencing system libraries.
275 %description fence-libs -l pl.UTF-8
276 Biblioteki systemu barier I/O infrastruktury klastra.
279 Summary: Header filed for fence library
280 Summary(pl.UTF-8): Pliki nagłówkowe dla biblioteki fence
281 Group: Development/Libraries
282 Requires: %{name}-fence-libs = %{version}-%{release}
284 %description fence-devel
285 Header filed for fence library.
287 %description fence-devel -l pl.UTF-8
288 Pliki nagłówkowe dla biblioteki fence.
290 %package fence-static
291 Summary: Static fence libraries
292 Summary(pl.UTF-8): Statyczne biblioteki fence
293 Group: Development/Libraries
294 Requires: %{name}-fence-devel = %{version}-%{release}
296 %description fence-static
297 Static fence libraries.
299 %description fence-static -l pl.UTF-8
300 Statyczne biblioteki fence.
303 Summary: Cluster 2 compatibility infrastructure
304 Summary(pl.UTF-8): Infrastruktura kompatybilności z klastrem w wersji 2
305 Group: Applications/System
306 Requires: %{name}-ccs-libs = %{version}-%{release}
307 Requires: %{name}-cman-libs = %{version}-%{release}
308 Requires: %{name}-dlm-libs = %{version}-%{release}
309 Requires: %{name}-fence-libs = %{version}-%{release}
312 Cluster 2 compatibility infrastructure.
314 %description group -l pl.UTF-8
315 Infrastruktura kompatybilności z klastrem w wersji 2.
318 Summary: HA resource group failover
319 Summary(pl.UTF-8): Failover dla grupy zasobów wysokiej dostępności
320 Group: Applications/System
321 Requires: %{name}-ccs-libs = %{version}-%{release}
322 Requires: %{name}-cman-libs = %{version}-%{release}
323 Requires: %{name}-dlm-libs = %{version}-%{release}
324 Requires: %{name}-fence-libs = %{version}-%{release}
325 Suggests: resource-agents
326 Obsoletes: rgmanager < 3
328 %description rgmanager
329 Resource Group Manager provides high availability of critical server
330 applications in the event of planned or unplanned system downtime.
332 %description rgmanager -l pl.UTF-8
333 Resource Group Manager daje wysoką dostępność krytycznych aplikacji
334 serwerowych w przypadku planowanych lub nieplanowanych wyłączeń
339 %{!?with_ldap:%patch0 -p1}
341 sed -i -e 's@-Wall@%{rpmcflags} -I/usr/include/ncurses -Wall@' make/defines.mk.input
345 --libdir=%{_libdir} \
346 --libexecdir=%{_libdir} \
347 --mandir=%{_mandir} \
348 --prefix=%{_prefix} \
349 --sbindir=%{_sbindir} \
350 --ncursesincdir=/usr/include/ncurses \
351 --disable_kernel_check
356 rm -rf $RPM_BUILD_ROOT
357 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/cluster,/etc/rc.d/init.d} \
358 $RPM_BUILD_ROOT{/var/log/cluster,%{systemdtmpfilesdir}}
361 DESTDIR=$RPM_BUILD_ROOT
363 mv $RPM_BUILD_ROOT/''etc/init.d/* $RPM_BUILD_ROOT/etc/rc.d/init.d
365 install %{SOURCE1} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
367 # let rpm autogenerate dependencies
368 chmod +x $RPM_BUILD_ROOT%{_libdir}/lib*.so*
371 rm -rf $RPM_BUILD_ROOT
373 %post ccs-libs -p /sbin/ldconfig
374 %postun ccs-libs -p /sbin/ldconfig
375 %post cman-libs -p /sbin/ldconfig
376 %postun cman-libs -p /sbin/ldconfig
377 %post dlm-libs -p /sbin/ldconfig
378 %postun dlm-libs -p /sbin/ldconfig
379 %post fence-libs -p /sbin/ldconfig
380 %postun fence-libs -p /sbin/ldconfig
383 %defattr(644,root,root,755)
386 %defattr(644,root,root,755)
388 %attr(755,root,root) %{_sbindir}/confdb2ldif
390 %attr(755,root,root) %{_sbindir}/ccs_config_dump
391 %attr(755,root,root) %{_sbindir}/ccs_config_validate
392 %attr(755,root,root) %{_sbindir}/ccs_test
393 %attr(755,root,root) %{_sbindir}/ccs_tool
394 %attr(755,root,root) %{_sbindir}/ccs_update_schema
395 %attr(755,root,root) %{_libdir}/lcrso/config_cmanpre.lcrso
396 %{?with_ldap:%attr(755,root,root) %{_libdir}/lcrso/config_ldap.lcrso}
397 %attr(755,root,root) %{_libdir}/lcrso/config_xml.lcrso
398 %attr(755,root,root) %{_libdir}/lcrso/service_cman.lcrso
399 %{_mandir}/man8/ccs_config_dump.8*
400 %{_mandir}/man8/ccs_config_validate.8*
401 %{_mandir}/man8/ccs_tool.8*
402 %{_mandir}/man8/ccs_update_schema.8*
404 %{_mandir}/man8/confdb2ldif.8*
406 %attr(700,root,root) /var/run/cluster
407 %{systemdtmpfilesdir}/%{name}.conf
410 %defattr(644,root,root,755)
411 %attr(755,root,root) %{_libdir}/libccs.so.3.0
412 %attr(755,root,root) %ghost %{_libdir}/libccs.so.3
415 %defattr(644,root,root,755)
416 %attr(755,root,root) %{_libdir}/libccs.so
418 %{_pkgconfigdir}/libccs.pc
421 %defattr(644,root,root,755)
425 %defattr(644,root,root,755)
426 %dir %{_sysconfdir}/cluster
427 %dir %{_sysconfdir}/cluster/cman-notify.d
428 /etc/logrotate.d/cluster
429 %attr(754,root,root) /etc/rc.d/init.d/cman
430 %attr(755,root,root) %{_sbindir}/cman_notify
431 %attr(755,root,root) %{_sbindir}/cman_tool
432 %attr(755,root,root) %{_sbindir}/cmannotifyd
433 %attr(755,root,root) %{_sbindir}/mkqdisk
434 %attr(755,root,root) %{_sbindir}/qdiskd
437 %{_mandir}/man5/cluster.conf.5*
438 %{_mandir}/man5/cman.5*
439 %{_mandir}/man5/qdisk.5*
440 %{_mandir}/man8/checkquorum.8*
441 %{_mandir}/man8/cman_notify.8*
442 %{_mandir}/man8/cman_tool.8*
443 %{_mandir}/man8/cmannotifyd.8*
444 %{_mandir}/man8/mkqdisk.8*
445 %{_mandir}/man8/qdiskd.8*
449 %defattr(644,root,root,755)
450 %attr(755,root,root) %{_libdir}/libcman.so.3.0
451 %attr(755,root,root) %ghost %{_libdir}/libcman.so.3
452 %attr(755,root,root) %{_libdir}/liblogthread.so.3.0
453 %attr(755,root,root) %ghost %{_libdir}/liblogthread.so.3
456 %defattr(644,root,root,755)
457 %attr(755,root,root) %{_libdir}/libcman.so
458 %attr(755,root,root) %{_libdir}/liblogthread.so
459 %{_includedir}/libcman.h
460 %{_includedir}/liblogthread.h
461 %{_pkgconfigdir}/libcman.pc
462 %{_pkgconfigdir}/liblogthread.pc
465 %defattr(644,root,root,755)
467 %{_libdir}/liblogthread.a
470 %defattr(644,root,root,755)
471 /lib/udev/rules.d/51-dlm.rules
472 %attr(755,root,root) %{_sbindir}/dlm_tool
473 %{_mandir}/man8/dlm_tool.8*
476 %defattr(644,root,root,755)
477 %attr(755,root,root) %{_libdir}/libdlm.so.3.0
478 %attr(755,root,root) %ghost %{_libdir}/libdlm.so.3
479 %attr(755,root,root) %{_libdir}/libdlm_lt.so.3.0
480 %attr(755,root,root) %ghost %{_libdir}/libdlm_lt.so.3
481 %attr(755,root,root) %{_libdir}/libdlmcontrol.so.3.1
482 %attr(755,root,root) %ghost %{_libdir}/libdlmcontrol.so.3
485 %defattr(644,root,root,755)
486 %attr(755,root,root) %{_libdir}/libdlm.so
487 %attr(755,root,root) %{_libdir}/libdlm_lt.so
488 %attr(755,root,root) %{_libdir}/libdlmcontrol.so
489 %{_includedir}/libdlm.h
490 %{_includedir}/libdlmcontrol.h
491 %{_pkgconfigdir}/libdlm.pc
492 %{_pkgconfigdir}/libdlm_lt.pc
493 %{_pkgconfigdir}/libdlmcontrol.pc
494 %{_mandir}/man3/dlm_*.3*
495 %{_mandir}/man3/libdlm.3*
498 %defattr(644,root,root,755)
500 %{_libdir}/libdlm_lt.a
501 %{_libdir}/libdlmcontrol.a
504 %defattr(644,root,root,755)
505 %attr(755,root,root) %{_sbindir}/fence_*
506 %attr(755,root,root) %{_sbindir}/fenced
507 %{perl_vendorarch}/Cluster
508 %dir %{perl_vendorarch}/auto/Cluster
509 %dir %{perl_vendorarch}/auto/Cluster/CCS
510 %{perl_vendorarch}/auto/Cluster/CCS/CCS.bs
511 %attr(755,root,root) %{perl_vendorarch}/auto/Cluster/CCS/CCS.so
512 %{_mandir}/man3/Cluster::CCS.3pm*
513 %{_mandir}/man8/fence_*.8*
514 %{_mandir}/man8/fenced.8*
517 %defattr(644,root,root,755)
518 %attr(755,root,root) %{_libdir}/libfence.so.4.0
519 %attr(755,root,root) %ghost %{_libdir}/libfence.so.4
520 %attr(755,root,root) %{_libdir}/libfenced.so.3.0
521 %attr(755,root,root) %ghost %{_libdir}/libfenced.so.3
524 %defattr(644,root,root,755)
525 %attr(755,root,root) %{_libdir}/libfence.so
526 %attr(755,root,root) %{_libdir}/libfenced.so
527 %{_includedir}/libfence.h
528 %{_includedir}/libfenced.h
529 %{_pkgconfigdir}/libfence.pc
530 %{_pkgconfigdir}/libfenced.pc
533 %defattr(644,root,root,755)
534 %{_libdir}/libfence.a
535 %{_libdir}/libfenced.a
538 %defattr(644,root,root,755)
539 %attr(755,root,root) %{_sbindir}/dlm_controld
540 %attr(755,root,root) %{_sbindir}/group_tool
541 %attr(755,root,root) %{_sbindir}/groupd
542 %{_mandir}/man8/dlm_controld.8*
543 %{_mandir}/man8/group_tool.8*
544 %{_mandir}/man8/groupd.8*
547 %defattr(644,root,root,755)
548 %attr(754,root,root) /etc/rc.d/init.d/cpglockd
549 %attr(754,root,root) /etc/rc.d/init.d/rgmanager
550 %attr(755,root,root) %{_sbindir}/clubufflush
551 %attr(755,root,root) %{_sbindir}/clufindhostname
552 %attr(755,root,root) %{_sbindir}/clulog
553 %attr(755,root,root) %{_sbindir}/clunfslock
554 %attr(755,root,root) %{_sbindir}/clurgmgrd
555 %attr(755,root,root) %{_sbindir}/clustat
556 %attr(755,root,root) %{_sbindir}/clusvcadm
557 %attr(755,root,root) %{_sbindir}/cpglockd
558 %attr(755,root,root) %{_sbindir}/cpglockdump
559 %attr(755,root,root) %{_sbindir}/rg_test
560 %attr(755,root,root) %{_sbindir}/rgmanager
561 %{_mandir}/man8/clubufflush.8*
562 %{_mandir}/man8/clufindhostname.8*
563 %{_mandir}/man8/clulog.8*
564 %{_mandir}/man8/clurgmgrd.8*
565 %{_mandir}/man8/clustat.8*
566 %{_mandir}/man8/clusvcadm.8*
567 %{_mandir}/man8/cpglockd.8*
568 %{_mandir}/man8/rgmanager.8*