source: projects/specs/trunk/p/pacemaker/pacemaker-vl.spec @ 5849

Revision 5849, 20.3 KB checked in by Takemikaduchi, 12 years ago (diff)

net-snmp-5.7.1

Line 
1%global gname haclient
2%global uname hacluster
3%global pcmk_docdir %{_docdir}/%{name}
4
5# Supported cluster stacks, must support at least one
6%bcond_without ais
7%bcond_with heartbeat
8
9# ESMTP is not available in RHEL, only in EPEL. Allow people to build
10# the RPM without ESMTP in case they choose not to use EPEL packages
11%bcond_without esmtp
12
13# SNMP trap support only works with Net-SNMP 5.4 and above
14%bcond_without snmp
15
16# We generate some docs using Publican, but its not available everywhere
17%bcond_with publican
18
19%global specversion 3
20%global upstream_version Pacemaker-1.1.2
21%global upstream_prefix Pacemaker-1-1-
22
23# Keep around for when/if required
24#global alphatag %{upstream_version}.hg
25
26%global pcmk_release %{?alphatag:0.}%{specversion}%{?alphatag:.%{alphatag}}%{?dist}
27
28# When downloading directly from Mercurial, it will automatically add a prefix
29# Invoking 'hg archive' wont but you can add one with:
30# hg archive -t tgz -p "$upstream_prefix-$upstream_version" -r $upstream_version $upstream_version.tar.gz
31
32Name:           pacemaker
33Summary:        Scalable High-Availability cluster resource manager
34Summary(ja):    スケーラブル高可用クラスタリソースマネージャ
35Version:        1.1.2
36Release:        4%{?_dist_release}
37License:        GPLv2+ and LGPLv2+
38Url:            http://www.clusterlabs.org
39Group:          System Environment/Daemons
40Source0:        http://hg.clusterlabs.org/pacemaker/1.1/archive/%{upstream_version}.tar.bz2
41Patch1:         bug-lf-2401.patch
42Patch2:         doc-validation.patch
43Patch3:         pacemaker-1.1.2-fix-docbook-detection.patch
44Patch4:         pacemaker-1.1.2-dont-use-find-to-detect-host-env.patch
45BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root
46AutoReqProv:    on
47Requires(pre):  cluster-glue
48Requires:       resource-agents
49Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
50
51# Required for core functionality
52BuildRequires:  automake autoconf libtool pkgconfig libtool-ltdl-devel python-devel
53BuildRequires:  glib2-devel cluster-glue-libs-devel libxml2-devel libxslt-devel
54BuildRequires:  pkgconfig python-devel gcc-c++ bzip2-devel gnutls-devel pam-devel
55
56# Enables optional functionality
57BuildRequires:  help2man ncurses-devel openssl-devel
58
59%if %{with esmtp}
60BuildRequires:  libesmtp-devel
61%endif
62
63%if %{with snmp}
64BuildRequires:  net-snmp-devel >= 5.4
65Requires:       net-snmp
66%endif
67
68%if %{with ais}
69BuildRequires:  corosynclib-devel
70%endif
71
72%if %{with heartbeat}
73BuildRequires:  heartbeat-devel heartbeat-libs
74%endif
75
76%if %{with publican}
77%ifarch i386 x86_64
78BuildRequires:  publican
79%endif
80%endif
81
82%description
83Pacemaker is an advanced, scalable High-Availability cluster resource
84manager for Linux-HA (Heartbeat) and/or OpenAIS.
85
86It supports "n-node" clusters with significant capabilities for
87managing resources and dependencies.
88
89It will run scripts at initialization, when machines go up or down,
90when related resources fail and can be configured to periodically check
91resource health.
92
93%package -n pacemaker-libs
94License:        GPLv2+ and LGPLv2+
95Summary:        Libraries used by the Pacemaker cluster resource manager and its clients
96Summary(ja):    Libraries used by the Pacemaker cluster resource manager and its clients
97Group:          System Environment/Daemons
98Requires:       %{name} = %{version}-%{release}
99
100%description -n pacemaker-libs
101Pacemaker is an advanced, scalable High-Availability cluster resource
102manager for Linux-HA (Heartbeat) and/or OpenAIS.
103
104It supports "n-node" clusters with significant capabilities for
105managing resources and dependencies.
106
107It will run scripts at initialization, when machines go up or down,
108when related resources fail and can be configured to periodically check
109resource health.
110
111%package -n pacemaker-libs-devel
112License:        GPLv2+ and LGPLv2+
113Summary:        Pacemaker development package
114Summary(ja):    Pacemaker 開発パッケージ
115Group:          Development/Libraries
116Requires:       %{name}-libs = %{version}-%{release}
117Requires:       cluster-glue-libs-devel
118%if %{with ais}
119Requires:       corosynclib-devel
120%endif
121%if %{with heartbeat}
122Requires:       heartbeat-devel
123%endif
124
125%description -n pacemaker-libs-devel
126Headers and shared libraries for developing tools for Pacemaker.
127
128Pacemaker is an advanced, scalable High-Availability cluster resource
129manager for Linux-HA (Heartbeat) and/or OpenAIS.
130
131It supports "n-node" clusters with significant capabilities for
132managing resources and dependencies.
133
134It will run scripts at initialization, when machines go up or down,
135when related resources fail and can be configured to periodically check
136resource health.
137
138%package        cts
139License:        GPLv2+ and LGPLv2+
140Summary:        Test framework for cluster-related technologies like Pacemaker
141Summary(ja):    Test framework for cluster-related technologies like Pacemaker
142Group:          System Environment/Daemons
143Requires:       python
144
145%description    cts
146Test framework for cluster-related technologies like Pacemaker
147
148%package        doc
149License:        GPLv2+ and LGPLv2+
150Summary:        Documentation for Pacemaker
151Summary(ja):    Documentation for Pacemaker
152Group:          Documentation
153
154%description    doc
155Documentation for Pacemaker.
156
157Pacemaker is an advanced, scalable High-Availability cluster resource
158manager for OpenAIS/Corosync.
159
160It supports "n-node" clusters with significant capabilities for
161managing resources and dependencies.
162
163It will run scripts at initialization, when machines go up or down,
164when related resources fail and can be configured to periodically check
165resource health.
166
167%prep
168%setup -q -n %{upstream_prefix}%{upstream_version}
169%patch1 -p1
170%patch2 -p0
171%patch3 -p1
172%patch4 -p1
173
174%build
175./autogen.sh
176%{configure}                    \
177        %{!?_with_heartbeat:--without-hearbeat} \
178        %{?_without_ais}        \
179        %{?_without_esmtp}      \
180        %{?_without_snmp}       \
181        --disable-ansi          \
182        --docdir=%{pcmk_docdir} \
183        --localstatedir=%{_var} \
184        --enable-fatal-warnings=no
185
186make %{_smp_mflags}
187
188%install
189rm -rf %{buildroot}
190make DESTDIR=%{buildroot} install
191
192# Scripts that need should be executable
193chmod a+x %{buildroot}/%{_datadir}/pacemaker/tests/cts/CTSlab.py
194chmod a+x %{buildroot}/%{_datadir}/pacemaker/tests/cts/extracttests.py
195
196# These are not actually scripts
197find %{buildroot} -name '*.xml' -type f -print0 | xargs -0 chmod a-x
198find %{buildroot} -name '*.xsl' -type f -print0 | xargs -0 chmod a-x
199find %{buildroot} -name '*.rng' -type f -print0 | xargs -0 chmod a-x
200find %{buildroot} -name '*.dtd' -type f -print0 | xargs -0 chmod a-x
201 
202# Dont package static libs or compiled python
203find %{buildroot} -name '*.a' -type f -print0 | xargs -0 rm -f
204find %{buildroot} -name '*.la' -type f -print0 | xargs -0 rm -f
205
206# Don't package these either
207rm -f %{buildroot}/%{_libdir}/heartbeat/hb2openais-helper.py
208rm -f %{buildroot}/%{_libdir}/heartbeat/crm_primitive.py
209rm -f %{buildroot}/%{_libdir}/service_crm.so
210rm -f %{buildroot}/usr/lib/ocf/resource.d/pacemaker/pingd
211
212%clean
213rm -rf %{buildroot}
214
215%post -n pacemaker-libs -p /sbin/ldconfig
216
217%postun -n pacemaker-libs -p /sbin/ldconfig
218
219%files
220###########################################################
221%defattr(-,root,root)
222
223%exclude %{_datadir}/pacemaker/tests
224
225%{_datadir}/pacemaker
226%{_datadir}/snmp/mibs/PCMK-MIB.txt
227%{_libdir}/heartbeat/*
228%{_sbindir}/cibadmin
229%{_sbindir}/crm_attribute
230%{_sbindir}/crm_diff
231%{_sbindir}/crm_failcount
232%{_sbindir}/crm_master
233%{_sbindir}/crm_mon
234%{_sbindir}/crm
235%{_sbindir}/crm_simulate
236%{_sbindir}/crm_resource
237%{_sbindir}/crm_report
238%{_sbindir}/crm_standby
239%{_sbindir}/crm_verify
240%{_sbindir}/crmadmin
241%{_sbindir}/iso8601
242%{_sbindir}/attrd_updater
243%{_sbindir}/ptest
244%{_sbindir}/crm_shadow
245%{_sbindir}/cibpipe
246%{_sbindir}/crm_node
247%{_sbindir}/fence_legacy
248%{_sbindir}/stonith_admin
249%{python_sitelib}/crm
250#%{_mandir}/man8/*.8*
251%{_mandir}
252
253%if %{with heartbeat}
254%{_sbindir}/crm_uuid
255%else
256%exclude %{_sbindir}/crm_uuid
257%endif
258
259# Packaged elsewhere
260%exclude %{_datadir}/pacemaker/tests
261
262%doc COPYING
263%doc AUTHORS
264
265%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/heartbeat/crm
266%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pengine
267%dir %attr (750, %{uname}, %{gname}) %{_var}/run/crm
268%dir /usr/lib/ocf
269%dir /usr/lib/ocf/resource.d
270/usr/lib/ocf/resource.d/pacemaker
271%if %{with ais}
272%{_libexecdir}/lcrso/pacemaker.lcrso
273%endif
274
275%files -n pacemaker-libs
276%defattr(-,root,root)
277%{_libdir}/libcib.so.*
278%{_libdir}/libcrmcommon.so.*
279%{_libdir}/libcrmcluster.so.*
280%{_libdir}/libpe_status.so.*
281%{_libdir}/libpe_rules.so.*
282%{_libdir}/libpengine.so.*
283%{_libdir}/libtransitioner.so.*
284%{_libdir}/libstonithd.so.*
285%doc COPYING.LIB
286%doc AUTHORS
287
288%files doc
289%defattr(-,root,root)
290%doc %{pcmk_docdir}
291
292%files cts
293%defattr(-,root,root)
294%{python_sitelib}/cts
295%{_datadir}/pacemaker/tests/cts
296%doc COPYING.LIB
297%doc AUTHORS
298
299%files -n pacemaker-libs-devel
300%defattr(-,root,root)
301%exclude %{_datadir}/pacemaker/tests/cts
302%{_datadir}/pacemaker/tests
303%{_includedir}/pacemaker
304%{_libdir}/*.so
305%doc COPYING.LIB
306%doc AUTHORS
307
308%changelog
309* Wed Mar 07 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.1.2-4
310- rebuild with net-snmp-5.7.1
311
312* Wed Feb 29 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.1.2-3
313- rebuild with python-2.7.2
314
315* Sun Mar 20 2011 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.1.2-2
316- rebuild with openssl-1.0.0d
317
318* Sat Jul 10 2010 Daisuke SUZUKI <daisuke@linux.or.jp>  1.1.2-1
319- initial build for Vine Linux
320
321* Mon Jun 21 2010 Andrew Beekhof <andrew@beekhof.net> - 1.1.2-3
322- publican is only available as a dependancy on i386/x86_64 machines
323
324* Fri Jun 11 2010 Andrew Beekhof <andrew@beekhof.net> - 1.1.2-2
325- Resolves rhbz#602239 - Added patch to documentation so that it passes validation
326- High: Core: Bug lf#2401 - Backed out changeset 6e6980376f01
327
328* Tue Jun 01 2010 Marcela Maslanova <mmaslano@redhat.com> - 1.1.2-1.1
329- Mass rebuild with perl-5.12.0
330
331* Wed May 12 2010 Andrew Beekhof <andrew@beekhof.net> - 1.1.2-1
332- Update the tarball from the upstream 1.1.2 release
333  + High: ais: Bug lf#2340 - Force rogue child processes to terminate after waiting 2.5 minutes
334  + High: ais: Bug lf#2359 - Default expected votes to 2 inside Corosync/OpenAIS plugin
335  + High: ais: Bug lf#2359 - expected-quorum-votes not correctly updated after membership change
336  + High: ais: Bug rhbz#525552 - Move non-threadsafe calls to setenv() to after the fork()
337  + High: ais: Do not count votes from offline nodes and calculate current votes before sending quorum data
338  + High: ais: Ensure the list of active processes sent to clients is always up-to-date
339  + High: ais: Fix previous commit, actually return a result in get_process_list()
340  + High: ais: Fix two more uses of getpwnam() in non-thread-safe locations
341  + High: ais: Look for the correct conf variable for turning on file logging
342  + High: ais: Need to find a better and thread-safe way to set core_uses_pid. Disable for now.
343  + High: ais: Use the threadsafe version of getpwnam
344  + High: Core: Bug lf#2414 - Prevent use-after-free reported by valgrind when doing xpath based deletions
345  + High: Core: Bump the feature set due to the new failcount expiry feature
346  + High: Core: Fix memory leak in replace_xml_child() reported by valgrind
347  + High: Core: fix memory leaks exposed by valgrind
348  + High: crmd: Bug 2401 - Improved detection of partially active peers
349  + High: crmd: Bug bnc#578644 - Improve handling of cancelled operations caused by resource cleanup
350  + High: crmd: Bug lf#2379 - Ensure the cluster terminates when the PE is not available
351  + High: crmd: Bug lf#2414 - Prevent use-after-free of the PE connection after it dies
352  + High: crmd: Bug lf#2414 - Prevent use-after-free of the stonith-ng connection
353  + High: crmd: Do not allow the target_rc to be misused by resource agents
354  + High: crmd: Do not ignore action timeouts based on FSA state
355  + High: crmd: Ensure we dont get stuck in S_PENDING if we loose an election to someone that never talks to us again
356  + High: crmd: Fix memory leaks exposed by valgrind
357  + High: crmd: Remove race condition that could lead to multiple instances of a clone being active on a machine
358  + High: crmd: Send erase_status_tag() calls to the local CIB when the DC is fenced, since there is no DC to accept them
359  + High: crmd: Use global fencing notifications to prevent secondary fencing operations of the DC
360  + High: fencing: Account for stonith_get_info() always returning a pointer to the same static buffer
361  + High: PE: Allow startup probes to be disabled - their calculation is a major bottleneck for very large clusters
362  + High: PE: Bug lf#2317 - Avoid needless restart of primitive depending on a clone
363  + High: PE: Bug lf#2358 - Fix master-master anti-colocation
364  + High: PE: Bug lf#2361 - Ensure clones observe mandatory ordering constraints if the LHS is unrunnable
365  + High: PE: Bug lf#2383 - Combine failcounts for all instances of an anonymous clone on a host
366  + High: PE: Bug lf#2384 - Fix intra-set colocation and ordering
367  + High: PE: Bug lf#2403 - Enforce mandatory promotion (colocation) constraints
368  + High: PE: Bug lf#2412 - Correctly locate clone instances by their prefix
369  + High: PE: Correctly implement optional colocation between primitives and clone resources
370  + High: PE: Do not be so quick to pull the trigger on nodes that are coming up
371  + High: PE: Fix memory leaks exposed by valgrind
372  + High: PE: Fix memory leaks reported by valgrind
373  + High: PE: Repair handling of unordered groups in RHS ordering constraints
374  + High: PE: Rewrite native_merge_weights() to avoid Fix use-after-free
375  + High: PE: Suppress duplicate ordering constraints to achieve orders of magnitude speed increases for large clusters
376  + High: Shell: add support for xml in cli
377  + High: Shell: always reload status if working with the cluster (bnc#590035)
378  + High: Shell: check timeouts also against the default-action-timeout property
379  + High: Shell: Default to using the status section from the live CIB (bnc#592762)
380  + High: Shell: edit multiple meta_attributes sets in resource management (lf#2315)
381  + High: Shell: enable comments (lf#2221)
382  + High: Shell: implement new cibstatus interface and commands (bnc#580492)
383  + High: Shell: improve configure commit (lf#2336)
384  + High: Shell: new cibstatus import command (bnc#585471)
385  + High: Shell: new configure filter command
386  + High: Shell: restore error reporting in options
387  + High: Shell: split shell into modules
388  + High: Shell: support for the utilization element (old patch for the new structure)
389  + High: Shell: update previous node lookup procedure to include the id where necessary
390  + High: Tools: crm_mon - fix memory leaks exposed by valgrind
391
392* Thu Feb 11 2010 Andrew Beekhof <andrew@beekhof.net> - 1.1.1-0.1-60b7753f7310.hg
393- Update the tarball from upstream to version 60b7753f7310
394  + First public release of the 1.1 series
395
396* Wed Dec 9 2009 Andrew Beekhof <andrew@beekhof.net> - 1.0.5-5
397- Include patch of changeset 66b7bfd467f3:
398  Some clients such as gfs_controld want a cluster name, allow one to be specified in corosync.conf
399
400* Thu Oct 29 2009 Andrew Beekhof <andrew@beekhof.net> - 1.0.5-4
401- Include the fixes from CoroSync integration testing
402- Move the resource templates - they are not documentation
403- Ensure documentation is placed in a standard location
404- Exclude documentation that is included elsewhere in the package
405
406- Update the tarball from upstream to version ee19d8e83c2a
407  + High: cib: Correctly clean up when both plaintext and tls remote ports are requested
408  + High: PE: Bug bnc#515172 - Provide better defaults for lt(e) and gt(e) comparisions
409  + High: PE: Bug lf#2197 - Allow master instances placemaker to be influenced by colocation constraints
410  + High: PE: Make sure promote/demote pseudo actions are created correctly
411  + High: PE: Prevent target-role from promoting more than master-max instances
412  + High: ais: Bug lf#2199 - Prevent expected-quorum-votes from being populated with garbage
413  + High: ais: Prevent deadlock - dont try to release IPC message if the connection failed
414  + High: cib: For validation errors, send back the full CIB so the client can display the errors
415  + High: cib: Prevent use-after-free for remote plaintext connections
416  + High: crmd: Bug lf#2201 - Prevent use-of-NULL when running heartbeat
417  + High: Core: Bug lf#2169 - Allow dtd/schema validation to be disabled
418  + High: PE: Bug lf#2106 - Not all anonymous clone children are restarted after configuration change
419  + High: PE: Bug lf#2170 - stop-all-resources option had no effect
420  + High: PE: Bug lf#2171 - Prevent groups from starting if they depend on a complex resource which cannot
421  + High: PE: Disable resource management if stonith-enabled=true and no stonith resources are defined
422  + High: PE: Do not include master score if it would prevent allocation
423  + High: ais: Avoid excessive load by checking for dead children every 1s (instead of 100ms)
424  + High: ais: Bug rh#525589 - Prevent shutdown deadlocks when running on CoroSync
425  + High: ais: Gracefully handle changes to the AIS nodeid
426  + High: crmd: Bug bnc#527530 - Wait for the transition to complete before leaving S_TRANSITION_ENGINE
427  + High: crmd: Prevent use-after-free with LOG_DEBUG_3
428  + Medium: xml: Mask the "symmetrical" attribute on rsc_colocation constraints (bnc#540672)
429  + Medium (bnc#520707): Tools: crm: new templates ocfs2 and clvm
430  + Medium: Build: Invert the disable ais/heartbeat logic so that --without (ais|heartbeat) is available to rpmbuild
431  + Medium: PE: Bug lf#2178 - Indicate unmanaged clones
432  + Medium: PE: Bug lf#2180 - Include node information for all failed ops
433  + Medium: PE: Bug lf#2189 - Incorrect error message when unpacking simple ordering constraint
434  + Medium: PE: Correctly log resources that would like to start but cannot
435  + Medium: PE: Stop ptest from logging to syslog
436  + Medium: ais: Include version details in plugin name
437  + Medium: crmd: Requery the resource metadata after every start operation
438
439* Fri Oct  9 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.0.5-3
440- rebuilt with new net-snmp
441
442* Fri Aug 21 2009 Tomas Mraz <tmraz@redhat.com> - 1.0.5-2.1
443- rebuilt with new openssl
444
445* Wed Aug 19 2009 Andrew Beekhof <andrew@beekhof.net> - 1.0.5-2
446- Add versioned perl dependancy as specified by
447    https://fedoraproject.org/wiki/Packaging/Perl#Packages_that_link_to_libperl
448- No longer remove RPATH data, it prevents us finding libperl.so and no other
449  libraries were being hardcoded
450- Compile in support for heartbeat
451- Conditionally add heartbeat-devel and corosynclib-devel to the -devel requirements
452  depending on which stacks are supported
453
454* Mon Aug 17 2009 Andrew Beekhof <andrew@beekhof.net> - 1.0.5-1
455- Add dependancy on resource-agents
456- Use the version of the configure macro that supplies --prefix, --libdir, etc
457- Update the tarball from upstream to version 462f1569a437 (Pacemaker 1.0.5 final)
458  + High: Tools: crm_resource - Advertise --move instead of --migrate
459  + Medium: Extra: New node connectivity RA that uses system ping and attrd_updater
460  + Medium: crmd: Note that dc-deadtime can be used to mask the brokeness of some switches
461
462* Tue Aug 11 2009 Ville Skyttä <ville.skytta@iki.fi> - 1.0.5-0.7.c9120a53a6ae.hg
463- Use bzipped upstream tarball.
464
465* Wed Jul  29 2009 Andrew Beekhof <andrew@beekhof.net> - 1.0.5-0.6.c9120a53a6ae.hg
466- Add back missing build auto* dependancies
467- Minor cleanups to the install directive
468
469* Tue Jul  28 2009 Andrew Beekhof <andrew@beekhof.net> - 1.0.5-0.5.c9120a53a6ae.hg
470- Add a leading zero to the revision when alphatag is used
471
472* Tue Jul  28 2009 Andrew Beekhof <andrew@beekhof.net> - 1.0.5-0.4.c9120a53a6ae.hg
473- Incorporate the feedback from the cluster-glue review
474- Realistically, the version is a 1.0.5 pre-release
475- Use the global directive instead of define for variables
476- Use the haclient/hacluster group/user instead of daemon
477- Use the _configure macro
478- Fix install dependancies
479
480* Fri Jul  24 2009 Andrew Beekhof <andrew@beekhof.net> - 1.0.4-3
481- Include an AUTHORS and license file in each package
482- Change the library package name to pacemaker-libs to be more
483  Fedora compliant
484- Remove execute permissions from xml related files
485- Reference the new cluster-glue devel package name
486- Update the tarball from upstream to version c9120a53a6ae
487  + High: PE: Only prevent migration if the clone dependancy is stopping/starting on the target node
488  + High: PE: Bug 2160 - Dont shuffle clones due to colocation
489  + High: PE: New implementation of the resource migration (not stop/start) logic
490  + Medium: Tools: crm_resource - Prevent use-of-NULL by requiring a resource name for the -A and -a options
491  + Medium: PE: Prevent use-of-NULL in find_first_action()
492  + Low: Build: Include licensing files
493
494* Tue Jul 14 2009 Andrew Beekhof <andrew@beekhof.net> - 1.0.4-2
495- Reference authors from the project AUTHORS file instead of listing in description
496- Change Source0 to reference the project's Mercurial repo
497- Cleaned up the summaries and descriptions
498- Incorporate the results of Fedora package self-review
499
500* Tue Jul 14 2009 Andrew Beekhof <andrew@beekhof.net> - 1.0.4-1
501- Initial checkin
Note: See TracBrowser for help on using the repository browser.