Gentoo Archives: gentoo-commits

From: David Seifert <soap@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-misc/frr/
Date: Sun, 22 Aug 2021 21:53:59
Message-Id: 1629669222.0ae7306f468ae0443f2b03c4a594913af3d0e32f.soap@gentoo
1 commit: 0ae7306f468ae0443f2b03c4a594913af3d0e32f
2 Author: Jakov Smolic <jakov.smolic <AT> sartura <DOT> hr>
3 AuthorDate: Sun Aug 22 21:53:42 2021 +0000
4 Commit: David Seifert <soap <AT> gentoo <DOT> org>
5 CommitDate: Sun Aug 22 21:53:42 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0ae7306f
7
8 net-misc/frr: Version bump to 8.0
9
10 Closes: https://github.com/gentoo/gentoo/pull/22063
11 Signed-off-by: Jakov Smolic <jakov.smolic <AT> sartura.hr>
12 Signed-off-by: David Seifert <soap <AT> gentoo.org>
13
14 net-misc/frr/Manifest | 1 +
15 net-misc/frr/frr-8.0.ebuild | 147 ++++++++++++++++++++++++++++++++++++++++++++
16 2 files changed, 148 insertions(+)
17
18 diff --git a/net-misc/frr/Manifest b/net-misc/frr/Manifest
19 index 0edab74ae8d..4d5d97d69a7 100644
20 --- a/net-misc/frr/Manifest
21 +++ b/net-misc/frr/Manifest
22 @@ -1 +1,2 @@
23 DIST frr-7.5.1.tar.gz 6746148 BLAKE2B e6a8d38bac1323852d933ca9eaac681df8824407af008bb0170937a01564b3fb9fb081418630b7540f3ccdb899ac0948121d63accfa65ae0fd3fd6933fdafd6d SHA512 cf20316abd39a2d96bb377bd594464ae74c20ad70c60246409fe9f04f0177fcd8891a8da54d83bee962f589a00e71f7b51e78f9729c8680e6265ddd548e0464e
24 +DIST frr-8.0.tar.gz 8195258 BLAKE2B 75d8d4410a5377dae3bf6938c3b095b163ad87776420a16c07d461bb3f635d623de642fa0ae483094788369c9dc6a04d5424107bf60c848ac54756c4bdb20c97 SHA512 fdf1e68c16e266a74221fb194851ef47c888e90324de2e42a4ca68b9dbce1ba6f45d73b9830bdb17774ecdde736111fa562201a5763c49092b6ce1f0a4d4865a
25
26 diff --git a/net-misc/frr/frr-8.0.ebuild b/net-misc/frr/frr-8.0.ebuild
27 new file mode 100644
28 index 00000000000..09bbffa7a3c
29 --- /dev/null
30 +++ b/net-misc/frr/frr-8.0.ebuild
31 @@ -0,0 +1,147 @@
32 +# Copyright 2020-2021 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=7
36 +
37 +PYTHON_COMPAT=( python3_{8..10} )
38 +inherit autotools pam python-single-r1 systemd
39 +
40 +DESCRIPTION="The FRRouting Protocol Suite"
41 +HOMEPAGE="https://frrouting.org/"
42 +SRC_URI="https://github.com/FRRouting/frr/archive/${P}.tar.gz"
43 +# FRR tarballs have weird format.
44 +S="${WORKDIR}/frr-${P}"
45 +
46 +LICENSE="GPL-2"
47 +SLOT="0"
48 +KEYWORDS="~amd64 ~arm64 ~x86"
49 +IUSE="doc fpm grpc ipv6 kernel_linux nhrp ospfapi pam rpki snmp systemd test"
50 +REQUIRED_USE="${PYTHON_REQUIRED_USE}"
51 +RESTRICT="!test? ( test )"
52 +
53 +COMMON_DEPEND="
54 + ${PYTHON_DEPS}
55 + acct-user/frr
56 + dev-libs/json-c:0=
57 + >=net-libs/libyang-2.0.0
58 + sys-libs/libcap
59 + sys-libs/readline:0=
60 + virtual/libcrypt:=
61 + grpc? ( net-libs/grpc:= )
62 + nhrp? ( net-dns/c-ares:0= )
63 + pam? ( sys-libs/pam )
64 + rpki? ( >=net-libs/rtrlib-0.6.3[ssh] )
65 + snmp? ( net-analyzer/net-snmp:= )
66 +"
67 +BDEPEND="
68 + dev-util/clippy
69 + sys-devel/flex
70 + virtual/yacc
71 + doc? ( dev-python/sphinx )
72 +"
73 +DEPEND="
74 + ${COMMON_DEPEND}
75 + test? ( $(python_gen_cond_dep 'dev-python/pytest[${PYTHON_USEDEP}]') )
76 +"
77 +RDEPEND="
78 + ${COMMON_DEPEND}
79 + $(python_gen_cond_dep 'dev-python/ipaddr[${PYTHON_USEDEP}]')
80 + !net-misc/quagga
81 +"
82 +
83 +PATCHES=( "${FILESDIR}"/${PN}-7.5-ipctl-forwarding.patch )
84 +
85 +src_prepare() {
86 + default
87 +
88 + python_fix_shebang tools
89 + eautoreconf
90 +}
91 +
92 +src_configure() {
93 + local myconf=(
94 + --disable-static
95 + --with-pkg-extra-version="-gentoo"
96 + --enable-configfile-mask=0640
97 + --enable-logfile-mask=0640
98 + --prefix="${EPREFIX}"/usr
99 + --libdir="${EPREFIX}"/usr/lib/frr
100 + --sbindir="${EPREFIX}"/usr/lib/frr
101 + --libexecdir="${EPREFIX}"/usr/lib/frr
102 + --sysconfdir="${EPREFIX}"/etc/frr
103 + --localstatedir="${EPREFIX}"/run/frr
104 + --with-moduledir="${EPREFIX}"/usr/lib/frr/modules
105 + --with-clippy="${BROOT}"/usr/bin/clippy
106 + --enable-exampledir="${EPREFIX}"/usr/share/doc/${PF}/samples
107 + --enable-user=frr
108 + --enable-group=frr
109 + --enable-vty-group=frr
110 + --enable-multipath=64
111 + $(use_enable doc)
112 + $(use_enable fpm)
113 + $(use_enable grpc)
114 + $(use_enable ipv6 ospf6d)
115 + $(use_enable ipv6 ripngd)
116 + $(use_enable ipv6 rtadv)
117 + $(use_enable kernel_linux realms)
118 + $(use_enable nhrp nhrpd)
119 + $(usex ospfapi '--enable-ospfclient' '' '' '')
120 + $(use_enable rpki)
121 + $(use_enable snmp)
122 + $(use_enable systemd)
123 + )
124 +
125 + econf "${myconf[@]}"
126 +}
127 +
128 +src_compile() {
129 + default
130 +
131 + use doc && emake -C doc html
132 +}
133 +
134 +src_install() {
135 + default
136 + find "${ED}" -name '*.la' -delete || die
137 +
138 + # Install user documentation if asked
139 + use doc && dodoc -r doc/user/_build/html
140 +
141 + # Create configuration directory with correct permissions
142 + keepdir /etc/frr
143 + fowners frr:frr /etc/frr
144 + fperms 775 /etc/frr
145 +
146 + # Create logs directory with the correct permissions
147 + keepdir /var/log/frr
148 + fowners frr:frr /var/log/frr
149 + fperms 775 /var/log/frr
150 +
151 + # Install the default configuration files
152 + insinto /etc/frr
153 + doins tools/etc/frr/vtysh.conf
154 + doins tools/etc/frr/frr.conf
155 + doins tools/etc/frr/daemons
156 +
157 + # Fix permissions/owners.
158 + fowners frr:frr /etc/frr/vtysh.conf
159 + fowners frr:frr /etc/frr/frr.conf
160 + fowners frr:frr /etc/frr/daemons
161 + fperms 640 /etc/frr/vtysh.conf
162 + fperms 640 /etc/frr/frr.conf
163 + fperms 640 /etc/frr/daemons
164 +
165 + # Install logrotate configuration
166 + insinto /etc/logrotate.d
167 + newins redhat/frr.logrotate frr
168 +
169 + # Install PAM configuration file
170 + use pam && newpamd "${FILESDIR}"/frr.pam frr
171 +
172 + # Install init scripts
173 + systemd_dounit tools/frr.service
174 + newinitd "${FILESDIR}"/frr-openrc-v1 frr
175 +
176 + # Conflict files, installed by net-libs/libsmi, bug #758383
177 + rm "${ED}"/usr/share/yang/ietf-interfaces.yang || die
178 +}