diff --git a/net-misc/frr/Manifest b/net-misc/frr/Manifest index e9a0e78..e941921 100644 --- a/net-misc/frr/Manifest +++ b/net-misc/frr/Manifest @@ -1 +1,10 @@ -DIST frr-8.0.1.tar.gz 8206852 BLAKE2B ed23f62457877fb3173977e1b7092c808adc5d5bd9b1d83747ac42573117adc38865abd1e722073532800f543978e5d67ba7c88416a4335c72bd6b8a3045ff5a SHA512 d9a9ee3b40bf0271779765447c67da817551b5bf2d5d1e9f8073fb4596c622e013fbf7316ca39087db7b7f478b18d07f1fd06f1778abde2734c83112573d5f8f +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-8.4.2-musl-gcc12.patch 525 BLAKE2B 8aa00d5a41445e6a035e77481bf6dc3cf45380d7fe91e0d884cc32a19f3594d8822376837d87988803950ca3bb90914a387767b9d766bfb8784567c989e1160e SHA512 1d3ebc40533037aad992d64f207ecc6ebbe599bedfa3f83cd0e4820e3579daea50ffcc8376bc24154ce0fe1cac9002de6e43665f8addfdf38554e82fd502e8fe +AUX frr-openrc-v1 7078 BLAKE2B d5c0276540fa09318f6e92575dd7e03f3bc6ebfce186d062c2d65fa49c502b3b4de0fd32914ce7c4708bb6f6188296f75d387e0384c142381bb77cfb706c7e1c SHA512 8e6f0e58863402f0169b8a7625d049bf85db60bebe40a42dfb450a1bddfcd6f8f436002de6c1ff599c8f848e4ba85a70e4058cb55a9a49fafb1e69a8e7eb9f57 +AUX frr.pam 969 BLAKE2B 227dc91f51fab504229fa5489486fed1aa393d33c024849724ea3fb934e3fd78ee6c9147240133d458ec52021f13e8a27a2d8a0b4625415007c4595222b815ee SHA512 9a169d58232eba7481aee83d92b4e104b6c4ca95e5b31befe29117fbcebc187ad87c061f37ec7c571ff5702101a329ae0c113cf714e2d0dcd39ca4212734a9ed +DIST frr-8.4.2.tar.gz 9893223 BLAKE2B 670fb131c2959b0ce4f3133ef38caeb7832275844b16f8582a693033f5466ad0eb98ab45ed9615e0a121ab80bf034edafe7ee816c47d767bd8a13b52f3138eac SHA512 1ee9d17ef3b85c5c10df624a6560bcacb2b5daa3d6231e457f06d9eb6e5ccf375064a46e809d851c23cb6daf7a4299d1f25be589992ef729e80f9bad41a8d7f7 +DIST frr-8.5.tar.gz 10068379 BLAKE2B ed7aa538997bdbfde0370f36a8980ad3ae882a2325cdc7c3b2bdba9d6a43cd9ca04ff96b94b7827e06593a15c104cdadbd2632e136eb2d68e7ed87095a9294a4 SHA512 13e2ea8642fc00b565e9a36d2d59abe5d0e11caf646199cd928184fda2de004bda9892ae8a2f91870d5ac218bb127725663b693e4d764e5b21c942bb20b8d66f +EBUILD frr-8.4.2.ebuild 3570 BLAKE2B b6ef8c95358d86b9f718431a973ec5ada292987acb3320d6cd1b246499f796605f93fe049f86edd41efcca9b35c220de374fe4e4d00b4908c5709caef7abec4d SHA512 db52208f81b22a3848b81042b9fcaa6740270816e7049c74bee6f83cce7a4020fdf9a80d46c899ace646b64eb3e448abb5f8f19ce3be6fff033562d404dd0f78 +EBUILD frr-8.5.ebuild 3526 BLAKE2B 2210b996097b1407b908468386dc884ace2ba0ca80b1d10784ced7b0e7279052b2d7bf3d4920a01528f92674034c8666dfc4f4ec5f44b1045e3c86e858fd6bac SHA512 f01080a8bc3dc26b230ad76aea48160978d59098f1fc98c370aa5c7aa52594a7ab4fdfe3337107bc9e5964e5c9414056b40c2fd4c3b67a8359c5a0928d7801db +MISC metadata.xml 737 BLAKE2B bfa681c872de365cf4cb98c3fa20b57de000039a9bdc504cb62e080472c8cbf7ed5ac104a9a11c69bb09233500fcb7dda70b2aed57eb9987bbc1e1a96a9a755d SHA512 94a6a8cd0ed7be3f0f82a7a677221740151fc121be204b36c2f943921564b76763e43a2b3afdd042ed639a6243e60e39deaaa9dfcce4afadd32fc71ef7a2015a diff --git a/net-misc/frr/files/frr-7.5-ipctl-forwarding.patch b/net-misc/frr/files/frr-7.5-ipctl-forwarding.patch new file mode 100644 index 0000000..f6b726b --- /dev/null +++ b/net-misc/frr/files/frr-7.5-ipctl-forwarding.patch @@ -0,0 +1,22 @@ +Fix for missing definitions on some Hardened configurations +Gentoo bug: https://bugs.gentoo.org/show_bug.cgi?id=437292 + +diff -Naur quagga-0.99.16.orig/zebra/ipforward_sysctl.c quagga-0.99.16/zebra/ipforward_sysctl.c +--- quagga-0.99.16.orig/zebra/ipforward_sysctl.c 2010-03-11 12:11:32.000000000 -0500 ++++ quagga-0.99.16/zebra/ipforward_sysctl.c 2010-03-11 12:11:39.000000000 -0500 +@@ -31,6 +31,15 @@ + + #define MIB_SIZ 4 + ++/* Fix for recent (2.6.14) kernel headers */ ++#ifndef IPCTL_FORWARDING ++ #define IPCTL_FORWARDING NET_IPV4_FORWARD ++#endif ++ ++#ifndef IP6CTL_FORWARDING ++ #define IP6CTL_FORWARDING NET_IPV6_FORWARDING ++#endif ++ + extern struct zebra_privs_t zserv_privs; + + /* IPv4 forwarding control MIB. */ diff --git a/net-misc/frr/files/frr-8.4.1-logrotate.patch b/net-misc/frr/files/frr-8.4.1-logrotate.patch new file mode 100644 index 0000000..e150745 --- /dev/null +++ b/net-misc/frr/files/frr-8.4.1-logrotate.patch @@ -0,0 +1,168 @@ +--- a/redhat/frr.logrotate 2022-11-18 08:31:08.000000000 +0300 ++++ b/redhat/frr.logrotate 2022-12-08 15:49:11.162739743 +0300 +@@ -1,4 +1,5 @@ + /var/log/frr/frr.log { ++ su frr frr + notifempty + missingok + postrotate +@@ -7,6 +8,7 @@ + } + + /var/log/frr/zebra.log { ++ su frr frr + notifempty + missingok + postrotate +@@ -15,6 +17,7 @@ + } + + /var/log/frr/babeld.log { ++ su frr frr + notifempty + missingok + postrotate +@@ -23,6 +26,7 @@ + } + + /var/log/frr/bgpd.log { ++ su frr frr + notifempty + missingok + postrotate +@@ -31,6 +35,7 @@ + } + + /var/log/frr/isisd.log { ++ su frr frr + notifempty + missingok + postrotate +@@ -39,6 +44,7 @@ + } + + /var/log/frr/ospfd.log { ++ su frr frr + notifempty + missingok + postrotate +@@ -47,6 +53,7 @@ + } + + /var/log/frr/ospf6d.log { ++ su frr frr + notifempty + missingok + postrotate +@@ -55,6 +62,7 @@ + } + + /var/log/frr/ripd.log { ++ su frr frr + notifempty + missingok + postrotate +@@ -63,6 +71,7 @@ + } + + /var/log/frr/ripngd.log { ++ su frr frr + notifempty + missingok + postrotate +@@ -71,6 +80,7 @@ + } + + /var/log/frr/ldpd.log { ++ su frr frr + notifempty + missingok + postrotate +@@ -79,6 +89,7 @@ + } + + /var/log/frr/nhrpd.log { ++ su frr frr + notifempty + missingok + postrotate +@@ -87,6 +98,7 @@ + } + + /var/log/frr/eigrpd.log { ++ su frr frr + notifempty + missingok + postrotate +@@ -95,6 +107,7 @@ + } + + /var/log/frr/bfdd.log { ++ su frr frr + notifempty + missingok + postrotate +@@ -103,6 +116,7 @@ + } + + /var/log/frr/fabricd.log { ++ su frr frr + notifempty + missingok + postrotate +@@ -111,6 +125,7 @@ + } + + /var/log/frr/pathd.log { ++ su frr frr + notifempty + missingok + postrotate +@@ -119,6 +134,7 @@ + } + + /var/log/frr/pbrd.log { ++ su frr frr + notifempty + missingok + postrotate +@@ -127,6 +143,7 @@ + } + + /var/log/frr/pimd.log { ++ su frr frr + notifempty + missingok + postrotate +@@ -135,6 +152,7 @@ + } + + /var/log/frr/pim6d.log { ++ su frr frr + notifempty + missingok + postrotate +@@ -143,6 +161,7 @@ + } + + /var/log/frr/sharpd.log { ++ su frr frr + notifempty + missingok + postrotate +@@ -151,6 +170,7 @@ + } + + /var/log/frr/staticd.log { ++ su frr frr + notifempty + missingok + postrotate +@@ -159,6 +179,7 @@ + } + + /var/log/frr/vrrpd.log { ++ su frr frr + notifempty + missingok + postrotate diff --git a/net-misc/frr/files/frr-8.4.2-musl-gcc12.patch b/net-misc/frr/files/frr-8.4.2-musl-gcc12.patch new file mode 100644 index 0000000..3c9374a --- /dev/null +++ b/net-misc/frr/files/frr-8.4.2-musl-gcc12.patch @@ -0,0 +1,21 @@ +https://github.com/FRRouting/frr/pull/12741 + +From def86a45a473a45bf8ac39ac4b82be3d09ae9cae Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Sat, 4 Feb 2023 23:29:59 +0000 +Subject: [PATCH] pceplib: add include for time_t + +Fixes build on musl. Used for time_t in the header. + +Bug: https://bugs.gentoo.org/862558 +--- a/pceplib/pcep_utils_counters.h ++++ b/pceplib/pcep_utils_counters.h +@@ -30,6 +30,7 @@ + + #include + #include ++#include + + #ifdef __cplusplus + extern "C" { + diff --git a/net-misc/frr/files/frr-openrc-v1 b/net-misc/frr/files/frr-openrc-v1 index 9e2f1ab..3f9da62 100644 --- a/net-misc/frr/files/frr-openrc-v1 +++ b/net-misc/frr/files/frr-openrc-v1 @@ -92,6 +92,7 @@ _load_daemon_list() { for instance in $(echo $cdaemon_instances | tr ',' ' '); do watchfrr_daemons="$watchfrr_daemons $daemon-$instance" done + continue fi # Single instance daemon handling. diff --git a/net-misc/frr/frr-8.4.2.ebuild b/net-misc/frr/frr-8.4.2.ebuild new file mode 100644 index 0000000..b0ae3ed --- /dev/null +++ b/net-misc/frr/frr-8.4.2.ebuild @@ -0,0 +1,150 @@ +# 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 + "${FILESDIR}"/${PN}-8.4.2-musl-gcc12.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 +} diff --git a/net-misc/frr/frr-8.0.1.ebuild b/net-misc/frr/frr-8.5.ebuild similarity index 88% rename from net-misc/frr/frr-8.0.1.ebuild rename to net-misc/frr/frr-8.5.ebuild index 79ceda3..7ad1558 100644 --- a/net-misc/frr/frr-8.0.1.ebuild +++ b/net-misc/frr/frr-8.5.ebuild @@ -1,9 +1,9 @@ -# Copyright 2020-2021 Gentoo Authors +# Copyright 2020-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_COMPAT=( python3_{9..11} ) inherit autotools pam python-single-r1 systemd DESCRIPTION="The FRRouting Protocol Suite" @@ -14,8 +14,8 @@ S="${WORKDIR}/frr-${P}" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="doc fpm grpc ipv6 kernel_linux nhrp ospfapi pam rpki snmp systemd test" +KEYWORDS="amd64 ~arm64 ~x86" +IUSE="doc fpm grpc ipv6 nhrp ospfapi pam rpki snmp test" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RESTRICT="!test? ( test )" @@ -23,35 +23,38 @@ COMMON_DEPEND=" ${PYTHON_DEPS} acct-user/frr dev-libs/json-c:0= - net-dns/c-ares:0= + >=net-libs/libyang-2.0.0 sys-libs/libcap sys-libs/readline:0= virtual/libcrypt:= - >=net-libs/libyang-2.0.0 grpc? ( net-libs/grpc:= ) + nhrp? ( net-dns/c-ares:0= ) pam? ( sys-libs/pam ) - rpki? ( >=net-libs/rtrlib-0.6.3[ssh] ) + rpki? ( >=net-libs/rtrlib-0.8.0[ssh] ) snmp? ( net-analyzer/net-snmp:= ) " - BDEPEND=" - doc? ( dev-python/sphinx ) + ~dev-util/clippy-${PV} sys-devel/flex - virtual/yacc - ~dev-util/clippy-"${PV}" + 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 @@ -73,7 +76,6 @@ src_configure() { --localstatedir="${EPREFIX}"/run/frr --with-moduledir="${EPREFIX}"/usr/lib/frr/modules --with-clippy="${BROOT}"/usr/bin/clippy - --enable-exampledir="${EPREFIX}"/usr/share/doc/${PF}/samples --enable-user=frr --enable-group=frr --enable-vty-group=frr @@ -89,7 +91,6 @@ src_configure() { $(usex ospfapi '--enable-ospfclient' '' '' '') $(use_enable rpki) $(use_enable snmp) - $(use_enable systemd) ) econf "${myconf[@]}" diff --git a/net-misc/frr/metadata.xml b/net-misc/frr/metadata.xml index dc5cd64..ddcddee 100644 --- a/net-misc/frr/metadata.xml +++ b/net-misc/frr/metadata.xml @@ -1,13 +1,9 @@ - + - pinkbyte@gentoo.org - Sergey Popov - - - jakov.smolic@sartura.hr - Jakov Smolic + jsmolic@gentoo.org + Jakov Smolić Enable gRPC plugin @@ -17,4 +13,7 @@ Add support for PAM (via sys-libs/pam) to the Virtual Terminal Interface Shell (vtysh) Build OSPFAPI support + + FRRouting/frr +