# # spec file for package pacemaker (Version 0.6.3) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild %if 0%{?suse_version} %define _libexecdir %{_libdir} %endif %define with_extra_warnings 0 %define with_debugging 0 %define without_fatal_warnings 1 %define with_ais_support 1 %define with_heartbeat_support 1 %define with_snmp_support 0 %define gname haclient %define uname hacluster Name: pacemaker Summary: The Pacemaker scalable High-Availability cluster resource manager Version: 0.6.3 Release: 25 License: GPL v2 or later; LGPL v2.1 or later Url: http://www.clusterlabs.org %if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} Group: Productivity/Clustering/HA %else Group: Productivity/Clustering/HA %endif Source: pacemaker.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build AutoReqProv: on %if %with_snmp_support == 1 BuildRequires: net-snmp-devel %endif %if %with_ais_support BuildRequires: openais-devel %endif %if %with_heartbeat_support BuildRequires: heartbeat heartbeat-devel > 2.1.2 %endif %if %{with_ais_support} %if %{with_heartbeat_support} Conflicts: pacemaker-ais Conflicts: pacemaker-heartbeat %else Conflicts: pacemaker Conflicts: pacemaker-heartbeat %endif %else Conflicts: pacemaker Conflicts: pacemaker-ais %endif BuildRequires: e2fsprogs-devel glib2-devel gnutls-devel heartbeat-core heartbeat-core-devel libxml2-devel libxslt-devel pam-devel python-devel swig %if 0%{?suse_version} %if 0%{?suse_version} > 1000 %if %with_ais_support Supplements: openais %endif %if %with_heartbeat_support Supplements: heartbeat %endif %endif %if 0%{?suse_version} == 930 BuildRequires: rpm-devel %endif %if 0%{?suse_version} == 1000 BuildRequires: lzo lzo-devel %endif %if 0%{?suse_version} < 1020 BuildRequires: tcpd-devel %endif %if 0%{?sles_version} == 9 BuildRequires: openssl-devel pkgconfig %endif %endif %if 0%{?rhel_version} == 406 BuildRequires: gcc-c++ kernel %endif %if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} BuildRequires: lm_sensors-devel openssl-devel which %endif %if 0%{?mandriva_version} BuildRequires: libbzip2-devel openssl-devel %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. Authors: -------- Andrew Beekhof %package devel License: GPL v2 or later; LGPL v2.1 or later Summary: The Pacemaker scalable High-Availability cluster resource manager %if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} Group: Productivity/Clustering/HA %else Group: Productivity/Clustering/HA %endif Requires: %{name} = %{version}-%{release} %description devel 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. Authors: -------- Andrew Beekhof %prep ########################################################### %setup -n pacemaker ########################################################### %build # TODO: revisit -all CFLAGS="${CFLAGS} ${RPM_OPT_FLAGS}" # Feature-dependent CFLAGS: %if %with_extra_warnings # CFLAGS="${CFLAGS} -Wshadow -Wfloat-equal -Waggregate-return -Wnested-externs -Wunreachable-code -Wendif-labels -Winline" CFLAGS="${CFLAGS} -Wfloat-equal -Wendif-labels -Winline" %endif %if %with_debugging CFLAGS="${CFLAGS} -O0" %endif # Distribution specific settings: %if 0%{?suse_version} > 1001 CFLAGS="${CFLAGS} -fstack-protector-all" %endif %if 0%{?suse_version} < 1001 export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/opt/gnome/%{_lib}/pkgconfig:/opt/gnome/share/pkgconfig" %endif %if 0%{?suse_version} > 1020 CFLAGS="$CFLAGS -fgnu89-inline" %endif %if 0%{?fedora_version} > 6 CFLAGS="$CFLAGS -fgnu89-inline" %endif export CFLAGS ./ConfigureMe configure --prefix=%{_prefix} --sysconfdir=%{_sysconfdir} \ --localstatedir=%{_var} --infodir=%{_infodir} \ --mandir=%{_mandir} --libdir=%{_libdir} \ --libexecdir=%{_libexecdir} \ --with-group-name=%{gname} --with-ccmuser-name=%{uname} \ --with-hapkgversion=%{version} \ --enable-glib-malloc \ %if %with_snmp_support == 1 --enable-snmp-subagent \ %else --disable-snmp-subagent \ %endif --with-ais-prefix=%{_prefix} \ %if %with_ais_support == 0 --without-ais-support \ %endif %if %with_heartbeat_support == 0 --without-heartbeat-support \ %endif %if %without_fatal_warnings --enable-fatal-warnings=no \ %endif --enable-pretty export MAKE="make %{?jobs:-j%jobs}" make %{?jobs:-j%jobs} ########################################################### %install ########################################################### #make DESTDIR=$RPM_BUILD_ROOT install-strip rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install #%if %with_ais_support # mkdir -p $RPM_BUILD_ROOT/%{_libexecdir}/lcrso # cp $RPM_BUILD_ROOT/%{_libdir}/service_crm.so $RPM_BUILD_ROOT/%{_libexecdir}/lcrso/pacemaker.lcrso #%endif # Cleanup [ -d $RPM_BUILD_ROOT/usr/man ] && rm -rf $RPM_BUILD_ROOT/usr/man [ -d $RPM_BUILD_ROOT/usr/share/libtool ] && rm -rf $RPM_BUILD_ROOT/usr/share/libtool find $RPM_BUILD_ROOT -name '*.a' -type f -print0 | xargs -0 rm -f find $RPM_BUILD_ROOT -name '*.la' -type f -print0 | xargs -0 rm -f ########################################################### %clean ########################################################### if [ -n "${RPM_BUILD_ROOT}" -a "${RPM_BUILD_ROOT}" != "/" ] then rm -rf $RPM_BUILD_ROOT fi rm -rf $RPM_BUILD_DIR/pacemaker ########################################################### %pre %preun # Use the following if more commands need to be executed # %post # /sbin/ldconfig # [...] # http://en.opensuse.org/SUSE_Package_Conventions/RPM_Macros %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files ########################################################### %defattr(-,root,root) %dir %{_libdir}/heartbeat %{_prefix}/share/pacemaker %{_prefix}/share/heartbeat %{_libdir}/heartbeat/* %dir %{_var}/lib/heartbeat %{_libdir}/libcib.so.* %{_libdir}/libcrmcommon.so.* %{_libdir}/libcrmcluster.so.* #%{_libdir}/heartbeat/crm_primitive.py %{_libdir}/libpe_status.so.* %{_libdir}/libpe_rules.so.* %{_libdir}/libpengine.so.* %{_libdir}/libtransitioner.so.* %{_libdir}/libstonithd.so.* %{_sbindir}/cibadmin %{_sbindir}/crm_attribute %{_sbindir}/crm_diff %{_sbindir}/crm_failcount %{_sbindir}/crm_master %{_sbindir}/crm_mon %{_sbindir}/crm_sh %{_sbindir}/crm_resource %{_sbindir}/crm_standby %{_sbindir}/crm_uuid %{_sbindir}/crm_verify %{_sbindir}/crmadmin %{_sbindir}/iso8601 %{_sbindir}/ccm_tool %{_sbindir}/attrd_updater %{_sbindir}/ptest %{_sbindir}/cib_shadow %{_sbindir}/cibpipe %doc %{_mandir}/man8/cibadmin.8* %doc %{_mandir}/man8/crm_resource.8* %dir %attr (750, %{uname}, %{gname}) %{_var}/lib/heartbeat/crm %dir %attr (750, %{uname}, %{gname}) %{_var}/lib/heartbeat/pengine %dir %attr (750, %{uname}, %{gname}) %{_var}/run/heartbeat/crm %if %with_ais_support %{_libexecdir}/lcrso/pacemaker.lcrso %endif %if %with_snmp_support == 1 /usr/share/snmp/mibs/LINUX-HA-MIB.mib %endif %files devel %defattr(-,root,root) #%doc %{_datadir}/doc/%{name}-%{version} %{_includedir}/pacemaker %{_includedir}/heartbeat/fencing %{_libdir}/*.so %changelog * Mon Jul 21 2008 abeekhof@suse.de - Update source tarball to revision: 7a31d0c33e22 (0.7.0) + High: Performance enhancements + High: Fix memory leaks and use-after-free + High: Admin: All tools now use --node (-N) for specifying node unames + High: Admin: All tools now use --xml-file (-x) and --xml-text (-X) for specifying where to find XML blobs + High: cib: Implement CIB_shadow - a facility for making and testing changes before uploading them to the cluster + High: cib: Make registering per-op callbacks an API call and renamed (for clarity) the API call for requesting notifications + High: Core: Add a facility for automatically upgrading old configurations + High: Core: Adopt libxml2 as the XML processing library - all external clients need to be recompiled + High: PE: Bug LF:1459 - Allow failures to expire + High: PE: Replace failure-stickiness with a simple 'migration-threshold' + High: PE: Bug LF:1941 - Handle failed clone instance probes when clone-max < #nodes + High: PE: Make OCF_ERR_ARGS a node-level error rather than a cluster-level one + High: PE: Properly handle clones that are not installed on all nodes + Medium: Admin: Bug LF:1438 - Allow the list of all/active resource operations to be queried by crm_resource + Medium: Admin: Bug LF:1708 - crm_resource should print a warning if an attribute is already set as a meta attribute + Medium: Admin: Bug LF:1883 - crm_mon should display fail-count and operation history + Medium: Admin: Bug N:371785 - crm_resource -C doesn't also clean up fail-count attributes + Medium: Admin: crm_mon - include timing data for failed actions + Medium: cib: Bug LF:1348 - Allow rules and attribute sets to be referenced for use in other objects + Medium: cib: BUG LF:1918 - By default, all cib calls now timeout after 30s + Medium: cib: Remove some useless parts of the API + Medium: cib: Implement the ability for clients to connect to remote servers + Medium: Core: Add support for validating xml against RelaxNG schemas + Medium: PE: Bug LF:1328 - Don't fencing nodes in clusters without managed resources + Medium: PE: Bug LF:1461 - Give transient node attributes (in ) preference over persistent ones (in ) + Medium: PE: Bug LF:1884, Bug LF:1885 - Implement N:M ordering and colocation constraints + Medium: PE: Bug LF:1886 - Create a resource and operation 'defaults' config section + Medium: PE: Bug LF:1892 - Allow recurring actions to be triggered at known times + Medium: PE: Bug LF:1926 - Probes should complete before stop actions are invoked + Medium: PE: Prefer the current location if it is one of a group of nodes with the same (highest) score * Sat May 03 2008 abeekhof@suse.de - Use a libexecdir consistent with openais * Tue Apr 29 2008 abeekhof@suse.de - Updated to upstream version 0.6.3-1 - Update source tarball to revision: fd8904c9bc67 - SNMP has been moved to the management/pygui project - Many bugfixes, primarily related to master/slave resources and failcount handling - Fix libtool version check and supply a better default for the LCRSO directory * Sat Apr 12 2008 abeekhof@suse.de - version 0.6.2-1 - Initial package check-in