From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id AC652138350 for ; Sat, 21 Mar 2020 18:00:26 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id DAF5FE0ACB; Sat, 21 Mar 2020 18:00:25 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id AE47EE0ACB for ; Sat, 21 Mar 2020 18:00:25 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 8A20434F1D0 for ; Sat, 21 Mar 2020 18:00:23 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id A3CBA192 for ; Sat, 21 Mar 2020 18:00:09 +0000 (UTC) From: "Alarig Le Lay" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Alarig Le Lay" Message-ID: <1584813579.7dc08326af3b84b856422368a311f07046c17ef5.AlarigLeLay@gentoo> Subject: [gentoo-commits] repo/proj/guru:dev commit in: net-misc/openbgpd/files/, net-misc/openbgpd/ X-VCS-Repository: repo/proj/guru X-VCS-Files: net-misc/openbgpd/Manifest net-misc/openbgpd/files/openbgpd-6.6_p0-config.c.patch net-misc/openbgpd/files/openbgpd-9999-config.c.patch net-misc/openbgpd/files/openbgpd-9999-update.patch net-misc/openbgpd/files/openbgpd-conf.d net-misc/openbgpd/files/openbgpd-init.d net-misc/openbgpd/files/openbgpd.service net-misc/openbgpd/metadata.xml net-misc/openbgpd/openbgpd-6.6_p0.ebuild net-misc/openbgpd/openbgpd-9999.ebuild X-VCS-Directories: net-misc/openbgpd/files/ net-misc/openbgpd/ X-VCS-Committer: AlarigLeLay X-VCS-Committer-Name: Alarig Le Lay X-VCS-Revision: 7dc08326af3b84b856422368a311f07046c17ef5 X-VCS-Branch: dev Date: Sat, 21 Mar 2020 18:00:09 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 4071289e-edd7-43f3-81ff-082f8d1d898e X-Archives-Hash: b539fb0a5f874309951bbc5ce358c8ad commit: 7dc08326af3b84b856422368a311f07046c17ef5 Author: Alarig Le Lay swordarmor fr> AuthorDate: Sat Mar 21 17:59:39 2020 +0000 Commit: Alarig Le Lay swordarmor 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 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 @@ + + + + + Alarig Le Lay + alarig@swordarmor.fr + + 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 "" +}