xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-connectivity/iproute2/iproute2.inc (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1SUMMARY = "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"
13
14inherit update-alternatives bash-completion pkgconfig
15
16CLEANBROKEN = "1"
17
18PACKAGECONFIG ??= "tipc elf devlink"
19PACKAGECONFIG[tipc] = ",,libmnl,"
20PACKAGECONFIG[elf] = ",,elfutils,"
21PACKAGECONFIG[devlink] = ",,libmnl,"
22PACKAGECONFIG[rdma] = ",,libmnl,"
23
24IPROUTE2_MAKE_SUBDIRS = "lib tc ip bridge misc genl ${@bb.utils.filter('PACKAGECONFIG', 'devlink tipc rdma', d)}"
25
26EXTRA_OEMAKE = "\
27    CC='${CC}' \
28    KERNEL_INCLUDE=${STAGING_INCDIR} \
29    DOCDIR=${docdir}/iproute2 \
30    SUBDIRS='${IPROUTE2_MAKE_SUBDIRS}' \
31    SBINDIR='${base_sbindir}' \
32    LIBDIR='${libdir}' \
33"
34
35do_configure:append () {
36    sh configure ${STAGING_INCDIR}
37    # Explicitly disable ATM support
38    sed -i -e '/TC_CONFIG_ATM/d' config.mk
39}
40
41do_install () {
42    oe_runmake DESTDIR=${D} install
43    mv ${D}${base_sbindir}/ip ${D}${base_sbindir}/ip.iproute2
44    install -d ${D}${datadir}
45    mv ${D}/share/* ${D}${datadir}/ || true
46    rm ${D}/share -rf || true
47}
48
49# The .so files in iproute2-tc are modules, not traditional libraries
50INSANE_SKIP:${PN}-tc = "dev-so"
51
52IPROUTE2_PACKAGES =+ "\
53    ${PN}-devlink \
54    ${PN}-genl \
55    ${PN}-ifstat \
56    ${PN}-ip \
57    ${PN}-lnstat \
58    ${PN}-nstat \
59    ${PN}-rtacct \
60    ${PN}-ss \
61    ${PN}-tc \
62    ${PN}-tipc \
63    ${PN}-rdma \
64"
65
66PACKAGE_BEFORE_PN = "${IPROUTE2_PACKAGES}"
67RDEPENDS:${PN} += "${PN}-ip"
68
69FILES:${PN}-tc = "${base_sbindir}/tc* \
70                  ${libdir}/tc/*.so"
71FILES:${PN}-lnstat = "${base_sbindir}/lnstat \
72                      ${base_sbindir}/ctstat \
73                      ${base_sbindir}/rtstat"
74FILES:${PN}-ifstat = "${base_sbindir}/ifstat"
75FILES:${PN}-ip = "${base_sbindir}/ip.${PN} ${sysconfdir}/iproute2"
76FILES:${PN}-genl = "${base_sbindir}/genl"
77FILES:${PN}-rtacct = "${base_sbindir}/rtacct"
78FILES:${PN}-nstat = "${base_sbindir}/nstat"
79FILES:${PN}-ss = "${base_sbindir}/ss"
80FILES:${PN}-tipc = "${base_sbindir}/tipc"
81FILES:${PN}-devlink = "${base_sbindir}/devlink"
82FILES:${PN}-rdma = "${base_sbindir}/rdma"
83
84ALTERNATIVE:${PN}-ip = "ip"
85ALTERNATIVE_TARGET[ip] = "${base_sbindir}/ip.${BPN}"
86ALTERNATIVE_LINK_NAME[ip] = "${base_sbindir}/ip"
87ALTERNATIVE_PRIORITY = "100"
88
89ALTERNATIVE:${PN}-tc = "tc"
90ALTERNATIVE_LINK_NAME[tc] = "${base_sbindir}/tc"
91ALTERNATIVE_PRIORITY_${PN}-tc = "100"
92