From 08533fd2a8a97bf5efe10e462d761b3221996458 Mon Sep 17 00:00:00 2001 From: Roman I Khimov Date: Mon, 22 Mar 2010 18:31:23 +0300 Subject: 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 --- .../cluster-glue/glue-remove-getpid-check.patch | 33 ++++++++ recipes/linux-ha/cluster-glue/volatiles | 6 ++ recipes/linux-ha/cluster-glue_1.0.3.bb | 88 ++++++++++++++++++++++ 3 files changed, 127 insertions(+) create mode 100644 recipes/linux-ha/cluster-glue/glue-remove-getpid-check.patch create mode 100644 recipes/linux-ha/cluster-glue/volatiles create mode 100644 recipes/linux-ha/cluster-glue_1.0.3.bb (limited to 'recipes/linux-ha') 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/" -- cgit 1.2.3-korg