net-misc/frr: add 10.0
This commit is contained in:
parent
8dea1056c7
commit
d0b54d74d0
|
@ -1 +1,2 @@
|
|||
DIST frr-10.0.tar.gz 10956257 BLAKE2B 608a0f06f9db5822f10f9dcf240df35ec9b65c1624f34d07f3dd5317868af03f2e897baf373d83cf86fa5944c2b7dcac6f6309f32d15b7c92b74c7f24be04e03 SHA512 f02fe672d3ab7382752f83a8ae1e6198e6b906b4ad31063aad18b803c8756b40fa1f280c5dafe872dea505bcc882fbb8392802411f9fac0ab0bd45dac8b3ed28
|
||||
DIST frr-9.1.tar.gz 10779477 BLAKE2B ba64f9455c38441f8cadce4eed435fb86344244e98bd1b675335887fb098be29adc035d722d3c128e136a4c6b0aa1adcbdc0e22815702e52170da940a5caf20a SHA512 77b278a3ea87da9dfd7b87e4f9ae67f08ed0f24809f6dd228d2ab2e2c29e2b3191d59d50fc474e53e159ac6c79c302481b462125d0657889516f07b8e05e8562
|
||||
|
|
149
net-misc/frr/frr-10.0.ebuild
Normal file
149
net-misc/frr/frr-10.0.ebuild
Normal file
|
@ -0,0 +1,149 @@
|
|||
# Copyright 2020-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..12} )
|
||||
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=
|
||||
dev-libs/protobuf-c:0=
|
||||
>=net-libs/libyang-2.1.128
|
||||
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}
|
||||
app-alternatives/lex
|
||||
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}]')
|
||||
"
|
||||
|
||||
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-v2 frr
|
||||
|
||||
# Conflict files, installed by net-libs/libsmi, bug #758383
|
||||
rm "${ED}"/usr/share/yang/ietf-interfaces.yang || die
|
||||
}
|
Loading…
Reference in a new issue