Gentoo Archives: gentoo-commits

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