Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/iproute2/, sys-apps/iproute2/files/
Date: Tue, 23 Feb 2021 14:55:43
Message-Id: 1614092135.7ee8c2f8e9f83cb62171ee9d37827c08db1b23bc.polynomial-c@gentoo
1 commit: 7ee8c2f8e9f83cb62171ee9d37827c08db1b23bc
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Tue Feb 23 14:36:32 2021 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Tue Feb 23 14:55:35 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7ee8c2f8
7
8 sys-apps/iproute2: Bump to version 5.11.0
9
10 Dropped keywords until dev-libs/libbpf has synced keywords
11
12 Package-Manager: Portage-3.0.15, Repoman-3.0.2
13 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
14
15 sys-apps/iproute2/Manifest | 1 +
16 .../files/iproute2-5.11.0-configure-nomagic.patch | 235 +++++++++++++++++++++
17 sys-apps/iproute2/iproute2-5.11.0.ebuild | 170 +++++++++++++++
18 sys-apps/iproute2/metadata.xml | 2 +
19 4 files changed, 408 insertions(+)
20
21 diff --git a/sys-apps/iproute2/Manifest b/sys-apps/iproute2/Manifest
22 index e8d4aadc7e0..f91943551f4 100644
23 --- a/sys-apps/iproute2/Manifest
24 +++ b/sys-apps/iproute2/Manifest
25 @@ -1,2 +1,3 @@
26 DIST iproute2-5.10.0.tar.xz 798776 BLAKE2B 8c17e65f03427f45b71dc17b289b272545549a6687257498676a23e4fdc4a590a7215bfdba3c7ac4b1ccde6c38ba8e3eb222eea2532374fa9680633aa198d347 SHA512 a468eefa797898b6de452212aa432c0a931434defacae5fb4335754c1292c5d86a8c8dbf3017f90cec266d71a2a17ae469aac17e1a85a5cbddc70814313e4c13
27 +DIST iproute2-5.11.0.tar.xz 822044 BLAKE2B e52e2334a4f6271a23e9393a3b11fc7e8e070ecff178bda1cf87705a55b59018edc8c28751e4fc6a7d877c19e6da772765afbdc5944800f98bf176513595e5bb SHA512 f592728ec819fc34cba04b1c04275e783aed86084fe31948e1776e6e473c8c1416aaf8101c19b51ddb4044af1cd2157827c0f91546b33badb448466eae9a2fda
28 DIST iproute2-5.7.0.tar.xz 764436 BLAKE2B 842229730139f8931c4ff3d548fe56c7c86b6bb7be5cc1a7dd896ddce34c039467fb90d0c258cdc91276edc59b9b19f53c39a36c79b54b15a78436b44c595eed SHA512 d5ef68e0eb8e84fbff68c2e7dd4097b9ceb438c928d17ede4130876802dfeafe8bf08d82b4fd39005314e0679c0b261aaa3d6a0a2ff364074a43a043a855a634
29
30 diff --git a/sys-apps/iproute2/files/iproute2-5.11.0-configure-nomagic.patch b/sys-apps/iproute2/files/iproute2-5.11.0-configure-nomagic.patch
31 new file mode 100644
32 index 00000000000..8ccd02a10e2
33 --- /dev/null
34 +++ b/sys-apps/iproute2/files/iproute2-5.11.0-configure-nomagic.patch
35 @@ -0,0 +1,235 @@
36 +The hand-rolled configure script, for multiple options (selinux,mnl,elf), sets
37 +a variable as well as modifying CFLAGS & LDLIBS.
38 +
39 +If config.mk is later amended to disable a feature, the CFLAGS/LDLIBS tweaks
40 +are still in place.
41 +
42 +Push the CFLAGS/LDLIBS changes into new conditional Makefile code, so that they
43 +are only passed when correctly needed.
44 +
45 +Prior Gentoo testcase for reproduction:
46 +USE=minimal ebuild ... compile.
47 +- Linking with libbsd, libelf, libmnl & libcap based only on presence.
48 +- Links based on libselinux based only on presence.
49 +
50 +Closes: https://bugs.gentoo.org/643722
51 +Signed-off-by: Robin H. Johnson <robbat2@g.o>
52 +
53 +Forward-ported from v4.14.1 to v4.16.0 by Lars Wendler <polynomial-c@g.o>
54 +Added libcap to v4.17.0 by Lars Wendler <polynomial-c@g.o>
55 +Forward-ported from v4.17.0 to v4.20.0 by Lars Wendler <polynomial-c@g.o>
56 +Forward-ported from v4.20.0 to v5.11.0 by Lars Wendler <polynomial-c@g.o>
57 +
58 +--- iproute2-5.11.0/bridge/Makefile
59 ++++ iproute2-5.11.0/bridge/Makefile
60 +@@ -2,6 +2,7 @@
61 + BROBJ = bridge.o fdb.o monitor.o link.o mdb.o vlan.o
62 +
63 + include ../config.mk
64 ++include ../config.include
65 +
66 + all: bridge
67 +
68 +--- iproute2-5.11.0/config.include
69 ++++ iproute2-5.11.0/config.include
70 +@@ -0,0 +1,32 @@
71 ++# We can only modify CFLAGS/LDLIBS after all the config options are known.
72 ++ifeq ($(IP_CONFIG_SETNS),y)
73 ++ CFLAGS += $(IP_CONFIG_SETNS_CFLAGS)
74 ++endif
75 ++ifeq ($(HAVE_ELF),y)
76 ++ CFLAGS += $(HAVE_ELF_CFLAGS)
77 ++ LDLIBS += $(HAVE_ELF_LDLIBS)
78 ++endif
79 ++ifeq ($(HAVE_SELINUX),y)
80 ++ CFLAGS += $(HAVE_SELINUX_CFLAGS)
81 ++ LDLIBS += $(HAVE_SELINUX_LDLIBS)
82 ++endif
83 ++ifeq ($(HAVE_MNL),y)
84 ++ CFLAGS += $(HAVE_MNL_CFLAGS)
85 ++ LDLIBS += $(HAVE_MNL_LDLIBS)
86 ++endif
87 ++ifeq ($(HAVE_CAP),y)
88 ++ CFLAGS += $(HAVE_CAP_CFLAGS)
89 ++ LDLIBS += $(HAVE_CAP_LDLIBS)
90 ++endif
91 ++ifeq ($(HAVE_LIBBSD),y)
92 ++ CFLAGS += $(HAVE_LIBBSD_CFLAGS)
93 ++ LDLIBS += $(HAVE_LIBBSD_LDLIBS)
94 ++else
95 ++ CFLAGS += -DNEED_STRLCPY
96 ++endif
97 ++
98 ++# Rules can only be declared after all variables in them are known.
99 ++%.o: %.c
100 ++ $(QUIET_CC)$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CPPFLAGS) -c -o $@ $<
101 ++
102 ++# vim: ft=make:
103 +--- iproute2-5.11.0/configure
104 ++++ iproute2-5.11.0/configure
105 +@@ -195,7 +195,7 @@
106 + if $CC -I$INCLUDE -o $TMPDIR/setnstest $TMPDIR/setnstest.c >/dev/null 2>&1; then
107 + echo "IP_CONFIG_SETNS:=y" >>$CONFIG
108 + echo "yes"
109 +- echo "CFLAGS += -DHAVE_SETNS" >>$CONFIG
110 ++ echo "IP_CONFIG_SETNS_CFLAGS += -DHAVE_SETNS" >>$CONFIG
111 + else
112 + echo "no"
113 + fi
114 +@@ -238,8 +238,8 @@
115 + echo "HAVE_ELF:=y" >>$CONFIG
116 + echo "yes"
117 +
118 +- echo 'CFLAGS += -DHAVE_ELF' `${PKG_CONFIG} libelf --cflags` >> $CONFIG
119 +- echo 'LDLIBS += ' `${PKG_CONFIG} libelf --libs` >>$CONFIG
120 ++ echo 'HAVE_ELF_CFLAGS += -DHAVE_ELF' `${PKG_CONFIG} libelf --cflags` >> $CONFIG
121 ++ echo 'HAVE_ELF_LDLIBS += ' `${PKG_CONFIG} libelf --libs` >>$CONFIG
122 + else
123 + echo "no"
124 + fi
125 +@@ -357,8 +357,8 @@
126 + echo "HAVE_SELINUX:=y" >>$CONFIG
127 + echo "yes"
128 +
129 +- echo 'LDLIBS +=' `${PKG_CONFIG} --libs libselinux` >>$CONFIG
130 +- echo 'CFLAGS += -DHAVE_SELINUX' `${PKG_CONFIG} --cflags libselinux` >>$CONFIG
131 ++ echo 'HAVE_SELINUX_CFLAGS += -DHAVE_SELINUX' `${PKG_CONFIG} --cflags libselinux` >>$CONFIG
132 ++ echo 'HAVE_SELINUX_LDLIBS +=' `${PKG_CONFIG} --libs libselinux` >>$CONFIG
133 + else
134 + echo "no"
135 + fi
136 +@@ -370,8 +370,8 @@
137 + echo "HAVE_MNL:=y" >>$CONFIG
138 + echo "yes"
139 +
140 +- echo 'CFLAGS += -DHAVE_LIBMNL' `${PKG_CONFIG} libmnl --cflags` >>$CONFIG
141 +- echo 'LDLIBS +=' `${PKG_CONFIG} libmnl --libs` >> $CONFIG
142 ++ echo 'HAVE_MNL_CFLAGS += -DHAVE_LIBMNL' `${PKG_CONFIG} libmnl --cflags` >>$CONFIG
143 ++ echo 'HAVE_MNL_LDLIBS +=' `${PKG_CONFIG} libmnl --libs` >> $CONFIG
144 + else
145 + echo "no"
146 + fi
147 +@@ -411,8 +411,8 @@
148 + echo "no"
149 + else
150 + if ${PKG_CONFIG} libbsd --exists; then
151 +- echo 'CFLAGS += -DHAVE_LIBBSD' `${PKG_CONFIG} libbsd --cflags` >>$CONFIG
152 +- echo 'LDLIBS +=' `${PKG_CONFIG} libbsd --libs` >> $CONFIG
153 ++ echo 'HAVE_LIBBSD_CFLAGS += -DHAVE_LIBBSD' `${PKG_CONFIG} libbsd --cflags` >>$CONFIG
154 ++ echo 'HAVE_LIBBSD_LDLIBS +=' `${PKG_CONFIG} libbsd --libs` >> $CONFIG
155 + echo "no"
156 + else
157 + echo 'CFLAGS += -DNEED_STRLCPY' >>$CONFIG
158 +@@ -428,8 +428,8 @@
159 + echo "HAVE_CAP:=y" >>$CONFIG
160 + echo "yes"
161 +
162 +- echo 'CFLAGS += -DHAVE_LIBCAP' `${PKG_CONFIG} libcap --cflags` >>$CONFIG
163 +- echo 'LDLIBS +=' `${PKG_CONFIG} libcap --libs` >> $CONFIG
164 ++ echo 'HAVE_CAP_CFLAGS += -DHAVE_LIBCAP' `${PKG_CONFIG} libcap --cflags` >>$CONFIG
165 ++ echo 'HAVE_CAP_LDLIBS +=' `${PKG_CONFIG} libcap --libs` >> $CONFIG
166 + else
167 + echo "no"
168 + fi
169 +@@ -512,7 +512,3 @@
170 +
171 + echo -n "libcap support: "
172 + check_cap
173 +-
174 +-echo >> $CONFIG
175 +-echo "%.o: %.c" >> $CONFIG
176 +-echo ' $(QUIET_CC)$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CPPFLAGS) -c -o $@ $<' >> $CONFIG
177 +--- iproute2-5.11.0/dcb/Makefile
178 ++++ iproute2-5.11.0/dcb/Makefile
179 +@@ -1,5 +1,6 @@
180 + # SPDX-License-Identifier: GPL-2.0
181 + include ../config.mk
182 ++include ../config.include
183 +
184 + TARGETS :=
185 +
186 +--- iproute2-5.11.0/devlink/Makefile
187 ++++ iproute2-5.11.0/devlink/Makefile
188 +@@ -1,5 +1,6 @@
189 + # SPDX-License-Identifier: GPL-2.0
190 + include ../config.mk
191 ++include ../config.include
192 +
193 + TARGETS :=
194 +
195 +--- iproute2-5.11.0/genl/Makefile
196 ++++ iproute2-5.11.0/genl/Makefile
197 +@@ -2,6 +2,7 @@
198 + GENLOBJ=genl.o
199 +
200 + include ../config.mk
201 ++include ../config.include
202 + SHARED_LIBS ?= y
203 +
204 + CFLAGS += -fno-strict-aliasing
205 +--- iproute2-5.11.0/ip/Makefile
206 ++++ iproute2-5.11.0/ip/Makefile
207 +@@ -16,6 +16,7 @@
208 + RTMONOBJ=rtmon.o
209 +
210 + include ../config.mk
211 ++include ../config.include
212 +
213 + ALLOBJ=$(IPOBJ) $(RTMONOBJ)
214 + SCRIPTS=ifcfg rtpr routel routef
215 +--- iproute2-5.11.0/lib/Makefile
216 ++++ iproute2-5.11.0/lib/Makefile
217 +@@ -1,5 +1,6 @@
218 + # SPDX-License-Identifier: GPL-2.0
219 + include ../config.mk
220 ++include ../config.include
221 +
222 + CFLAGS += -fPIC
223 +
224 +--- iproute2-5.11.0/misc/Makefile
225 ++++ iproute2-5.11.0/misc/Makefile
226 +@@ -5,6 +5,7 @@
227 + TARGETS=ss nstat ifstat rtacct lnstat
228 +
229 + include ../config.mk
230 ++include ../config.include
231 +
232 + ifeq ($(HAVE_BERKELEY_DB),y)
233 + TARGETS += arpd
234 +--- iproute2-5.11.0/netem/Makefile
235 ++++ iproute2-5.11.0/netem/Makefile
236 +@@ -1,5 +1,6 @@
237 + # SPDX-License-Identifier: GPL-2.0
238 + include ../config.mk
239 ++include ../config.include
240 +
241 + DISTGEN = maketable normal pareto paretonormal
242 + DISTDATA = normal.dist pareto.dist paretonormal.dist experimental.dist
243 +--- iproute2-5.11.0/rdma/Makefile
244 ++++ iproute2-5.11.0/rdma/Makefile
245 +@@ -1,5 +1,6 @@
246 + # SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB
247 + include ../config.mk
248 ++include ../config.include
249 +
250 + TARGETS :=
251 +
252 +--- iproute2-5.11.0/tc/Makefile
253 ++++ iproute2-5.11.0/tc/Makefile
254 +@@ -4,6 +4,7 @@
255 + emp_ematch.tab.o emp_ematch.lex.o
256 +
257 + include ../config.mk
258 ++include ../config.include
259 +
260 + SHARED_LIBS ?= y
261 +
262 +--- iproute2-5.11.0/tipc/Makefile
263 ++++ iproute2-5.11.0/tipc/Makefile
264 +@@ -1,5 +1,6 @@
265 + # SPDX-License-Identifier: GPL-2.0
266 + include ../config.mk
267 ++include ../config.include
268 +
269 + TARGETS :=
270 +
271
272 diff --git a/sys-apps/iproute2/iproute2-5.11.0.ebuild b/sys-apps/iproute2/iproute2-5.11.0.ebuild
273 new file mode 100644
274 index 00000000000..20fb9338058
275 --- /dev/null
276 +++ b/sys-apps/iproute2/iproute2-5.11.0.ebuild
277 @@ -0,0 +1,170 @@
278 +# Copyright 1999-2021 Gentoo Authors
279 +# Distributed under the terms of the GNU General Public License v2
280 +
281 +EAPI=7
282 +
283 +inherit toolchain-funcs flag-o-matic multilib
284 +
285 +if [[ ${PV} == "9999" ]] ; then
286 + EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git"
287 + inherit git-r3
288 +else
289 + SRC_URI="https://www.kernel.org/pub/linux/utils/net/${PN}/${P}.tar.xz"
290 + #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
291 +fi
292 +
293 +DESCRIPTION="kernel routing and traffic control utilities"
294 +HOMEPAGE="https://wiki.linuxfoundation.org/networking/iproute2"
295 +
296 +LICENSE="GPL-2"
297 +SLOT="0"
298 +IUSE="atm berkdb bpf caps elf +iptables ipv6 libbsd minimal selinux"
299 +
300 +# We could make libmnl optional, but it's tiny, so eh
301 +RDEPEND="
302 + !net-misc/arpd
303 + !minimal? ( net-libs/libmnl )
304 + atm? ( net-dialup/linux-atm )
305 + berkdb? ( sys-libs/db:= )
306 + bpf? ( dev-libs/libbpf )
307 + caps? ( sys-libs/libcap )
308 + elf? ( virtual/libelf )
309 + iptables? ( >=net-firewall/iptables-1.4.20:= )
310 + libbsd? ( dev-libs/libbsd )
311 + selinux? ( sys-libs/libselinux )
312 +"
313 +# We require newer linux-headers for ipset support #549948 and some defines #553876
314 +DEPEND="
315 + ${RDEPEND}
316 + >=sys-kernel/linux-headers-3.16
317 +"
318 +BDEPEND="
319 + app-arch/xz-utils
320 + >=sys-devel/bison-2.4
321 + sys-devel/flex
322 + virtual/pkgconfig
323 +"
324 +
325 +PATCHES=(
326 + "${FILESDIR}"/${PN}-3.1.0-mtu.patch #291907
327 + "${FILESDIR}"/${PN}-5.11.0-configure-nomagic.patch # bug 643722
328 + #"${FILESDIR}"/${PN}-5.1.0-portability.patch
329 + "${FILESDIR}"/${PN}-5.7.0-mix-signal.h-include.patch
330 +)
331 +
332 +src_prepare() {
333 + if ! use ipv6 ; then
334 + PATCHES+=(
335 + "${FILESDIR}"/${PN}-4.20.0-no-ipv6.patch #326849
336 + )
337 + fi
338 +
339 + default
340 +
341 + # Fix version if necessary
342 + local versionfile="include/version.h"
343 + if ! grep -Fq "${PV}" ${versionfile} ; then
344 + elog "Fixing version string"
345 + sed "s@\"[[:digit:]\.]\+\"@\"${PV}\"@" \
346 + -i ${versionfile} || die
347 + fi
348 +
349 + # echo -n is not POSIX compliant
350 + sed 's@echo -n@printf@' -i configure || die
351 +
352 + sed -i \
353 + -e '/^CC :\?=/d' \
354 + -e "/^LIBDIR/s:=.*:=/$(get_libdir):" \
355 + -e "s|-O2|${CFLAGS} ${CPPFLAGS}|" \
356 + -e "/^HOSTCC/s:=.*:= $(tc-getBUILD_CC):" \
357 + -e "/^DBM_INCLUDE/s:=.*:=${T}:" \
358 + Makefile || die
359 +
360 + # build against system headers
361 + rm -r include/netinet || die #include/linux include/ip{,6}tables{,_common}.h include/libiptc
362 + sed -i 's:TCPI_OPT_ECN_SEEN:16:' misc/ss.c || die
363 +
364 + if use minimal ; then
365 + sed -i -e '/^SUBDIRS=/s:=.*:=lib tc ip:' Makefile || die
366 + fi
367 +}
368 +
369 +src_configure() {
370 + tc-export AR CC PKG_CONFIG
371 +
372 + # This sure is ugly. Should probably move into toolchain-funcs at some point.
373 + local setns
374 + pushd "${T}" >/dev/null
375 + printf '#include <sched.h>\nint main(){return setns(0, 0);}\n' > test.c
376 + ${CC} ${CFLAGS} ${CPPFLAGS} -D_GNU_SOURCE ${LDFLAGS} test.c >&/dev/null && setns=y || setns=n
377 + echo 'int main(){return 0;}' > test.c
378 + ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c -lresolv >&/dev/null || sed -i '/^LDLIBS/s:-lresolv::' "${S}"/Makefile
379 + popd >/dev/null
380 +
381 + # run "configure" script first which will create "config.mk"...
382 + LIBBPF_FORCE="$(usex bpf on off)" \
383 + econf
384 +
385 + # ...now switch on/off requested features via USE flags
386 + # this is only useful if the test did not set other things, per bug #643722
387 + cat <<-EOF >> config.mk
388 + TC_CONFIG_ATM := $(usex atm y n)
389 + TC_CONFIG_XT := $(usex iptables y n)
390 + TC_CONFIG_NO_XT := $(usex iptables n y)
391 + # We've locked in recent enough kernel headers #549948
392 + TC_CONFIG_IPSET := y
393 + HAVE_BERKELEY_DB := $(usex berkdb y n)
394 + HAVE_CAP := $(usex caps y n)
395 + HAVE_MNL := $(usex minimal n y)
396 + HAVE_ELF := $(usex elf y n)
397 + HAVE_SELINUX := $(usex selinux y n)
398 + IP_CONFIG_SETNS := ${setns}
399 + # Use correct iptables dir, #144265 #293709
400 + IPT_LIB_DIR := $(use iptables && ${PKG_CONFIG} xtables --variable=xtlibdir)
401 + HAVE_LIBBSD := $(usex libbsd y n)
402 + EOF
403 +}
404 +
405 +src_compile() {
406 + emake V=1 NETNS_RUN_DIR=/run/netns
407 +}
408 +
409 +src_install() {
410 + if use minimal ; then
411 + into /
412 + dosbin tc/tc
413 + dobin ip/ip
414 + return 0
415 + fi
416 +
417 + emake \
418 + DESTDIR="${D}" \
419 + PREFIX="${EPREFIX}/usr" \
420 + LIBDIR="${EPREFIX}"/$(get_libdir) \
421 + SBINDIR="${EPREFIX}"/sbin \
422 + CONFDIR="${EPREFIX}"/etc/iproute2 \
423 + DOCDIR="${EPREFIX}"/usr/share/doc/${PF} \
424 + MANDIR="${EPREFIX}"/usr/share/man \
425 + ARPDDIR="${EPREFIX}"/var/lib/arpd \
426 + install
427 +
428 + dodir /bin
429 + mv "${ED}"/{s,}bin/ip || die #330115
430 +
431 + dolib.a lib/libnetlink.a
432 + insinto /usr/include
433 + doins include/libnetlink.h
434 + # This local header pulls in a lot of linux headers it
435 + # doesn't directly need. Delete this header that requires
436 + # linux-headers-3.8 until that goes stable. #467716
437 + sed -i '/linux\/netconf.h/d' "${ED}"/usr/include/libnetlink.h || die
438 +
439 + if use berkdb ; then
440 + keepdir /var/lib/arpd
441 + # bug 47482, arpd doesn't need to be in /sbin
442 + dodir /usr/bin
443 + mv "${ED}"/sbin/arpd "${ED}"/usr/bin/ || die
444 + elif [[ -d "${ED}"/var/lib/arpd ]]; then
445 + rmdir --ignore-fail-on-non-empty -p "${ED}"/var/lib/arpd || die
446 + fi
447 +}
448
449 diff --git a/sys-apps/iproute2/metadata.xml b/sys-apps/iproute2/metadata.xml
450 index 66ef219fafa..fe67c6bd882 100644
451 --- a/sys-apps/iproute2/metadata.xml
452 +++ b/sys-apps/iproute2/metadata.xml
453 @@ -7,8 +7,10 @@
454 </maintainer>
455 <use>
456 <flag name="berkdb">build programs that use berkdb (just arpd)</flag>
457 + <flag name="bpf">Use <pkg>dev-libs/libbpf</pkg></flag>
458 <flag name="elf">support loading eBPF programs from ELFs (e.g. LLVM's eBPF backend)</flag>
459 <flag name="iptables">include support for iptables filtering</flag>
460 + <flag name="libbsd">Use <pkg>dev-libs/libbsd</pkg> instead of internal funcs</flag>
461 <flag name="minimal">only install ip and tc programs, without eBPF support</flag>
462 </use>
463 <upstream>