commit: 5399d5ffca2cdfcfe8d98fc261018251bc9a15a7 Author: orbea <orbea <AT> riseup <DOT> net> AuthorDate: Thu Jul 7 01:18:15 2022 +0000 Commit: Quentin Retornaz <gentoo <AT> retornaz <DOT> com> CommitDate: Sun Jul 10 22:49:53 2022 +0000 URL: https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=5399d5ff
sys-cluster/keepalived: Add 2.2.7 Signed-off-by: orbea <orbea <AT> riseup.net> Signed-off-by: Quentin Retornaz <gentoo <AT> retornaz.com> sys-cluster/keepalived/Manifest | 1 + .../files/keepalived-2.2.7-libressl.patch | 23 ++++++ sys-cluster/keepalived/files/keepalived.confd-r1 | 3 + sys-cluster/keepalived/files/keepalived.init-r1 | 21 ++++++ sys-cluster/keepalived/files/keepalived.service | 13 ++++ sys-cluster/keepalived/files/keepalived.service-r1 | 15 ++++ .../keepalived/files/keepalived.service.conf | 2 + sys-cluster/keepalived/keepalived-2.2.7.ebuild | 84 ++++++++++++++++++++++ sys-cluster/keepalived/metadata.xml | 10 +-- 9 files changed, 168 insertions(+), 4 deletions(-) diff --git a/sys-cluster/keepalived/Manifest b/sys-cluster/keepalived/Manifest index 6d62878..1ceeea4 100644 --- a/sys-cluster/keepalived/Manifest +++ b/sys-cluster/keepalived/Manifest @@ -1 +1,2 @@ DIST keepalived-1.4.0.tar.gz 731936 BLAKE2B b6adf7925cc81a4c6e6f69afaa28bd72f6c13076be03f2971775a63c823dac5c6fec46e0b6724af1a7ac9036a749b285429ba3ffad2d9ecc39ccc213cbe2cb28 SHA512 485eda5912d68663f011b8e79263ce1e38ed785919055b113536f63aab52c0d5f581a9ab1951c7f62362ac0a68ee921efc41934a4e535d6df7e59249ef32d6d3 +DIST keepalived-2.2.7.tar.gz 1180180 BLAKE2B 62c4534eb1eebeac596b628a1fa5fb4069498d532fdeff0dc51afbc71e90125bff7fcffb897da3fd34765c64f43d7b04dcf184169b1bc2cf33413e109f9f5cdc SHA512 9869437fe6f0c10590b13088002b53474a51102da9838a6575d835d006c4871b61324ab80e0e81e0a23d0124e6f033cfc7114749e87b8f736408f3f0bedb3968 diff --git a/sys-cluster/keepalived/files/keepalived-2.2.7-libressl.patch b/sys-cluster/keepalived/files/keepalived-2.2.7-libressl.patch new file mode 100644 index 0000000..c9876c1 --- /dev/null +++ b/sys-cluster/keepalived/files/keepalived-2.2.7-libressl.patch @@ -0,0 +1,23 @@ +From 27f3bc8e6e08dee4073ce87fd191a2b1f20d12ed Mon Sep 17 00:00:00 2001 +From: orbea <[email protected]> +Date: Wed, 6 Jul 2022 18:03:09 -0700 +Subject: [PATCH] Fix the build with libressl + +check_ssl.c:240: undefined reference to `SSL_set0_wbio' +--- + keepalived/check/check_ssl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/keepalived/check/check_ssl.c b/keepalived/check/check_ssl.c +index 0155fce..889205e 100644 +--- a/keepalived/check/check_ssl.c ++++ b/keepalived/check/check_ssl.c +@@ -234,7 +234,7 @@ ssl_connect(thread_ref_t thread, int new_req) + BIO_get_fd(req->bio, &bio_fd); + if (fcntl(bio_fd, F_SETFD, fcntl(bio_fd, F_GETFD) | FD_CLOEXEC) == -1) + log_message(LOG_INFO, "Setting CLOEXEC failed on ssl socket - errno %d", errno); +-#ifdef HAVE_SSL_SET0_RBIO ++#if defined(HAVE_SSL_SET0_RBIO) && !defined(LIBRESSL_VERSION_NUMBER) + BIO_up_ref(req->bio); + SSL_set0_rbio(req->ssl, req->bio); + SSL_set0_wbio(req->ssl, req->bio); diff --git a/sys-cluster/keepalived/files/keepalived.confd-r1 b/sys-cluster/keepalived/files/keepalived.confd-r1 new file mode 100644 index 0000000..5b273c1 --- /dev/null +++ b/sys-cluster/keepalived/files/keepalived.confd-r1 @@ -0,0 +1,3 @@ +# Keepalived options +# Increase logging: +#KEEPALIVED_OPTS="-D" diff --git a/sys-cluster/keepalived/files/keepalived.init-r1 b/sys-cluster/keepalived/files/keepalived.init-r1 new file mode 100644 index 0000000..98277b0 --- /dev/null +++ b/sys-cluster/keepalived/files/keepalived.init-r1 @@ -0,0 +1,21 @@ +#!/sbin/openrc-run +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + use logger + # The interfaces do not actually need to exist to start, it handles them gracefully. + use net +} + +command="/usr/sbin/keepalived" +command_args="${KEEPALIVED_OPTS}" +extra_started_commands="reload" +pidfile="/run/${RC_SVCNAME}.pid" +required_files="/etc/keepalived/keepalived.conf" + +reload() { + ebegin "Reloading ${RC_SVCNAME}" + start-stop-daemon --signal HUP --pidfile "${pidfile}" + eend $? +} diff --git a/sys-cluster/keepalived/files/keepalived.service b/sys-cluster/keepalived/files/keepalived.service new file mode 100644 index 0000000..ec47a57 --- /dev/null +++ b/sys-cluster/keepalived/files/keepalived.service @@ -0,0 +1,13 @@ +[Unit] +Description=LVS and VRRP High Availability Monitor +After=network-online.target syslog.target + +[Service] +Type=forking +PIDFile=/run/keepalived.pid +KillMode=process +ExecStart=/usr/sbin/keepalived $KEEPALIVED_OPTIONS +ExecReload=/bin/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/sys-cluster/keepalived/files/keepalived.service-r1 b/sys-cluster/keepalived/files/keepalived.service-r1 new file mode 100644 index 0000000..a3624ed --- /dev/null +++ b/sys-cluster/keepalived/files/keepalived.service-r1 @@ -0,0 +1,15 @@ +[Unit] +Description=LVS and VRRP High Availability Monitor +After=network-online.target syslog.target +Wants=network-online.target + +[Service] +Type=notify +NotifyAccess=all +PIDFile=/run/keepalived.pid +KillMode=process +ExecStart=/usr/sbin/keepalived --dont-fork $KEEPALIVED_OPTIONS +ExecReload=/bin/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/sys-cluster/keepalived/files/keepalived.service.conf b/sys-cluster/keepalived/files/keepalived.service.conf new file mode 100644 index 0000000..cb24394 --- /dev/null +++ b/sys-cluster/keepalived/files/keepalived.service.conf @@ -0,0 +1,2 @@ +[Service] +#Environment="KEEPALIVED_OPTIONS=-D" diff --git a/sys-cluster/keepalived/keepalived-2.2.7.ebuild b/sys-cluster/keepalived/keepalived-2.2.7.ebuild new file mode 100644 index 0000000..5d9ee3f --- /dev/null +++ b/sys-cluster/keepalived/keepalived-2.2.7.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools systemd + +DESCRIPTION="A strong & robust keepalive facility to the Linux Virtual Server project" +HOMEPAGE="https://www.keepalived.org/" +SRC_URI="https://www.keepalived.org/software/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 ~hppa ~ia64 ~ppc ppc64 ~s390 ~sparc x86" +IUSE="+bfd dbus json regex snmp systemd" + +RDEPEND=" + dev-libs/libnl:= + dev-libs/openssl:= + dev-libs/popt + net-libs/libnfnetlink + sys-apps/iproute2 + regex? ( >=dev-libs/libpcre2-8:= ) + dbus? ( + sys-apps/dbus + dev-libs/glib:2 + ) + json? ( dev-libs/json-c:= ) + snmp? ( net-analyzer/net-snmp:= ) + systemd? ( sys-apps/systemd )" +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-4.4" + +DOCS=( + README CONTRIBUTORS INSTALL ChangeLog AUTHOR TODO + doc/keepalived.conf.SYNOPSIS doc/NOTE_vrrp_vmac.txt +) + +PATCHES=( + "${FILESDIR}"/${P}-libressl.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # keepalived has support to dynamically use some libraries instead of + # linking them: + #--enable-dynamic-linking \ + #--enable-libiptc-dynamic \ + #--enable-libnl-dynamic \ + #--enable-libxtables-dynamic \ + econf \ + --with-init="$(usex systemd systemd custom)" \ + --with-kernel-dir="${ESYSROOT}"/usr \ + --enable-vrrp \ + $(use_enable bfd) \ + $(use_enable dbus) \ + $(use_enable json) \ + $(use_enable regex) \ + $(use_enable snmp) \ + $(use_enable snmp snmp-rfc) \ + $(use_enable systemd) +} + +src_install() { + default + + newinitd "${FILESDIR}"/keepalived.init-r1 keepalived + newconfd "${FILESDIR}"/keepalived.confd-r1 keepalived + + systemd_newunit "${FILESDIR}"/${PN}.service-r1 ${PN}.service + systemd_install_serviced "${FILESDIR}/${PN}.service.conf" + + use snmp && dodoc doc/*MIB.txt + + # This was badly named by upstream, it's more HOWTO than anything else. + newdoc INSTALL INSTALL+HOWTO + + # Clean up sysvinit files + rm -rv "${ED}"/etc/sysconfig || die +} diff --git a/sys-cluster/keepalived/metadata.xml b/sys-cluster/keepalived/metadata.xml index 4de8679..451dc01 100644 --- a/sys-cluster/keepalived/metadata.xml +++ b/sys-cluster/keepalived/metadata.xml @@ -1,14 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>[email protected]</email> <name>Gentoo Cluster Project</name> </maintainer> - <longdescription> - VRRP2 implementation. Used for setting up high availability clusters. - </longdescription> <use> + <flag name="bfd">compile with support for Bidirectional Forwarding Detection (BFD).</flag> <flag name="json">compile with signal to dump configuration and stats as JSON.</flag> + <flag name="regex">compile with support for regex in health checks</flag> </use> + <upstream> + <remote-id type="github">acassen/keepalived</remote-id> + </upstream> </pkgmetadata>
