summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/bird')
-rw-r--r--net-misc/bird/Manifest2
-rw-r--r--net-misc/bird/bird-1.6.6.ebuild68
-rw-r--r--net-misc/bird/bird-2.0.4.ebuild36
-rw-r--r--net-misc/bird/files/initd-bird-251
4 files changed, 157 insertions, 0 deletions
diff --git a/net-misc/bird/Manifest b/net-misc/bird/Manifest
index 613f07ffcd11..1e7bd719165e 100644
--- a/net-misc/bird/Manifest
+++ b/net-misc/bird/Manifest
@@ -1,5 +1,7 @@
DIST bird-1.6.3.tar.gz 1337198 BLAKE2B e1a4a5ec4f46980f77f7c69860343da50eadea54129f20b52302aca5cdf63b19370f8cc2642b480af621772ed7b49ed7ed61a38c486f22c055abbe6be210aab9 SHA512 d0f044cbbb3e5fe0624ad8ae58f5fa352ff41a9cd73f37d803431d9d148927bce52d8f2b82e31dd65c753c55b1034aaf8e15739a511e42cd2dd122b5cd1e15df
DIST bird-1.6.4.tar.gz 1018874 BLAKE2B f6ef0b952f6b00008fadcaa1c1a32ac31b42a9804e221edb75073e23ff942276bf1beee6d3f4c9d89f90339e99bb82a5953c17ff6963e5ff60d29a50f45e06d4 SHA512 5034d6bdca40ecddaed57bd4ab6e700828b89221bd3ce6d347aa9caa4dca65880c080ee3f276a8c31adde2de16402c8b7e7fd32dc4463d29d63b3f16b833b2eb
DIST bird-1.6.5.tar.gz 1114984 BLAKE2B 15b2a432e467a8ce81acc4d3d5cf7dea865cf7d3a8c893ab348916fbf60104a5606a6cbc2fcd647c102f3177f0d04d2f046860da244f26a7357f321285f1e295 SHA512 a86c340f4acd9d90b5babe8f19dbd753b2ad94db2c92181bf969244c1d7b20aa825a0311c13a1e19b019019b91af7827775970fd39e807ab32da690492ce356e
+DIST bird-1.6.6.tar.gz 1029505 BLAKE2B 45cd621175962ea22848948e61aaf8b5c4eebbae5f5703bd71571defb2661d0aee646e93a1b42b8d93e6901d256a6e6d91d9bc4573bc01c31d9b359f5184dc5a SHA512 2419e487af2c8e75f613892ee1b1ada00085945bcafe17de972d3196f50a32321a6d18c9a3b58c0c58a5273f348a6d6de8b861505ad559269510a0ba69041fd9
DIST bird-2.0.2.tar.gz 1015224 BLAKE2B 3931c0431dc6511596e7214f6e2099548aafa69c951a44cd628443701eac061e8d95c387d74d81ad889988750c5bdb32a69ed77bfe655b161932017f1a1266a1 SHA512 aef96f246484a52269b44963df033ccc584e62d50d1ae31a97a97b9c7375e576d70d00f61a0f6da336e60cefc4c921945df0cc821d5fd1c737b19f508e65d30b
DIST bird-2.0.3.tar.gz 1141917 BLAKE2B 14b51a4195003ddcf848be45755057ebf835edf54f35208f8d80121c22eeb83c9afa0c0c1ab269c376da59f5d07843054b08e1679db873a0b8121aa611b9202b SHA512 c88d0119dbebf4b2224ff7c6555e1ebf516748611e3544e7cfba47adb60c45a996efed7d2dc2b8fd849f15689e5d3c2624c4019c4a9a5a356d551a35db8fa0e2
+DIST bird-2.0.4.tar.gz 1051911 BLAKE2B 12100685e4aad969dbb51eaa567e1038f50e7c030a25a8697bc35d4f33d0f64f9ccbc045e1210acb78f3d8d4a7cc7ef2be7ae50a36679f2322d292e8e6993ed4 SHA512 65092ca6be115b4d0c31c3c4a79d3ee2e196dc2f85454448eab568cc9cc1fe37b7bdfe1ddb74d4f6f147dc479a8570cf7bf702d762cd69414f976678c14c8e2f
diff --git a/net-misc/bird/bird-1.6.6.ebuild b/net-misc/bird/bird-1.6.6.ebuild
new file mode 100644
index 000000000000..db540658a184
--- /dev/null
+++ b/net-misc/bird/bird-1.6.6.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="A routing daemon implementing OSPF, RIPv2 & BGP for IPv4 or IPv6"
+HOMEPAGE="http://bird.network.cz"
+SRC_URI="ftp://bird.network.cz/pub/${PN}/${P}.tar.gz"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86 ~x64-macos"
+IUSE="+client debug ipv6"
+
+RDEPEND="client? ( sys-libs/ncurses )
+ client? ( sys-libs/readline )"
+DEPEND="sys-devel/flex
+ sys-devel/bison
+ sys-devel/m4"
+
+src_prepare() {
+ eapply_user
+ mkdir ipv6
+ tar c --exclude ipv6 . | tar x -C ipv6
+}
+
+src_configure() {
+ econf \
+ --disable-ipv6 \
+ --localstatedir="${EPREFIX}/var" \
+ $(use_enable client) \
+ $(use_enable debug)
+
+ if use ipv6; then
+ cd ipv6
+ econf \
+ --enable-ipv6 \
+ --localstatedir="${EPREFIX}/var" \
+ $(use_enable client) \
+ $(use_enable debug)
+ fi
+}
+
+src_compile() {
+ emake
+ if use ipv6; then
+ cd ipv6
+ emake
+ fi
+}
+
+src_install() {
+ if use ipv6; then
+ if use client; then
+ newbin ipv6/birdc birdc6
+ fi
+ newbin ipv6/birdcl birdcl6
+ newsbin ipv6/bird bird6
+ newinitd "${FILESDIR}/initd-${PN}-2" bird6
+ fi
+ if use client; then
+ dobin birdc
+ fi
+ dobin birdcl
+ dosbin bird
+ newinitd "${FILESDIR}/initd-${PN}-2" bird
+ dodoc doc/bird.conf.example
+}
diff --git a/net-misc/bird/bird-2.0.4.ebuild b/net-misc/bird/bird-2.0.4.ebuild
new file mode 100644
index 000000000000..152c1ad23c3c
--- /dev/null
+++ b/net-misc/bird/bird-2.0.4.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="A routing daemon implementing OSPF, RIPv2 & BGP for IPv4 & IPv6"
+HOMEPAGE="http://bird.network.cz"
+SRC_URI="ftp://bird.network.cz/pub/${PN}/${P}.tar.gz"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86 ~x64-macos"
+IUSE="+client debug"
+
+RDEPEND="client? ( sys-libs/ncurses )
+ client? ( sys-libs/readline )"
+DEPEND="sys-devel/flex
+ sys-devel/bison
+ sys-devel/m4"
+
+src_configure() {
+ econf \
+ --localstatedir="${EPREFIX}/var" \
+ $(use_enable client) \
+ $(use_enable debug)
+}
+
+src_install() {
+ if use client; then
+ dobin birdc
+ fi
+ dobin birdcl
+ dosbin bird
+ newinitd "${FILESDIR}/initd-${PN}-2" bird
+ dodoc doc/bird.conf.example
+}
diff --git a/net-misc/bird/files/initd-bird-2 b/net-misc/bird/files/initd-bird-2
new file mode 100644
index 000000000000..06030d4b3016
--- /dev/null
+++ b/net-misc/bird/files/initd-bird-2
@@ -0,0 +1,51 @@
+#!/sbin/openrc-run
+# Copyright 1999-2019 Gentoo Authors
+# Copyright 2019 Alarig Le Lay <alarig@grifon.fr>
+# Distributed under the terms of the GNU General Public License v2
+
+extra_started_commands="reload"
+
+pidfile="/run/${RC_SVCNAME}.pid"
+command="/usr/sbin/${RC_SVCNAME}"
+retry=15
+
+CONF_FILE="/etc/${RC_SVCNAME}.conf"
+SOCK="/run/${RC_SVCNAME}.ctl"
+
+client_args="-s ${SOCK}"
+command_args="${client_args} -c ${CONF_FILE} -P ${pidfile}"
+client_args="${client_args} -r"
+
+depend() {
+ need net
+ use logger
+}
+
+check_run() {
+ BIRD_CHECK_CONF="birdc ${client_args} configure check \"${CONF_FILE}\""
+ # Check if the bird parser returns what we want
+ # We can’t use $? because it’s always 0 if the sock works
+ STATE=$(${BIRD_CHECK_CONF} | grep 'Configuration OK')
+
+ if [ -n "${STATE}" ]; then
+ return 0
+ else
+ # We remove the first three lines (garbage informations), the
+ # errors begin after that
+ eerror "$(${BIRD_CHECK_CONF} | sed '1,3d')"
+ return 1
+ fi
+}
+
+reload() {
+ check_run || return 1
+ ebegin "Reloading BIRD"
+ start-stop-daemon --signal HUP --pidfile "${pidfile}"
+ eend $?
+}
+
+stop_pre() {
+ if [ "${RC_CMD}" = "restart" ] ; then
+ check_run || return 1
+ fi
+}