commit:     5c925cf427ea6590a61b9030cca0cae090f21201
Author:     Tony Vroon <chainsaw <AT> gentoo <DOT> org>
AuthorDate: Wed May 22 12:11:04 2019 +0000
Commit:     Tony Vroon <chainsaw <AT> gentoo <DOT> org>
CommitDate: Wed May 22 12:11:18 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c925cf4

net-misc/bird: 1.6.6 & 2.0.4 version bumps

New init script by Alarig Le Lay fixes bad behaviour for 2.x daemons,
by rewriting in a different style as suggested by Michael Orlitzky.
1.6.6 contains several bugfixes related to route propagation.
2.0.4 contains:
 * OSPF: DN-bit handling (RFC 4576)
 * Preferred route counters are back
 * Important BGP bugfix
 * Several bugfixes related to route propagation
 * Some minor bugfixes

Closes: https://bugs.gentoo.org/682628
Bug: https://bugs.gentoo.org/622334
Suggested-By: Michael Orlitzky <mjo <AT> gentoo.org>
Tested-by: Alarig Le Lay <alarig <AT> swordarmor.fr>
Signed-Off-By: Tony Vroon <chainsaw <AT> gentoo.org>
Package-Manager: Portage-2.3.62, Repoman-2.3.11

 net-misc/bird/Manifest           |  2 ++
 net-misc/bird/bird-1.6.6.ebuild  | 68 ++++++++++++++++++++++++++++++++++++++++
 net-misc/bird/bird-2.0.4.ebuild  | 36 +++++++++++++++++++++
 net-misc/bird/files/initd-bird-2 | 51 ++++++++++++++++++++++++++++++
 4 files changed, 157 insertions(+)

diff --git a/net-misc/bird/Manifest b/net-misc/bird/Manifest
index 613f07ffcd1..1e7bd719165 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 00000000000..db540658a18
--- /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 00000000000..152c1ad23c3
--- /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 00000000000..06030d4b301
--- /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 <[email protected]>
+# 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
+}

Reply via email to