# ChangeLog for sys-cluster/heartbeat
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/heartbeat/ChangeLog,v 1.100 2011/10/18 10:31:51 chainsaw Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/heartbeat/ChangeLog,v 1.101 2011/10/18 17:27:57 xarthisius Exp $
+
+ 18 Oct 2011; Kacper Kowalik <xarthisius@gentoo.org> -heartbeat-1.2.5.ebuild,
+ -heartbeat-1.2.5-r1.ebuild, -heartbeat-2.0.7-r2.ebuild,
+ -files/heartbeat-2.0.7-update-resources-failcount.patch,
+ -heartbeat-2.0.8.ebuild, -files/heartbeat-2.0.8-asneeded.patch,
+ -files/heartbeat-2.0.8-crm-assert.patch,
+ -files/heartbeat-2.0.8-crm-leaks.patch, -files/heartbeat-2.0.8-delay.patch,
+ -files/heartbeat-2.0.8-glibc.patch, -files/heartbeat-2.0.8-install_fix.patch,
+ -heartbeat-3.0.4-r1.ebuild:
+ Drop ancient and unusable versions of heartbeat-{1,2} since we have
+ heartbeat-3 stable
18 Oct 2011; Tony Vroon <chainsaw@gentoo.org> heartbeat-3.0.5.ebuild:
Marked stable on AMD64 based on arch testing by Agostino "ago" Sarubbo & Ian
-----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
+Hash: SHA256
AUX 3.0.4-docs.patch 1727 RMD160 ec20f10c56ce13fa935818bd8dd3d7f528ad858b SHA1 b146ff45d6215973380766c8ea9a3bcaf1b97bd6 SHA256 68478a2cc1ca5a68a819ca88dcff64c9fd3d7dd34559f70507fed6ed985fc7f8
AUX 3.0.4-fix_configure.patch 2996 RMD160 d142f1c0346ee25a0c1616db41f25ca35c7adb6e SHA1 92987cf7a938fcd6b64a9e599a89dd527bcd0264 SHA256 663ddbae715e8f0ba1926dcc5e0f67404b0b7d3cbe569f0253ac9eb5ca2ec3d1
AUX 3.0.4-python_tests.patch 464 RMD160 f89b045be69ade44f454330ec6940fdaa80b863d SHA1 3fbd36b9f433b1b2ae3f40e620bb7b2f8bab98d4 SHA256 4adecb3af45c651bd28bc315e1e8607c2a1829a7295b155e1ad61e65afe0efaf
-AUX heartbeat-2.0.7-update-resources-failcount.patch 6648 RMD160 71e59accbad7883af4dae8d129ff15cdb59105fc SHA1 cc644a7d69c3d999bc440083723951cce1011b67 SHA256 0a08f4e45037724a3cc0877a16452d351535cee2d43dcb4a4bbd47c6c9ab7f3f
-AUX heartbeat-2.0.8-asneeded.patch 2605 RMD160 ba2280ad11d37d123d1a7310cb23e55911aa14b1 SHA1 a864ead82e18c9a7722aa5021e11b7c951abebd0 SHA256 669b0b63c7f5b53671f110d33a0922e1b89fa3ceb6ae1fb44f4a674375778231
-AUX heartbeat-2.0.8-crm-assert.patch 453 RMD160 fff65950d3e1a683cff3f7d45e2e61cd2a71e2b3 SHA1 c48bb81671892e4609d5c35f09cdd6784fb81c1b SHA256 73040b24a3014f736f39ce4f804c9a4be1825aceefb85150c8182056024fedc3
-AUX heartbeat-2.0.8-crm-leaks.patch 16011 RMD160 f5cd30e246a36329d2fb81d798c0c07b21a71645 SHA1 583882aa32fe4168392699dfefc03557a11af5da SHA256 559d192f47de95288d7a09c4d669801b623ab47b1ad39104ddde6d2d86b9bba0
-AUX heartbeat-2.0.8-delay.patch 328 RMD160 fa5b28027ee1ddaed4b3938326bf33ea156b1b6e SHA1 ec5f8f59390644e12c6f1f93e96871a6887f1596 SHA256 65afacc1a2b73170cd0167cee14eb280128de1dbcb5c59249d40be81737c024c
-AUX heartbeat-2.0.8-glibc.patch 532 RMD160 16e4fff7ccb75ac06c804998a8e92d4576dfee50 SHA1 183a7018eeef4c08187b9e858bda20f5312180de SHA256 786b9e86d7f6917f11bcbe0ee2a18a908ee2bae70fd3276c39540992677227ca
-AUX heartbeat-2.0.8-install_fix.patch 300 RMD160 8fbf8b5f741d434976dbcfd16d5c6f3d0f93aa2b SHA1 4c66495d491c76f1005a0054cad1eefda0cdb917 SHA256 8c51a07100d7e15b6961c01e05f542bb2501e053e38fb5d8c684bb573770fdc2
AUX heartbeat-init 1770 RMD160 583e9081777c7143b0376a04150f1e125e63cd69 SHA1 2f6b3d17a335b99bc64eedf945490eb40c44fc23 SHA256 18c4dce7af12445ff207fabab83c70665b9724da224cb75b56d27a057ebb2f26
-DIST STABLE-3.0.4.tar.bz2 537449 RMD160 849fd1ca46bb247b3115fea978bb6e639f8a2718 SHA1 41920cebc9e260d5ac43be742c74c5e3998ef571 SHA256 8f6997acd673d7ffef9f5946fa507d78b5c81dd0941e998c71cd72dd61a39784
DIST STABLE-3.0.5.tar.bz2 538986 RMD160 c2d29613e44c4fffc853db3aea0ca6d535723cf8 SHA1 8c13d83a54f2e2738cb93af37943449bcac4ab0f SHA256 fc7b11f9e1f16bc853434208a1ce86803acf1d0fb6f43715209a84c1c34661c3
-DIST heartbeat-1.2.5.tar.gz 2107371 RMD160 0e94fa64339b9b77e11ffe92cffa66fef4f4f2b0 SHA1 eeea454bcf0e12dd1135f6544c95584fa2e66770 SHA256 46f88a69324012317a4426dc93654ab28947b77675826686624d15cd5a4e357f
-DIST heartbeat-2.0.7.tar.gz 3327126 RMD160 8fe70e64fc6714fef4e501ae0b240d870a51cf75 SHA1 c0caf848b90d2fc76e0a390aaf59352d580d714a SHA256 008214f51fd0c49e168d1bb262cb5c967bc166f99d0c8ff3a2623c8ba51a0ab3
-DIST heartbeat-2.0.8.tar.gz 3502095 RMD160 76f3a56cbbafac8c35a87266b73d46a86de86feb SHA1 1805fc4c6218f05006c506d532728c6664d5a35c SHA256 b8425098e1243976f1e9deedfbf763fd42f0461bdd8933b0b8a94f0626912c91
-EBUILD heartbeat-1.2.5-r1.ebuild 2012 RMD160 3c2ce49b8445051f565adc3530a3fdc902f5fb80 SHA1 9067a215f3a261c47819e8897cfcad965010d9ec SHA256 c710c56d720206645e124b8d57e95fa659f41a8fac946957bb3cf25f4caf7b76
-EBUILD heartbeat-1.2.5.ebuild 1983 RMD160 7dd59eece32bd4e3188cb0e79abf77780e6efd6c SHA1 c482618a34da16a7931a894b99e91b8b165dfe94 SHA256 ae77b007d8f895cc8d85f60a51d13b66840cd983a6d787e25514f13e5e9d24f4
-EBUILD heartbeat-2.0.7-r2.ebuild 3561 RMD160 75590142b265202e365c24176c0fe8413efd75d3 SHA1 34569b2284c2deee3cb3ab139ef3a4cc9329bdd9 SHA256 2ce7f5dbd9917d54f766e2dcb2173c4334947a2b86524b302cb62349b948c4b3
-EBUILD heartbeat-2.0.8.ebuild 4016 RMD160 7f0e9274e8d8d836ad70c1e7268454660f4ad667 SHA1 8076300a04563cea503a021a872130ad874d1846 SHA256 81b260d63d635156f6d16c2de79b2e15d566b6727a74b94fd7dcbcb63a13f93c
-EBUILD heartbeat-3.0.4-r1.ebuild 1966 RMD160 37c3305fbd155ecb3499e672f6897e343bae8048 SHA1 fe0029b663540b36f8d9e6bd235cd83d5e128768 SHA256 3b0da49b9eb4a41ceeb66b870cecdf91e346f7a8a50daac84c830914466b7182
EBUILD heartbeat-3.0.5.ebuild 1960 RMD160 660d8fe1a9a3ccfd0b99f34c71f9ed543ef700c8 SHA1 c1dd9fe553ab56ae1cbd03e2b5ba4fe3ba1318df SHA256 7dd33b666445a35521e392035750849fd5e8f74f56ec92437a2bcadaad8a7cec
-MISC ChangeLog 16376 RMD160 13f0ded95f73c43ce06bdad9ba9d713d6f038074 SHA1 dc53c249db6084cf32d4570d42037ed2e8d64d74 SHA256 04c5e08ad458147626164dbd3d20a32689fb71abf6f1a9184aa92fcf438491ab
+MISC ChangeLog 16963 RMD160 273941ffbd290614b56ccaf9d5ed59c336b40e8c SHA1 f88d99ff97e6673d9213593c86f4cd8cc19eacfd SHA256 a2044cea322212dfb49424b17d7523a2b1f06f47d3be855c57c6c701953246e0
MISC metadata.xml 459 RMD160 cef650d4af8ca48c3b73326cac202bc5475e036a SHA1 0a0cb879039ff023e83a5367ba656d83134de099 SHA256 a6f642dd6b76d6b97226688edd56d095aa97eb8ea76c273c7c321e1f9bfda6b8
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (GNU/Linux)
-iEYEARECAAYFAk6dVacACgkQp5vW4rUFj5ok5QCglWdAeIe1QDc+KwGlxJ4hKY+0
-O+oAn1Ow9H2bdI6nHvRC9EVlxuFCMcrs
-=w7Xg
+iQIcBAEBCAAGBQJOnbcjAAoJEF0huFKJUZL5MAwP/jzMMczDVcKggtwOVvqmEYs1
+TdzCtpqbKv9YWdgMXWC5o2KGpPudSJ+ehSzYCeS62ugSi+vg5KEbS+Hxo7+qod9k
+dM7dvOS/C12ETTq0DcY3VRnODfER/gZHfEL9ppIsO9Mr7z0Wni6Fta1nv9jETeTy
+eDnqhwb0GHsgucSfuj5GGHEiVP1TuhyO7bCZC6c9b8z6hARHiVCNzY6k96FGiM8H
+1EMSdgEe7V/sDkDBBCHiI/NTT3Xk1XkqB1H4hwrUZlx7bO9saBlCfpuBlad08ws3
+Jxi6Y1WOGmFDIouXwJWtn2kATg+b9/uVocD+1hKhdX8TEkjrlnBOLJdnH75lzhbT
+gyV4ibdboHgx/W4riwtNU/zk3Bz7IkSMlO5QTcri761uI3ZfSIRh1MNYZES2kFWC
+N+2GpKYv0FuPJt2zsjd4ob9CkIFzWOpUJ4MQHWwerXaUwysyvNpMZ/PvWr2feTeU
+nD6a78JS8PhAKOcCETHN/3YUS3Tx9d2mBY5ddESyjWRITHZuosEGm/AcCdoGYNUL
+jdZQ1G13SSo5S0L71ItdYdv3CB67d25GZkvjZpAAwpRPlWgOycWvx+GCZTNBNqKU
+H9AwLRjTDX6Y2xF2fZOGYxljyR8wg/9ajUKumz+ZmujUYiSImFcRMXD/OHHNx1u6
+3iQMMXXx940Iq/kLRYJC
+=gE/t
-----END PGP SIGNATURE-----
+++ /dev/null
---- a/crm/tengine/events.c Wed Sep 06 11:40:40 2006 +0200
-+++ b/crm/tengine/events.c Tue Sep 12 18:17:10 2006 +0200
-@@ -198,51 +198,81 @@ extract_event(crm_data_t *msg)
- }
-
- static void
--update_failcount(crm_action_t *action, int rc)
--{
-- crm_data_t *rsc = NULL;
-+update_failcount(crm_data_t *event, const char *event_node, int rc)
-+{
- char *attr_name = NULL;
-
-- const char *task = NULL;
-- const char *rsc_id = NULL;
-- const char *on_node = NULL;
-- const char *on_uuid = NULL;
-- const char *interval = NULL;
-+ char *task = NULL;
-+ char *rsc_id = NULL;
-+ const char *on_node = event_node;
-+ const char *on_uuid = event_node;
-+ int interval = 0;
-
- if(rc == 99) {
- /* this is an internal code for "we're busy, try again" */
- return;
- }
-
-- interval = g_hash_table_lookup(
-- action->params, crm_meta_name("interval"));
-- if(interval == NULL) {
-- return;
-- }
--
-- CRM_CHECK(action->xml != NULL, return);
--
-- rsc = find_xml_node(action->xml, XML_CIB_TAG_RESOURCE, TRUE);
-- CRM_CHECK(rsc != NULL, return);
-- rsc_id = ID(rsc);
-- CRM_CHECK(rsc_id != NULL, return);
--
-- task = crm_element_value(action->xml, XML_LRM_ATTR_TASK);
-- on_node = crm_element_value(action->xml, XML_LRM_ATTR_TARGET);
-- on_uuid = crm_element_value(action->xml, XML_LRM_ATTR_TARGET_UUID);
--
-- CRM_CHECK(task != NULL, return);
- CRM_CHECK(on_uuid != NULL, return);
-- CRM_CHECK(on_node != NULL, return);
--
-- attr_name = crm_concat("fail-count", rsc_id, '-');
-- crm_warn("Updating failcount for %s on %s after failed %s: rc=%d",
-- rsc_id, on_node, task, rc);
--
-- update_attr(te_cib_conn, cib_none, XML_CIB_TAG_STATUS,
-- on_uuid, NULL,NULL, attr_name, XML_NVPAIR_ATTR_VALUE"++");
--
-- crm_free(attr_name);
-+
-+ CRM_CHECK(parse_op_key(ID(event), &rsc_id, &task, &interval),return);
-+ CRM_CHECK(task != NULL, crm_free(rsc_id); return);
-+ CRM_CHECK(rsc_id != NULL, crm_free(task); return);
-+ /* CRM_CHECK(on_node != NULL, return); */
-+
-+ if(interval > 0) {
-+ attr_name = crm_concat("fail-count", rsc_id, '-');
-+ crm_warn("Updating failcount for %s on %s after failed %s: rc=%d",
-+ rsc_id, on_node, task, rc);
-+
-+ update_attr(te_cib_conn, cib_none, XML_CIB_TAG_STATUS,
-+ on_uuid, NULL,NULL, attr_name,
-+ XML_NVPAIR_ATTR_VALUE"++");
-+ crm_free(attr_name);
-+ }
-+
-+ crm_free(rsc_id);
-+ crm_free(task);
-+}
-+
-+static int
-+status_from_rc(crm_action_t *action, int orig_status, int rc)
-+{
-+ int status = orig_status;
-+ const char *target_rc_s = g_hash_table_lookup(
-+ action->params, crm_meta_name(XML_ATTR_TE_TARGET_RC));
-+
-+ if(target_rc_s != NULL) {
-+ int target_rc = 0;
-+ crm_debug_2("Target rc: %s vs. %d", target_rc_s, rc);
-+ target_rc = crm_parse_int(target_rc_s, NULL);
-+ if(target_rc == rc) {
-+ crm_debug_2("Target rc: == %d", rc);
-+ if(status != LRM_OP_DONE) {
-+ crm_debug_2("Re-mapping op status to"
-+ " LRM_OP_DONE for rc=%d", rc);
-+ status = LRM_OP_DONE;
-+ }
-+ } else {
-+ crm_debug_2("Target rc: != %d", rc);
-+ if(status != LRM_OP_ERROR) {
-+ crm_info("Re-mapping op status to"
-+ " LRM_OP_ERROR for rc=%d", rc);
-+ status = LRM_OP_ERROR;
-+ }
-+ }
-+ }
-+
-+ /* 99 is the code we use for direct nack's */
-+ if(rc != 99 && status != LRM_OP_DONE) {
-+ const char *task, *uname;
-+ task = crm_element_value(action->xml, XML_LRM_ATTR_TASK);
-+ uname = crm_element_value(action->xml, XML_LRM_ATTR_TARGET);
-+ crm_warn("Action %s on %s failed (target: %s vs. rc: %d): %s",
-+ task, uname, target_rc_s, rc, op_status2text(status));
-+ }
-+
-+ return status;
- }
-
- /*
-@@ -255,9 +285,6 @@ match_graph_event(
- match_graph_event(
- crm_action_t *action, crm_data_t *event, const char *event_node)
- {
-- int log_level_fail = LOG_ERR;
-- int target_rc = 0;
-- const char *target_rc_s = NULL;
- const char *allow_fail = NULL;
- const char *this_action = NULL;
- const char *this_node = NULL;
-@@ -296,15 +323,19 @@ match_graph_event(
- crm_debug_2("Action %d : Node mismatch %s (%s) vs. %s",
- action->id, this_node, this_uname, event_node);
- return -1;
--
-- }
--
-+ }
-+
- crm_debug_2("Matched action (%d) %s", action->id, this_event);
-
- CRM_CHECK(decode_transition_magic(
- magic, &update_te_uuid,
- &transition_i, &op_status_i, &op_rc_i), return -2);
-
-+ op_status_i = status_from_rc(action, op_status_i, op_rc_i);
-+ if(op_status_i != LRM_OP_DONE) {
-+ update_failcount(event, event_node, op_rc_i);
-+ }
-+
- if(transition_i == -1) {
- /* we never expect these - recompute */
- crm_err("Detected action %s initiated outside of a transition",
-@@ -334,28 +365,6 @@ match_graph_event(
- /* stop this event's timer if it had one */
- stop_te_timer(action->timer);
- action->confirmed = TRUE;
--
-- target_rc_s = g_hash_table_lookup(
-- action->params,crm_meta_name(XML_ATTR_TE_TARGET_RC));
-- if(target_rc_s != NULL) {
-- crm_debug_2("Target rc: %s vs. %d", target_rc_s, op_rc_i);
-- target_rc = crm_parse_int(target_rc_s, NULL);
-- if(target_rc == op_rc_i) {
-- crm_debug_2("Target rc: == %d", op_rc_i);
-- if(op_status_i != LRM_OP_DONE) {
-- crm_debug_2("Re-mapping op status to"
-- " LRM_OP_DONE for %s",update_event);
-- op_status_i = LRM_OP_DONE;
-- }
-- } else {
-- crm_debug_2("Target rc: != %d", op_rc_i);
-- if(op_status_i != LRM_OP_ERROR) {
-- crm_info("Re-mapping op status to"
-- " LRM_OP_ERROR for %s", update_event);
-- op_status_i = LRM_OP_ERROR;
-- }
-- }
-- }
-
- /* Process OP status */
- switch(op_status_i) {
-@@ -371,18 +380,9 @@ match_graph_event(
- case LRM_OP_DONE:
- break;
- case LRM_OP_ERROR:
-- /* This is the code we use for direct nack's */
-- if(op_rc_i == 99) {
-- log_level_fail = LOG_WARNING;
-- }
-- /* fall through */
- case LRM_OP_TIMEOUT:
- case LRM_OP_NOTSUPPORTED:
- action->failed = TRUE;
-- crm_log_maybe(log_level_fail,
-- "Action %s on %s failed (target: %d vs. rc: %d): %s",
-- update_event, this_uname, target_rc,
-- op_rc_i, op_status2text(op_status_i));
- break;
- case LRM_OP_CANCELLED:
- /* do nothing?? */
-@@ -405,10 +405,6 @@ match_graph_event(
- }
-
- if(action->failed) {
-- /* ignore probes */
-- if(target_rc != EXECRA_NOT_RUNNING) {
-- update_failcount(action, op_rc_i);
-- }
- abort_transition(action->synapse->priority+1,
- tg_restart, "Event failed", event);
-
-@@ -544,6 +540,9 @@ process_graph_event(crm_data_t *event, c
- /* unexpected event, trigger a pe-recompute */
- /* possibly do this only for certain types of actions */
- crm_warn("Event not found.");
-+ if(rc != EXECRA_OK) {
-+ update_failcount(event, event_node, rc);
-+ }
- crm_log_xml_info(event, "match:not-found");
- abort_transition(INFINITY, tg_restart, "Unexpected event", event);
- return;
-
+++ /dev/null
---- heartbeat-2.0.8.orig/membership/ccm/Makefile.am 2007-01-12 03:57:08.000000000 +0100
-+++ heartbeat-2.0.8/membership/ccm/Makefile.am 2009-11-18 18:06:29.402999800 +0100
-@@ -89,6 +89,7 @@
-
- libccmclient_la_SOURCES = ccmlib_memapi.c ccmlib_eventapi.c ccmlib.h
- libccmclient_la_LDFLAGS = -version-info 1:0:0
-+libccmclient_la_LIBADD = $(top_builddir)/lib/clplumbing/libplumb.la
-
-
- ## library libclm.la
-@@ -102,6 +103,7 @@
- ## Add -DPOSIX_THREADS to CFLAGS to compile a thread-safe version library
- libclm_la_CFLAGS = -DHA_VARLIBDIR='"@HA_VARLIBDIR@"' -g #-DPOSIX_THREADS
- libclm_la_LDFLAGS = -version-info 1:0:0
-+libclm_la_LIBADD = $(gliblib) ./libccmclient.la
-
- clmtest_SOURCES = clmtest.c
- clmtest_LDADD = libclm.la libccmclient.la \
---- heartbeat-2.0.8.orig/lib/crm/common/Makefile.am 2007-01-12 03:57:08.000000000 +0100
-+++ heartbeat-2.0.8/lib/crm/common/Makefile.am 2009-11-18 18:07:11.829252027 +0100
-@@ -41,6 +41,7 @@
- libcrmcommon_la_SOURCES = ipc.c msg.c utils.c xml.c ctrl.c \
- iso8601.c iso8601_fields.c
- libcrmcommon_la_LDFLAGS = -version-info 1:1:0
-+libcrmcommon_la_LIBADD = $(gliblib) $(top_builddir)/lib/clplumbing/libplumb.la
-
- clean-generic:
- rm -f *.log *.debug *.xml *~
---- heartbeat-2.0.8.orig/crm/pengine/Makefile.am 2007-01-12 03:57:04.000000000 +0100
-+++ heartbeat-2.0.8/crm/pengine/Makefile.am 2009-11-18 18:07:44.928999529 +0100
-@@ -63,6 +63,9 @@
- # -L$(top_builddir)/lib/pils -lpils -export-dynamic -module -avoid-version
- libpengine_la_SOURCES = pengine.c allocate.c utils.c \
- native.c group.c clone.c master.c graph.c
-+libpengine_la_LIBADD = $(top_builddir)/lib/crm/pengine/libpe_rules.la \
-+ $(top_builddir)/lib/crm/pengine/libpe_status.la
-+
-
- pengine_SOURCES = main.c
- pengine_CFLAGS = -DHA_VARLIBDIR='"@HA_VARLIBDIR@"'
---- heartbeat-2.0.8.orig/lib/crm/pengine/Makefile.am 2007-01-12 03:57:08.000000000 +0100
-+++ heartbeat-2.0.8/lib/crm/pengine/Makefile.am 2009-11-18 18:08:21.715999508 +0100
-@@ -60,6 +60,8 @@
-
- libpe_status_la_LDFLAGS = -version-info 1:0:0
- libpe_status_la_SOURCES = $(rule_files) $(status_files)
-+libpe_status_la_LIBADD = -lncurses \
-+ $(top_builddir)/lib/crm/cib/libcib.la
-
- clean-generic:
- rm -f *.log *.debug *~
---- heartbeat-2.0.8.orig/lib/crm/Makefile.am 2007-01-12 03:57:08.000000000 +0100
-+++ heartbeat-2.0.8/lib/crm/Makefile.am 2009-11-18 18:08:42.514251905 +0100
-@@ -18,5 +18,5 @@
- MAINTAINERCLEANFILES = Makefile.in
-
- ## Subdirectories...
--SUBDIRS = common pengine cib transition
--DIST_SUBDIRS = common pengine cib transition
-+SUBDIRS = common cib pengine transition
-+DIST_SUBDIRS = common cib pengine transition
+++ /dev/null
-diff -Naur heartbeat-2.0.8.old/lib/crm/common/utils.c heartbeat-2.0.8/lib/crm/common/utils.c
---- heartbeat-2.0.8.old/lib/crm/common/utils.c 2010-09-29 13:40:09.000000000 +0200
-+++ heartbeat-2.0.8/lib/crm/common/utils.c 2010-09-29 13:41:45.000000000 +0200
-@@ -698,7 +698,6 @@
- crm_str_eq(const char *a, const char *b, gboolean use_case)
- {
- if(a == NULL || b == NULL) {
-- CRM_ASSERT(a != b);
- return FALSE;
-
- } else if(use_case && a[0] != b[0]) {
+++ /dev/null
-diff -r 2d298bca0d0a crm/cib/io.c
---- a/crm/cib/io.c Thu Jan 11 18:42:41 2007 -0700
-+++ b/crm/cib/io.c Fri Feb 09 15:05:29 2007 +0100
-@@ -121,7 +121,8 @@ validate_cib_digest(crm_data_t *local_ci
- crm_malloc0(expected, (length+1));
- read_len = fread(expected, 1, length, expected_strm);
- CRM_ASSERT(read_len == length);
--
-+ fclose(expected_strm);
-+
- if(expected == NULL) {
- crm_err("On-disk digest is empty");
-
-@@ -635,6 +636,8 @@ write_cib_contents(gpointer p)
- epoch?epoch:"0", updates?updates:"0", digest);
-
- rc = write_cib_digest(the_cib, digest);
-+ crm_free(digest);
-+
- if(rc <= 0) {
- crm_err("Digest couldn't be written to disk");
- exit(LSB_EXIT_GENERIC);
-@@ -650,7 +653,6 @@ write_cib_contents(gpointer p)
- exit(LSB_EXIT_OK);
- }
-
-- crm_free(digest);
- return HA_OK;
- }
-
-diff -r 2d298bca0d0a crm/crmd/callbacks.c
---- a/crm/crmd/callbacks.c Thu Jan 11 18:42:41 2007 -0700
-+++ b/crm/crmd/callbacks.c Fri Feb 09 15:05:29 2007 +0100
-@@ -410,28 +410,33 @@ crmd_client_status_callback(const char *
- trigger_fsa(fsa_source);
- }
-
--static void
-+void
- crmd_ipc_connection_destroy(gpointer user_data)
- {
-+ GCHSource *source = NULL;
- crmd_client_t *client = user_data;
-
- if(client == NULL) {
- crm_debug_4("No client to delete");
- return;
- }
--
-- if(client->client_source != NULL) {
-- crm_debug_4("Deleting %s (%p) from mainloop",
-- client->uuid, client->client_source);
-- G_main_del_IPC_Channel(client->client_source);
-- client->client_source = NULL;
-- }
--
-- crm_debug_3("Freeing %s client", client->uuid);
-- crm_free(client->table_key);
-- crm_free(client->sub_sys);
-- crm_free(client->uuid);
-- crm_free(client);
-+
-+ source = client->client_source;
-+ client->client_source = NULL;
-+ crm_debug_3("Processing %s (%p)", client->uuid, source);
-+ if(source != NULL) {
-+ crm_debug_2("Deleting %s (%p) from mainloop",
-+ client->uuid, source);
-+ /* this will re-call crmd_ipc_connection_destroy() */
-+ G_main_del_IPC_Channel(source);
-+
-+ } else {
-+ crm_debug_2("Freeing %s client", client->uuid);
-+ crm_free(client->table_key);
-+ crm_free(client->sub_sys);
-+ crm_free(client->uuid);
-+ crm_free(client);
-+ }
-
- return;
- }
-@@ -604,11 +609,7 @@ crmd_ccm_msg_callback(
- trigger_transition?A_TE_CANCEL:A_NOTHING,
- FALSE, __FUNCTION__);
-
-- if (event_data->oc) {
-- crm_free(event_data->oc);
-- event_data->oc = NULL;
-- }
-- crm_free(event_data);
-+ delete_ccm_data(event_data);
- }
-
- oc_ev_callback_done(cookie);
-diff -r 2d298bca0d0a crm/crmd/ccm.c
---- a/crm/crmd/ccm.c Thu Jan 11 18:42:41 2007 -0700
-+++ b/crm/crmd/ccm.c Fri Feb 09 15:05:30 2007 +0100
-@@ -49,7 +49,6 @@ void crmd_ccm_msg_callback(oc_ed_t event
- size_t size,
- const void *data);
-
--gboolean ghash_node_clfree(gpointer key, gpointer value, gpointer user_data);
- void ghash_update_cib_node(gpointer key, gpointer value, gpointer user_data);
-
- #define CCM_EVENT_DETAIL 0
-@@ -446,22 +445,9 @@ do_ccm_update_cache(long long action,
- g_hash_table_size(fsa_membership_copy->members),
- g_hash_table_size(fsa_membership_copy->new_members),
- g_hash_table_size(fsa_membership_copy->dead_members));
--
-- /* Free the old copy */
-- if(tmp != NULL) {
-- if(tmp->members != NULL)
-- g_hash_table_foreach_remove(
-- tmp->members, ghash_node_clfree, NULL);
-- if(tmp->new_members != NULL)
-- g_hash_table_foreach_remove(
-- tmp->new_members, ghash_node_clfree, NULL);
-- if(tmp->dead_members != NULL)
-- g_hash_table_foreach_remove(
-- tmp->dead_members, ghash_node_clfree, NULL);
-- crm_free(tmp);
-- }
-- crm_debug_3("Free'd old copies");
--
-+
-+ free_ccm_cache(tmp);
-+
- set_bit_inplace(fsa_input_register, R_CCM_DATA);
-
- if(cur_state != S_STOPPING) {
-@@ -680,15 +666,4 @@ ghash_update_cib_node(gpointer key, gpoi
- free_xml(tmp1);
- }
-
--gboolean
--ghash_node_clfree(gpointer key, gpointer value, gpointer user_data)
--{
-- /* value->node_uname is free'd as "key" */
-- if(key != NULL) {
-- crm_free(key);
-- }
-- if(value != NULL) {
-- crm_free(value);
-- }
-- return TRUE;
--}
-+
-diff -r 2d298bca0d0a crm/crmd/crmd_callbacks.h
---- a/crm/crmd/crmd_callbacks.h Thu Jan 11 18:42:41 2007 -0700
-+++ b/crm/crmd/crmd_callbacks.h Fri Feb 09 15:05:30 2007 +0100
-@@ -29,6 +29,8 @@ extern void crmd_ccm_msg_callback(
- * Returning FALSE means "we're all done, close the connection"
- */
-
-+extern void crmd_ipc_connection_destroy(gpointer user_data);
-+
- extern gboolean crmd_ha_msg_dispatch(
- ll_cluster_t *cluster_conn, gpointer user_data);
-
-diff -r 2d298bca0d0a crm/crmd/crmd_utils.h
---- a/crm/crmd/crmd_utils.h Thu Jan 11 18:42:41 2007 -0700
-+++ b/crm/crmd/crmd_utils.h Fri Feb 09 15:05:30 2007 +0100
-@@ -23,6 +23,9 @@
- #include <crm/common/xml.h>
-
- #define CLIENT_EXIT_WAIT 30
-+
-+extern void free_ccm_cache(oc_node_list_t *tmp);
-+extern void delete_ccm_data(struct crmd_ccm_data_s *ccm_input);
-
- extern void process_client_disconnect(crmd_client_t *curr_client);
-
-diff -r 2d298bca0d0a crm/crmd/lrm.c
---- a/crm/crmd/lrm.c Thu Jan 11 18:42:41 2007 -0700
-+++ b/crm/crmd/lrm.c Fri Feb 09 15:05:30 2007 +0100
-@@ -358,7 +358,6 @@ get_rsc_metadata(const char *type, const
- metadata = g_hash_table_lookup(meta_hash, key);
- if(metadata) {
- crm_debug_2("Returning cached metadata for %s", key);
-- crm_free(key);
- goto out;
- }
-
-@@ -368,14 +367,15 @@ get_rsc_metadata(const char *type, const
-
- if(metadata) {
- g_hash_table_insert(meta_hash, key, metadata);
-- }
-+ key = NULL; /* prevent it from being free'd */
-+
-+ } else {
-+ crm_warn("No metadata found for %s", key);
-+ }
-
- out:
-- if(metadata == NULL) {
-- crm_warn("No metadata found for %s::%s:%s",
-- class, type, provider);
-- }
--
-+
-+ crm_free(key);
- return metadata;
- }
-
-@@ -429,7 +429,9 @@ get_rsc_restart_list(lrm_rsc_t *rsc, lrm
- return restart_list;
- }
-
--static void
-+void append_restart_list(crm_data_t *update, lrm_op_t *op, const char *version);
-+
-+void
- append_restart_list(crm_data_t *update, lrm_op_t *op, const char *version)
- {
- int len = 0;
-@@ -686,8 +688,6 @@ build_operation_update(
- if(args_parent == NULL) {
- free_xml(args_xml);
- }
--
-- append_restart_list(xml_op, op, caller_version);
-
- return TRUE;
- }
-@@ -859,7 +859,8 @@ do_lrm_query(gboolean is_replace)
- }
-
- xml_result = create_cib_fragment(xml_state, XML_CIB_TAG_STATUS);
--
-+ free_xml(xml_state);
-+
- crm_log_xml_debug_3(xml_state, "Current state of the LRM");
-
- return xml_result;
-diff -r 2d298bca0d0a crm/crmd/messages.c
---- a/crm/crmd/messages.c Thu Jan 11 18:42:41 2007 -0700
-+++ b/crm/crmd/messages.c Fri Feb 09 15:05:30 2007 +0100
-@@ -314,9 +314,7 @@ delete_fsa_input(fsa_data_t *fsa_data)
- case fsa_dt_ccm:
- ccm_input = (struct crmd_ccm_data_s *)
- fsa_data->data;
--
-- crm_free(ccm_input->oc);
-- crm_free(ccm_input);
-+ delete_ccm_data(ccm_input);
- break;
-
- case fsa_dt_none:
-diff -r 2d298bca0d0a crm/crmd/utils.c
---- a/crm/crmd/utils.c Thu Jan 11 18:42:41 2007 -0700
-+++ b/crm/crmd/utils.c Fri Feb 09 15:05:30 2007 +0100
-@@ -1151,6 +1148,42 @@ copy_ccm_data(const struct crmd_ccm_data
- ccm_input_copy->event = ccm_input->event;
-
- return ccm_input_copy;
-+}
-+
-+void
-+delete_ccm_data(struct crmd_ccm_data_s *ccm_input)
-+{
-+ int lpc, offset = 0;
-+ oc_node_t *a_node = NULL;
-+ oc_ev_membership_t *oc_in = ccm_input->oc;
-+ if(oc_in != NULL) {
-+ offset = oc_in->m_memb_idx;
-+ }
-+ for(lpc = 0; lpc < oc_in->m_n_member; lpc++) {
-+ a_node = &oc_in->m_array[lpc+offset];
-+ crm_free(a_node->node_uname);
-+ a_node->node_uname = NULL;
-+ }
-+
-+ if(oc_in != NULL) {
-+ offset = oc_in->m_in_idx;
-+ }
-+ for(lpc = 0; lpc < oc_in->m_n_in; lpc++) {
-+ a_node = &oc_in->m_array[lpc+offset];
-+ crm_free(a_node->node_uname);
-+ a_node->node_uname = NULL;
-+ }
-+
-+ if(oc_in != NULL) {
-+ offset = oc_in->m_out_idx;
-+ }
-+ for(lpc = 0; lpc < oc_in->m_n_out; lpc++) {
-+ a_node = &oc_in->m_array[lpc+offset];
-+ crm_free(a_node->node_uname);
-+ a_node->node_uname = NULL;
-+ }
-+ crm_free(ccm_input->oc);
-+ crm_free(ccm_input);
- }
-
- oc_ev_membership_t *
-@@ -1243,21 +1274,61 @@ copy_ccm_node(oc_node_t a_node, oc_node_
- a_node.node_id, a_node.node_born_on,
- a_node.node_uname);
-
-+ if(a_node_copy->node_uname != NULL) {
-+ crm_debug_2("%p (%s) already copied", a_node_copy, a_node_copy->node_uname);
-+ return;
-+ }
-+
- a_node_copy->node_id = a_node.node_id;
-- a_node_copy->node_born_on = a_node.node_born_on;
-+ a_node_copy->node_born_on = a_node.node_born_on;
- a_node_copy->node_uname = NULL;
-
- if(a_node.node_uname != NULL) {
-- a_node_copy->node_uname =
-- crm_strdup(a_node.node_uname);
-+ a_node_copy->node_uname = crm_strdup(a_node.node_uname);
- } else {
-- crm_err("Node Id %d had a NULL uname!",
-- a_node.node_id);
-- }
--
-+ crm_err("Node Id %d had a NULL uname!", a_node.node_id);
-+ }
- crm_debug_3("Copied ccm node: id=%d, born=%d, uname=%s",
- a_node_copy->node_id, a_node_copy->node_born_on,
- a_node_copy->node_uname);
-+}
-+
-+static gboolean
-+ghash_node_clfree(gpointer key, gpointer value, gpointer user_data)
-+{
-+ /* value->node_uname is free'd as "key" */
-+ if(key != NULL) {
-+ crm_free(key);
-+ }
-+ if(value != NULL) {
-+ crm_free(value);
-+ }
-+ return TRUE;
-+}
-+
-+void
-+free_ccm_cache(oc_node_list_t *tmp)
-+{
-+ /* Free the old copy */
-+ if(tmp == NULL) {
-+ return;
-+ }
-+
-+ if(tmp->members != NULL) {
-+ g_hash_table_foreach_remove(
-+ tmp->members, ghash_node_clfree, NULL);
-+ }
-+ if(tmp->new_members != NULL) {
-+ g_hash_table_foreach_remove(
-+ tmp->new_members, ghash_node_clfree, NULL);
-+ }
-+ if(tmp->dead_members != NULL) {
-+ g_hash_table_foreach_remove(
-+ tmp->dead_members, ghash_node_clfree, NULL);
-+ }
-+
-+ crm_free(tmp);
-+ crm_debug_3("Free'd old copies");
- }
-
- crm_data_t*
-diff -r 2d298bca0d0a lib/crm/cib/cib_attrs.c
---- a/lib/crm/cib/cib_attrs.c Thu Jan 11 18:42:41 2007 -0700
-+++ b/lib/crm/cib/cib_attrs.c Fri Feb 09 15:05:30 2007 +0100
-@@ -101,7 +101,9 @@ find_attr_details(crm_data_t *xml_search
- NULL, XML_ATTR_ID, node_uuid, FALSE);
- crm_log_xml_debug_2(set_children, "search by node:");
- if(matches == 0) {
-- crm_info("No node matching id=%s in %s", node_uuid, TYPE(xml_search));
-+ CRM_CHECK(set_children == NULL, crm_err("Memory leak"));
-+ crm_info("No node matching id=%s in %s",
-+ node_uuid, TYPE(xml_search));
- return NULL;
- }
- }
-@@ -114,6 +116,7 @@ find_attr_details(crm_data_t *xml_search
- crm_log_xml_debug_2(set_children, "search by set:");
- if(matches == 0) {
- crm_info("No set matching id=%s in %s", set_name, TYPE(xml_search));
-+ CRM_CHECK(set_children == NULL, crm_err("Memory leak"));
- return NULL;
- }
- }
-@@ -140,6 +143,7 @@ find_attr_details(crm_data_t *xml_search
- break;
- );
- free_xml(nv_children);
-+ free_xml(set_children);
- return single_match;
-
- } else if(matches > 1) {
-@@ -176,6 +180,7 @@ find_attr_details(crm_data_t *xml_search
- );
- }
- }
-+ free_xml(set_children);
- return NULL;
- }
-
-@@ -230,6 +235,7 @@ update_attr(cib_t *the_cib, int call_opt
- CRM_CHECK(set_name != NULL, return cib_missing);
-
- if(attr_value == NULL) {
-+ free_xml(xml_obj);
- return cib_missing_data;
- }
-
-@@ -264,6 +270,7 @@ update_attr(cib_t *the_cib, int call_opt
- xml_obj = create_xml_node(xml_obj, XML_TAG_ATTRS);
- crm_free(local_set_name);
- } else {
-+ free_xml(xml_obj);
- xml_obj = NULL;
- }
-
-diff -r 2d298bca0d0a lib/crm/cib/cib_client.c
---- a/lib/crm/cib/cib_client.c Thu Jan 11 18:42:41 2007 -0700
-+++ b/lib/crm/cib/cib_client.c Fri Feb 09 15:05:30 2007 +0100
-@@ -487,7 +487,8 @@ int cib_client_add_notify_callback(
-
- if(list_item != NULL) {
- crm_warn("Callback already present");
--
-+ crm_free(new_client);
-+
- } else {
- cib->notify_list = g_list_append(
- cib->notify_list, new_client);
-diff -r 2d298bca0d0a lib/crm/common/utils.c
---- a/lib/crm/common/utils.c Thu Jan 11 18:42:41 2007 -0700
-+++ b/lib/crm/common/utils.c Fri Feb 09 15:05:30 2007 +0100
-@@ -519,6 +519,7 @@ int
- int
- compare_version(const char *version1, const char *version2)
- {
-+ int rc = 0;
- int lpc = 0;
- char *step1 = NULL, *step2 = NULL;
- char *rest1 = NULL, *rest2 = NULL;
-@@ -533,7 +534,7 @@ compare_version(const char *version1, co
-
- rest1 = crm_strdup(version1);
- rest2 = crm_strdup(version2);
--
-+
- while(1) {
- int cmp = 0;
- int step1_i = 0;
-@@ -543,6 +544,13 @@ compare_version(const char *version1, co
- decodeNVpair(rest1, '.', &step1, &tmp1);
- decodeNVpair(rest2, '.', &step2, &tmp2);
-
-+ if(step1 == NULL && step2 == NULL) {
-+ CRM_CHECK(tmp1 == tmp2 && tmp1 == NULL,
-+ crm_err("Leftover data: %s, %s",
-+ crm_str(tmp1), crm_str(tmp2)));
-+ break;
-+ }
-+
- if(step1 != NULL) {
- step1_i = crm_parse_int(step1, NULL);
- }
-@@ -564,27 +572,34 @@ compare_version(const char *version1, co
- crm_free(rest1);
- crm_free(rest2);
-
-+ crm_free(step1);
-+ crm_free(step2);
-+
- rest1 = tmp1;
- rest2 = tmp2;
--
-- if(step1 == NULL && step2 == NULL) {
-+
-+ if(cmp < 0) {
-+ rc = -1;
- break;
-- }
--
-- crm_free(step1);
-- crm_free(step2);
--
-- if(cmp < 0) {
-- crm_debug_3("%s < %s", version1, version2);
-- return -1;
-
- } else if(cmp > 0) {
-- crm_debug_3("%s > %s", version1, version2);
-- return 1;
-- }
-- }
-- crm_debug_3("%s == %s", version1, version2);
-- return 0;
-+ rc = 1;
-+ break;
-+ }
-+ }
-+
-+ crm_free(rest1);
-+ crm_free(rest2);
-+
-+ if(rc == 0) {
-+ crm_debug_3("%s == %s", version1, version2);
-+ } else if(rc < 0) {
-+ crm_debug_3("%s < %s", version1, version2);
-+ } else if(rc > 0) {
-+ crm_debug_3("%s > %s", version1, version2);
-+ }
-+
-+ return rc;
- }
-
- gboolean do_stderr = FALSE;
-diff -r 2d298bca0d0a lib/crm/common/xml.c
---- a/lib/crm/common/xml.c Thu Jan 11 18:42:41 2007 -0700
-+++ b/lib/crm/common/xml.c Fri Feb 09 15:05:30 2007 +0100
-@@ -2500,13 +2500,13 @@ validate_with_dtd(
- CRM_CHECK(buffer != NULL, return FALSE);
-
- doc = xmlParseMemory(buffer, strlen(buffer));
-- CRM_CHECK(doc != NULL, crm_free(buffer); return FALSE);
-+ CRM_CHECK(doc != NULL, valid = FALSE; goto cleanup);
-
- dtd = xmlParseDTD(NULL, (const xmlChar *)dtd_file);
-- CRM_CHECK(dtd != NULL, crm_free(buffer); return TRUE);
-+ CRM_CHECK(dtd != NULL, goto cleanup);
-
- cvp = xmlNewValidCtxt();
-- CRM_CHECK(cvp != NULL, crm_free(buffer); return TRUE);
-+ CRM_CHECK(cvp != NULL, goto cleanup);
-
- if(to_logs) {
- cvp->userData = (void *) LOG_ERR;
-@@ -2520,15 +2520,16 @@ validate_with_dtd(
-
- if (!xmlValidateDtd(cvp, doc, dtd)) {
- crm_err("CIB does not validate against %s", dtd_file);
-+ crm_log_xml_debug(xml_blob, "invalid");
- valid = FALSE;
-- crm_log_xml_debug(xml_blob, "invalid");
-- }
--
-+ }
-+
-+ cleanup:
- xmlFreeValidCtxt(cvp);
- xmlFreeDtd(dtd);
- xmlFreeDoc(doc);
--
- crm_free(buffer);
-+
- #endif
- return valid;
- }
-diff -r 2d298bca0d0a tools/attrd.c
---- a/tools/attrd.c Thu Jan 11 18:42:41 2007 -0700
-+++ b/tools/attrd.c Fri Feb 09 15:05:30 2007 +0100
-@@ -85,6 +85,7 @@ free_hash_entry(gpointer data)
- }
- crm_free(entry->id);
- crm_free(entry->set);
-+ crm_free(entry->dampen);
- crm_free(entry->section);
- if(entry->value != entry->last_value) {
- crm_free(entry->value);
-@@ -477,6 +489,7 @@ find_hash_entry(HA_Message * msg)
-
- value = ha_msg_value(msg, F_ATTRD_SET);
- if(value != NULL) {
-+ crm_free(hash_entry->set);
- hash_entry->set = crm_strdup(value);
- crm_debug("\t%s->set: %s", attr, value);
- }
-@@ -485,12 +498,15 @@ find_hash_entry(HA_Message * msg)
- if(value == NULL) {
- value = XML_CIB_TAG_STATUS;
- }
-+ crm_free(hash_entry->section);
- hash_entry->section = crm_strdup(value);
- crm_debug("\t%s->section: %s", attr, value);
-
- value = ha_msg_value(msg, F_ATTRD_DAMPEN);
- if(value != NULL) {
-+ crm_free(hash_entry->dampen);
- hash_entry->dampen = crm_strdup(value);
-+
- hash_entry->timeout = crm_get_msec(value);
- crm_debug("\t%s->timeout: %s", attr, value);
- }
-@@ -601,6 +617,7 @@ attrd_timer_callback(void *user_data)
- ha_msg_add(msg, F_ATTRD_SECTION, hash_entry->section);
- ha_msg_add(msg, F_ATTRD_DAMPEN, hash_entry->dampen);
- send_ha_message(attrd_cluster_conn, msg, NULL, FALSE);
-+ crm_msg_del(msg);
-
- return TRUE;
- }
+++ /dev/null
---- heartbeat-2.0.8/resources/heartbeat/Delay.in.orig 2007-03-21 14:16:48.000000000 +0100
-+++ heartbeat-2.0.8/resources/heartbeat/Delay.in 2007-03-21 14:16:52.000000000 +0100
-@@ -39,4 +39,4 @@
- OCF_RESOURCE_INSTANCE=${OCF_TYPE}_${OCF_RESKEY_startdelay}
- export OCF_TYPE OCF_RESOURCE_INSTANCE
-
--ra_execocf $op;;
-+ra_execocf $op
+++ /dev/null
-diff -ur heartbeat-2.0.8.orig/lib/clplumbing/cl_msg.c heartbeat-2.0.8/lib/clplumbing/cl_msg.c
---- heartbeat-2.0.8.orig/lib/clplumbing/cl_msg.c 2007-01-12 04:57:07.000000000 +0200
-+++ heartbeat-2.0.8/lib/clplumbing/cl_msg.c 2009-11-18 18:21:18.000000000 +0200
-@@ -145,8 +145,8 @@
- cl_log(LOG_ERR, "%s: filename is NULL", __FUNCTION__);
- return -1;
- }
--
-- return open(filename, O_WRONLY|O_CREAT|O_APPEND);
-+ // see http://hg.linux-ha.org/lha-2.1/rev/148fb2e06d1c
-+ return open(filename, O_WRONLY|O_CREAT|O_APPEND, 0644);
-
- }
-
+++ /dev/null
-Fix install
-
-http://bugs.gentoo.org/show_bug.cgi?id=323413
-
-Patch written by Slipeer <Slipeer@mail.ru>
---- resources/OCF/Makefile.am
-+++ resources/OCF/Makefile.am
-@@ -44,7 +44,6 @@
- Dummy \
- IPaddr \
- IPaddr2 \
-- drbd \
- apache \
- AudibleAlarm \
- db2 \
+++ /dev/null
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/heartbeat/heartbeat-1.2.5-r1.ebuild,v 1.12 2011/04/16 18:59:10 armin76 Exp $
-
-inherit flag-o-matic
-
-DESCRIPTION="Heartbeat high availability cluster manager"
-HOMEPAGE="http://www.linux-ha.org"
-SRC_URI="http://www.linux-ha.org/download/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 -mips x86"
-IUSE="ldirectord"
-
-DEPEND="dev-libs/popt
- =dev-libs/glib-1.2*
- net-libs/libnet
- ldirectord? ( sys-cluster/ipvsadm
- dev-perl/libwww-perl
- dev-perl/perl-ldap
- virtual/perl-libnet )"
-
-# need to add dev-perl/Mail-IMAPClient inside ldirectord above
-
-src_compile() {
- append-ldflags -Wl,-z,now
-
- ./configure --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --disable-fatal-warnings \
- --with-group-name=cluster \
- --with-group-id=65 \
- --with-ccmuser-name=cluster \
- --with-ccmuser-id=65 || die
- emake -j 1 || die "compile problem"
-}
-
-pkg_preinst() {
- # check for cluster group, if it doesn't exist make it
- if ! grep -q cluster.*65 /etc/group ; then
- groupadd -g 65 cluster
- fi
- # check for cluster user, if it doesn't exist make it
- if ! grep -q cluster.*65 /etc/passwd ; then
- useradd -u 65 -g cluster -s /dev/null -d /var/lib/heartbeat cluster
- fi
-}
-
-src_install() {
- make DESTDIR="${D}" install || die
-
- # heartbeat modules need these dirs
- keepdir /var/lib/heartbeat/ckpt /var/lib/heartbeat/ccm /var/lib/heartbeat
-
- keepdir /etc/ha.d/conf
-
- dosym /usr/sbin/ldirectord /etc/ha.d/resource.d/ldirectord || die
-
- # if ! USE="ldirectord" then don't install it
- if ! use ldirectord ; then
- rm "${D}"/etc/init.d/ldirectord
- rm "${D}"/etc/logrotate.d/ldirectord
- rm "${D}"/usr/man/man8/supervise-ldirectord-config.8
- rm "${D}"/usr/man/man8/ldirectord.8
- rm "${D}"/usr/sbin/ldirectord
- rm "${D}"/usr/sbin/supervise-ldirectord-config
- rm "${D}"/etc/ha.d/resource.d/ldirectord
- fi
-
- newinitd "${FILESDIR}"/heartbeat-init heartbeat
-}
+++ /dev/null
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/heartbeat/heartbeat-1.2.5.ebuild,v 1.6 2011/03/22 09:03:44 xarthisius Exp $
-
-inherit flag-o-matic
-
-DESCRIPTION="Heartbeat high availability cluster manager"
-HOMEPAGE="http://www.linux-ha.org"
-SRC_URI="http://www.linux-ha.org/download/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 -mips x86"
-IUSE="ldirectord"
-
-DEPEND="dev-libs/popt
- =dev-libs/glib-1.2*
- net-libs/libnet
- ldirectord? ( sys-cluster/ipvsadm
- dev-perl/libwww-perl
- dev-perl/perl-ldap
- virtual/perl-libnet )"
-
-# need to add dev-perl/Mail-IMAPClient inside ldirectord above
-
-src_compile() {
- append-ldflags -Wl,-z,now
-
- ./configure --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --with-group-name=cluster \
- --with-group-id=65 \
- --with-ccmuser-name=cluster \
- --with-ccmuser-id=65 || die
- emake -j 1 || die "compile problem"
-}
-
-pkg_preinst() {
- # check for cluster group, if it doesn't exist make it
- if ! grep -q cluster.*65 /etc/group ; then
- groupadd -g 65 cluster
- fi
- # check for cluster user, if it doesn't exist make it
- if ! grep -q cluster.*65 /etc/passwd ; then
- useradd -u 65 -g cluster -s /dev/null -d /var/lib/heartbeat cluster
- fi
-}
-
-src_install() {
- make DESTDIR="${D}" install || die
-
- # heartbeat modules need these dirs
- keepdir /var/lib/heartbeat/ckpt /var/lib/heartbeat/ccm /var/lib/heartbeat
-
- keepdir /etc/ha.d/conf
-
- dosym /usr/sbin/ldirectord /etc/ha.d/resource.d/ldirectord || die
-
- # if ! USE="ldirectord" then don't install it
- if ! use ldirectord ; then
- rm "${D}"/etc/init.d/ldirectord
- rm "${D}"/etc/logrotate.d/ldirectord
- rm "${D}"/usr/man/man8/supervise-ldirectord-config.8
- rm "${D}"/usr/man/man8/ldirectord.8
- rm "${D}"/usr/sbin/ldirectord
- rm "${D}"/usr/sbin/supervise-ldirectord-config
- rm "${D}"/etc/ha.d/resource.d/ldirectord
- fi
-
- newinitd "${FILESDIR}"/heartbeat-init heartbeat
-}
+++ /dev/null
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/heartbeat/heartbeat-2.0.7-r2.ebuild,v 1.9 2011/03/22 09:03:44 xarthisius Exp $
-
-inherit flag-o-matic eutils
-
-DESCRIPTION="Heartbeat high availability cluster manager"
-HOMEPAGE="http://www.linux-ha.org"
-SRC_URI="http://www.linux-ha.org/download/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 -mips -s390 x86"
-IUSE="ldirectord doc snmp management"
-
-RDEPEND="
- =dev-libs/glib-2*
- net-libs/libnet
- >=dev-lang/perl-5.8.8
- net-misc/iputils
- virtual/ssh
- net-libs/gnutls
- ldirectord? ( sys-cluster/ipvsadm
- dev-perl/Net-DNS
- dev-perl/libwww-perl
- dev-perl/perl-ldap
- virtual/perl-libnet
- dev-perl/Crypt-SSLeay
- dev-perl/HTML-Parser
- dev-perl/perl-ldap
- dev-perl/Mail-IMAPClient
- dev-perl/Mail-POP3Client
- dev-perl/MailTools
- )
- snmp? ( net-analyzer/net-snmp )
- net-misc/telnet-bsd
- dev-lang/swig
- management? (
- >=dev-lang/python-2.4
- >=dev-python/pygtk-2.4
- >=sys-libs/pam-0.78-r3
- )
- "
-DEPEND="${RDEPEND}
- dev-util/pkgconfig"
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
- epatch "${FILESDIR}"/${P}-update-resources-failcount.patch || die
- #epatch "${FILESDIR}"/${P}-crm-leaks.patch || die
-}
-
-src_compile() {
- ./configure --prefix=/usr \
- --mandir=/usr/share/man \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --with-group-name=cluster \
- --with-group-id=65 \
- --with-ccmuser-name=cluster \
- --with-ccmuser-id=65 \
- --enable-checkpointd \
- --enable-crm \
- --enable-lrm \
- $(use_enable management mgmt) \
- || die
- emake -j 1 || die "compile problem"
-}
-
-pkg_preinst() {
- # check for cluster group, if it doesn't exist make it
- if ! grep -q cluster.*65 /etc/group ; then
- groupadd -g 65 cluster
- fi
- # check for cluster user, if it doesn't exist make it
- if ! grep -q cluster.*65 /etc/passwd ; then
- useradd -u 65 -g cluster -s /dev/null -d /var/lib/heartbeat cluster
- fi
-}
-
-src_install() {
- make DESTDIR="${D}" install || die
-
- # heartbeat modules need these dirs
- #keepdir /var/lib/heartbeat/ckpt /var/lib/heartbeat/ccm /var/lib/heartbeat
-
- keepdir /var/lib/heartbeat/crm /var/lib/heartbeat/lrm /var/lib/heartbeat/fencing
- keepdir /var/lib/heartbeat/cores/cluster /var/lib/heartbeat/cores/root /var/lib/heartbeat/cores/nobody
-
- keepdir /var/run/heartbeat/ccm /var/run/heartbeat/crm
-
- keepdir /etc/ha.d/conf
-
- dosym /usr/sbin/ldirectord /etc/ha.d/resource.d/ldirectord || die
-
- if use management ; then
- keepdir /var/lib/heartbeat/mgmt
- fi
-
- # if ! USE="ldirectord" then don't install it
- if ! use ldirectord ; then
- rm "${D}"/etc/init.d/ldirectord
- rm "${D}"/etc/logrotate.d/ldirectord
- rm "${D}"/etc/ha.d/resource.d/ldirectord
- rm "${D}"/usr/share/man/man8/supervise-ldirectord-config.8
- rm "${D}"/usr/share/man/man8/ldirectord.8
- rm "${D}"/usr/sbin/ldirectord
- rm "${D}"/usr/sbin/supervise-ldirectord-config
- fi
-
- dodir /var/lib/heartbeat/cores/cluster
- keepdir /var/lib/heartbeat/cores/cluster
- newinitd "${FILESDIR}"/heartbeat-init heartbeat
-
- dodoc ldirectord/ldirectord.cf doc/*.cf doc/haresources doc/authkeys || die
- if use doc ; then
- dodoc README doc/*.txt doc/AUTHORS doc/COPYING || die
- fi
-}
-
-pkg_postinst() {
- # Change wrong permissions
- chown -R cluster:cluster /var/run/heartbeat/ccm
- chown -R cluster:cluster /var/run/heartbeat/crm
- chown -R cluster:cluster /var/lib/heartbeat/cores
- chown -R cluster:cluster /var/lib/heartbeat/crm
- chown -R cluster:cluster /var/lib/heartbeat/pengine
- chown -R cluster:cluster /var/lib/heartbeat/cores/cluster
-}
+++ /dev/null
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/heartbeat/heartbeat-2.0.8.ebuild,v 1.21 2011/04/16 18:59:10 armin76 Exp $
-
-inherit autotools flag-o-matic eutils
-
-DESCRIPTION="Heartbeat high availability cluster manager"
-HOMEPAGE="http://www.linux-ha.org"
-SRC_URI="http://www.linux-ha.org/download/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 -mips -s390 ~x86"
-IUSE="ldirectord doc snmp management"
-
-RDEPEND="
- =dev-libs/glib-2*
- net-libs/libnet
- >=dev-lang/perl-5.8.8
- net-misc/iputils
- virtual/ssh
- net-libs/gnutls
- ldirectord? ( sys-cluster/ipvsadm
- dev-perl/Net-DNS
- dev-perl/libwww-perl
- dev-perl/perl-ldap
- virtual/perl-libnet
- dev-perl/Crypt-SSLeay
- dev-perl/HTML-Parser
- dev-perl/perl-ldap
- dev-perl/Mail-IMAPClient
- dev-perl/Mail-POP3Client
- dev-perl/MailTools
- )
- snmp? ( net-analyzer/net-snmp )
- net-misc/telnet-bsd
- dev-lang/swig
- management? (
- >=dev-lang/python-2.4
- >=dev-python/pygtk-2.4
- virtual/pam
- )
- "
-DEPEND="${RDEPEND}
- dev-util/pkgconfig"
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
- #epatch "${FILESDIR}"/${P}-update-resources-failcount.patch
- epatch "${FILESDIR}"/${P}-crm-leaks.patch \
- "${FILESDIR}"/${P}-delay.patch \
- "${FILESDIR}"/${P}-glibc.patch \
- "${FILESDIR}"/${P}-asneeded.patch \
- "${FILESDIR}"/${P}-install_fix.patch \
- "${FILESDIR}"/${P}-crm-assert.patch
-
- sed -i \
- -e 's:libgnutls-config:pkg-config gnutls:g' \
- lib/mgmt/Makefile.am \
- lib/plugins/quorumd/Makefile.am \
- lib/plugins/quorum/Makefile.am \
- membership/quorumd/Makefile.am \
- mgmt/client/Makefile.am \
- mgmt/daemon/Makefile.am
- eautoreconf
-}
-
-src_compile() {
- ./configure --prefix=/usr \
- --mandir=/usr/share/man \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --with-group-name=cluster \
- --with-group-id=65 \
- --with-ccmuser-name=cluster \
- --with-ccmuser-id=65 \
- --enable-checkpointd \
- --enable-crm \
- --enable-lrm \
- --disable-fatal-warnings \
- $(use_enable management mgmt) \
- || die
- emake -j 1 || die "compile problem"
-}
-
-pkg_preinst() {
- # check for cluster group, if it doesn't exist make it
- if ! grep -q cluster.*65 /etc/group ; then
- groupadd -g 65 cluster
- fi
- # check for cluster user, if it doesn't exist make it
- if ! grep -q cluster.*65 /etc/passwd ; then
- useradd -u 65 -g cluster -s /dev/null -d /var/lib/heartbeat cluster
- fi
-}
-
-src_install() {
- make DESTDIR="${D}" install || die
-
- # heartbeat modules need these dirs
- #keepdir /var/lib/heartbeat/ckpt /var/lib/heartbeat/ccm /var/lib/heartbeat
-
- keepdir /var/lib/heartbeat/crm /var/lib/heartbeat/lrm /var/lib/heartbeat/fencing
- keepdir /var/lib/heartbeat/cores/cluster /var/lib/heartbeat/cores/root /var/lib/heartbeat/cores/nobody
-
- keepdir /var/run/heartbeat/ccm /var/run/heartbeat/crm
-
- keepdir /etc/ha.d/conf
-
- dosym /usr/sbin/ldirectord /etc/ha.d/resource.d/ldirectord || die
-
- if use management ; then
- keepdir /var/lib/heartbeat/mgmt
- fi
-
- # if ! USE="ldirectord" then don't install it
- if ! use ldirectord ; then
- rm "${D}"/etc/init.d/ldirectord
- rm "${D}"/etc/logrotate.d/ldirectord
- rm "${D}"/etc/ha.d/resource.d/ldirectord
- rm "${D}"/usr/share/man/man8/supervise-ldirectord-config.8
- rm "${D}"/usr/share/man/man8/ldirectord.8
- rm "${D}"/usr/sbin/ldirectord
- rm "${D}"/usr/sbin/supervise-ldirectord-config
- fi
-
- dodir /var/lib/heartbeat/cores/cluster
- keepdir /var/lib/heartbeat/cores/cluster
- newinitd "${FILESDIR}"/heartbeat-init heartbeat
-
- dodoc ldirectord/ldirectord.cf doc/*.cf doc/haresources doc/authkeys || die
- if use doc ; then
- dodoc README doc/*.txt doc/AUTHORS doc/COPYING || die
- fi
-}
-
-pkg_postinst() {
- # Change wrong permissions
- chown -R cluster:cluster /var/run/heartbeat/ccm
- chown -R cluster:cluster /var/run/heartbeat/crm
- chown -R cluster:cluster /var/lib/heartbeat/cores
- chown -R cluster:cluster /var/lib/heartbeat/crm
- chown -R cluster:cluster /var/lib/heartbeat/pengine
- chown -R cluster:cluster /var/lib/heartbeat/cores/cluster
-}
+++ /dev/null
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/heartbeat/heartbeat-3.0.4-r1.ebuild,v 1.3 2011/10/13 08:52:06 ultrabug Exp $
-
-EAPI="2"
-
-PYTHON_DEPEND="2"
-inherit python autotools multilib eutils base
-
-DESCRIPTION="Heartbeat high availability cluster manager"
-HOMEPAGE="http://www.linux-ha.org/wiki/Heartbeat"
-SRC_URI="http://hg.linux-ha.org/${PN}-STABLE_3_0/archive/STABLE-${PV}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~x86"
-IUSE="doc snmp static-libs"
-
-RDEPEND="sys-cluster/cluster-glue
- dev-libs/glib:2
- virtual/ssh
- net-libs/gnutls
- snmp? ( net-analyzer/net-snmp )
-"
-DEPEND="${RDEPEND}
- dev-util/pkgconfig
- dev-lang/swig
- doc? ( dev-libs/libxslt app-text/docbook-xsl-stylesheets )"
-
-PDEPEND="sys-cluster/resource-agents"
-
-S=${WORKDIR}/Heartbeat-3-0-STABLE-${PV}
-
-PATCHES=(
- "${FILESDIR}/${PV}-fix_configure.patch"
- "${FILESDIR}/${PV}-docs.patch"
- "${FILESDIR}/${PV}-python_tests.patch"
-)
-
-pkg_setup() {
- python_set_active_version 2
- python_pkg_setup
-
- ewarn "If you're upgrading from heartbeat-2.x please follow:"
- ewarn "http://www.gentoo.org/proj/en/cluster/ha-cluster/heartbeat-upgrade.xml"
-}
-
-src_prepare() {
- base_src_prepare
- eautoreconf
-
- cp "${FILESDIR}"/heartbeat-init "${T}" || die
- sed -i \
- -e "/ResourceManager/ s/lib/share/" \
- -e "s:lib:$(get_libdir):g" \
- "${T}"/heartbeat-init || die
-}
-
-src_configure() {
- econf \
- --disable-dependency-tracking \
- --disable-fatal-warnings \
- $(use_enable static-libs static) \
- $(use_enable doc) \
- --disable-tipc \
- --enable-dopd \
- --libdir=/usr/$(get_libdir) \
- --localstatedir=/var \
- --docdir=/usr/share/doc/${PF} \
- $(use_enable snmp)
-}
-
-src_install() {
- base_src_install
-
- newinitd "${T}/heartbeat-init" heartbeat || die
-
- # fix collisions
- rm -rf "${D}"/usr/include/heartbeat/{compress,ha_msg}.h
-
- if use doc ; then
- dodoc README doc/*.txt doc/AUTHORS || die
- fi
-}