summaryrefslogtreecommitdiff
path: root/sys-cluster/pacemaker
diff options
context:
space:
mode:
authorDan Goodliffe <dan.goodliffe@octal.co.uk>2025-03-19 16:59:53 +0000
committerDan Goodliffe <dan.goodliffe@octal.co.uk>2025-03-19 17:06:12 +0000
commit733b071e786a370a0d6ddd74d2f21e7fe8b659ad (patch)
tree5680d22a5b0c08233b782633392a3ef4fb3bbc9e /sys-cluster/pacemaker
parentBump webkit-gtk version for openconnect saml gui (diff)
downloadportage-733b071e786a370a0d6ddd74d2f21e7fe8b659ad.tar.bz2
portage-733b071e786a370a0d6ddd74d2f21e7fe8b659ad.tar.xz
portage-733b071e786a370a0d6ddd74d2f21e7fe8b659ad.zip
Verbatim copy of pacemaker and crmsh before removal upstream
Diffstat (limited to 'sys-cluster/pacemaker')
-rw-r--r--sys-cluster/pacemaker/Manifest4
-rw-r--r--sys-cluster/pacemaker/files/pacemaker.initd41
-rw-r--r--sys-cluster/pacemaker/metadata.xml20
-rw-r--r--sys-cluster/pacemaker/pacemaker-2.1.2.ebuild75
4 files changed, 140 insertions, 0 deletions
diff --git a/sys-cluster/pacemaker/Manifest b/sys-cluster/pacemaker/Manifest
new file mode 100644
index 0000000..0a73063
--- /dev/null
+++ b/sys-cluster/pacemaker/Manifest
@@ -0,0 +1,4 @@
+AUX pacemaker.initd 858 BLAKE2B a1b4d9efd14f03620f03733a0a4d33f97ed056f041b970376c17fe2b54a52a172ef208b70bcb6914d211c3157a206ce57aed13898396bd78532e69e697a55a7f SHA512 d644b18cf45c74c21c845dbab16b63fd23944d7d1f9616a866b6b07ea6108ca52a1bb445b698dc87d36d0131abad8fa96a8de85aef843df4669699de289cf587
+DIST Pacemaker-2.1.2.tar.gz 5092063 BLAKE2B 04689762cd3767fec35fc577b79007e7004411d4bb8676a0410c75619c35d1f158811555ea7d156accbb3e75a427128ab735ca21ad177934634b27fe2837175f SHA512 5c30ac5c371bb1f37215a9cf3e2eec701f7e4133252401dd2793b0908f2192de1d0b625cc37d84dfc9fd0885039c4d88e617110135c5e1a16c40cd3218603c26
+EBUILD pacemaker-2.1.2.ebuild 1614 BLAKE2B f7d96c450610ddf0f3195fecd4e213bc1e4372617097e6ccdd16cd2ce385ccda0a184612697b33d3553a5d17b7037ace888fe62353d0bb917ca2aece06eec68e SHA512 f36e0810ddc8ff193c269c7b7f9b586b46828e44e185fbfa283d7cc85213c982badd22a3da029fe7ef7364826d918680a383be3911cf913401848ed87b7349cb
+MISC metadata.xml 809 BLAKE2B fa4cdce64387006f97d32578157d82bfe8b82f7f049accc11731e1f4e0d502aa01e7099045bd8d775757de92229428d7dd386019b6b02f85f00222e7e6d60fbb SHA512 48fc7614e31ed83c5de217cf737931f1d9257827e60c2a7eceb9c936041e82b3477822b9c31e320468b3634af1651502bb5ce5cb162319921d3d03197196fcad
diff --git a/sys-cluster/pacemaker/files/pacemaker.initd b/sys-cluster/pacemaker/files/pacemaker.initd
new file mode 100644
index 0000000..0264d34
--- /dev/null
+++ b/sys-cluster/pacemaker/files/pacemaker.initd
@@ -0,0 +1,41 @@
+#!/sbin/openrc-run
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+PIDFILE=/var/run/pacemaker.pid
+
+depend() {
+ need net corosync
+ use syslog
+}
+
+start() {
+ nc=0
+ ebegin "Starting Pacemaker Cluster Manager"
+
+ checkpath -d -m 0750 -o hacluster:haclient /var/run/crm
+
+ einfon "Waiting for Corosync startup ."
+ while true; do
+ /usr/sbin/corosync-cfgtool -s &>/dev/null && break
+ nc=$(expr $nc + 1)
+ if [ $nc -gt 30 ]; then
+ echo
+ eend 1 "Failed to detect Corosync startup, is it really running?"
+ exit 1
+ fi
+ sleep 1
+ echo -n "."
+ done
+ echo
+ start-stop-daemon --start -q --exec /usr/sbin/pacemakerd \
+ --pidfile "${PIDFILE}" --make-pidfile --background \
+ -- -f
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Pacemaker Cluster Manager"
+ start-stop-daemon --stop -q --pidfile "${PIDFILE}"
+ eend $?
+}
diff --git a/sys-cluster/pacemaker/metadata.xml b/sys-cluster/pacemaker/metadata.xml
new file mode 100644
index 0000000..b77bd1f
--- /dev/null
+++ b/sys-cluster/pacemaker/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <longdescription>
+ Pacemaker is a cluster resource manager.
+ It achieves maximum availability for your cluster services (aka. resources) by detecting and
+ recovering from node and resource-level failures by making use of the messaging and membership
+ capabilities provided by your preferred cluster infrastructure (either OpenAIS or Heartbeat).
+ </longdescription>
+ <use>
+ <flag name="smtp">Enable SMTP support via <pkg>net-libs/libesmtp</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="github">ClusterLabs/pacemaker</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/pacemaker/pacemaker-2.1.2.ebuild b/sys-cluster/pacemaker/pacemaker-2.1.2.ebuild
new file mode 100644
index 0000000..d3abc7b
--- /dev/null
+++ b/sys-cluster/pacemaker/pacemaker-2.1.2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{9..10} )
+
+inherit autotools python-single-r1
+
+MY_P="${PN^}-${PV/_/-}"
+
+DESCRIPTION="Pacemaker CRM"
+HOMEPAGE="http://www.linux-ha.org/wiki/Pacemaker"
+SRC_URI="https://github.com/ClusterLabs/${PN}/archive/${MY_P}.tar.gz"
+
+LICENSE="GPL-2+ LGPL-2.1+ BSD CC-BY-SA-4.0"
+SLOT="0"
+KEYWORDS="amd64 ~hppa x86"
+IUSE="acl smtp snmp"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ >=sys-cluster/cluster-glue-1.0.12-r1
+ >=sys-cluster/libqb-2.0.0:=
+ sys-cluster/resource-agents
+ sys-cluster/corosync
+ smtp? ( net-libs/libesmtp )
+ snmp? ( net-analyzer/net-snmp )
+"
+RDEPEND="${DEPEND}"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+S="${WORKDIR}/${PN}-${MY_P}"
+
+src_prepare() {
+ default
+ sed -i -e "s/ -ggdb//g" configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ # appends lib to localstatedir automatically
+ local myconf=(
+ --with-ocfdir=/usr/$(get_libdir)/ocf
+ --localstatedir=/var
+ --disable-fatal-warnings
+ --disable-static
+ --without-cs-quorum
+ --without-cman
+ --without-heartbeat
+ --with-corosync
+ --with-ais
+ $(use_with acl)
+ $(use_with smtp esmtp)
+ $(use_with snmp)
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ python_optimize
+
+ # remove provided initd file as we need support for OpenRC
+ rm -rf "${ED}/etc/init.d" || die "Failed to remove old initd"
+ newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+
+ keepdir /var/lib/pacemaker/{blackbox,cib,cores,pengine}
+ keepdir /var/log/pacemaker/bundles
+
+ find "${ED}" -name '*.la' -delete || die
+}