diff options
author | Jakov Smolić <jsmolic@gentoo.org> | 2021-11-11 11:47:37 +0100 |
---|---|---|
committer | Jakov Smolić <jsmolic@gentoo.org> | 2021-11-11 11:56:24 +0100 |
commit | bd1ef183ef98cdbbe1d848c91ab82d831a01aca5 (patch) | |
tree | f672d501c3f0fbab1b1891444ae4d22c9bc8efd7 /net-misc/frr | |
parent | dev-util/clippy: add 8.1 (diff) | |
download | gentoo-bd1ef183ef98cdbbe1d848c91ab82d831a01aca5.tar.gz gentoo-bd1ef183ef98cdbbe1d848c91ab82d831a01aca5.tar.bz2 gentoo-bd1ef183ef98cdbbe1d848c91ab82d831a01aca5.zip |
net-misc/frr: add 8.1
Signed-off-by: Jakov Smolić <jsmolic@gentoo.org>
Diffstat (limited to 'net-misc/frr')
-rw-r--r-- | net-misc/frr/Manifest | 1 | ||||
-rw-r--r-- | net-misc/frr/frr-8.1.ebuild | 149 |
2 files changed, 150 insertions, 0 deletions
diff --git a/net-misc/frr/Manifest b/net-misc/frr/Manifest index e9a0e78de4da..85e2cbf0397a 100644 --- a/net-misc/frr/Manifest +++ b/net-misc/frr/Manifest @@ -1 +1,2 @@ DIST frr-8.0.1.tar.gz 8206852 BLAKE2B ed23f62457877fb3173977e1b7092c808adc5d5bd9b1d83747ac42573117adc38865abd1e722073532800f543978e5d67ba7c88416a4335c72bd6b8a3045ff5a SHA512 d9a9ee3b40bf0271779765447c67da817551b5bf2d5d1e9f8073fb4596c622e013fbf7316ca39087db7b7f478b18d07f1fd06f1778abde2734c83112573d5f8f +DIST frr-8.1.tar.gz 8514995 BLAKE2B 6b70756909b54af3317b1e97956345206612a471893dcfa4d4a7edaf27ae8d94624b0129eb511bf96ac100cc8c5c5234c2f7031d1692f4a81d5025fe797cfd11 SHA512 dcbee55b48e9d4aba005a455f8c89e63a86d63a230e6bf2e1f691adf99654e0e170efaf2c8759e0bfc33b977659a828bed248370722210e98a6e2abad8f502aa diff --git a/net-misc/frr/frr-8.1.ebuild b/net-misc/frr/frr-8.1.ebuild new file mode 100644 index 000000000000..2f581241e3ed --- /dev/null +++ b/net-misc/frr/frr-8.1.ebuild @@ -0,0 +1,149 @@ +# Copyright 2020-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +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 kernel_linux nhrp ospfapi pam rpki snmp systemd 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.6.3[ssh] ) + snmp? ( net-analyzer/net-snmp:= ) +" +BDEPEND=" + ~dev-util/clippy-${PV} + sys-devel/flex + virtual/yacc + doc? ( dev-python/sphinx ) +" +DEPEND=" + ${COMMON_DEPEND} + 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 +) + +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-exampledir="${EPREFIX}"/usr/share/doc/${PF}/samples + --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) + $(use_enable systemd) + ) + + 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 +} |