summaryrefslogtreecommitdiff
path: root/net-misc/frr
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-09-25 01:25:44 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-09-25 01:25:44 +0100
commitc25088d4fc442a7d6dc3a8d0498b43024888318d (patch)
treefdb19b6a9b3a20669ecb49f0ba8d9f435fbb4b1a /net-misc/frr
parentd80b870c42fbe218389ffaf86f0f2a39404deca1 (diff)
gentoo auto-resync : 25:09:2024 - 01:25:44
Diffstat (limited to 'net-misc/frr')
-rw-r--r--net-misc/frr/Manifest2
-rw-r--r--net-misc/frr/files/frr-9.1-mimic-gnu-basename-api-for-non-glibc.patch26
-rw-r--r--net-misc/frr/frr-9.1-r1.ebuild141
3 files changed, 169 insertions, 0 deletions
diff --git a/net-misc/frr/Manifest b/net-misc/frr/Manifest
index 633604321877..a23c6ec6cfa4 100644
--- a/net-misc/frr/Manifest
+++ b/net-misc/frr/Manifest
@@ -1,9 +1,11 @@
AUX frr-7.5-ipctl-forwarding.patch 731 BLAKE2B 9c97d7fdc7b7facb59a73f4b693c285ebd91cb0ba8f7fea0ef49d5eddd8660100315ca7d74ece8d553cdd8ad79a9a0b1a4c173c6dedf90e0be2bdc72d948b2be SHA512 56bdeb8a1f350fea3ad8ed0cdba28964b00384878853e584746d8ce80c6f9ea5ca5adc4539e314f7fd82203c08d5f2ce6adeec61dac9a7a28282131d0d371447
AUX frr-8.4.1-logrotate.patch 2487 BLAKE2B f3eb9b9ce25dd9dd796668ecef5dfeb51b5f3ea3428ef4c03bd78becaf26deb5cb59aa56918fdc3c0230a8905d7edf4a12582ab4e6f7d297e3c94c62b7468b0c SHA512 8658dd1280d201d9f3a7f8caa6c5bf513133a3928ba97334202b0fed84dc03f12c82d76cbb8aeae3f363024d2373161c9bda74e1d9a27a085071c524c9941ad0
+AUX frr-9.1-mimic-gnu-basename-api-for-non-glibc.patch 958 BLAKE2B 669961fd225132acf04133339a15828ade83df847b2853687fd41ea71c3f33cffc829be1d008351e144092e5ddf1f1c21532c2552bfc8a485db8154fcad78006 SHA512 bf96b96008ff7c5eef4b1773a6694458b3bae3b6d96ecba04b7cbfe1a54e74212bdc6c30bcc443d0f9c5ce27bb4d9fe21f6aef959d949899329fadecb8e7918c
AUX frr-openrc-v2 7079 BLAKE2B abbad56f0715b79ba5ba24df373ccb8ab63caa12b04d892693b060c771d47323fd7fcebd9b5688720d4aded23fcb79a36e89a7734b315b0862d16e5ce08d8b10 SHA512 5744c433fd983a56abb8f45e34229b3ab3a03c3e9d5532e2b30a31f3e875076fb56b81a06e661dba7df9f76e463190e831c82ae79deefe1add22d7f0365098ce
AUX frr.pam 969 BLAKE2B 227dc91f51fab504229fa5489486fed1aa393d33c024849724ea3fb934e3fd78ee6c9147240133d458ec52021f13e8a27a2d8a0b4625415007c4595222b815ee SHA512 9a169d58232eba7481aee83d92b4e104b6c4ca95e5b31befe29117fbcebc187ad87c061f37ec7c571ff5702101a329ae0c113cf714e2d0dcd39ca4212734a9ed
DIST frr-9.0.2.tar.gz 10341186 BLAKE2B e9c32bf48dc0adc7dd6c23ad1a2779065c762dc6e461a3f86d6b7afbef245345dc65b33d9dd5b499d4c4a7fb3b80a4416bdec9b42e7d15f2864d80c088e2ad4f SHA512 2cfd1a63cf073b8767fd67d9992d9a775d856234a532b13699304b6b1f15eb68bf1301f2f4c503b151fd5c8191bff67aeac9c7a4dc4a3ddb06f9a5db081423b9
DIST frr-9.1.tar.gz 10779477 BLAKE2B ba64f9455c38441f8cadce4eed435fb86344244e98bd1b675335887fb098be29adc035d722d3c128e136a4c6b0aa1adcbdc0e22815702e52170da940a5caf20a SHA512 77b278a3ea87da9dfd7b87e4f9ae67f08ed0f24809f6dd228d2ab2e2c29e2b3191d59d50fc474e53e159ac6c79c302481b462125d0657889516f07b8e05e8562
EBUILD frr-9.0.2.ebuild 3565 BLAKE2B b981fb144f65fc2a5adaeecd383a20da4ffc44fe99c4d93dc3c350394def0845e5e555c72a572600b1c7c53b3462dc7867120f1da772d8cd65574d2306bc35dc SHA512 9d372791d14ea0f2f5cdf9a8ec5f5c8aa1c3ec531156dfd45a00c22471f8a199d95c8417a99f7d76e5c89253a7d7cf13cd8c58856f7e38d3cfac3cce636a5e66
+EBUILD frr-9.1-r1.ebuild 3377 BLAKE2B 75a7b84e99e0634ed27f78812df5a70aae8851f72364d06eb3a4dee01a68563be8aeb93110b07d1ef2a9fb4f4c7c991562609aed9fe777781dae8c9867c92620 SHA512 9f1887875e2eb63e1c3e5c1f12e0d57e35bbf4acf9e4e631977d81877a1d045e7f460832f9c8d16568a871de0048625c915c2dd4ee7eb810397561361b60d461
EBUILD frr-9.1.ebuild 3308 BLAKE2B 65266f71442e8c4695a52ed6ae1519dacc9fc57ff541c8593ef40a597df9d384de943a5dae94ec6fb52855afb40002584f7688dc37d0944f695773866861295f SHA512 8c9a497cf2a2dcbe22dc374870f294e12002eca8899953ff66585b79eae81d550effc82b14d95edd69f7aec784cb40db5d4332d36adacbd4abb045768ae33861
MISC metadata.xml 1001 BLAKE2B 32254a7ceb76fb6869dc4b140b54968001eaee2347cde49597a6a599f98b5efcb3e0102e3c7cbd9969a1bc137228be07efb56f791b490ddbaaa8e5c2cf13fba4 SHA512 e63bee06b1eb237fb9e5872a16c294d3378b1a48da1d950e6cc7d6734128c81d019d66fc8be02b9935c9a4e19552f20db335a3296070bcebf4621ffcb3efe91b
diff --git a/net-misc/frr/files/frr-9.1-mimic-gnu-basename-api-for-non-glibc.patch b/net-misc/frr/files/frr-9.1-mimic-gnu-basename-api-for-non-glibc.patch
new file mode 100644
index 000000000000..0293bb911eef
--- /dev/null
+++ b/net-misc/frr/files/frr-9.1-mimic-gnu-basename-api-for-non-glibc.patch
@@ -0,0 +1,26 @@
+https://github.com/FRRouting/frr/commit/0ef71391f0fb15039550a09c218977fa3e1abaf1.patch
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 15 Mar 2024 14:34:06 -0700
+Subject: [PATCH] zebra: Mimic GNU basename() API for non-glibc library e.g.
+ musl
+
+musl only provides POSIX version of basename and it has also removed
+providing it via string.h header [1] which now results in compile errors
+with newer compilers e.g. clang-18
+
+[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/zebra/zebra_netns_notify.c
++++ b/zebra/zebra_netns_notify.c
+@@ -42,6 +42,10 @@
+ #define ZEBRA_NS_POLLING_INTERVAL_MSEC 1000
+ #define ZEBRA_NS_POLLING_MAX_RETRIES 200
+
++#if !defined(__GLIBC__)
++#define basename(src) (strrchr(src, '/') ? strrchr(src, '/') + 1 : src)
++#endif
++
+ DEFINE_MTYPE_STATIC(ZEBRA, NETNS_MISC, "ZebraNetNSInfo");
+ static struct event *zebra_netns_notify_current;
+
diff --git a/net-misc/frr/frr-9.1-r1.ebuild b/net-misc/frr/frr-9.1-r1.ebuild
new file mode 100644
index 000000000000..b3062226b32a
--- /dev/null
+++ b/net-misc/frr/frr-9.1-r1.ebuild
@@ -0,0 +1,141 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..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.0.0
+ <net-libs/libyang-2.1.111
+ 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="
+ 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
+ "${FILESDIR}"/${PN}-9.1-mimic-gnu-basename-api-for-non-glibc.patch
+)
+
+src_prepare() {
+ default
+
+ python_fix_shebang tools
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --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 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_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ default
+}
+
+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 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 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
+}