Compare commits

...

3 Commits

14 changed files with 670 additions and 39 deletions

View File

@ -1 +1,3 @@
DIST frr-8.0.1.tar.gz 8206852 BLAKE2B ed23f62457877fb3173977e1b7092c808adc5d5bd9b1d83747ac42573117adc38865abd1e722073532800f543978e5d67ba7c88416a4335c72bd6b8a3045ff5a SHA512 d9a9ee3b40bf0271779765447c67da817551b5bf2d5d1e9f8073fb4596c622e013fbf7316ca39087db7b7f478b18d07f1fd06f1778abde2734c83112573d5f8f
DIST clippy-8.4.2.tar.gz 9893223 BLAKE2B 670fb131c2959b0ce4f3133ef38caeb7832275844b16f8582a693033f5466ad0eb98ab45ed9615e0a121ab80bf034edafe7ee816c47d767bd8a13b52f3138eac SHA512 1ee9d17ef3b85c5c10df624a6560bcacb2b5daa3d6231e457f06d9eb6e5ccf375064a46e809d851c23cb6daf7a4299d1f25be589992ef729e80f9bad41a8d7f7
DIST clippy-8.5.2.tar.gz 10076639 BLAKE2B 2e2aca4e42757f66c9ca4725826c6cc1d611930490eed2a175ca5b56910f2c09a9d842b2a9370a64a9fdac6a6314bd4573be609d14dbf956049d9fbf49310404 SHA512 1afa6ca1a41096aa47dc2fc39ab87290b3cbf634a1632e7910a5b69d2816998fbccbca616f261a410aa146a21dd26d12b7e6812da4ec08545b1500f8b546b972
DIST clippy-8.5.tar.gz 10068379 BLAKE2B ed7aa538997bdbfde0370f36a8980ad3ae882a2325cdc7c3b2bdba9d6a43cd9ca04ff96b94b7827e06593a15c104cdadbd2632e136eb2d68e7ed87095a9294a4 SHA512 13e2ea8642fc00b565e9a36d2d59abe5d0e11caf646199cd928184fda2de004bda9892ae8a2f91870d5ac218bb127725663b693e4d764e5b21c942bb20b8d66f

View File

@ -0,0 +1,53 @@
# Copyright 2020-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MY_P="frr-${PV}"
PYTHON_COMPAT=( python3_{9..11} )
inherit autotools python-single-r1
DESCRIPTION="Standalone clippy tool built from FRR sources"
HOMEPAGE="https://frrouting.org/"
SRC_URI="https://github.com/FRRouting/frr/archive/${MY_P}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/frr-${MY_P}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm64 ~x86"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
# standalone clippy does not have any tests
# restrict to prevent bug 811753
RESTRICT="test"
DEPEND="
${PYTHON_DEPS}
virtual/libelf:=
"
RDEPEND="${DEPEND}"
BDEPEND="
sys-devel/bison
sys-devel/flex
"
src_prepare() {
default
eautoreconf
}
src_configure() {
# bug #884291
unset YACC
export LEX=flex
econf --enable-clippy-only
}
src_install() {
# 830087
find "lib" -type f -name "clippy" -print0 |
xargs -0 file | grep executable | grep ELF | cut -f 1 -d : |
xargs -I '{}' dobin '{}' ||
die "Failed to install 'lib/clippy'"
}

View File

@ -1,39 +1,53 @@
# Copyright 2020-2021 Gentoo Authors
# Copyright 2020-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
MY_P="frr-${PV}"
PYTHON_COMPAT=( python3_{7..10} )
PYTHON_COMPAT=( python3_{9..11} )
inherit autotools python-single-r1
DESCRIPTION="Standalone clippy tool built from FRR sources"
HOMEPAGE="https://frrouting.org/"
SRC_URI="https://github.com/FRRouting/frr/archive/${MY_P}.tar.gz -> ${MY_P}.tar.gz"
SRC_URI="https://github.com/FRRouting/frr/archive/${MY_P}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/frr-${MY_P}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="${PYTHON_DEPS}"
# standalone clippy does not have any tests
# restrict to prevent bug 811753
RESTRICT="test"
DEPEND="
${PYTHON_DEPS}
virtual/libelf:=
"
RDEPEND="${DEPEND}"
BDEPEND="
sys-devel/bison
sys-devel/flex
virtual/libelf:0=
"
S="${WORKDIR}/frr-${MY_P}"
src_prepare() {
default
eautoreconf
}
src_configure() {
# bug #884291
unset YACC
export LEX=flex
econf --enable-clippy-only
}
src_install() {
dobin lib/clippy
# 830087
find "lib" -type f -name "clippy" -print0 |
xargs -0 file | grep executable | grep ELF | cut -f 1 -d : |
xargs -I '{}' dobin '{}' ||
die "Failed to install 'lib/clippy'"
}

View File

@ -0,0 +1,53 @@
# Copyright 2020-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MY_P="frr-${PV}"
PYTHON_COMPAT=( python3_{9..11} )
inherit autotools python-single-r1
DESCRIPTION="Standalone clippy tool built from FRR sources"
HOMEPAGE="https://frrouting.org/"
SRC_URI="https://github.com/FRRouting/frr/archive/${MY_P}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/frr-${MY_P}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm64 ~x86"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
# standalone clippy does not have any tests
# restrict to prevent bug 811753
RESTRICT="test"
DEPEND="
${PYTHON_DEPS}
virtual/libelf:=
"
RDEPEND="${DEPEND}"
BDEPEND="
sys-devel/bison
sys-devel/flex
"
src_prepare() {
default
eautoreconf
}
src_configure() {
# bug #884291
unset YACC
export LEX=flex
econf --enable-clippy-only
}
src_install() {
# 830087
find "lib" -type f -name "clippy" -print0 |
xargs -0 file | grep executable | grep ELF | cut -f 1 -d : |
xargs -I '{}' dobin '{}' ||
die "Failed to install 'lib/clippy'"
}

View File

@ -1,13 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>jakov.smolic@sartura.hr</email>
<name>Jakov Smolic</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
<email>jsmolic@gentoo.org</email>
<name>Jakov Smolić</name>
</maintainer>
<upstream>
<remote-id type="github">FRRouting/frr</remote-id>

View File

@ -1 +1,3 @@
DIST frr-8.0.1.tar.gz 8206852 BLAKE2B ed23f62457877fb3173977e1b7092c808adc5d5bd9b1d83747ac42573117adc38865abd1e722073532800f543978e5d67ba7c88416a4335c72bd6b8a3045ff5a SHA512 d9a9ee3b40bf0271779765447c67da817551b5bf2d5d1e9f8073fb4596c622e013fbf7316ca39087db7b7f478b18d07f1fd06f1778abde2734c83112573d5f8f
DIST frr-8.4.2.tar.gz 9893223 BLAKE2B 670fb131c2959b0ce4f3133ef38caeb7832275844b16f8582a693033f5466ad0eb98ab45ed9615e0a121ab80bf034edafe7ee816c47d767bd8a13b52f3138eac SHA512 1ee9d17ef3b85c5c10df624a6560bcacb2b5daa3d6231e457f06d9eb6e5ccf375064a46e809d851c23cb6daf7a4299d1f25be589992ef729e80f9bad41a8d7f7
DIST frr-8.5.2.tar.gz 10076639 BLAKE2B 2e2aca4e42757f66c9ca4725826c6cc1d611930490eed2a175ca5b56910f2c09a9d842b2a9370a64a9fdac6a6314bd4573be609d14dbf956049d9fbf49310404 SHA512 1afa6ca1a41096aa47dc2fc39ab87290b3cbf634a1632e7910a5b69d2816998fbccbca616f261a410aa146a21dd26d12b7e6812da4ec08545b1500f8b546b972
DIST frr-8.5.tar.gz 10068379 BLAKE2B ed7aa538997bdbfde0370f36a8980ad3ae882a2325cdc7c3b2bdba9d6a43cd9ca04ff96b94b7827e06593a15c104cdadbd2632e136eb2d68e7ed87095a9294a4 SHA512 13e2ea8642fc00b565e9a36d2d59abe5d0e11caf646199cd928184fda2de004bda9892ae8a2f91870d5ac218bb127725663b693e4d764e5b21c942bb20b8d66f

View File

@ -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. */

View File

@ -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

View File

@ -0,0 +1,21 @@
https://github.com/FRRouting/frr/pull/12741
From def86a45a473a45bf8ac39ac4b82be3d09ae9cae Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Sat, 4 Feb 2023 23:29:59 +0000
Subject: [PATCH] pceplib: add <time.h> 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 <stdbool.h>
#include <stdint.h>
+#include <time.h>
#ifdef __cplusplus
extern "C" {

View File

@ -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.

View File

@ -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
}

View File

@ -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"
@ -15,7 +15,7 @@ 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"
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[@]}"

149
net-misc/frr/frr-8.5.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
}

View File

@ -1,13 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>pinkbyte@gentoo.org</email>
<name>Sergey Popov</name>
</maintainer>
<maintainer type="person">
<email>jakov.smolic@sartura.hr</email>
<name>Jakov Smolic</name>
<email>jsmolic@gentoo.org</email>
<name>Jakov Smolić</name>
</maintainer>
<use>
<flag name="grpc">Enable gRPC plugin</flag>
@ -17,4 +13,7 @@
<flag name="pam">Add support for PAM (via <pkg>sys-libs/pam</pkg>) to the Virtual Terminal Interface Shell (vtysh)</flag>
<flag name="ospfapi">Build OSPFAPI support</flag>
</use>
<upstream>
<remote-id type="github">FRRouting/frr</remote-id>
</upstream>
</pkgmetadata>