commit: 503b4d6f86c5237463857f4d426c6890c87383e5 Author: Alarig Le Lay <alarig <AT> swordarmor <DOT> fr> AuthorDate: Thu Aug 28 21:26:07 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sat Aug 30 01:24:02 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=503b4d6f
net-misc/frr: add 10.4.1 Signed-off-by: Alarig Le Lay <alarig <AT> swordarmor.fr> Part-of: https://github.com/gentoo/gentoo/pull/43594 Closes: https://github.com/gentoo/gentoo/pull/43594 Signed-off-by: Sam James <sam <AT> gentoo.org> net-misc/frr/Manifest | 1 + net-misc/frr/frr-10.4.1.ebuild | 151 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 152 insertions(+) diff --git a/net-misc/frr/Manifest b/net-misc/frr/Manifest index d159e7ac7509..60f406ef3800 100644 --- a/net-misc/frr/Manifest +++ b/net-misc/frr/Manifest @@ -4,3 +4,4 @@ DIST frr-10.2.2.tar.gz 11184873 BLAKE2B 610060a8dd352085e084b8d5d367b357a0432525 DIST frr-10.2.3.tar.gz 11191641 BLAKE2B d1ece2ead664e1e06b4080c48c895ab730b08a6f97f0ab119f0edfb1d04913e5dba64725ba4382dd87622639b0e7f30b22121206a5d28ff175275e1682124051 SHA512 e426499ae02aca87bf33d30917f40b730f80be8b70b4ae69685d9d0b70c1a205730691a434613f7348dc5ae196319a797f33c3872e668905e8d5799bff41da93 DIST frr-10.3.1.tar.gz 11379856 BLAKE2B aeeaa15bcd102ec322672106e1fdd98f2d124ac79514be6ee1ac63648a336519a95b1f1dc5fbee348b92796e6e79e2a9f857b959af5838b2c2b4afb2dc68de0a SHA512 a39ef9995c13f6e5c7fab683a8fce78640c5d40c580ea1978af3af46d393f5da6a2209b49e6609f197a603202943926def035be271b54e79d50b4e68b277c31b DIST frr-10.3.tar.gz 11374042 BLAKE2B 85f4d29b390497df3e730b7114fd0ddf6f083571d21315d4760c87d5e792e3db6d415a407126de8ef6252266bb3bbfd8c29285e3b1aeb850f6e3458167f6c7fd SHA512 1c78f688bd143b12bb2135da10d4937ad25ccdb0c5cfe046e966f1b4a889c5b177da59fb8bc7b8956c71c95a05147af2af4f14cdd4b4fc48c57e0581411158b1 +DIST frr-10.4.1.tar.gz 11564121 BLAKE2B 1270fe6bb82e9e0ea718bab72658ad8b82c936f06f2c5e3686a66f3e9baeedf10e181bbf6c9cd05713194518f7bc6ab561b9baeaf609716fe182240e8abccdce SHA512 c2903e4ddba0ff484872c0378c64dfbe5a92620d62d918c0a1330302d798ad04b7ce81e10f2dc693b37b8d651ad0c76d3f0a2c57db4c5676ff221610173b10c3 diff --git a/net-misc/frr/frr-10.4.1.ebuild b/net-misc/frr/frr-10.4.1.ebuild new file mode 100644 index 000000000000..589b9cf00618 --- /dev/null +++ b/net-misc/frr/frr-10.4.1.ebuild @@ -0,0 +1,151 @@ +# Copyright 2020-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit out-of-source 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/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="doc fpm grpc 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=" + sys-devel/flex + app-alternatives/yacc + dev-libs/elfutils + doc? ( dev-python/sphinx ) + grpc? ( sys-apps/which ) +" +DEPEND=" + ${COMMON_DEPEND} + elibc_musl? ( sys-libs/queue-standalone ) + test? ( + $(python_gen_cond_dep 'dev-python/pytest[${PYTHON_USEDEP}]') + dev-util/cunit + ) +" +RDEPEND=" + ${COMMON_DEPEND} +" + +PATCHES=( + "${FILESDIR}"/${PN}-7.5-ipctl-forwarding.patch + "${FILESDIR}"/${PN}-8.4.1-logrotate.patch + "${FILESDIR}"/${PN}-9.1-mimic-gnu-basename-api-for-non-glibc.patch +) + +QA_CONFIG_IMPL_DECL_SKIP=( + mallinfo # No functional impact. + mallinfo2 +) + +src_prepare() { + default + + python_fix_shebang tools + eautoreconf +} + +my_src_configure() { + local myconf=( + LEX=flex + --with-pkg-extra-version="-gentoo" + --enable-configfile-mask=0640 + --enable-logfile-mask=0640 + --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 + --enable-user=frr + --enable-group=frr + --enable-vty-group=frr + --enable-multipath=64 + $(use_enable doc) + $(use_enable fpm) + $(use_enable grpc) + $(use_enable kernel_linux realms) + $(use_enable nhrp nhrpd) + $(usex ospfapi '--enable-ospfclient' '' '' '') + $(use_enable rpki) + $(use_enable snmp) + ) + + econf "${myconf[@]}" +} + +my_src_compile() { + default + + use doc && emake -C doc html +} + +my_src_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + default +} + +my_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 + # Create logs directory with the correct permissions + diropts -ofrr -gfrr -m0775 + keepdir /var/log/frr /etc/frr + + # Install the default configuration files + insinto /etc/frr + doins "${S}"/tools/etc/frr/{vtysh.conf,frr.conf,daemons} + + # Fix permissions/owners. + fowners frr:frr /etc/frr/{vtysh.conf,frr.conf,daemons} + fperms 640 /etc/frr/{vtysh.conf,frr.conf,daemons} + + # Install logrotate configuration + insinto /etc/logrotate.d + newins "${S}"/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 + # Files from frr seems to be newer. + rm "${ED}"/usr/share/yang/ietf-interfaces.yang || die + rm "${ED}"/usr/share/yang/ietf-netconf.yang || die + rm "${ED}"/usr/share/yang/ietf-netconf-with-defaults.yang || die + rm "${ED}"/usr/share/yang/ietf-netconf-acm.yang || die +}
