diff --git a/net-misc/openbgpd/Manifest b/net-misc/openbgpd/Manifest new file mode 100644 index 0000000..7af53b4 --- /dev/null +++ b/net-misc/openbgpd/Manifest @@ -0,0 +1 @@ +DIST openbgpd-6.6.tar.gz 57895 BLAKE2B af4b9dce9cf97e8e47ef4e64bc8f319620920e3c6d4115a626827e82babd78b5d5aad177748edf5de7b9587644d5e0fb27d9707b4fc09e939f3f31adcacb6f5d SHA512 0726c8ad61d49519ab96b9cb1986c2ae84386095dcb9bbe368f86bc3aa3db4623aa11aac2c7e4e66f9e49dcaac6fc498571a2301f9697abcf64715b128321dff diff --git a/net-misc/openbgpd/files/openbgpd-6.5-update.patch b/net-misc/openbgpd/files/openbgpd-6.5-update.patch new file mode 100644 index 0000000..a60752d --- /dev/null +++ b/net-misc/openbgpd/files/openbgpd-6.5-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-6.6-config.c.patch b/net-misc/openbgpd/files/openbgpd-6.6-config.c.patch new file mode 100644 index 0000000..a4bda12 --- /dev/null +++ b/net-misc/openbgpd/files/openbgpd-6.6-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-6.6-update.patch b/net-misc/openbgpd/files/openbgpd-6.6-update.patch new file mode 100644 index 0000000..a60752d --- /dev/null +++ b/net-misc/openbgpd/files/openbgpd-6.6-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/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.ebuild b/net-misc/openbgpd/openbgpd-6.6.ebuild new file mode 100644 index 0000000..e108a2a --- /dev/null +++ b/net-misc/openbgpd/openbgpd-6.6.ebuild @@ -0,0 +1,58 @@ +# Copyright 2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools git-r3 + +MY_P="${P}p0" +MY_PV="${PV}p0" +MY_PN="openbgpd-portable-${MY_PV}" + +DESCRIPTION="OpenBGPD is a free implementation of BGPv4" +HOMEPAGE="http://www.openbgpd.org/index.html" +SRC_URI="https://github.com/openbgpd-portable/openbgpd-portable/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" + +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="~amd64 ~x86" +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_PN}" "${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 +}