net-misc/frr: add 9.0

This commit is contained in:
Alarig Le Lay 2023-08-11 17:45:15 +02:00
parent 3a144e068b
commit 81bb55705e
Signed by: alarig
GPG key ID: 7AFE62C6DF8BCDEC
2 changed files with 150 additions and 0 deletions

View file

@ -1,2 +1,3 @@
DIST frr-8.5.2.tar.gz 10076639 BLAKE2B 2e2aca4e42757f66c9ca4725826c6cc1d611930490eed2a175ca5b56910f2c09a9d842b2a9370a64a9fdac6a6314bd4573be609d14dbf956049d9fbf49310404 SHA512 1afa6ca1a41096aa47dc2fc39ab87290b3cbf634a1632e7910a5b69d2816998fbccbca616f261a410aa146a21dd26d12b7e6812da4ec08545b1500f8b546b972 DIST frr-8.5.2.tar.gz 10076639 BLAKE2B 2e2aca4e42757f66c9ca4725826c6cc1d611930490eed2a175ca5b56910f2c09a9d842b2a9370a64a9fdac6a6314bd4573be609d14dbf956049d9fbf49310404 SHA512 1afa6ca1a41096aa47dc2fc39ab87290b3cbf634a1632e7910a5b69d2816998fbccbca616f261a410aa146a21dd26d12b7e6812da4ec08545b1500f8b546b972
DIST frr-8.5.tar.gz 10068379 BLAKE2B ed7aa538997bdbfde0370f36a8980ad3ae882a2325cdc7c3b2bdba9d6a43cd9ca04ff96b94b7827e06593a15c104cdadbd2632e136eb2d68e7ed87095a9294a4 SHA512 13e2ea8642fc00b565e9a36d2d59abe5d0e11caf646199cd928184fda2de004bda9892ae8a2f91870d5ac218bb127725663b693e4d764e5b21c942bb20b8d66f DIST frr-8.5.tar.gz 10068379 BLAKE2B ed7aa538997bdbfde0370f36a8980ad3ae882a2325cdc7c3b2bdba9d6a43cd9ca04ff96b94b7827e06593a15c104cdadbd2632e136eb2d68e7ed87095a9294a4 SHA512 13e2ea8642fc00b565e9a36d2d59abe5d0e11caf646199cd928184fda2de004bda9892ae8a2f91870d5ac218bb127725663b693e4d764e5b21c942bb20b8d66f
DIST frr-9.0.tar.gz 10332694 BLAKE2B 82221df6da189d5e687af4618af71933eb512413126dfb312bfcc663e5fc6f85e29c33da84117f40598452e6033cb24e9cba8d28f00d63fee2bf45a43babef17 SHA512 d3af6c24abbc8745f9646a22c023bd1d0e155776ffd09c9dd0b81b93c383723c9e7dd987319551db85dab5fd45d47cbcbf47a1ae1b6861cd7930bc27f18d2e25

149
net-misc/frr/frr-9.0.ebuild Normal file
View file

@ -0,0 +1,149 @@
# Copyright 2020-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{9..11} )
inherit autotools pam python-single-r1 systemd
DESCRIPTION="The FRRouting Protocol Suite"
HOMEPAGE="https://frrouting.org/"
SRC_URI="https://github.com/FRRouting/frr/archive/${P}.tar.gz"
# FRR tarballs have weird format.
S="${WORKDIR}/frr-${P}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm64 ~x86"
IUSE="doc fpm grpc ipv6 nhrp ospfapi pam rpki snmp test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="!test? ( test )"
COMMON_DEPEND="
${PYTHON_DEPS}
acct-user/frr
dev-libs/json-c:0=
>=net-libs/libyang-2.0.0
sys-libs/libcap
sys-libs/readline:0=
virtual/libcrypt:=
grpc? ( net-libs/grpc:= )
nhrp? ( net-dns/c-ares:0= )
pam? ( sys-libs/pam )
rpki? ( >=net-libs/rtrlib-0.8.0[ssh] )
snmp? ( net-analyzer/net-snmp:= )
"
BDEPEND="
~dev-util/clippy-${PV}
sys-devel/flex
app-alternatives/yacc
doc? ( dev-python/sphinx )
"
DEPEND="
${COMMON_DEPEND}
elibc_musl? ( sys-libs/queue-standalone )
test? ( $(python_gen_cond_dep 'dev-python/pytest[${PYTHON_USEDEP}]') )
"
RDEPEND="
${COMMON_DEPEND}
$(python_gen_cond_dep 'dev-python/ipaddr[${PYTHON_USEDEP}]')
!net-misc/quagga
"
PATCHES=(
"${FILESDIR}"/${PN}-7.5-ipctl-forwarding.patch
"${FILESDIR}"/${PN}-8.4.1-logrotate.patch
)
src_prepare() {
default
python_fix_shebang tools
eautoreconf
}
src_configure() {
local myconf=(
--disable-static
--with-pkg-extra-version="-gentoo"
--enable-configfile-mask=0640
--enable-logfile-mask=0640
--prefix="${EPREFIX}"/usr
--libdir="${EPREFIX}"/usr/lib/frr
--sbindir="${EPREFIX}"/usr/lib/frr
--libexecdir="${EPREFIX}"/usr/lib/frr
--sysconfdir="${EPREFIX}"/etc/frr
--localstatedir="${EPREFIX}"/run/frr
--with-moduledir="${EPREFIX}"/usr/lib/frr/modules
--with-clippy="${BROOT}"/usr/bin/clippy
--enable-user=frr
--enable-group=frr
--enable-vty-group=frr
--enable-multipath=64
$(use_enable doc)
$(use_enable fpm)
$(use_enable grpc)
$(use_enable ipv6 ospf6d)
$(use_enable ipv6 ripngd)
$(use_enable ipv6 rtadv)
$(use_enable kernel_linux realms)
$(use_enable nhrp nhrpd)
$(usex ospfapi '--enable-ospfclient' '' '' '')
$(use_enable rpki)
$(use_enable snmp)
)
econf "${myconf[@]}"
}
src_compile() {
default
use doc && emake -C doc html
}
src_install() {
default
find "${ED}" -name '*.la' -delete || die
# Install user documentation if asked
use doc && dodoc -r doc/user/_build/html
# Create configuration directory with correct permissions
keepdir /etc/frr
fowners frr:frr /etc/frr
fperms 775 /etc/frr
# Create logs directory with the correct permissions
keepdir /var/log/frr
fowners frr:frr /var/log/frr
fperms 775 /var/log/frr
# Install the default configuration files
insinto /etc/frr
doins tools/etc/frr/vtysh.conf
doins tools/etc/frr/frr.conf
doins tools/etc/frr/daemons
# Fix permissions/owners.
fowners frr:frr /etc/frr/vtysh.conf
fowners frr:frr /etc/frr/frr.conf
fowners frr:frr /etc/frr/daemons
fperms 640 /etc/frr/vtysh.conf
fperms 640 /etc/frr/frr.conf
fperms 640 /etc/frr/daemons
# Install logrotate configuration
insinto /etc/logrotate.d
newins redhat/frr.logrotate frr
# Install PAM configuration file
use pam && newpamd "${FILESDIR}"/frr.pam frr
# Install init scripts
systemd_dounit tools/frr.service
newinitd "${FILESDIR}"/frr-openrc-v1 frr
# Conflict files, installed by net-libs/libsmi, bug #758383
rm "${ED}"/usr/share/yang/ietf-interfaces.yang || die
}