diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-12-14 13:26:14 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-12-14 13:26:14 +0000 |
commit | 6abbf81ef2f298e3221ff5e67a1f3c5f23958212 (patch) | |
tree | 25413d1cb3a0cbfe36029db32398c0f333609215 /net-misc/frr/frr-7.5.ebuild | |
parent | 9c417bacd51da6d8b57fa9f37425161d30d4b95b (diff) |
gentoo resync : 14.12.2020
Diffstat (limited to 'net-misc/frr/frr-7.5.ebuild')
-rw-r--r-- | net-misc/frr/frr-7.5.ebuild | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/net-misc/frr/frr-7.5.ebuild b/net-misc/frr/frr-7.5.ebuild new file mode 100644 index 000000000000..425a59944037 --- /dev/null +++ b/net-misc/frr/frr-7.5.ebuild @@ -0,0 +1,150 @@ +# Copyright 2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7,8} ) +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" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +IUSE="doc fpm grpc ipv6 kernel_linux nhrp ospfapi pam rpki snmp systemd test" + +COMMON_DEPEND=" + ${PYTHON_DEPS} + acct-user/frr + dev-libs/json-c:0= + >=net-libs/libyang-1.0.184 + sys-libs/libcap + sys-libs/readline:0= + 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=" + doc? ( dev-python/sphinx ) + sys-devel/flex + virtual/yacc +" + +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" +) + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RESTRICT="!test? ( test )" + +# FRR tarballs have weird format. +S="${WORKDIR}/frr-${P}" + +src_prepare() { + default + + python_fix_shebang tools + eautoreconf +} + +src_configure() { + econf \ + --disable-static \ + --with-pkg-extra-version="-gentoo" \ + --enable-configfile-mask=0640 \ + --enable-logfile-mask=0640 \ + --prefix=/usr \ + --libdir=/usr/lib/frr \ + --sbindir=/usr/lib/frr \ + --libexecdir=/usr/lib/frr \ + --sysconfdir=/etc/frr \ + --localstatedir=/run/frr \ + --with-moduledir=/usr/lib/frr/modules \ + --enable-exampledir=/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) +} + +src_compile() { + default + + use doc && (cd doc; make html) +} + +src_install() { + default + find "${D}" -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 "${D}/usr/share/yang/ietf-interfaces.yang" || die +} |