File pacemaker.diff of Package libdlm

Only in dev: .DS_Store
Only in dev: .hgtags
--- cluster-rh/configure	2008-09-01 13:51:56.000000000 +0200
+++ dev/configure	2008-09-01 13:57:26.000000000 +0200
@@ -88,6 +88,7 @@ my %options = (
 	enable_legacy_code => \$enable_legacy_code,
 	enable_contrib => \$enable_contrib,
 	enable_virt => \$enable_virt,
+	enable_pacemaker => \$enable_pacemaker,
 	somajor => \$somajor,
 	sominor => \$sominor,
 	release_version => \$release_version,
@@ -178,6 +179,7 @@ my $err = &GetOptions (\%options,
 		    'enable_legacy_code',
 		    'enable_contrib',
 		    'enable_virt',
+		    'enable_pacemaker',
 		    'without_config',
 		    'without_cman',
 		    'without_dlm',
@@ -271,6 +273,7 @@ if ($help || !$err) {
   print "--enable_contrib\tEnable build of community contributed code/tools.  (Default: no)\n";
   print "--enable_legacy_code\tEnable build of old/obsolete/unsupported code/tools.  (Default: no)\n";
   print "--enable_virt\tEnable building of virtualization code (Default: disabled\n";
+  print "--enable_pacemaker\tEnable building of Pacemaker-specific pieces\n";
   print "--without_config\tDisable config building  (Default: enabled)\n";
   print "--without_cman\tDisable cman building  (Default: enabled)\n";
   print "--without_dlm\tDisable dlm building  (Default: enabled)\n";
@@ -613,6 +616,9 @@ if (!$enable_legacy_code) {
 if (!$enable_virt) {
   $enable_virt="";
 }
+if (!$enable_pacemaker) {
+  $enable_pacemaker=""
+}
 if (!$without_config) {
   $without_config="";
 }
@@ -756,6 +762,7 @@ while (<IFILE>) {
   $_ =~ s/\@ENABLE_LEGACY_CODE\@/$enable_legacy_code/;
   $_ =~ s/\@ENABLE_CONTRIB\@/$enable_contrib/;
   $_ =~ s/\@ENABLE_VIRT\@/$enable_virt/;
+  $_ =~ s/\@ENABLE_PACEMAKER\@/$enable_pacemaker/;
   $_ =~ s/\@DISABLE_CONFIG\@/$without_config/;
   $_ =~ s/\@DISABLE_CMAN\@/$without_cman/;
   $_ =~ s/\@DISABLE_DLM\@/$without_dlm/;
Only in dev/gfs: make
Only in dev/gfs-kernel: make
Only in dev/group: .DS_Store
--- cluster-rh/group/Makefile	2008-08-13 22:24:12.000000000 +0200
+++ dev/group/Makefile	2008-09-01 14:19:18.000000000 +0200
@@ -1,4 +1,12 @@
 include ../make/defines.mk
 include $(OBJDIR)/make/passthrough.mk
 
-SUBDIRS=lib libgfscontrol daemon tool dlm_controld gfs_control gfs_controld man
+SUBDIRS = lib dlm_controld
+
+ifndef without_gfs
+SUBDIRS += libgfscontrol gfs_control gfs_controld
+endif
+
+ifndef enable_pacemaker
+SUBDIRS += tool daemon man
+endif
--- cluster-rh/group/daemon/gd_internal.h	2008-10-01 14:27:52.000000000 +0200
+++ dev/group/daemon/gd_internal.h	2008-10-09 09:06:43.000000000 +0200
@@ -21,8 +21,13 @@
 #include <sys/poll.h>
 #include <sys/stat.h>
 #include <sys/wait.h>
+
+#ifdef ENABLE_PACEMAKER
+#  define log_printf(level, format, args...) syslog(level, "%s:%d " format "\n", __FILE__, __LINE__, ##args)
+#else
 #include <corosync/cpg.h>
 #include <corosync/engine/logsys.h>
+#endif
 
 #include "list.h"
 #include "linux_endian.h"
--- cluster-rh/group/dlm_controld/Makefile	2008-08-13 22:24:12.000000000 +0200
+++ dev/group/dlm_controld/Makefile	2008-08-25 09:33:29.000000000 +0200
@@ -1,26 +1,31 @@
-TARGET= dlm_controld
+TARGET=
+SBINDIRT=
 
-SBINDIRT=$(TARGET)
+include ../../make/defines.mk
+
+ifdef enable_pacemaker
+TARGET += dlm_controld.pcmk
+SBINDIRT += dlm_controld.pcmk
+else
+TARGET += dlm_controld.cman
+SBINDIRT += dlm_controld.cman
+endif
 
 all: depends ${TARGET}
 
-include ../../make/defines.mk
 include $(OBJDIR)/make/cobj.mk
 include $(OBJDIR)/make/clean.mk
 include $(OBJDIR)/make/install.mk
 include $(OBJDIR)/make/uninstall.mk
 
 OBJS=	action.o \
-	config.o \
 	cpg.o \
 	crc.o \
 	deadlock.o \
 	main.o \
-	member_cman.o \
 	netlink.o \
 	plock.o \
-	group.o \
-	logging.o
+	group.o
 
 CFLAGS += -I${ccsincdir} -I${cmanincdir} -I${dlmincdir} -I${dlmcontrolincdir}
 CFLAGS += -I${corosyncincdir} -I${openaisincdir}
@@ -29,19 +34,36 @@ CFLAGS += -I${KERNEL_SRC}/include/
 CFLAGS += -I$(S)/../lib/ -I$(S)/../include/
 CFLAGS += -I${incdir}
 
-LDFLAGS += -L${ccslibdir} -L${cmanlibdir} -lccs -lcman
 LDFLAGS += -L${dlmlibdir} -ldlm
-LDFLAGS += -L${corosynclibdir} -lcpg -llogsys -lpthread
 LDFLAGS += -L${openaislibdir} -lSaCkpt 
-LDFLAGS += -L../../fence/libfenced/ -lfenced
 LDFLAGS += -L../lib -lgroup
 LDFLAGS += -L${libdir}
 
-LDDEPS += ../../fence/libfenced/libfenced.a
 LDDEPS += ../lib/libgroup.a
 
-${TARGET}: ${OBJS} ${LDDEPS}
-	$(CC) -o $@ $^ $(LDFLAGS)
+ifdef enable_pacemaker
+CFLAGS += -I${incdir}/heartbeat -I${incdir}/pacemaker
+CFLAGS += `pkg-config glib-2.0 --cflags`
+CFLAGS += `xml2-config --cflags`
+endif
+
+PCMK_OBJS = pacemaker.o
+PCMK_LDFLAGS += -lcib -lcrmcommon -lcrmcluster -ltotem_pg
+PCMK_LDFLAGS += -L${openaislibdir} -lcpg -lSaCkpt -lpthread
+PCMK_LDFLAGS += `pkg-config glib-2.0 --libs`
+PCMK_LDFLAGS += `xml2-config --libs`
+
+CMAN_OBJS = config.o member_cman.o logger.o
+CMAN_LDFLAGS += -L${ccslibdir} -L${cmanlibdir} -lccs -lcman
+CMAN_LDFLAGS += -L${corosynclibdir} -lcpg -llogsys -lpthread
+CMAN_LDFLAGS += -L../../fence/libfenced/ -lfenced
+CMAN_LDDEPS += ../../fence/libfenced/libfenced.a
+
+dlm_controld.cman: ${OBJS} ${CMAN_OBJS} ${LDDEPS} ${CMAN_LDDEPS}
+	$(CC) -o $@ $^ $(LDFLAGS) $(CMAN_LDFLAGS)
+
+dlm_controld.pcmk: ${OBJS} ${PCMK_OBJS} ${LDDEPS} ${PCMK_LDDEPS}
+	$(CC) -o $@ $^ $(LDFLAGS) $(PCMK_LDFLAGS)
 
 depends:
 	$(MAKE) -C ../lib all
--- cluster-rh/group/dlm_controld/cpg.c	2008-10-09 09:04:47.000000000 +0200
+++ dev/group/dlm_controld/cpg.c	2008-10-09 09:06:43.000000000 +0200
@@ -418,6 +418,7 @@ static void node_history_fail(struct loc
 
 static int check_fencing_done(struct lockspace *ls)
 {
+#ifndef ENABLE_PACEMAKER
 	struct node *node;
 	uint64_t last_fenced_time;
 	int in_progress, wait_count = 0;
@@ -462,6 +463,7 @@ static int check_fencing_done(struct loc
 
 	if (in_progress)
 		return 0;
+#endif
 	return 1;
 }
 
--- cluster-rh/group/dlm_controld/dlm_daemon.h	2008-10-09 09:04:47.000000000 +0200
+++ dev/group/dlm_controld/dlm_daemon.h	2008-10-09 09:06:44.000000000 +0200
@@ -32,8 +32,13 @@
 #include <dirent.h>
 #include <openais/saAis.h>
 #include <openais/saCkpt.h>
+#ifdef ENABLE_PACEMAKER
+#include <openais/cpg.h>
+#define log_printf(level, format, args...) syslog(level, "%s:%d " format "\n", __FILE__, __LINE__, ##args)
+#else
 #include <corosync/cpg.h>
 #include <corosync/engine/logsys.h>
+#endif
 
 #include <linux/dlmconstants.h>
 #include "libdlmcontrol.h"
Only in dev/group/dlm_controld: pacemaker.c
--- cluster-rh/make/defines.mk.input	2008-09-01 13:51:56.000000000 +0200
+++ dev/make/defines.mk.input	2008-09-01 13:59:25.000000000 +0200
@@ -22,6 +22,7 @@ RANLIB = ranlib
 
 CFLAGS += @CFLAGS@ -I@SRCDIR@/make
 CFLAGS += -DDEFAULT_CONFIG_DIR=\"@CONFDIR@\" -DDEFAULT_CONFIG_FILE=\"@CONFFILE@\"
+CFLAGS += -DENABLE_PACEMAKER=@ENABLE_PACEMAKER@
 CFLAGS += -DLOGDIR=\"@LOGDIR@\" -DSYSLOGFACILITY=@SYSLOGFACILITY@ -DSYSLOGLEVEL=@SYSLOGLEVEL@
 LDFLAGS += @LDFLAGS@
 
@@ -71,6 +72,7 @@ experimental_build ?= @ENABLE_CRACK_OF_T
 legacy_code ?= @ENABLE_LEGACY_CODE@
 contrib_code ?= @ENABLE_CONTRIB@
 enable_virt ?= @ENABLE_VIRT@
+enable_pacemaker ?= @ENABLE_PACEMAKER@
 without_gnbd-kernel/src ?= @DISABLE_GNBDKERNEL@
 without_gfs-kernel/src/gfs ?= @DISABLE_GFSKERNEL@
 without_config ?= @DISABLE_CONFIG@