blob: 32e2f8176bf4d4a876c3db67b921792155e6a176 [file] [log] [blame]
Andrew Geissler517393d2023-01-13 08:55:19 -06001SUMMARY = "TCP / IP networking and traffic control utilities"
2DESCRIPTION = "Iproute2 is a collection of utilities for controlling \
3TCP / IP networking and traffic control in Linux. Of the utilities ip \
4and tc are the most important. ip controls IPv4 and IPv6 \
5configuration and tc stands for traffic control."
6HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2"
7SECTION = "base"
8LICENSE = "GPL-2.0-or-later"
9LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
Andrew Geisslerfc113ea2023-03-31 09:59:46 -050010 "
Andrew Geissler517393d2023-01-13 08:55:19 -060011
12DEPENDS = "flex-native bison-native iptables libcap"
13
14SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \
15 file://0001-libc-compat.h-add-musl-workaround.patch \
Patrick Williams2a254922023-08-11 09:48:11 -050016 file://0001-bridge-mdb.c-include-limits.h.patch \
Andrew Geissler517393d2023-01-13 08:55:19 -060017 "
18
Patrick Williams2a254922023-08-11 09:48:11 -050019SRC_URI[sha256sum] = "4c51b8decbc7e4da159ffb066f590cfb93dbf9af7ff86b1647ce42b7c179a272"
Andrew Geissler517393d2023-01-13 08:55:19 -060020
21inherit update-alternatives bash-completion pkgconfig
22
23PACKAGECONFIG ??= "tipc elf devlink"
24PACKAGECONFIG[tipc] = ",,libmnl,"
25PACKAGECONFIG[elf] = ",,elfutils,"
26PACKAGECONFIG[devlink] = ",,libmnl,"
27PACKAGECONFIG[rdma] = ",,libmnl,"
28PACKAGECONFIG[selinux] = ",,libselinux"
29
30IPROUTE2_MAKE_SUBDIRS = "lib tc ip bridge misc genl ${@bb.utils.filter('PACKAGECONFIG', 'devlink tipc rdma', d)}"
31
32# CFLAGS are computed in Makefile and reference CCOPTS
33#
34EXTRA_OEMAKE = "\
35 CC='${CC}' \
36 KERNEL_INCLUDE=${STAGING_INCDIR} \
37 DOCDIR=${docdir}/iproute2 \
38 SUBDIRS='${IPROUTE2_MAKE_SUBDIRS}' \
39 SBINDIR='${base_sbindir}' \
40 LIBDIR='${libdir}' \
41 CCOPTS='${CFLAGS}' \
42"
43
44do_configure:append () {
45 sh configure ${STAGING_INCDIR}
46 # Explicitly disable ATM support
47 sed -i -e '/TC_CONFIG_ATM/d' config.mk
48}
49
50do_install () {
51 oe_runmake DESTDIR=${D} install
52 mv ${D}${base_sbindir}/ip ${D}${base_sbindir}/ip.iproute2
53 install -d ${D}${datadir}
54 mv ${D}/share/* ${D}${datadir}/ || true
55 rm ${D}/share -rf || true
56}
57
58# The .so files in iproute2-tc are modules, not traditional libraries
59INSANE_SKIP:${PN}-tc = "dev-so"
60
61IPROUTE2_PACKAGES =+ "\
62 ${PN}-devlink \
63 ${PN}-genl \
64 ${PN}-ifstat \
65 ${PN}-ip \
66 ${PN}-lnstat \
67 ${PN}-nstat \
Andrew Geisslerc5535c92023-01-27 16:10:19 -060068 ${PN}-routel \
Andrew Geissler517393d2023-01-13 08:55:19 -060069 ${PN}-rtacct \
70 ${PN}-ss \
71 ${PN}-tc \
72 ${PN}-tipc \
73 ${PN}-rdma \
74"
75
76PACKAGE_BEFORE_PN = "${IPROUTE2_PACKAGES}"
77RDEPENDS:${PN} += "${PN}-ip"
78
79FILES:${PN}-tc = "${base_sbindir}/tc* \
80 ${libdir}/tc/*.so"
81FILES:${PN}-lnstat = "${base_sbindir}/lnstat \
82 ${base_sbindir}/ctstat \
83 ${base_sbindir}/rtstat"
84FILES:${PN}-ifstat = "${base_sbindir}/ifstat"
85FILES:${PN}-ip = "${base_sbindir}/ip.${PN} ${sysconfdir}/iproute2"
86FILES:${PN}-genl = "${base_sbindir}/genl"
87FILES:${PN}-rtacct = "${base_sbindir}/rtacct"
88FILES:${PN}-nstat = "${base_sbindir}/nstat"
89FILES:${PN}-ss = "${base_sbindir}/ss"
90FILES:${PN}-tipc = "${base_sbindir}/tipc"
91FILES:${PN}-devlink = "${base_sbindir}/devlink"
92FILES:${PN}-rdma = "${base_sbindir}/rdma"
Andrew Geisslerc5535c92023-01-27 16:10:19 -060093FILES:${PN}-routel = "${base_sbindir}/routel"
94
95RDEPENDS:${PN}-routel = "python3-core"
Andrew Geissler517393d2023-01-13 08:55:19 -060096
97ALTERNATIVE:${PN}-ip = "ip"
98ALTERNATIVE_TARGET[ip] = "${base_sbindir}/ip.${BPN}"
99ALTERNATIVE_LINK_NAME[ip] = "${base_sbindir}/ip"
100ALTERNATIVE_PRIORITY = "100"
101
102ALTERNATIVE:${PN}-tc = "tc"
103ALTERNATIVE_LINK_NAME[tc] = "${base_sbindir}/tc"
104ALTERNATIVE_PRIORITY_${PN}-tc = "100"