summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman I Khimov <khimov@altell.ru>2010-03-22 18:31:23 +0300
committerRoman I Khimov <khimov@altell.ru>2010-03-29 13:27:59 +0400
commit08533fd2a8a97bf5efe10e462d761b3221996458 (patch)
tree811006b4062df5c3407ad3e5fa668e571f78434e
parentba23d4de95a33db5feccd19359bd9b907c2d90bd (diff)
cluster-glue: add new recipe
Cluster Glue is a set of libraries, tools and utilities suitable for the Heartbeat/Pacemaker cluster stack. In essence, Glue is everything that is not the cluster messaging layer (Heartbeat), nor the cluster resource manager (Pacemaker), nor a Resource Agent. Signed-off-by: Roman I Khimov <khimov@altell.ru>
-rw-r--r--recipes/linux-ha/cluster-glue/glue-remove-getpid-check.patch33
-rw-r--r--recipes/linux-ha/cluster-glue/volatiles6
-rw-r--r--recipes/linux-ha/cluster-glue_1.0.3.bb88
3 files changed, 127 insertions, 0 deletions
diff --git a/recipes/linux-ha/cluster-glue/glue-remove-getpid-check.patch b/recipes/linux-ha/cluster-glue/glue-remove-getpid-check.patch
new file mode 100644
index 0000000000..b202ecc719
--- /dev/null
+++ b/recipes/linux-ha/cluster-glue/glue-remove-getpid-check.patch
@@ -0,0 +1,33 @@
+Index: Reusable-Cluster-Components-glue-1.0/configure.ac
+===================================================================
+--- Reusable-Cluster-Components-glue-1.0.orig/configure.ac 2009-10-20 17:16:25.000000000 +0400
++++ Reusable-Cluster-Components-glue-1.0/configure.ac 2009-10-20 17:25:00.000000000 +0400
+@@ -428,25 +428,9 @@
+ AC_MSG_RESULT($BUILD_VERSION)
+ AC_SUBST(BUILD_VERSION)
+
+-
+-dnl check if there are getpid() inconsistency
+-dnl Note: reduce LIBS; in particular, ltdl can cause confusion.
+-dnl Possibly better: move 'LIBS="$LIBS -lltdl"' from above to beyond here.
+-dnl
+-AC_MSG_CHECKING(for getpid() consistency in multi-process/threads program)
+-ac_save_LIBS=$LIBS
+-LIBS="-lpthread"
+-AC_TRY_RUN(`cat $srcdir/config/pidtest.c`,
+-AC_MSG_RESULT(ok),
+-[AC_MSG_RESULT(fail); AC_DEFINE(GETPID_INCONSISTENT, 1 , [pid inconsistent])],)
+-LIBS=$ac_save_LIBS
+-
+-dnl check byte order
+-AC_MSG_CHECKING(for byteorder)
+-AC_TRY_RUN(`cat $srcdir/config/byteorder_test.c`,
+-[AC_MSG_RESULT(little-endian); AC_DEFINE(CONFIG_LITTLE_ENDIAN, 1, [little-endian])],
+-[AC_MSG_RESULT(big-endian); AC_DEFINE(CONFIG_BIG_ENDIAN, 1, [big-endian])],)
+-
++AC_C_BIGENDIAN(
++ [AC_DEFINE(CONFIG_BIG_ENDIAN, 1, [big])],
++ [AC_DEFINE(CONFIG_LITTLE_ENDIAN, 1, [little])])
+
+ dnl ===============================================
+ dnl Program Paths
diff --git a/recipes/linux-ha/cluster-glue/volatiles b/recipes/linux-ha/cluster-glue/volatiles
new file mode 100644
index 0000000000..892db1b7c8
--- /dev/null
+++ b/recipes/linux-ha/cluster-glue/volatiles
@@ -0,0 +1,6 @@
+d root root 0755 /var/lib/heartbeat none
+d hacluster haclient 0750 /var/lib/heartbeat/pengine none
+d hacluster haclient 0755 /var/lib/heartbeat/cores none
+d hacluster haclient 0700 /var/lib/heartbeat/cores/hacluster none
+d root root 0700 /var/lib/heartbeat/cores/root none
+d nobody nogroup 0700 /var/lib/heartbeat/cores/nobody none \ No newline at end of file
diff --git a/recipes/linux-ha/cluster-glue_1.0.3.bb b/recipes/linux-ha/cluster-glue_1.0.3.bb
new file mode 100644
index 0000000000..774b83c09e
--- /dev/null
+++ b/recipes/linux-ha/cluster-glue_1.0.3.bb
@@ -0,0 +1,88 @@
+DESCRIPTION = "Cluster Glue is a set of libraries, tools and utilities suitable for \
+the Heartbeat/Pacemaker cluster stack. In essence, Glue is everything that \
+is not the cluster messaging layer (Heartbeat), nor the cluster resource manager \
+(Pacemaker), nor a Resource Agent."
+
+LICENSE = "GPL"
+DEPENDS = "libxml2 libtool glib-2.0 bzip2 util-linux-ng"
+
+SRC_URI = " \
+ http://hg.linux-ha.org/glue/archive/glue-${PV}.tar.bz2;name=tar \
+ file://glue-remove-getpid-check.patch;patch=1 \
+ file://volatiles \
+ "
+SRC_URI[tar.md5sum] = "f13746a8f3e8db1fa9c682d9db892573"
+SRC_URI[tar.sha256sum] = "fb1e4b75779849daf0f2c2c93668dd2a33d304307554f3d617b07f1957c61c9f"
+
+inherit autotools_stage
+
+S = "${WORKDIR}/Reusable-Cluster-Components-glue-${PV}"
+
+EXTRA_OECONF = "--with-daemon-user=hacluster --with-daemon-group=haclient"
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/default/volatiles
+ install -m 0644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/04_cluster-glue
+}
+
+pkg_postinst_${PN} () {
+ set -e
+ grep haclient /etc/group || addgroup haclient
+ grep hacluster /etc/passwd || adduser --disabled-password --home=${localstatedir}/lib/heartbeat --ingroup haclient -g "HA cluster" hacluster
+ /etc/init.d/populate-volatile.sh update
+}
+
+PACKAGES += "\
+ ${PN}-plugin-test \
+ ${PN}-plugin-test-dbg \
+ ${PN}-plugin-test-dev \
+ ${PN}-plugin-stonith2 \
+ ${PN}-plugin-stonith2-dbg \
+ ${PN}-plugin-stonith2-dev \
+ ${PN}-plugin-stonith2-ribcl \
+ ${PN}-plugin-stonith-external \
+ ${PN}-plugin-raexec \
+ ${PN}-plugin-raexec-dbg \
+ ${PN}-plugin-raexec-dev \
+ ${PN}-plugin-interfacemgr \
+ ${PN}-plugin-interfacemgr-dbg \
+ ${PN}-plugin-interfacemgr-dev \
+ ${PN}-lrmtest \
+ "
+
+FILES_${PN} += " \
+ /usr/lib/heartbeat/transient-test.sh \
+ /usr/lib/heartbeat/logtest \
+ /usr/lib/heartbeat/ipctransientserver \
+ /usr/lib/heartbeat/base64_md5_test \
+ /usr/lib/heartbeat/ipctest \
+ /usr/lib/heartbeat/ipctransientclient \
+ /usr/lib/heartbeat/ha_logd \
+ /usr/lib/heartbeat/lrmd \
+ "
+
+FILES_${PN}-dbg += "/usr/lib/heartbeat/.debug/"
+
+FILES_${PN}-plugin-test = "/usr/lib/heartbeat/plugins/test/test.so"
+FILES_${PN}-plugin-test-dev = "/usr/lib/heartbeat/plugins/test/test.*a"
+FILES_${PN}-plugin-test-dbg = "/usr/lib/heartbeat/plugins/test/.debug/"
+FILES_${PN}-plugin-stonith2 = " \
+ /usr/lib/stonith/plugins/xen0-ha-dom0-stonith-helper \
+ /usr/lib/stonith/plugins/stonith2/*.so \
+ "
+FILES_${PN}-plugin-stonith2-ribcl = "/usr/lib/stonith/plugins/stonith2/ribcl.py"
+RDEPENDS_${PN}-plugin-stonith2-ribcl += "python"
+
+FILES_${PN}-plugin-stonith2-dbg = "/usr/lib/stonith/plugins/stonith2/.debug/"
+FILES_${PN}-plugin-stonith2-dev = "/usr/lib/stonith/plugins/stonith2/*.*a"
+
+FILES_${PN}-plugin-stonith-external = "/usr/lib/stonith/plugins/external/"
+FILES_${PN}-plugin-raexec = "/usr/lib/heartbeat/plugins/RAExec/*.so"
+FILES_${PN}-plugin-raexec-dev = "/usr/lib/heartbeat/plugins/RAExec/*.*a"
+FILES_${PN}-plugin-raexec-dbg = "/usr/lib/heartbeat/plugins/RAExec/.debug/"
+
+FILES_${PN}-plugin-interfacemgr = "/usr/lib/heartbeat/plugins/InterfaceMgr/generic.so"
+FILES_${PN}-plugin-interfacemgr-dev = "/usr/lib/heartbeat/plugins/InterfaceMgr/generic.*a"
+FILES_${PN}-plugin-interfacemgr-dbg = "/usr/lib/heartbeat/plugins/InterfaceMgr/.debug/"
+
+FILES_${PN}-lrmtest = "/usr/share/glue/lrmtest/"