From f8d11a8f4c78073c70493db5c909904d5394ce3eddf68c753a879f19f3aa3f3a Mon Sep 17 00:00:00 2001 From: Yan Gao Date: Tue, 12 Nov 2013 13:07:23 +0000 Subject: [PATCH 1/6] Add _service file OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/pacemaker?expand=0&rev=76 --- _service | 21 + ...cemaker-1.1.10+git20131111.e5e37b5.tar.bz2 | 3 + _service:set_version:pacemaker.spec | 760 ++++++++++++++++++ 3 files changed, 784 insertions(+) create mode 100644 _service create mode 100644 _service:recompress:tar_scm:pacemaker-1.1.10+git20131111.e5e37b5.tar.bz2 create mode 100644 _service:set_version:pacemaker.spec diff --git a/_service b/_service new file mode 100644 index 0000000..7e3ef6c --- /dev/null +++ b/_service @@ -0,0 +1,21 @@ + + + git + git://github.com/ClusterLabs/pacemaker.git + yes + + .git + 1.1.10+git%cd.%h + e5e37b5a21d82b01bf0d8d69c60a93eef3d06528 + + + + *pacemaker*.tar + bz2 + + + + diff --git a/_service:recompress:tar_scm:pacemaker-1.1.10+git20131111.e5e37b5.tar.bz2 b/_service:recompress:tar_scm:pacemaker-1.1.10+git20131111.e5e37b5.tar.bz2 new file mode 100644 index 0000000..235fda5 --- /dev/null +++ b/_service:recompress:tar_scm:pacemaker-1.1.10+git20131111.e5e37b5.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:284710183526f6bdc35aee230883b050880f3c7117ebe762f03bd8db36fca3c2 +size 9192261 diff --git a/_service:set_version:pacemaker.spec b/_service:set_version:pacemaker.spec new file mode 100644 index 0000000..ccb7b68 --- /dev/null +++ b/_service:set_version:pacemaker.spec @@ -0,0 +1,760 @@ +# +# spec file for package pacemaker +# +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +%global gname haclient +%global uname hacluster +%global pcmk_docdir %{_docdir}/%{name} + +%global specversion 1 +%global upstream_version HEAD +%global upstream_prefix ClusterLabs-pacemaker + +# Turn off the auto compilation of python files not in the site-packages directory +# Needed so that the -devel package is multilib compliant +%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') + +#%%global rawhide %%(test ! -e /etc/yum.repos.d/fedora-rawhide.repo; echo $?) +%global rawhide 0 +#%%global cs_version %%(pkg-config corosync --modversion | awk -F . '{print $1}') +%global cs_version 2 +%global py_site %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))") + +# Conditionals +# Invoke "rpmbuild --without " or "rpmbuild --with " +# to disable or enable specific features + +# Legacy stonithd fencing agents +%bcond_with stonithd +%define with_stonithd 1 + +# Build with/without support for profiling tools +%bcond_with profiling + +# Include Build with/without support for performing coverage analysis +%bcond_with coverage + +# We generate docs using Publican, Asciidoc and Inkscape, but they're not available everywhere +%bcond_without doc +%define with_doc 0 + +# Use a different versioning scheme +%bcond_with pre_release + +# Ship an Upstart job file +%bcond_with upstart_job + +# Turn off cman support on platforms that normally ship with it +%bcond_without cman + +%if %{with profiling} +# This disables -debuginfo package creation and also the stripping binaries/libraries +# Useful if you want sane profiling data +%global debug_package %{nil} +%endif + +%if %{with pre_release} +%global pcmk_release 0.%{specversion}.%{upstream_version}.git +%else +%global pcmk_release %{specversion} +%endif + +#%if 0%{?suse_version} +#%define _libexecdir %{_libdir} +#%endif + +%define with_corosync_support 1 +%define with_heartbeat_support 0 + +%define with_nagios 1 +%define with_snmp 1 +%define with_esmtp 1 +%define with_acl 1 +%define with_cibsecrets 1 + +%define enable_lib_cluster_pkg 0 +%define enable_fatal_warnings 1 + +%define with_regression_tests 0 + +Name: pacemaker +Summary: Scalable High-Availability cluster resource manager +License: GPL-2.0+ and LGPL-2.1+ +Group: Productivity/Clustering/HA +Version: 1.1.10+git20131111.e5e37b5 +Release: 0 +#Release: %{pcmk_release}%{?dist} +Url: http://www.clusterlabs.org + +# export VER={upstream_version} +# wget --no-check-certificate -O ClusterLabs-pacemaker-${VER}.tar.gz https://github.com/ClusterLabs/pacemaker/tarball/${VER} +Source0: %{name}.tar.bz2 +Source100: pacemaker.rpmlintrc +Patch1: bug-806256_pacemaker-log-level-notice.patch +Patch2: bug-728579_pacemaker-stonith-dev-id.patch +Patch3: bug-792124_pacemaker-stonith-monitor-log.patch +Patch4: pacemaker-NodeUtilization-RA.patch +Patch5: pacemaker-colocated-utilization.patch +Patch6: pacemaker-cibsecret-tool-temp-disabled.patch +Patch7: pacemaker-nagios-plugin-dir.patch +Patch8: bug-812269_pacemaker-fencing-update-cib.patch +Patch9: bug-812269_pacemaker-fencing-device-register-messages.patch +Patch10: pacemaker-Wno-cast-align.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Provides: pacemaker-ticket-support = 2.0 +Conflicts: heartbeat < 3.0 +Conflicts: libheartbeat2 < 3.0.0 +Requires: %{name}-cli = %{version}-%{release} +Requires: libpacemaker3 = %{version}-%{release} +%if %{enable_lib_cluster_pkg} +Requires: libpacemaker3-cluster = %{version}-%{release} +%endif +Requires: psmisc +Requires: python +Requires: resource-agents +Recommends: crmsh +Recommends: libdlm +Recommends: fence-agents +Recommends: sbd +Suggests: graphviz + +%if %{defined systemd_requires} +%systemd_requires +%endif + +%if 0%{?rhel} > 0 +ExclusiveArch: i686 x86_64 +%endif + +# Required for core functionality +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gcc-c++ +BuildRequires: glib2-devel + +%if 0%{?suse_version} +BuildRequires: libbz2-devel +%else +BuildRequires: bzip2-devel +%endif + +BuildRequires: libtool +BuildRequires: libtool-ltdl-devel +BuildRequires: libuuid-devel +BuildRequires: libxml2-devel +BuildRequires: libxslt-devel +BuildRequires: pam-devel +BuildRequires: pkgconfig +BuildRequires: python +BuildRequires: python-devel + +# Required for agent_config.h which specifies the correct scratch directory +BuildRequires: resource-agents + +# We need reasonably recent versions of libqb +BuildRequires: libqb-devel > 0.11.0 +Requires: libqb > 0.11.0 + +# Enables optional functionality +BuildRequires: bison +BuildRequires: byacc + +%if 0%{?suse_version} > 1100 +BuildRequires: docbook-xsl-stylesheets +%else +BuildRequires: docbook-style-xsl +%endif + +BuildRequires: flex + +%if 0%{?suse_version} > 1210 +BuildRequires: libgnutls-devel +%else +BuildRequires: gnutls-devel +%endif + +BuildRequires: help2man +BuildRequires: libselinux-devel +BuildRequires: ncurses-devel +BuildRequires: openssl-devel + +%if %{defined _unitdir} +BuildRequires: systemd-devel +%endif +BuildRequires: systemd-devel + +%if %{with cman} + +%if 0%{?fedora} > 0 +%if 0%{?fedora} < 17 +BuildRequires: clusterlib-devel +%endif +%endif + +%if 0%{?rhel} > 0 +%if 0%{?rhel} < 7 +BuildRequires: clusterlib-devel +%endif +%endif + +%endif + +%if %with_corosync_support +Requires: corosync +#BuildRequires: corosynclib-devel +BuildRequires: libcorosync-devel +%endif + +%if %with_heartbeat_support +BuildRequires: heartbeat-devel +Requires: heartbeat +%endif + +#%if %{with stonithd} +%if %{with_stonithd} +#BuildRequires: cluster-glue-libs-devel +BuildRequires: libglue-devel +%endif + +%if !0%{?rawhide} +# More often than not, inkscape is busted on rawhide, don't even bother + +#%if %{with doc} +%if %{with_doc} +%ifarch %{ix86} x86_64 +BuildRequires: asciidoc +BuildRequires: inkscape +BuildRequires: publican +%endif +%endif + +%if %with_snmp +BuildRequires: net-snmp-devel +%endif + +%if %with_esmtp +BuildRequires: libesmtp-devel +%endif + +%if %with_regression_tests +BuildRequires: procps +BuildRequires: python-curses +BuildRequires: python-xml +BuildRequires: vim-base +%endif + +%endif + +%description +Pacemaker is an advanced, scalable High-Availability cluster resource +manager for Corosync, CMAN and/or Linux-HA. + +It supports more than 16 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. + +Available rpmbuild rebuild options: + --with(out) : cman stonithd doc coverage profiling pre_release upstart_job + +%package cli +Summary: Command line tools for controlling Pacemaker clusters +Group: Productivity/Clustering/HA +Requires: libpacemaker3 = %{version}-%{release} +Requires: perl-TimeDate + +%description cli +Pacemaker is an advanced, scalable High-Availability cluster resource +manager for Corosync, CMAN and/or Linux-HA. + +The %{name}-cli package contains command line tools that can be used +to query and control the cluster from machines that may, or may not, +be part of the cluster. + +%package -n libpacemaker3 +Summary: Core Pacemaker libraries +Group: Productivity/Clustering/HA + +%description -n libpacemaker3 +Pacemaker is an advanced, scalable High-Availability cluster resource +manager for Corosync, CMAN and/or Linux-HA. + +The libpacemaker3 package contains shared libraries needed for cluster +nodes and those just running the CLI tools. + +%if %{enable_lib_cluster_pkg} +%package -n libpacemaker3-cluster +Summary: Cluster Libraries used by Pacemaker +Group: Productivity/Clustering/HA +Requires: libpacemaker3 = %{version}-%{release} + +%description -n libpacemaker3-cluster +Pacemaker is an advanced, scalable High-Availability cluster resource +manager for Corosync, CMAN and/or Linux-HA. + +The libpacemaker3-cluster package contains cluster-aware shared +libraries needed for nodes that will form part of the cluster nodes. +%endif + +%package remote +Summary: Pacemaker remote daemon for non-cluster nodes +Group: Productivity/Clustering/HA +Requires: %{name}-cli = %{version}-%{release} +Requires: libpacemaker3 = %{version}-%{release} +Requires: resource-agents +%if %{defined systemd_requires} +%systemd_requires +%endif + +%description remote +Pacemaker is an advanced, scalable High-Availability cluster resource +manager for Corosync, CMAN and/or Linux-HA. + +The %{name}-remote package contains the Pacemaker Remote daemon +which is capable of extending pacemaker functionality to remote +nodes not running the full corosync/cluster stack. + +%package -n libpacemaker-devel +Summary: Pacemaker development package +Group: Development/Libraries/C and C++ +Requires: %{name}-cts = %{version}-%{release} +Requires: glib2-devel + +%if 0%{?suse_version} +Requires: libbz2-devel +%else +Requires: bzip2-devel +%endif + +Requires: libcorosync-devel +Requires: libpacemaker3 = %{version}-%{release} +%if %{enable_lib_cluster_pkg} +Requires: libpacemaker3-cluster = %{version}-%{release} +%endif +Requires: libqb-devel +Requires: libtool-ltdl-devel +Requires: libuuid-devel +Requires: libxml2-devel +Requires: libxslt-devel +%if %with_regression_tests +# For the regression tests, we can run them only if all pacemaker +# packages are installed, so we pull that in here for the regression +# builds; this is supposed to be disabled for shipping code. +Requires: pacemaker +%endif + +%description -n libpacemaker-devel +Pacemaker is an advanced, scalable High-Availability cluster resource +manager for Corosync, CMAN and/or Linux-HA. + +The libpacemaker-devel package contains headers and shared libraries +for developing tools for Pacemaker. + +%package cts +Summary: Test framework for cluster-related technologies like Pacemaker +Group: Productivity/Clustering/HA +Requires: libpacemaker3 = %{version}-%{release} +Requires: python + +%description cts +Test framework for cluster-related technologies like Pacemaker + +%if %{with_doc} +%package doc +Summary: Documentation for Pacemaker +Group: Productivity/Clustering/HA + +%description doc +Documentation for Pacemaker. + +Pacemaker is an advanced, scalable High-Availability cluster resource +manager for Corosync, CMAN and/or Linux-HA. +%endif + +%prep +#%setup -q -n %{name}%{upstream_prefix}-%{upstream_version} +%setup -q -n %{name} +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 + +# Force the local time +# +# 'git' sets the file date to the date of the last commit. +# This can result in files having been created in the future +# when building on machines in timezones 'behind' the one the +# commit occurred in - which seriously confuses 'make' +find . -exec touch \{\} \; + +%build +./autogen.sh + +# RHEL <= 5 does not support --docdir +docdir=%{pcmk_docdir} %{configure} \ + %{?with_profiling: --with-profiling} \ + %{?with_coverage: --with-coverage} \ + %{!?with_cman: --without-cman} \ +%if !%with_heartbeat_support + --without-heartbeat \ +%endif +%if %with_nagios + --with-nagios=true \ +%endif +%if %with_snmp + --with-snmp=true \ +%endif +%if %with_esmtp + --with-esmtp=true \ +%endif +%if %with_acl + --with-acl=true \ +%endif +%if %with_cibsecrets + --with-cibsecrets=true \ +%endif +%if !%enable_fatal_warnings + --enable-fatal-warnings=no \ +%endif + --with-initdir=%{_initrddir} \ + --localstatedir=%{_var} \ + --with-version=%{version}-%{release} + +%if 0%{?suse_version} >= 1200 +# Fedora handles rpath removal automagically +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool +%endif + +make %{_smp_mflags} V=1 docdir=%{pcmk_docdir} all + +%install +rm -rf %{buildroot} +make DESTDIR=%{buildroot} docdir=%{pcmk_docdir} V=1 install + +#mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig +install -d -m755 $RPM_BUILD_ROOT/var/adm/fillup-templates +mkdir -p ${RPM_BUILD_ROOT}%{_var}/lib/pacemaker/cores +#install -m 644 mcp/pacemaker.sysconfig ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/pacemaker +install -m 644 mcp/pacemaker.sysconfig $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.pacemaker + +%if %{with upstart_job} +mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/init +install -m 644 mcp/pacemaker.upstart ${RPM_BUILD_ROOT}%{_sysconfdir}/init/pacemaker.conf +install -m 644 mcp/pacemaker.combined.upstart ${RPM_BUILD_ROOT}%{_sysconfdir}/init/pacemaker.combined.conf +%endif + +# Scripts that should be executable +chmod a+x %{buildroot}/%{_datadir}/pacemaker/tests/cts/CTSlab.py + +# 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 +find %{buildroot} -name '*.a' -type f -print0 | xargs -0 rm -f +find %{buildroot} -name '*.la' -type f -print0 | xargs -0 rm -f + +# Do not package these either +rm -f %{buildroot}/%{_libdir}/service_crm.so + +# Don't ship init scripts for systemd based platforms +%if %{defined _unitdir} +rm -f %{buildroot}/%{_initrddir}/pacemaker +rm -f %{buildroot}/%{_initrddir}/pacemaker_remote +%endif + +# Only useful on rhel6 +rm -f %{buildroot}/%{_bindir}/ccs2cib +rm -f %{buildroot}/%{_bindir}/ccs_flatten +rm -f %{buildroot}/%{_bindir}/disable_rgmanager + +%if %{with coverage} +GCOV_BASE=%{buildroot}/%{_var}/lib/pacemaker/gcov +mkdir -p $GCOV_BASE +find . -name '*.gcno' -type f | while read F ; do + D=`dirname $F` + mkdir -p ${GCOV_BASE}/$D + cp $F ${GCOV_BASE}/$D +done +%endif + +%if %{defined _unitdir} + +%post +#%systemd_post pacemaker.service +%service_add_post pacemaker.service + +if [ ! -e %{_sysconfdir}/sysconfig/pacemaker ]; then + %fillup_only pacemaker +fi + +%preun +#%systemd_preun pacemaker.service +%service_del_preun pacemaker.service + +%postun +#%systemd_postun_with_restart pacemaker.service +%service_del_postun pacemaker.service + +%post remote +#%systemd_post pacemaker_remote.service +%service_add_post pacemaker_remote.service + +if [ ! -e %{_sysconfdir}/sysconfig/pacemaker ]; then + %fillup_only pacemaker +fi + +%preun remote +#%systemd_preun pacemaker_remote.service +%service_del_preun pacemaker_remote.service + +%postun remote +#%systemd_postun_with_restart pacemaker_remote.service +%service_del_postun pacemaker_remote.service + +%else + +%post +/sbin/chkconfig --add pacemaker || : + +%preun +/sbin/service pacemaker stop || : +if [ $1 -eq 0 ]; then + # Package removal, not upgrade + /sbin/chkconfig --del pacemaker || : +fi + +%post remote +/sbin/chkconfig --add pacemaker_remote || : + +%preun remote +/sbin/service pacemaker_remote stop &>/dev/null || : +if [ $1 -eq 0 ]; then + # Package removal, not upgrade + /sbin/chkconfig --del pacemaker_remote || : +fi + +%endif + +%pre -n libpacemaker3 + +getent group %{gname} >/dev/null || groupadd -r %{gname} -g 189 +getent passwd %{uname} >/dev/null || useradd -r -g %{gname} -u 189 -s /sbin/nologin -c "cluster user" %{uname} +exit 0 + +%post -n libpacemaker3 -p /sbin/ldconfig + +%postun -n libpacemaker3 -p /sbin/ldconfig + +%if %{enable_lib_cluster_pkg} +%post -n libpacemaker3-cluster -p /sbin/ldconfig + +%postun -n libpacemaker3-cluster -p /sbin/ldconfig +%endif + +%if %with_regression_tests + +%post -n libpacemaker-devel +if [ ! -e /tmp/.pcmk_regression_tests_ran ]; then + touch /tmp/.pcmk_regression_tests_ran + # Needed so that the shell doesn't get stuck on escape + # sequences + export TERM=dumb + /usr/share/pacemaker/tests/cli/regression.sh || true + /usr/share/pacemaker/tests/pengine/regression.sh -V || true + echo Now running shell regression tests ; date + if ! /usr/share/pacemaker/tests/shell/regression.sh ; then + echo "Shell tests failed." + cat crmtestout/regression.out + fi +fi +%endif + +%files +########################################################### +%defattr(-,root,root) + +%exclude %{_datadir}/pacemaker/tests + +#%config(noreplace) %{_sysconfdir}/sysconfig/pacemaker +%{_sbindir}/pacemakerd + +%if %{defined _unitdir} +%{_unitdir}/pacemaker.service +%else +%{_initrddir}/pacemaker +%endif + +%{_datadir}/pacemaker +%{_datadir}/snmp/mibs/PCMK-MIB.txt +%exclude %{_libexecdir}/pacemaker/lrmd_test +%exclude %{_sbindir}/pacemaker_remoted +%dir %{_libexecdir}/pacemaker +%{_libexecdir}/pacemaker/* + +%{_sbindir}/crm_attribute +%{_sbindir}/crm_master +%{_sbindir}/crm_node +%{_sbindir}/attrd_updater +%{_sbindir}/fence_legacy +%{_sbindir}/fence_pcmk +%{_sbindir}/stonith_admin + +%doc %{_mandir}/man7/* +%doc %{_mandir}/man8/attrd_updater.* +%doc %{_mandir}/man8/crm_attribute.* +%doc %{_mandir}/man8/crm_node.* +%doc %{_mandir}/man8/crm_master.* +%doc %{_mandir}/man8/fence_pcmk.* +%doc %{_mandir}/man8/fence_legacy.* +%doc %{_mandir}/man8/pacemakerd.* +%doc %{_mandir}/man8/stonith_admin.* + +%doc COPYING +%doc AUTHORS +%doc ChangeLog + +%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker +%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker/cib +%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker/cores +%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker/pengine +%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker/blackbox +%ghost %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 0%{?cs_version} < 2 +%{_libexecdir}/lcrso/pacemaker.lcrso +%endif + +%if %{with upstart_job} +%config(noreplace) %{_sysconfdir}/init/pacemaker.conf +%config(noreplace) %{_sysconfdir}/init/pacemaker.combined.conf +%endif + +%files cli +%defattr(-,root,root) +%{_sbindir}/cibadmin +%{_sbindir}/crm_diff +%{_sbindir}/crm_error +%{_sbindir}/crm_failcount +%{_sbindir}/crm_mon +%{_sbindir}/crm_resource +%{_sbindir}/crm_standby +%{_sbindir}/crm_verify +%{_sbindir}/crmadmin +%{_sbindir}/iso8601 +%{_sbindir}/crm_shadow +%{_sbindir}/crm_simulate +%{_sbindir}/crm_report +%{_sbindir}/crm_ticket +%doc %{_mandir}/man8/* +%exclude %{_mandir}/man8/attrd_updater.* +%exclude %{_mandir}/man8/crm_attribute.* +%exclude %{_mandir}/man8/crm_node.* +%exclude %{_mandir}/man8/crm_master.* +%exclude %{_mandir}/man8/fence_pcmk.* +%exclude %{_mandir}/man8/fence_legacy.* +%exclude %{_mandir}/man8/pacemakerd.* +%exclude %{_mandir}/man8/pacemaker_remoted.* +%exclude %{_mandir}/man8/stonith_admin.* + +%doc COPYING +%doc AUTHORS +%doc ChangeLog + +%files -n libpacemaker3 +%defattr(-,root,root) + +%{_libdir}/libcib.so.* +%{_libdir}/liblrmd.so.* +%{_libdir}/libcrmservice.so.* +%{_libdir}/libcrmcommon.so.* +%{_libdir}/libpe_status.so.* +%{_libdir}/libpe_rules.so.* +%{_libdir}/libpengine.so.* +%{_libdir}/libstonithd.so.* +%{_libdir}/libtransitioner.so.* +%config(noreplace) /var/adm/fillup-templates/sysconfig.pacemaker +%doc COPYING.LIB +%doc AUTHORS +%{_libdir}/libcrmcluster.so.* + +%if %{enable_lib_cluster_pkg} +%files -n libpacemaker3-cluster +%defattr(-,root,root) +#%{_libdir}/libcrmcluster.so.* +%doc COPYING.LIB +%doc AUTHORS +%endif + +%files remote +%defattr(-,root,root) + +#%config(noreplace) %{_sysconfdir}/sysconfig/pacemaker +%if %{defined _unitdir} +%{_unitdir}/pacemaker_remote.service +%else +%{_initrddir}/pacemaker_remote +%endif + +%{_sbindir}/pacemaker_remoted +%{_mandir}/man8/pacemaker_remoted.* +%doc COPYING.LIB +%doc AUTHORS + +%if %{with_doc} +%files doc +%defattr(-,root,root) +%doc %{pcmk_docdir} +%endif + +%files cts +%defattr(-,root,root) +#%{py_site}/cts +%{py_sitedir}/cts +%{_datadir}/pacemaker/tests/cts +%{_libexecdir}/pacemaker/lrmd_test +%doc COPYING.LIB +%doc AUTHORS + +%files -n libpacemaker-devel +%defattr(-,root,root) +%exclude %{_datadir}/pacemaker/tests/cts +%{_datadir}/pacemaker/tests +%{_includedir}/pacemaker +%{_libdir}/*.so +%if %{with coverage} +%{_var}/lib/pacemaker +%endif +%{_libdir}/pkgconfig/*.pc +%doc COPYING.LIB +%doc AUTHORS + +%changelog From 7a4a7b8b229c3ed2d6ffdf2d0c64e91bda03ced7717e5f3abbb1dd5b9177b03e Mon Sep 17 00:00:00 2001 From: Yan Gao Date: Thu, 14 Nov 2013 16:45:58 +0000 Subject: [PATCH 2/6] Accepting request 206925 from home:yan_gao:branches:network:ha-clustering:Factory Use the source service OBS-URL: https://build.opensuse.org/request/show/206925 OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/pacemaker?expand=0&rev=77 --- ...ess:tar_scm:pacemaker-1.1.10+git20131111.e5e37b5.tar.bz2 | 4 ++-- _service:set_version:pacemaker.spec | 4 ++-- pacemaker.spec | 6 +++--- pacemaker.tar.bz2 | 3 --- 4 files changed, 7 insertions(+), 10 deletions(-) delete mode 100644 pacemaker.tar.bz2 diff --git a/_service:recompress:tar_scm:pacemaker-1.1.10+git20131111.e5e37b5.tar.bz2 b/_service:recompress:tar_scm:pacemaker-1.1.10+git20131111.e5e37b5.tar.bz2 index 235fda5..7efde32 100644 --- a/_service:recompress:tar_scm:pacemaker-1.1.10+git20131111.e5e37b5.tar.bz2 +++ b/_service:recompress:tar_scm:pacemaker-1.1.10+git20131111.e5e37b5.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:284710183526f6bdc35aee230883b050880f3c7117ebe762f03bd8db36fca3c2 -size 9192261 +oid sha256:18fb54b236dc640553fa298407e0596830069e97959b0ef0b43b278868ebcaa1 +size 9191809 diff --git a/_service:set_version:pacemaker.spec b/_service:set_version:pacemaker.spec index ccb7b68..77e8b9e 100644 --- a/_service:set_version:pacemaker.spec +++ b/_service:set_version:pacemaker.spec @@ -102,7 +102,7 @@ Url: http://www.clusterlabs.org # export VER={upstream_version} # wget --no-check-certificate -O ClusterLabs-pacemaker-${VER}.tar.gz https://github.com/ClusterLabs/pacemaker/tarball/${VER} -Source0: %{name}.tar.bz2 +Source0: %{name}-%{version}.tar.bz2 Source100: pacemaker.rpmlintrc Patch1: bug-806256_pacemaker-log-level-notice.patch Patch2: bug-728579_pacemaker-stonith-dev-id.patch @@ -389,7 +389,7 @@ manager for Corosync, CMAN and/or Linux-HA. %prep #%setup -q -n %{name}%{upstream_prefix}-%{upstream_version} -%setup -q -n %{name} +%setup -q -n %{name}-%{version} %patch1 -p1 %patch2 -p1 %patch3 -p1 diff --git a/pacemaker.spec b/pacemaker.spec index 9adee7e..77e8b9e 100644 --- a/pacemaker.spec +++ b/pacemaker.spec @@ -95,14 +95,14 @@ Name: pacemaker Summary: Scalable High-Availability cluster resource manager License: GPL-2.0+ and LGPL-2.1+ Group: Productivity/Clustering/HA -Version: 1.1.10 +Version: 1.1.10+git20131111.e5e37b5 Release: 0 #Release: %{pcmk_release}%{?dist} Url: http://www.clusterlabs.org # export VER={upstream_version} # wget --no-check-certificate -O ClusterLabs-pacemaker-${VER}.tar.gz https://github.com/ClusterLabs/pacemaker/tarball/${VER} -Source0: %{name}.tar.bz2 +Source0: %{name}-%{version}.tar.bz2 Source100: pacemaker.rpmlintrc Patch1: bug-806256_pacemaker-log-level-notice.patch Patch2: bug-728579_pacemaker-stonith-dev-id.patch @@ -389,7 +389,7 @@ manager for Corosync, CMAN and/or Linux-HA. %prep #%setup -q -n %{name}%{upstream_prefix}-%{upstream_version} -%setup -q -n %{name} +%setup -q -n %{name}-%{version} %patch1 -p1 %patch2 -p1 %patch3 -p1 diff --git a/pacemaker.tar.bz2 b/pacemaker.tar.bz2 deleted file mode 100644 index 06168e4..0000000 --- a/pacemaker.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e1fd4a243749d28098f29d357f075c316651f4564fc14b5fcc077b28287a7b12 -size 8822832 From 7dec2b9cec6c8429a0d475a8e6e71098cd887d12a977b8f6d1140eefc01f551d Mon Sep 17 00:00:00 2001 From: Yan Gao Date: Thu, 14 Nov 2013 17:26:13 +0000 Subject: [PATCH 3/6] Accepting request 206929 from home:yan_gao:branches:network:ha-clustering:Factory - crmd: Send the first throttle update - Upstream version cs: 2383f6c469bfb31da9efa8e4dd626de049e808c6 OBS-URL: https://build.opensuse.org/request/show/206929 OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/pacemaker?expand=0&rev=78 --- _service | 2 +- ...ess:tar_scm:pacemaker-1.1.10+git20131111.e5e37b5.tar.bz2 | 3 --- ...ess:tar_scm:pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 | 3 +++ _service:set_version:pacemaker.spec | 2 +- pacemaker.changes | 6 ++++++ pacemaker.spec | 2 +- 6 files changed, 12 insertions(+), 6 deletions(-) delete mode 100644 _service:recompress:tar_scm:pacemaker-1.1.10+git20131111.e5e37b5.tar.bz2 create mode 100644 _service:recompress:tar_scm:pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 diff --git a/_service b/_service index 7e3ef6c..7b0f36d 100644 --- a/_service +++ b/_service @@ -9,7 +9,7 @@ --> .git 1.1.10+git%cd.%h - e5e37b5a21d82b01bf0d8d69c60a93eef3d06528 + 2383f6c469bfb31da9efa8e4dd626de049e808c6 diff --git a/_service:recompress:tar_scm:pacemaker-1.1.10+git20131111.e5e37b5.tar.bz2 b/_service:recompress:tar_scm:pacemaker-1.1.10+git20131111.e5e37b5.tar.bz2 deleted file mode 100644 index 7efde32..0000000 --- a/_service:recompress:tar_scm:pacemaker-1.1.10+git20131111.e5e37b5.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:18fb54b236dc640553fa298407e0596830069e97959b0ef0b43b278868ebcaa1 -size 9191809 diff --git a/_service:recompress:tar_scm:pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 b/_service:recompress:tar_scm:pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 new file mode 100644 index 0000000..4f84506 --- /dev/null +++ b/_service:recompress:tar_scm:pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02c61d5a8ca65e902a0bbaaec65c47a611fdd3086c3d27995d79e9a1229265e0 +size 9195981 diff --git a/_service:set_version:pacemaker.spec b/_service:set_version:pacemaker.spec index 77e8b9e..817ef4c 100644 --- a/_service:set_version:pacemaker.spec +++ b/_service:set_version:pacemaker.spec @@ -95,7 +95,7 @@ Name: pacemaker Summary: Scalable High-Availability cluster resource manager License: GPL-2.0+ and LGPL-2.1+ Group: Productivity/Clustering/HA -Version: 1.1.10+git20131111.e5e37b5 +Version: 1.1.10+git20131112.2383f6c Release: 0 #Release: %{pcmk_release}%{?dist} Url: http://www.clusterlabs.org diff --git a/pacemaker.changes b/pacemaker.changes index 7b7189c..65ba1a2 100644 --- a/pacemaker.changes +++ b/pacemaker.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Nov 14 07:19:28 UTC 2013 - ygao@suse.com + +- crmd: Send the first throttle update +- Upstream version cs: 2383f6c469bfb31da9efa8e4dd626de049e808c6 + ------------------------------------------------------------------- Sun Nov 10 00:43:46 UTC 2013 - ygao@suse.com diff --git a/pacemaker.spec b/pacemaker.spec index 77e8b9e..817ef4c 100644 --- a/pacemaker.spec +++ b/pacemaker.spec @@ -95,7 +95,7 @@ Name: pacemaker Summary: Scalable High-Availability cluster resource manager License: GPL-2.0+ and LGPL-2.1+ Group: Productivity/Clustering/HA -Version: 1.1.10+git20131111.e5e37b5 +Version: 1.1.10+git20131112.2383f6c Release: 0 #Release: %{pcmk_release}%{?dist} Url: http://www.clusterlabs.org From 0314f091571c0640b452f6157e43431047867c0d00cd07078228d638bf0396d7 Mon Sep 17 00:00:00 2001 From: Yan Gao Date: Thu, 14 Nov 2013 18:07:28 +0000 Subject: [PATCH 4/6] Tweak of _service file OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/pacemaker?expand=0&rev=79 --- _service | 2 +- ...press:tar_scm:pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/_service b/_service index 7b0f36d..1fea1a5 100644 --- a/_service +++ b/_service @@ -3,11 +3,11 @@ git git://github.com/ClusterLabs/pacemaker.git yes + .git - .git 1.1.10+git%cd.%h 2383f6c469bfb31da9efa8e4dd626de049e808c6 diff --git a/_service:recompress:tar_scm:pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 b/_service:recompress:tar_scm:pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 index 4f84506..6029494 100644 --- a/_service:recompress:tar_scm:pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 +++ b/_service:recompress:tar_scm:pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:02c61d5a8ca65e902a0bbaaec65c47a611fdd3086c3d27995d79e9a1229265e0 -size 9195981 +oid sha256:0c773c040158aa142f1b9e5939dac5901fd5f3b1f2eabc59b4c8cd1c6e0fe856 +size 9197031 From d82ce5f748898d64c6d5ee5021852352b0dcf6a7c3d0d8bb07eb4d6a72411eaa Mon Sep 17 00:00:00 2001 From: Yan Gao Date: Fri, 15 Nov 2013 04:17:51 +0000 Subject: [PATCH 5/6] OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/pacemaker?expand=0&rev=80 --- _service | 2 ++ ...press:tar_scm:pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/_service b/_service index 1fea1a5..07369ef 100644 --- a/_service +++ b/_service @@ -7,6 +7,8 @@ 1.1.10+git%cd.%h 2383f6c469bfb31da9efa8e4dd626de049e808c6 diff --git a/_service:recompress:tar_scm:pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 b/_service:recompress:tar_scm:pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 index 6029494..3e8d290 100644 --- a/_service:recompress:tar_scm:pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 +++ b/_service:recompress:tar_scm:pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0c773c040158aa142f1b9e5939dac5901fd5f3b1f2eabc59b4c8cd1c6e0fe856 -size 9197031 +oid sha256:c0b0e8a697563c65da53e056b4012d45bb46c683c487757e74b2000a7b28406b +size 9196176 From a14befa635e42b73d00d9f125573bc10881d6b1f3250f62d9e8e3f075ea39112 Mon Sep 17 00:00:00 2001 From: Yan Gao Date: Sat, 16 Nov 2013 07:18:35 +0000 Subject: [PATCH 6/6] OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/pacemaker?expand=0&rev=81 --- _service | 8 +- ...cemaker-1.1.10+git20131112.2383f6c.tar.bz2 | 3 - _service:set_version:pacemaker.spec | 760 ------------------ pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 | 3 + 4 files changed, 7 insertions(+), 767 deletions(-) delete mode 100644 _service:recompress:tar_scm:pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 delete mode 100644 _service:set_version:pacemaker.spec create mode 100644 pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 diff --git a/_service b/_service index 07369ef..9c9d2d8 100644 --- a/_service +++ b/_service @@ -1,5 +1,5 @@ - + git git://github.com/ClusterLabs/pacemaker.git yes @@ -8,16 +8,16 @@ To update to a new release, change "revision" to the desired git commit hash and bump "version" if necessary - 1.1.10+git20131112.2383f6c + 1.1.10 --> 1.1.10+git%cd.%h 2383f6c469bfb31da9efa8e4dd626de049e808c6 - + *pacemaker*.tar bz2 - + diff --git a/_service:recompress:tar_scm:pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 b/_service:recompress:tar_scm:pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 deleted file mode 100644 index 3e8d290..0000000 --- a/_service:recompress:tar_scm:pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c0b0e8a697563c65da53e056b4012d45bb46c683c487757e74b2000a7b28406b -size 9196176 diff --git a/_service:set_version:pacemaker.spec b/_service:set_version:pacemaker.spec deleted file mode 100644 index 817ef4c..0000000 --- a/_service:set_version:pacemaker.spec +++ /dev/null @@ -1,760 +0,0 @@ -# -# spec file for package pacemaker -# -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. -# -# All modifications and additions to the file contributed by third parties -# remain the property of their copyright owners, unless otherwise agreed -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - -%global gname haclient -%global uname hacluster -%global pcmk_docdir %{_docdir}/%{name} - -%global specversion 1 -%global upstream_version HEAD -%global upstream_prefix ClusterLabs-pacemaker - -# Turn off the auto compilation of python files not in the site-packages directory -# Needed so that the -devel package is multilib compliant -%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') - -#%%global rawhide %%(test ! -e /etc/yum.repos.d/fedora-rawhide.repo; echo $?) -%global rawhide 0 -#%%global cs_version %%(pkg-config corosync --modversion | awk -F . '{print $1}') -%global cs_version 2 -%global py_site %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))") - -# Conditionals -# Invoke "rpmbuild --without " or "rpmbuild --with " -# to disable or enable specific features - -# Legacy stonithd fencing agents -%bcond_with stonithd -%define with_stonithd 1 - -# Build with/without support for profiling tools -%bcond_with profiling - -# Include Build with/without support for performing coverage analysis -%bcond_with coverage - -# We generate docs using Publican, Asciidoc and Inkscape, but they're not available everywhere -%bcond_without doc -%define with_doc 0 - -# Use a different versioning scheme -%bcond_with pre_release - -# Ship an Upstart job file -%bcond_with upstart_job - -# Turn off cman support on platforms that normally ship with it -%bcond_without cman - -%if %{with profiling} -# This disables -debuginfo package creation and also the stripping binaries/libraries -# Useful if you want sane profiling data -%global debug_package %{nil} -%endif - -%if %{with pre_release} -%global pcmk_release 0.%{specversion}.%{upstream_version}.git -%else -%global pcmk_release %{specversion} -%endif - -#%if 0%{?suse_version} -#%define _libexecdir %{_libdir} -#%endif - -%define with_corosync_support 1 -%define with_heartbeat_support 0 - -%define with_nagios 1 -%define with_snmp 1 -%define with_esmtp 1 -%define with_acl 1 -%define with_cibsecrets 1 - -%define enable_lib_cluster_pkg 0 -%define enable_fatal_warnings 1 - -%define with_regression_tests 0 - -Name: pacemaker -Summary: Scalable High-Availability cluster resource manager -License: GPL-2.0+ and LGPL-2.1+ -Group: Productivity/Clustering/HA -Version: 1.1.10+git20131112.2383f6c -Release: 0 -#Release: %{pcmk_release}%{?dist} -Url: http://www.clusterlabs.org - -# export VER={upstream_version} -# wget --no-check-certificate -O ClusterLabs-pacemaker-${VER}.tar.gz https://github.com/ClusterLabs/pacemaker/tarball/${VER} -Source0: %{name}-%{version}.tar.bz2 -Source100: pacemaker.rpmlintrc -Patch1: bug-806256_pacemaker-log-level-notice.patch -Patch2: bug-728579_pacemaker-stonith-dev-id.patch -Patch3: bug-792124_pacemaker-stonith-monitor-log.patch -Patch4: pacemaker-NodeUtilization-RA.patch -Patch5: pacemaker-colocated-utilization.patch -Patch6: pacemaker-cibsecret-tool-temp-disabled.patch -Patch7: pacemaker-nagios-plugin-dir.patch -Patch8: bug-812269_pacemaker-fencing-update-cib.patch -Patch9: bug-812269_pacemaker-fencing-device-register-messages.patch -Patch10: pacemaker-Wno-cast-align.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-build -Provides: pacemaker-ticket-support = 2.0 -Conflicts: heartbeat < 3.0 -Conflicts: libheartbeat2 < 3.0.0 -Requires: %{name}-cli = %{version}-%{release} -Requires: libpacemaker3 = %{version}-%{release} -%if %{enable_lib_cluster_pkg} -Requires: libpacemaker3-cluster = %{version}-%{release} -%endif -Requires: psmisc -Requires: python -Requires: resource-agents -Recommends: crmsh -Recommends: libdlm -Recommends: fence-agents -Recommends: sbd -Suggests: graphviz - -%if %{defined systemd_requires} -%systemd_requires -%endif - -%if 0%{?rhel} > 0 -ExclusiveArch: i686 x86_64 -%endif - -# Required for core functionality -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: gcc-c++ -BuildRequires: glib2-devel - -%if 0%{?suse_version} -BuildRequires: libbz2-devel -%else -BuildRequires: bzip2-devel -%endif - -BuildRequires: libtool -BuildRequires: libtool-ltdl-devel -BuildRequires: libuuid-devel -BuildRequires: libxml2-devel -BuildRequires: libxslt-devel -BuildRequires: pam-devel -BuildRequires: pkgconfig -BuildRequires: python -BuildRequires: python-devel - -# Required for agent_config.h which specifies the correct scratch directory -BuildRequires: resource-agents - -# We need reasonably recent versions of libqb -BuildRequires: libqb-devel > 0.11.0 -Requires: libqb > 0.11.0 - -# Enables optional functionality -BuildRequires: bison -BuildRequires: byacc - -%if 0%{?suse_version} > 1100 -BuildRequires: docbook-xsl-stylesheets -%else -BuildRequires: docbook-style-xsl -%endif - -BuildRequires: flex - -%if 0%{?suse_version} > 1210 -BuildRequires: libgnutls-devel -%else -BuildRequires: gnutls-devel -%endif - -BuildRequires: help2man -BuildRequires: libselinux-devel -BuildRequires: ncurses-devel -BuildRequires: openssl-devel - -%if %{defined _unitdir} -BuildRequires: systemd-devel -%endif -BuildRequires: systemd-devel - -%if %{with cman} - -%if 0%{?fedora} > 0 -%if 0%{?fedora} < 17 -BuildRequires: clusterlib-devel -%endif -%endif - -%if 0%{?rhel} > 0 -%if 0%{?rhel} < 7 -BuildRequires: clusterlib-devel -%endif -%endif - -%endif - -%if %with_corosync_support -Requires: corosync -#BuildRequires: corosynclib-devel -BuildRequires: libcorosync-devel -%endif - -%if %with_heartbeat_support -BuildRequires: heartbeat-devel -Requires: heartbeat -%endif - -#%if %{with stonithd} -%if %{with_stonithd} -#BuildRequires: cluster-glue-libs-devel -BuildRequires: libglue-devel -%endif - -%if !0%{?rawhide} -# More often than not, inkscape is busted on rawhide, don't even bother - -#%if %{with doc} -%if %{with_doc} -%ifarch %{ix86} x86_64 -BuildRequires: asciidoc -BuildRequires: inkscape -BuildRequires: publican -%endif -%endif - -%if %with_snmp -BuildRequires: net-snmp-devel -%endif - -%if %with_esmtp -BuildRequires: libesmtp-devel -%endif - -%if %with_regression_tests -BuildRequires: procps -BuildRequires: python-curses -BuildRequires: python-xml -BuildRequires: vim-base -%endif - -%endif - -%description -Pacemaker is an advanced, scalable High-Availability cluster resource -manager for Corosync, CMAN and/or Linux-HA. - -It supports more than 16 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. - -Available rpmbuild rebuild options: - --with(out) : cman stonithd doc coverage profiling pre_release upstart_job - -%package cli -Summary: Command line tools for controlling Pacemaker clusters -Group: Productivity/Clustering/HA -Requires: libpacemaker3 = %{version}-%{release} -Requires: perl-TimeDate - -%description cli -Pacemaker is an advanced, scalable High-Availability cluster resource -manager for Corosync, CMAN and/or Linux-HA. - -The %{name}-cli package contains command line tools that can be used -to query and control the cluster from machines that may, or may not, -be part of the cluster. - -%package -n libpacemaker3 -Summary: Core Pacemaker libraries -Group: Productivity/Clustering/HA - -%description -n libpacemaker3 -Pacemaker is an advanced, scalable High-Availability cluster resource -manager for Corosync, CMAN and/or Linux-HA. - -The libpacemaker3 package contains shared libraries needed for cluster -nodes and those just running the CLI tools. - -%if %{enable_lib_cluster_pkg} -%package -n libpacemaker3-cluster -Summary: Cluster Libraries used by Pacemaker -Group: Productivity/Clustering/HA -Requires: libpacemaker3 = %{version}-%{release} - -%description -n libpacemaker3-cluster -Pacemaker is an advanced, scalable High-Availability cluster resource -manager for Corosync, CMAN and/or Linux-HA. - -The libpacemaker3-cluster package contains cluster-aware shared -libraries needed for nodes that will form part of the cluster nodes. -%endif - -%package remote -Summary: Pacemaker remote daemon for non-cluster nodes -Group: Productivity/Clustering/HA -Requires: %{name}-cli = %{version}-%{release} -Requires: libpacemaker3 = %{version}-%{release} -Requires: resource-agents -%if %{defined systemd_requires} -%systemd_requires -%endif - -%description remote -Pacemaker is an advanced, scalable High-Availability cluster resource -manager for Corosync, CMAN and/or Linux-HA. - -The %{name}-remote package contains the Pacemaker Remote daemon -which is capable of extending pacemaker functionality to remote -nodes not running the full corosync/cluster stack. - -%package -n libpacemaker-devel -Summary: Pacemaker development package -Group: Development/Libraries/C and C++ -Requires: %{name}-cts = %{version}-%{release} -Requires: glib2-devel - -%if 0%{?suse_version} -Requires: libbz2-devel -%else -Requires: bzip2-devel -%endif - -Requires: libcorosync-devel -Requires: libpacemaker3 = %{version}-%{release} -%if %{enable_lib_cluster_pkg} -Requires: libpacemaker3-cluster = %{version}-%{release} -%endif -Requires: libqb-devel -Requires: libtool-ltdl-devel -Requires: libuuid-devel -Requires: libxml2-devel -Requires: libxslt-devel -%if %with_regression_tests -# For the regression tests, we can run them only if all pacemaker -# packages are installed, so we pull that in here for the regression -# builds; this is supposed to be disabled for shipping code. -Requires: pacemaker -%endif - -%description -n libpacemaker-devel -Pacemaker is an advanced, scalable High-Availability cluster resource -manager for Corosync, CMAN and/or Linux-HA. - -The libpacemaker-devel package contains headers and shared libraries -for developing tools for Pacemaker. - -%package cts -Summary: Test framework for cluster-related technologies like Pacemaker -Group: Productivity/Clustering/HA -Requires: libpacemaker3 = %{version}-%{release} -Requires: python - -%description cts -Test framework for cluster-related technologies like Pacemaker - -%if %{with_doc} -%package doc -Summary: Documentation for Pacemaker -Group: Productivity/Clustering/HA - -%description doc -Documentation for Pacemaker. - -Pacemaker is an advanced, scalable High-Availability cluster resource -manager for Corosync, CMAN and/or Linux-HA. -%endif - -%prep -#%setup -q -n %{name}%{upstream_prefix}-%{upstream_version} -%setup -q -n %{name}-%{version} -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 - -# Force the local time -# -# 'git' sets the file date to the date of the last commit. -# This can result in files having been created in the future -# when building on machines in timezones 'behind' the one the -# commit occurred in - which seriously confuses 'make' -find . -exec touch \{\} \; - -%build -./autogen.sh - -# RHEL <= 5 does not support --docdir -docdir=%{pcmk_docdir} %{configure} \ - %{?with_profiling: --with-profiling} \ - %{?with_coverage: --with-coverage} \ - %{!?with_cman: --without-cman} \ -%if !%with_heartbeat_support - --without-heartbeat \ -%endif -%if %with_nagios - --with-nagios=true \ -%endif -%if %with_snmp - --with-snmp=true \ -%endif -%if %with_esmtp - --with-esmtp=true \ -%endif -%if %with_acl - --with-acl=true \ -%endif -%if %with_cibsecrets - --with-cibsecrets=true \ -%endif -%if !%enable_fatal_warnings - --enable-fatal-warnings=no \ -%endif - --with-initdir=%{_initrddir} \ - --localstatedir=%{_var} \ - --with-version=%{version}-%{release} - -%if 0%{?suse_version} >= 1200 -# Fedora handles rpath removal automagically -sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool -sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool -%endif - -make %{_smp_mflags} V=1 docdir=%{pcmk_docdir} all - -%install -rm -rf %{buildroot} -make DESTDIR=%{buildroot} docdir=%{pcmk_docdir} V=1 install - -#mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig -install -d -m755 $RPM_BUILD_ROOT/var/adm/fillup-templates -mkdir -p ${RPM_BUILD_ROOT}%{_var}/lib/pacemaker/cores -#install -m 644 mcp/pacemaker.sysconfig ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/pacemaker -install -m 644 mcp/pacemaker.sysconfig $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.pacemaker - -%if %{with upstart_job} -mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/init -install -m 644 mcp/pacemaker.upstart ${RPM_BUILD_ROOT}%{_sysconfdir}/init/pacemaker.conf -install -m 644 mcp/pacemaker.combined.upstart ${RPM_BUILD_ROOT}%{_sysconfdir}/init/pacemaker.combined.conf -%endif - -# Scripts that should be executable -chmod a+x %{buildroot}/%{_datadir}/pacemaker/tests/cts/CTSlab.py - -# 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 -find %{buildroot} -name '*.a' -type f -print0 | xargs -0 rm -f -find %{buildroot} -name '*.la' -type f -print0 | xargs -0 rm -f - -# Do not package these either -rm -f %{buildroot}/%{_libdir}/service_crm.so - -# Don't ship init scripts for systemd based platforms -%if %{defined _unitdir} -rm -f %{buildroot}/%{_initrddir}/pacemaker -rm -f %{buildroot}/%{_initrddir}/pacemaker_remote -%endif - -# Only useful on rhel6 -rm -f %{buildroot}/%{_bindir}/ccs2cib -rm -f %{buildroot}/%{_bindir}/ccs_flatten -rm -f %{buildroot}/%{_bindir}/disable_rgmanager - -%if %{with coverage} -GCOV_BASE=%{buildroot}/%{_var}/lib/pacemaker/gcov -mkdir -p $GCOV_BASE -find . -name '*.gcno' -type f | while read F ; do - D=`dirname $F` - mkdir -p ${GCOV_BASE}/$D - cp $F ${GCOV_BASE}/$D -done -%endif - -%if %{defined _unitdir} - -%post -#%systemd_post pacemaker.service -%service_add_post pacemaker.service - -if [ ! -e %{_sysconfdir}/sysconfig/pacemaker ]; then - %fillup_only pacemaker -fi - -%preun -#%systemd_preun pacemaker.service -%service_del_preun pacemaker.service - -%postun -#%systemd_postun_with_restart pacemaker.service -%service_del_postun pacemaker.service - -%post remote -#%systemd_post pacemaker_remote.service -%service_add_post pacemaker_remote.service - -if [ ! -e %{_sysconfdir}/sysconfig/pacemaker ]; then - %fillup_only pacemaker -fi - -%preun remote -#%systemd_preun pacemaker_remote.service -%service_del_preun pacemaker_remote.service - -%postun remote -#%systemd_postun_with_restart pacemaker_remote.service -%service_del_postun pacemaker_remote.service - -%else - -%post -/sbin/chkconfig --add pacemaker || : - -%preun -/sbin/service pacemaker stop || : -if [ $1 -eq 0 ]; then - # Package removal, not upgrade - /sbin/chkconfig --del pacemaker || : -fi - -%post remote -/sbin/chkconfig --add pacemaker_remote || : - -%preun remote -/sbin/service pacemaker_remote stop &>/dev/null || : -if [ $1 -eq 0 ]; then - # Package removal, not upgrade - /sbin/chkconfig --del pacemaker_remote || : -fi - -%endif - -%pre -n libpacemaker3 - -getent group %{gname} >/dev/null || groupadd -r %{gname} -g 189 -getent passwd %{uname} >/dev/null || useradd -r -g %{gname} -u 189 -s /sbin/nologin -c "cluster user" %{uname} -exit 0 - -%post -n libpacemaker3 -p /sbin/ldconfig - -%postun -n libpacemaker3 -p /sbin/ldconfig - -%if %{enable_lib_cluster_pkg} -%post -n libpacemaker3-cluster -p /sbin/ldconfig - -%postun -n libpacemaker3-cluster -p /sbin/ldconfig -%endif - -%if %with_regression_tests - -%post -n libpacemaker-devel -if [ ! -e /tmp/.pcmk_regression_tests_ran ]; then - touch /tmp/.pcmk_regression_tests_ran - # Needed so that the shell doesn't get stuck on escape - # sequences - export TERM=dumb - /usr/share/pacemaker/tests/cli/regression.sh || true - /usr/share/pacemaker/tests/pengine/regression.sh -V || true - echo Now running shell regression tests ; date - if ! /usr/share/pacemaker/tests/shell/regression.sh ; then - echo "Shell tests failed." - cat crmtestout/regression.out - fi -fi -%endif - -%files -########################################################### -%defattr(-,root,root) - -%exclude %{_datadir}/pacemaker/tests - -#%config(noreplace) %{_sysconfdir}/sysconfig/pacemaker -%{_sbindir}/pacemakerd - -%if %{defined _unitdir} -%{_unitdir}/pacemaker.service -%else -%{_initrddir}/pacemaker -%endif - -%{_datadir}/pacemaker -%{_datadir}/snmp/mibs/PCMK-MIB.txt -%exclude %{_libexecdir}/pacemaker/lrmd_test -%exclude %{_sbindir}/pacemaker_remoted -%dir %{_libexecdir}/pacemaker -%{_libexecdir}/pacemaker/* - -%{_sbindir}/crm_attribute -%{_sbindir}/crm_master -%{_sbindir}/crm_node -%{_sbindir}/attrd_updater -%{_sbindir}/fence_legacy -%{_sbindir}/fence_pcmk -%{_sbindir}/stonith_admin - -%doc %{_mandir}/man7/* -%doc %{_mandir}/man8/attrd_updater.* -%doc %{_mandir}/man8/crm_attribute.* -%doc %{_mandir}/man8/crm_node.* -%doc %{_mandir}/man8/crm_master.* -%doc %{_mandir}/man8/fence_pcmk.* -%doc %{_mandir}/man8/fence_legacy.* -%doc %{_mandir}/man8/pacemakerd.* -%doc %{_mandir}/man8/stonith_admin.* - -%doc COPYING -%doc AUTHORS -%doc ChangeLog - -%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker -%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker/cib -%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker/cores -%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker/pengine -%dir %attr (750, %{uname}, %{gname}) %{_var}/lib/pacemaker/blackbox -%ghost %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 0%{?cs_version} < 2 -%{_libexecdir}/lcrso/pacemaker.lcrso -%endif - -%if %{with upstart_job} -%config(noreplace) %{_sysconfdir}/init/pacemaker.conf -%config(noreplace) %{_sysconfdir}/init/pacemaker.combined.conf -%endif - -%files cli -%defattr(-,root,root) -%{_sbindir}/cibadmin -%{_sbindir}/crm_diff -%{_sbindir}/crm_error -%{_sbindir}/crm_failcount -%{_sbindir}/crm_mon -%{_sbindir}/crm_resource -%{_sbindir}/crm_standby -%{_sbindir}/crm_verify -%{_sbindir}/crmadmin -%{_sbindir}/iso8601 -%{_sbindir}/crm_shadow -%{_sbindir}/crm_simulate -%{_sbindir}/crm_report -%{_sbindir}/crm_ticket -%doc %{_mandir}/man8/* -%exclude %{_mandir}/man8/attrd_updater.* -%exclude %{_mandir}/man8/crm_attribute.* -%exclude %{_mandir}/man8/crm_node.* -%exclude %{_mandir}/man8/crm_master.* -%exclude %{_mandir}/man8/fence_pcmk.* -%exclude %{_mandir}/man8/fence_legacy.* -%exclude %{_mandir}/man8/pacemakerd.* -%exclude %{_mandir}/man8/pacemaker_remoted.* -%exclude %{_mandir}/man8/stonith_admin.* - -%doc COPYING -%doc AUTHORS -%doc ChangeLog - -%files -n libpacemaker3 -%defattr(-,root,root) - -%{_libdir}/libcib.so.* -%{_libdir}/liblrmd.so.* -%{_libdir}/libcrmservice.so.* -%{_libdir}/libcrmcommon.so.* -%{_libdir}/libpe_status.so.* -%{_libdir}/libpe_rules.so.* -%{_libdir}/libpengine.so.* -%{_libdir}/libstonithd.so.* -%{_libdir}/libtransitioner.so.* -%config(noreplace) /var/adm/fillup-templates/sysconfig.pacemaker -%doc COPYING.LIB -%doc AUTHORS -%{_libdir}/libcrmcluster.so.* - -%if %{enable_lib_cluster_pkg} -%files -n libpacemaker3-cluster -%defattr(-,root,root) -#%{_libdir}/libcrmcluster.so.* -%doc COPYING.LIB -%doc AUTHORS -%endif - -%files remote -%defattr(-,root,root) - -#%config(noreplace) %{_sysconfdir}/sysconfig/pacemaker -%if %{defined _unitdir} -%{_unitdir}/pacemaker_remote.service -%else -%{_initrddir}/pacemaker_remote -%endif - -%{_sbindir}/pacemaker_remoted -%{_mandir}/man8/pacemaker_remoted.* -%doc COPYING.LIB -%doc AUTHORS - -%if %{with_doc} -%files doc -%defattr(-,root,root) -%doc %{pcmk_docdir} -%endif - -%files cts -%defattr(-,root,root) -#%{py_site}/cts -%{py_sitedir}/cts -%{_datadir}/pacemaker/tests/cts -%{_libexecdir}/pacemaker/lrmd_test -%doc COPYING.LIB -%doc AUTHORS - -%files -n libpacemaker-devel -%defattr(-,root,root) -%exclude %{_datadir}/pacemaker/tests/cts -%{_datadir}/pacemaker/tests -%{_includedir}/pacemaker -%{_libdir}/*.so -%if %{with coverage} -%{_var}/lib/pacemaker -%endif -%{_libdir}/pkgconfig/*.pc -%doc COPYING.LIB -%doc AUTHORS - -%changelog diff --git a/pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 b/pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 new file mode 100644 index 0000000..9e5d34c --- /dev/null +++ b/pacemaker-1.1.10+git20131112.2383f6c.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb4196b30d9d642fb09a9ef4c53bbbead17d598f4f1b5a496c96f5fd79d2a2e5 +size 9196048