blob: 9373dba5f5dc1639c586924958a22f6841306ec4 [file] [log] [blame]
Andrew Geissler87f5cff2022-09-30 13:13:31 -05001SUMMARY = "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 \
10 file://ip/ip.c;beginline=3;endline=8;md5=689d691d0410a4b64d3899f8d6e31817"
11
12DEPENDS = "flex-native bison-native iptables libcap"
Patrick Williams92b42cb2022-09-03 06:53:57 -050013
14SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \
15 file://0001-libc-compat.h-add-musl-workaround.patch \
Patrick Williams92b42cb2022-09-03 06:53:57 -050016 "
17
Patrick Williams2390b1b2022-11-03 13:47:49 -050018SRC_URI[sha256sum] = "523139e9e72aec996374fa2de74be4c53d2dd05589488934d21ff97bae19580a"
Patrick Williams92b42cb2022-09-03 06:53:57 -050019
Andrew Geissler87f5cff2022-09-30 13:13:31 -050020inherit update-alternatives bash-completion pkgconfig
21
22PACKAGECONFIG ??= "tipc elf devlink"
23PACKAGECONFIG[tipc] = ",,libmnl,"
24PACKAGECONFIG[elf] = ",,elfutils,"
25PACKAGECONFIG[devlink] = ",,libmnl,"
26PACKAGECONFIG[rdma] = ",,libmnl,"
27
28IPROUTE2_MAKE_SUBDIRS = "lib tc ip bridge misc genl ${@bb.utils.filter('PACKAGECONFIG', 'devlink tipc rdma', d)}"
29
Patrick Williams92b42cb2022-09-03 06:53:57 -050030# CFLAGS are computed in Makefile and reference CCOPTS
31#
Andrew Geissler87f5cff2022-09-30 13:13:31 -050032EXTRA_OEMAKE = "\
33 CC='${CC}' \
34 KERNEL_INCLUDE=${STAGING_INCDIR} \
35 DOCDIR=${docdir}/iproute2 \
36 SUBDIRS='${IPROUTE2_MAKE_SUBDIRS}' \
37 SBINDIR='${base_sbindir}' \
38 LIBDIR='${libdir}' \
39 CCOPTS='${CFLAGS}' \
40"
41
42do_configure:append () {
43 sh configure ${STAGING_INCDIR}
44 # Explicitly disable ATM support
45 sed -i -e '/TC_CONFIG_ATM/d' config.mk
46}
47
48do_install () {
49 oe_runmake DESTDIR=${D} install
50 mv ${D}${base_sbindir}/ip ${D}${base_sbindir}/ip.iproute2
51 install -d ${D}${datadir}
52 mv ${D}/share/* ${D}${datadir}/ || true
53 rm ${D}/share -rf || true
54}
55
56# The .so files in iproute2-tc are modules, not traditional libraries
57INSANE_SKIP:${PN}-tc = "dev-so"
58
59IPROUTE2_PACKAGES =+ "\
60 ${PN}-devlink \
61 ${PN}-genl \
62 ${PN}-ifstat \
63 ${PN}-ip \
64 ${PN}-lnstat \
65 ${PN}-nstat \
66 ${PN}-rtacct \
67 ${PN}-ss \
68 ${PN}-tc \
69 ${PN}-tipc \
70 ${PN}-rdma \
71"
72
73PACKAGE_BEFORE_PN = "${IPROUTE2_PACKAGES}"
74RDEPENDS:${PN} += "${PN}-ip"
75
76FILES:${PN}-tc = "${base_sbindir}/tc* \
77 ${libdir}/tc/*.so"
78FILES:${PN}-lnstat = "${base_sbindir}/lnstat \
79 ${base_sbindir}/ctstat \
80 ${base_sbindir}/rtstat"
81FILES:${PN}-ifstat = "${base_sbindir}/ifstat"
82FILES:${PN}-ip = "${base_sbindir}/ip.${PN} ${sysconfdir}/iproute2"
83FILES:${PN}-genl = "${base_sbindir}/genl"
84FILES:${PN}-rtacct = "${base_sbindir}/rtacct"
85FILES:${PN}-nstat = "${base_sbindir}/nstat"
86FILES:${PN}-ss = "${base_sbindir}/ss"
87FILES:${PN}-tipc = "${base_sbindir}/tipc"
88FILES:${PN}-devlink = "${base_sbindir}/devlink"
89FILES:${PN}-rdma = "${base_sbindir}/rdma"
90
91ALTERNATIVE:${PN}-ip = "ip"
92ALTERNATIVE_TARGET[ip] = "${base_sbindir}/ip.${BPN}"
93ALTERNATIVE_LINK_NAME[ip] = "${base_sbindir}/ip"
94ALTERNATIVE_PRIORITY = "100"
95
96ALTERNATIVE:${PN}-tc = "tc"
97ALTERNATIVE_LINK_NAME[tc] = "${base_sbindir}/tc"
98ALTERNATIVE_PRIORITY_${PN}-tc = "100"