source: projects/specs/branches/6/p/pacemaker/pacemaker-vl.spec @ 7739

Revision 7739, 20.2 KB checked in by Takemikaduchi, 11 years ago (diff)

rebuild packages & security fix

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:        3%{?_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* Sun Jul 28 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.1.2-3
310- rebuild with perl-5.12.3
311
312* Sun Mar 20 2011 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.1.2-2
313- rebuild with openssl-1.0.0d
314
315* Sat Jul 10 2010 Daisuke SUZUKI <daisuke@linux.or.jp>  1.1.2-1
316- initial build for Vine Linux
317
318* Mon Jun 21 2010 Andrew Beekhof <andrew@beekhof.net> - 1.1.2-3
319- publican is only available as a dependancy on i386/x86_64 machines
320
321* Fri Jun 11 2010 Andrew Beekhof <andrew@beekhof.net> - 1.1.2-2
322- Resolves rhbz#602239 - Added patch to documentation so that it passes validation
323- High: Core: Bug lf#2401 - Backed out changeset 6e6980376f01
324
325* Tue Jun 01 2010 Marcela Maslanova <mmaslano@redhat.com> - 1.1.2-1.1
326- Mass rebuild with perl-5.12.0
327
328* Wed May 12 2010 Andrew Beekhof <andrew@beekhof.net> - 1.1.2-1
329- Update the tarball from the upstream 1.1.2 release
330  + High: ais: Bug lf#2340 - Force rogue child processes to terminate after waiting 2.5 minutes
331  + High: ais: Bug lf#2359 - Default expected votes to 2 inside Corosync/OpenAIS plugin
332  + High: ais: Bug lf#2359 - expected-quorum-votes not correctly updated after membership change
333  + High: ais: Bug rhbz#525552 - Move non-threadsafe calls to setenv() to after the fork()
334  + High: ais: Do not count votes from offline nodes and calculate current votes before sending quorum data
335  + High: ais: Ensure the list of active processes sent to clients is always up-to-date
336  + High: ais: Fix previous commit, actually return a result in get_process_list()
337  + High: ais: Fix two more uses of getpwnam() in non-thread-safe locations
338  + High: ais: Look for the correct conf variable for turning on file logging
339  + High: ais: Need to find a better and thread-safe way to set core_uses_pid. Disable for now.
340  + High: ais: Use the threadsafe version of getpwnam
341  + High: Core: Bug lf#2414 - Prevent use-after-free reported by valgrind when doing xpath based deletions
342  + High: Core: Bump the feature set due to the new failcount expiry feature
343  + High: Core: Fix memory leak in replace_xml_child() reported by valgrind
344  + High: Core: fix memory leaks exposed by valgrind
345  + High: crmd: Bug 2401 - Improved detection of partially active peers
346  + High: crmd: Bug bnc#578644 - Improve handling of cancelled operations caused by resource cleanup
347  + High: crmd: Bug lf#2379 - Ensure the cluster terminates when the PE is not available
348  + High: crmd: Bug lf#2414 - Prevent use-after-free of the PE connection after it dies
349  + High: crmd: Bug lf#2414 - Prevent use-after-free of the stonith-ng connection
350  + High: crmd: Do not allow the target_rc to be misused by resource agents
351  + High: crmd: Do not ignore action timeouts based on FSA state
352  + High: crmd: Ensure we dont get stuck in S_PENDING if we loose an election to someone that never talks to us again
353  + High: crmd: Fix memory leaks exposed by valgrind
354  + High: crmd: Remove race condition that could lead to multiple instances of a clone being active on a machine
355  + High: crmd: Send erase_status_tag() calls to the local CIB when the DC is fenced, since there is no DC to accept them
356  + High: crmd: Use global fencing notifications to prevent secondary fencing operations of the DC
357  + High: fencing: Account for stonith_get_info() always returning a pointer to the same static buffer
358  + High: PE: Allow startup probes to be disabled - their calculation is a major bottleneck for very large clusters
359  + High: PE: Bug lf#2317 - Avoid needless restart of primitive depending on a clone
360  + High: PE: Bug lf#2358 - Fix master-master anti-colocation
361  + High: PE: Bug lf#2361 - Ensure clones observe mandatory ordering constraints if the LHS is unrunnable
362  + High: PE: Bug lf#2383 - Combine failcounts for all instances of an anonymous clone on a host
363  + High: PE: Bug lf#2384 - Fix intra-set colocation and ordering
364  + High: PE: Bug lf#2403 - Enforce mandatory promotion (colocation) constraints
365  + High: PE: Bug lf#2412 - Correctly locate clone instances by their prefix
366  + High: PE: Correctly implement optional colocation between primitives and clone resources
367  + High: PE: Do not be so quick to pull the trigger on nodes that are coming up
368  + High: PE: Fix memory leaks exposed by valgrind
369  + High: PE: Fix memory leaks reported by valgrind
370  + High: PE: Repair handling of unordered groups in RHS ordering constraints
371  + High: PE: Rewrite native_merge_weights() to avoid Fix use-after-free
372  + High: PE: Suppress duplicate ordering constraints to achieve orders of magnitude speed increases for large clusters
373  + High: Shell: add support for xml in cli
374  + High: Shell: always reload status if working with the cluster (bnc#590035)
375  + High: Shell: check timeouts also against the default-action-timeout property
376  + High: Shell: Default to using the status section from the live CIB (bnc#592762)
377  + High: Shell: edit multiple meta_attributes sets in resource management (lf#2315)
378  + High: Shell: enable comments (lf#2221)
379  + High: Shell: implement new cibstatus interface and commands (bnc#580492)
380  + High: Shell: improve configure commit (lf#2336)
381  + High: Shell: new cibstatus import command (bnc#585471)
382  + High: Shell: new configure filter command
383  + High: Shell: restore error reporting in options
384  + High: Shell: split shell into modules
385  + High: Shell: support for the utilization element (old patch for the new structure)
386  + High: Shell: update previous node lookup procedure to include the id where necessary
387  + High: Tools: crm_mon - fix memory leaks exposed by valgrind
388
389* Thu Feb 11 2010 Andrew Beekhof <andrew@beekhof.net> - 1.1.1-0.1-60b7753f7310.hg
390- Update the tarball from upstream to version 60b7753f7310
391  + First public release of the 1.1 series
392
393* Wed Dec 9 2009 Andrew Beekhof <andrew@beekhof.net> - 1.0.5-5
394- Include patch of changeset 66b7bfd467f3:
395  Some clients such as gfs_controld want a cluster name, allow one to be specified in corosync.conf
396
397* Thu Oct 29 2009 Andrew Beekhof <andrew@beekhof.net> - 1.0.5-4
398- Include the fixes from CoroSync integration testing
399- Move the resource templates - they are not documentation
400- Ensure documentation is placed in a standard location
401- Exclude documentation that is included elsewhere in the package
402
403- Update the tarball from upstream to version ee19d8e83c2a
404  + High: cib: Correctly clean up when both plaintext and tls remote ports are requested
405  + High: PE: Bug bnc#515172 - Provide better defaults for lt(e) and gt(e) comparisions
406  + High: PE: Bug lf#2197 - Allow master instances placemaker to be influenced by colocation constraints
407  + High: PE: Make sure promote/demote pseudo actions are created correctly
408  + High: PE: Prevent target-role from promoting more than master-max instances
409  + High: ais: Bug lf#2199 - Prevent expected-quorum-votes from being populated with garbage
410  + High: ais: Prevent deadlock - dont try to release IPC message if the connection failed
411  + High: cib: For validation errors, send back the full CIB so the client can display the errors
412  + High: cib: Prevent use-after-free for remote plaintext connections
413  + High: crmd: Bug lf#2201 - Prevent use-of-NULL when running heartbeat
414  + High: Core: Bug lf#2169 - Allow dtd/schema validation to be disabled
415  + High: PE: Bug lf#2106 - Not all anonymous clone children are restarted after configuration change
416  + High: PE: Bug lf#2170 - stop-all-resources option had no effect
417  + High: PE: Bug lf#2171 - Prevent groups from starting if they depend on a complex resource which cannot
418  + High: PE: Disable resource management if stonith-enabled=true and no stonith resources are defined
419  + High: PE: Do not include master score if it would prevent allocation
420  + High: ais: Avoid excessive load by checking for dead children every 1s (instead of 100ms)
421  + High: ais: Bug rh#525589 - Prevent shutdown deadlocks when running on CoroSync
422  + High: ais: Gracefully handle changes to the AIS nodeid
423  + High: crmd: Bug bnc#527530 - Wait for the transition to complete before leaving S_TRANSITION_ENGINE
424  + High: crmd: Prevent use-after-free with LOG_DEBUG_3
425  + Medium: xml: Mask the "symmetrical" attribute on rsc_colocation constraints (bnc#540672)
426  + Medium (bnc#520707): Tools: crm: new templates ocfs2 and clvm
427  + Medium: Build: Invert the disable ais/heartbeat logic so that --without (ais|heartbeat) is available to rpmbuild
428  + Medium: PE: Bug lf#2178 - Indicate unmanaged clones
429  + Medium: PE: Bug lf#2180 - Include node information for all failed ops
430  + Medium: PE: Bug lf#2189 - Incorrect error message when unpacking simple ordering constraint
431  + Medium: PE: Correctly log resources that would like to start but cannot
432  + Medium: PE: Stop ptest from logging to syslog
433  + Medium: ais: Include version details in plugin name
434  + Medium: crmd: Requery the resource metadata after every start operation
435
436* Fri Oct  9 2009 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.0.5-3
437- rebuilt with new net-snmp
438
439* Fri Aug 21 2009 Tomas Mraz <tmraz@redhat.com> - 1.0.5-2.1
440- rebuilt with new openssl
441
442* Wed Aug 19 2009 Andrew Beekhof <andrew@beekhof.net> - 1.0.5-2
443- Add versioned perl dependancy as specified by
444    https://fedoraproject.org/wiki/Packaging/Perl#Packages_that_link_to_libperl
445- No longer remove RPATH data, it prevents us finding libperl.so and no other
446  libraries were being hardcoded
447- Compile in support for heartbeat
448- Conditionally add heartbeat-devel and corosynclib-devel to the -devel requirements
449  depending on which stacks are supported
450
451* Mon Aug 17 2009 Andrew Beekhof <andrew@beekhof.net> - 1.0.5-1
452- Add dependancy on resource-agents
453- Use the version of the configure macro that supplies --prefix, --libdir, etc
454- Update the tarball from upstream to version 462f1569a437 (Pacemaker 1.0.5 final)
455  + High: Tools: crm_resource - Advertise --move instead of --migrate
456  + Medium: Extra: New node connectivity RA that uses system ping and attrd_updater
457  + Medium: crmd: Note that dc-deadtime can be used to mask the brokeness of some switches
458
459* Tue Aug 11 2009 Ville Skyttä <ville.skytta@iki.fi> - 1.0.5-0.7.c9120a53a6ae.hg
460- Use bzipped upstream tarball.
461
462* Wed Jul  29 2009 Andrew Beekhof <andrew@beekhof.net> - 1.0.5-0.6.c9120a53a6ae.hg
463- Add back missing build auto* dependancies
464- Minor cleanups to the install directive
465
466* Tue Jul  28 2009 Andrew Beekhof <andrew@beekhof.net> - 1.0.5-0.5.c9120a53a6ae.hg
467- Add a leading zero to the revision when alphatag is used
468
469* Tue Jul  28 2009 Andrew Beekhof <andrew@beekhof.net> - 1.0.5-0.4.c9120a53a6ae.hg
470- Incorporate the feedback from the cluster-glue review
471- Realistically, the version is a 1.0.5 pre-release
472- Use the global directive instead of define for variables
473- Use the haclient/hacluster group/user instead of daemon
474- Use the _configure macro
475- Fix install dependancies
476
477* Fri Jul  24 2009 Andrew Beekhof <andrew@beekhof.net> - 1.0.4-3
478- Include an AUTHORS and license file in each package
479- Change the library package name to pacemaker-libs to be more
480  Fedora compliant
481- Remove execute permissions from xml related files
482- Reference the new cluster-glue devel package name
483- Update the tarball from upstream to version c9120a53a6ae
484  + High: PE: Only prevent migration if the clone dependancy is stopping/starting on the target node
485  + High: PE: Bug 2160 - Dont shuffle clones due to colocation
486  + High: PE: New implementation of the resource migration (not stop/start) logic
487  + Medium: Tools: crm_resource - Prevent use-of-NULL by requiring a resource name for the -A and -a options
488  + Medium: PE: Prevent use-of-NULL in find_first_action()
489  + Low: Build: Include licensing files
490
491* Tue Jul 14 2009 Andrew Beekhof <andrew@beekhof.net> - 1.0.4-2
492- Reference authors from the project AUTHORS file instead of listing in description
493- Change Source0 to reference the project's Mercurial repo
494- Cleaned up the summaries and descriptions
495- Incorporate the results of Fedora package self-review
496
497* Tue Jul 14 2009 Andrew Beekhof <andrew@beekhof.net> - 1.0.4-1
498- Initial checkin
Note: See TracBrowser for help on using the repository browser.