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>

Reply via email to