diff --git a/.cvsignore b/.cvsignore index e69de29..715ade9 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +c9120a53a6ae.tar.gz diff --git a/import.log b/import.log new file mode 100644 index 0000000..38a4eeb --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +pacemaker-1_0_5-0_6_c9120a53a6ae_hg_fc12:HEAD:pacemaker-1.0.5-0.6.c9120a53a6ae.hg.fc12.src.rpm:1249016615 diff --git a/pacemaker.spec b/pacemaker.spec new file mode 100644 index 0000000..c18b051 --- /dev/null +++ b/pacemaker.spec @@ -0,0 +1,250 @@ +%global gname haclient +%global uname hacluster +%global with_ais_support 1 +%global with_heartbeat_support 0 +# Enable heartbeat support once it builds against cluster-glue + +# When downloading directly from Mercurial, it will automatically add this prefix +# Invoking 'hg archive' wont but you can add one with: +# hg archive -t tgz -p "Pacemaker-1-0-" -r $upstreamversion $upstreamversion.tar.gz +%global upstreamprefix Pacemaker-1-0- +%global upstreamversion c9120a53a6ae + +# Keep around for when/if required +%global alphatag %{upstreamversion}.hg + +Name: pacemaker +Summary: Scalable High-Availability cluster resource manager +Version: 1.0.5 +Release: %{?alphatag:0.}6%{?alphatag:.%{alphatag}}%{?dist} +License: GPLv2+ and LGPLv2+ +Url: http://www.clusterlabs.org +Group: System Environment/Daemons +Source0: http://hg.clusterlabs.org/pacemaker/stable-1.0/archive/%{upstreamversion}.tar.gz +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) +AutoReqProv: on +Requires(pre): cluster-glue + +# Required for core functionality +BuildRequires: automake autoconf libtool pkgconfig chrpath libtool-ltdl-devel +BuildRequires: glib2-devel cluster-glue-libs-devel libxml2-devel libxslt-devel +BuildRequires: pkgconfig python-devel gcc-c++ bzip2-devel gnutls-devel pam-devel + +# Enables optional functionality +BuildRequires: help2man ncurses-devel net-snmp-devel openssl-devel +BuildRequires: libesmtp-devel lm_sensors-devel libselinux-devel + +%if %with_ais_support +BuildRequires: corosynclib-devel +Requires: corosync +%endif +%if %with_heartbeat_support +BuildRequires: heartbeat-devel +Requires: heartbeat +%endif + +%description +Pacemaker is an advanced, scalable High-Availability cluster resource +manager for Linux-HA (Heartbeat) and/or OpenAIS. + +It supports "n-node" clusters with significant capabilities for +managing resources and dependencies. + +It will run scripts at initialization, when machines go up or down, +when related resources fail and can be configured to periodically check +resource health. + +%package -n pacemaker-libs +License: GPLv2+ and LGPLv2+ +Summary: Libraries used by the Pacemaker cluster resource manager and its clients +Group: System Environment/Daemons +Requires: %{name} = %{version}-%{release} + +%description -n pacemaker-libs +Pacemaker is an advanced, scalable High-Availability cluster resource +manager for Linux-HA (Heartbeat) and/or OpenAIS. + +It supports "n-node" clusters with significant capabilities for +managing resources and dependencies. + +It will run scripts at initialization, when machines go up or down, +when related resources fail and can be configured to periodically check +resource health. + +%package -n pacemaker-libs-devel +License: GPLv2+ and LGPLv2+ +Summary: Pacemaker development package +Group: Development/Libraries +Requires: %{name}-libs = %{version}-%{release} +Requires: cluster-glue-libs-devel + +%description -n pacemaker-libs-devel +Headers and shared libraries for developing tools for Pacemaker. + +Pacemaker is an advanced, scalable High-Availability cluster resource +manager for Linux-HA (Heartbeat) and/or OpenAIS. + +It supports "n-node" clusters with significant capabilities for +managing resources and dependencies. + +It will run scripts at initialization, when machines go up or down, +when related resources fail and can be configured to periodically check +resource health. + +%prep +%setup -q -n %{upstreamprefix}%{upstreamversion} + +%build +./autogen.sh +%{_configure} --localstatedir=%{_var} --enable-fatal-warnings=no +make %{_smp_mflags} + +%install +rm -rf %{buildroot} +make install DESTDIR=%{buildroot} + +# Scripts that need should be executable +chmod a+x %{buildroot}/%{_libdir}/heartbeat/hb2openais-helper.py +chmod a+x %{buildroot}/%{_datadir}/pacemaker/cts/CTSlab.py +chmod a+x %{buildroot}/%{_datadir}/pacemaker/cts/OCFIPraTest.py +chmod a+x %{buildroot}/%{_datadir}/pacemaker/cts/extracttests.py + +# Remove RPATH information +find %{buildroot} -type f -exec chrpath -d {} >/dev/null 2>&1 \; + +# These are not actually scripts +find %{buildroot} -name '*.xml' -type f -print0 | xargs -0 chmod a-x +find %{buildroot} -name '*.xsl' -type f -print0 | xargs -0 chmod a-x +find %{buildroot} -name '*.rng' -type f -print0 | xargs -0 chmod a-x +find %{buildroot} -name '*.dtd' -type f -print0 | xargs -0 chmod a-x + +# Dont package static libs or compiled python +find %{buildroot} -name '*.a' -type f -print0 | xargs -0 rm -f +find %{buildroot} -name '*.la' -type f -print0 | xargs -0 rm -f +find %{buildroot} -name '*.pyc' -type f -print0 | xargs -0 rm -f +find %{buildroot} -name '*.pyo' -type f -print0 | xargs -0 rm -f + +# Don't package these either +rm %{buildroot}/%{_libdir}/heartbeat/crm_primitive.py +rm %{buildroot}/%{_libdir}/service_crm.so + +%clean +rm -rf %{buildroot} + +%post -n pacemaker-libs -p /sbin/ldconfig + +%postun -n pacemaker-libs -p /sbin/ldconfig + +%files +########################################################### +%defattr(-,root,root) +%dir %{_datadir}/doc/packages/pacemaker +%dir %{_datadir}/doc/packages/pacemaker/templates + +%{_datadir}/pacemaker +%{_libdir}/heartbeat/* +%{_sbindir}/cibadmin +%{_sbindir}/crm_attribute +%{_sbindir}/crm_diff +%{_sbindir}/crm_failcount +%{_sbindir}/crm_master +%{_sbindir}/crm_mon +%{_sbindir}/crm +%{_sbindir}/crm_resource +%{_sbindir}/crm_standby +%{_sbindir}/crm_verify +%{_sbindir}/crmadmin +%{_sbindir}/iso8601 +%{_sbindir}/attrd_updater +%{_sbindir}/ptest +%{_sbindir}/crm_shadow +%{_sbindir}/cibpipe +%{_sbindir}/crm_node + +%if %with_heartbeat_support +%{_sbindir}/crm_uuid +%else +%exclude %{_sbindir}/crm_uuid +%endif + +%doc %{_datadir}/doc/packages/pacemaker/AUTHORS +%doc %{_datadir}/doc/packages/pacemaker/README +%doc %{_datadir}/doc/packages/pacemaker/README.hb2openais +%doc %{_datadir}/doc/packages/pacemaker/COPYING +%doc %{_datadir}/doc/packages/pacemaker/COPYING.LGPL +%doc %{_datadir}/doc/packages/pacemaker/crm_cli.txt +%doc %{_datadir}/doc/packages/pacemaker/templates/* +%doc %{_mandir}/man8/*.8* +%doc COPYING +%doc AUTHORS + +%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/heartbeat/crm +%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pengine +%dir %attr (750, %{uname}, %{gname}) %{_var}/run/crm +%dir /usr/lib/ocf +%dir /usr/lib/ocf/resource.d +/usr/lib/ocf/resource.d/pacemaker +%if %with_ais_support +%{_libexecdir}/lcrso/pacemaker.lcrso +%endif + +%files -n pacemaker-libs +%defattr(-,root,root) +%{_libdir}/libcib.so.* +%{_libdir}/libcrmcommon.so.* +%{_libdir}/libcrmcluster.so.* +%{_libdir}/libpe_status.so.* +%{_libdir}/libpe_rules.so.* +%{_libdir}/libpengine.so.* +%{_libdir}/libtransitioner.so.* +%{_libdir}/libstonithd.so.* +%doc COPYING.LIB +%doc AUTHORS + +%files -n pacemaker-libs-devel +%defattr(-,root,root) +%{_includedir}/pacemaker +%{_includedir}/heartbeat/fencing +%{_libdir}/*.so +%doc COPYING.LIB +%doc AUTHORS + +%changelog + +* Wed Jul 29 2009 Andrew Beekhof - 1.0.5-0.6.c9120a53a6ae.hg +- Add back missing build auto* dependancies +- Minor cleanups to the install directive + +* Tue Jul 28 2009 Andrew Beekhof - 1.0.5-0.5.c9120a53a6ae.hg +- Add a leading zero to the revision when alphatag is used + +* Tue Jul 28 2009 Andrew Beekhof - 1.0.5-0.4.c9120a53a6ae.hg +- Incorporate the feedback from the cluster-glue review +- Realistically, the version is a 1.0.5 pre-release +- Use the global directive instead of define for variables +- Use the haclient/hacluster group/user instead of daemon +- Use the _configure macro +- Fix install dependancies + +* Fri Jul 24 2009 Andrew Beekhof - 1.0.4-3 +- Include an AUTHORS and license file in each package +- Change the library package name to pacemaker-libs to be more + Fedora compliant +- Remove execute permissions from xml related files +- Reference the new cluster-glue devel package name +- Update the tarball from upstream to version c9120a53a6ae + + High: PE: Only prevent migration if the clone dependancy is stopping/starting on the target node + + High: PE: Bug 2160 - Dont shuffle clones due to colocation + + High: PE: New implementation of the resource migration (not stop/start) logic + + Medium: Tools: crm_resource - Prevent use-of-NULL by requiring a resource name for the -A and -a options + + Medium: PE: Prevent use-of-NULL in find_first_action() + + Low: Build: Include licensing files + +* Tue Jul 14 2009 Andrew Beekhof - 1.0.4-2 +- Reference authors from the project AUTHORS file instead of listing in description +- Change Source0 to reference the project's Mercurial repo +- Cleaned up the summaries and descriptions +- Incorporate the results of Fedora package self-review + +* Tue Jul 14 2009 Andrew Beekhof - 1.0.4-1 +- Initial checkin diff --git a/sources b/sources index e69de29..a7b4ff2 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +0737aaf01c73868fe006b4880ef2776e c9120a53a6ae.tar.gz