public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Alarig Le Lay" <alarig@swordarmor.fr>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/guru:dev commit in: net-misc/openbgpd/files/, net-misc/openbgpd/
Date: Sat, 21 Mar 2020 18:00:09 +0000 (UTC)	[thread overview]
Message-ID: <1584813579.7dc08326af3b84b856422368a311f07046c17ef5.AlarigLeLay@gentoo> (raw)

commit:     7dc08326af3b84b856422368a311f07046c17ef5
Author:     Alarig Le Lay <alarig <AT> swordarmor <DOT> fr>
AuthorDate: Sat Mar 21 17:59:39 2020 +0000
Commit:     Alarig Le Lay <alarig <AT> swordarmor <DOT> fr>
CommitDate: Sat Mar 21 17:59:39 2020 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=7dc08326

net-misc/openbgpd: New ebuild

Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Alarig Le Lay <alarig <AT> swordarmor.fr>

 net-misc/openbgpd/Manifest                         |  2 +
 .../openbgpd/files/openbgpd-6.6_p0-config.c.patch  | 12 ++++
 .../openbgpd/files/openbgpd-9999-config.c.patch    | 12 ++++
 net-misc/openbgpd/files/openbgpd-9999-update.patch | 13 ++++
 net-misc/openbgpd/files/openbgpd-conf.d            |  7 +++
 net-misc/openbgpd/files/openbgpd-init.d            | 22 +++++++
 net-misc/openbgpd/files/openbgpd.service           | 12 ++++
 net-misc/openbgpd/metadata.xml                     |  8 +++
 net-misc/openbgpd/openbgpd-6.6_p0.ebuild           | 54 ++++++++++++++++
 net-misc/openbgpd/openbgpd-9999.ebuild             | 73 ++++++++++++++++++++++
 10 files changed, 215 insertions(+)

diff --git a/net-misc/openbgpd/Manifest b/net-misc/openbgpd/Manifest
new file mode 100644
index 0000000..d746f9e
--- /dev/null
+++ b/net-misc/openbgpd/Manifest
@@ -0,0 +1,2 @@
+DIST openbgpd-6.6p0.tar.gz 676732 BLAKE2B 80b391ead81d8d3bd20fe9b3eb3f8976485d29241f30c7395c678ff3f0fd87b2f3036b2ebb502ff0ca27d79f4fbbe6ba93576069edb32f004705d71d92e2b3a2 SHA512 07a7599b3ab14181575dc38647b307a4efa7d5dfa8a7aefe70483eb6773cb792eac788a10ea865d78daa59f197fc2d9cd2ce96d0c0251564507963716057fee0
+DIST openbgpd-portable-master.zip 79593 BLAKE2B 7a19522d015076491e698d5dd4434dfaab88ae2dde00b5cbc16122fb3be8a3bbe6906a89ed50d173806298e0e86737f93d7c6be57461ada6c7bb50699a19cbdd SHA512 6d55527c3955457f40c95ff1164f4f6f8c0a8b326c8a632014f83150ffb238eb393053a54b608d650b3756255588b155d537e1a0d228e2961d8f9890e3da641d

diff --git a/net-misc/openbgpd/files/openbgpd-6.6_p0-config.c.patch b/net-misc/openbgpd/files/openbgpd-6.6_p0-config.c.patch
new file mode 100644
index 0000000..e009cdf
--- /dev/null
+++ b/net-misc/openbgpd/files/openbgpd-6.6_p0-config.c.patch
@@ -0,0 +1,12 @@
+--- src/bgpd/config.c	2020-03-20 17:55:04.089577745 +0100
++++ src/bgpd/config.c	2020-03-20 17:56:01.480205070 +0100
+@@ -343,7 +343,8 @@
+ 		fatal("getifaddrs");
+ 
+ 	for (ifa = ifap; ifa; ifa = ifa->ifa_next) {
+-		if (ifa->ifa_addr->sa_family != AF_INET)
++		if (ifa->ifa_addr == NULL ||
++		    ifa->ifa_addr->sa_family != AF_INET)
+ 			continue;
+ 		cur = ((struct sockaddr_in *)ifa->ifa_addr)->sin_addr.s_addr;
+ 		if ((cur & localnet) == localnet)	/* skip 127/8 */

diff --git a/net-misc/openbgpd/files/openbgpd-9999-config.c.patch b/net-misc/openbgpd/files/openbgpd-9999-config.c.patch
new file mode 100644
index 0000000..a4bda12
--- /dev/null
+++ b/net-misc/openbgpd/files/openbgpd-9999-config.c.patch
@@ -0,0 +1,12 @@
+--- openbsd/src/usr.sbin/bgpd/config.c	2020-03-20 17:55:04.089577745 +0100
++++ openbsd/src/usr.sbin/bgpd/config.c	2020-03-20 17:56:01.480205070 +0100
+@@ -343,7 +343,8 @@
+ 		fatal("getifaddrs");
+ 
+ 	for (ifa = ifap; ifa; ifa = ifa->ifa_next) {
+-		if (ifa->ifa_addr->sa_family != AF_INET)
++		if (ifa->ifa_addr == NULL ||
++		    ifa->ifa_addr->sa_family != AF_INET)
+ 			continue;
+ 		cur = ((struct sockaddr_in *)ifa->ifa_addr)->sin_addr.s_addr;
+ 		if ((cur & localnet) == localnet)	/* skip 127/8 */

diff --git a/net-misc/openbgpd/files/openbgpd-9999-update.patch b/net-misc/openbgpd/files/openbgpd-9999-update.patch
new file mode 100644
index 0000000..a60752d
--- /dev/null
+++ b/net-misc/openbgpd/files/openbgpd-9999-update.patch
@@ -0,0 +1,13 @@
+--- update.sh	2020-03-20 15:14:46.462983445 +0100
++++ update.sh	2020-03-20 15:14:56.473090379 +0100
+@@ -13,10 +13,6 @@
+ 		git clone "${OPENBGPD_GIT}/openbsd"
+ 	fi
+ fi
+-(cd openbsd
+- git fetch
+- git checkout "${openbsd_branch}"
+- git pull --rebase)
+ 
+ # setup source paths
+ dir=`pwd`

diff --git a/net-misc/openbgpd/files/openbgpd-conf.d b/net-misc/openbgpd/files/openbgpd-conf.d
new file mode 100644
index 0000000..34055de
--- /dev/null
+++ b/net-misc/openbgpd/files/openbgpd-conf.d
@@ -0,0 +1,7 @@
+# /etc/conf.d/bgpd: config file for openbsd's bgpd
+
+# See bgpd(8) man page ... some popular options:
+#     -f file     Use file as the configuration file, instead of the default
+#                 /etc/bgpd.conf.
+#
+BGPD_OPTS=""

diff --git a/net-misc/openbgpd/files/openbgpd-init.d b/net-misc/openbgpd/files/openbgpd-init.d
new file mode 100755
index 0000000..40724a2
--- /dev/null
+++ b/net-misc/openbgpd/files/openbgpd-init.d
@@ -0,0 +1,22 @@
+#!/sbin/openrc-run
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+name="bgpd daemon"
+description="OpenBGPD is a free implementation of BGPv4"
+command=/usr/sbin/bgpd
+command_args="${BGPD_OPTS}"
+
+extra_started_commands="reload"
+
+depend() {
+	use net
+	use logger
+}
+
+reload() {
+	${command} -n || return 1
+	ebegin "Reloading bgpd"
+	/usr/sbin/bgpctl reload
+	eend $?
+}

diff --git a/net-misc/openbgpd/files/openbgpd.service b/net-misc/openbgpd/files/openbgpd.service
new file mode 100644
index 0000000..3962bfd
--- /dev/null
+++ b/net-misc/openbgpd/files/openbgpd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=OpenBGPD Routing Daemon
+Documentation=man:bgpd.conf(5) man:bgpctl(8) man:bgpd(8)
+After=syslog.target network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/bgpd -f /etc/bgpd.conf
+
+[Install]
+WantedBy=multi-user.target
+

diff --git a/net-misc/openbgpd/metadata.xml b/net-misc/openbgpd/metadata.xml
new file mode 100644
index 0000000..a69b0a0
--- /dev/null
+++ b/net-misc/openbgpd/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<name>Alarig Le Lay</name>
+		<email>alarig@swordarmor.fr</email>
+	</maintainer>
+</pkgmetadata>

diff --git a/net-misc/openbgpd/openbgpd-6.6_p0.ebuild b/net-misc/openbgpd/openbgpd-6.6_p0.ebuild
new file mode 100644
index 0000000..6f9d476
--- /dev/null
+++ b/net-misc/openbgpd/openbgpd-6.6_p0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit systemd
+
+MY_PV="${PV/_p/p}"
+#MY_PN="openbgpd-portable"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="OpenBGPD is a free implementation of BGPv4"
+HOMEPAGE="http://www.openbgpd.org/index.html"
+SRC_URI="mirror://openbsd/OpenBGPD/${PN}-${MY_PV}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="
+	${DEPEND}
+	acct-group/_bgpd
+	acct-user/_bgpd
+"
+BDEPEND="
+	sys-devel/libtool
+"
+
+src_unpack() {
+	default
+	mv "${WORKDIR}/${MY_P}" "${S}"
+}
+
+src_prepare() {
+	eapply -p0 "${FILESDIR}/${P}-config.c.patch"
+	default
+}
+
+src_install() {
+	default
+
+	newinitd "${FILESDIR}/${PN}-init.d" bgpd
+	newconfd "${FILESDIR}/${PN}-conf.d" bgpd
+	systemd_newunit "${FILESDIR}/${PN}.service" bgpd.service
+}
+
+pkg_postinst() {
+	ewarn ""
+	ewarn "OpenBGPD portable (not running on OpenBSD) can’t export its RIB to"
+	ewarn "the FIB. It’s only suitable for route-reflectors or route-servers."
+	ewarn ""
+}

diff --git a/net-misc/openbgpd/openbgpd-9999.ebuild b/net-misc/openbgpd/openbgpd-9999.ebuild
new file mode 100644
index 0000000..74d73a7
--- /dev/null
+++ b/net-misc/openbgpd/openbgpd-9999.ebuild
@@ -0,0 +1,73 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools git-r3 systemd
+
+MY_PV="master"
+MY_PN="openbgpd-portable"
+MY_P="${MY_PN}-${MY_PV}"
+
+DESCRIPTION="OpenBGPD is a free implementation of BGPv4"
+HOMEPAGE="http://www.openbgpd.org/index.html"
+SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/master.zip -> ${MY_P}.zip"
+
+EGIT_REPO_URI="https://github.com/openbgpd-portable/openbgpd-openbsd.git"
+EGIT3_STORE_DIR="${S}/git"
+EGIT_CHECKOUT_DIR="${S}/openbsd"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+DEPEND=""
+RDEPEND="
+	${DEPEND}
+	acct-group/_bgpd
+	acct-user/_bgpd
+"
+BDEPEND="
+	dev-util/byacc
+	sys-devel/autoconf
+	sys-devel/automake
+	sys-devel/libtool
+"
+
+src_unpack() {
+	unpack ${A}
+	mv "${WORKDIR}/${MY_P}" "${S}"
+
+	EGIT_BRANCH=$(cat "${S}"/OPENBSD_BRANCH)
+	git-r3_fetch
+	git-r3_checkout
+}
+
+src_prepare() {
+	eapply -p0 "${FILESDIR}/${P}-update.patch"
+	eapply -p0 "${FILESDIR}/${P}-config.c.patch"
+	default
+	./autogen.sh
+	eautoreconf
+}
+
+src_configure() {
+	export YACC=byacc
+	default
+}
+
+src_install() {
+	default
+
+	newinitd "${FILESDIR}/${PN}-init.d" bgpd
+	newconfd "${FILESDIR}/${PN}-conf.d" bgpd
+	systemd_newunit "${FILESDIR}/${PN}.service" bgpd.service
+}
+
+pkg_postinst() {
+	ewarn ""
+	ewarn "OpenBGPD portable (not running on OpenBSD) can’t export its RIB to"
+	ewarn "the FIB. It’s only suitable for route-reflectors or route-servers."
+	ewarn ""
+}


             reply	other threads:[~2020-03-21 18:00 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-21 18:00 Alarig Le Lay [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-03-24 18:03 [gentoo-commits] repo/proj/guru:dev commit in: net-misc/openbgpd/files/, net-misc/openbgpd/ Andrew Ammerlaan
2023-07-14 13:02 Alarig Le Lay

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1584813579.7dc08326af3b84b856422368a311f07046c17ef5.AlarigLeLay@gentoo \
    --to=alarig@swordarmor.fr \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox