xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-connectivity/iproute2/iproute2.inc (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunSUMMARY = "TCP / IP networking and traffic control utilities"
2*4882a593SmuzhiyunDESCRIPTION = "Iproute2 is a collection of utilities for controlling \
3*4882a593SmuzhiyunTCP / IP networking and traffic control in Linux.  Of the utilities ip \
4*4882a593Smuzhiyunand tc are the most important.  ip controls IPv4 and IPv6 \
5*4882a593Smuzhiyunconfiguration and tc stands for traffic control."
6*4882a593SmuzhiyunHOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2"
7*4882a593SmuzhiyunSECTION = "base"
8*4882a593SmuzhiyunLICENSE = "GPL-2.0-or-later"
9*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
10*4882a593Smuzhiyun                    file://ip/ip.c;beginline=3;endline=8;md5=689d691d0410a4b64d3899f8d6e31817"
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunDEPENDS = "flex-native bison-native iptables libcap"
13*4882a593Smuzhiyun
14*4882a593Smuzhiyuninherit update-alternatives bash-completion pkgconfig
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunCLEANBROKEN = "1"
17*4882a593Smuzhiyun
18*4882a593SmuzhiyunPACKAGECONFIG ??= "tipc elf devlink"
19*4882a593SmuzhiyunPACKAGECONFIG[tipc] = ",,libmnl,"
20*4882a593SmuzhiyunPACKAGECONFIG[elf] = ",,elfutils,"
21*4882a593SmuzhiyunPACKAGECONFIG[devlink] = ",,libmnl,"
22*4882a593SmuzhiyunPACKAGECONFIG[rdma] = ",,libmnl,"
23*4882a593Smuzhiyun
24*4882a593SmuzhiyunIPROUTE2_MAKE_SUBDIRS = "lib tc ip bridge misc genl ${@bb.utils.filter('PACKAGECONFIG', 'devlink tipc rdma', d)}"
25*4882a593Smuzhiyun
26*4882a593SmuzhiyunEXTRA_OEMAKE = "\
27*4882a593Smuzhiyun    CC='${CC}' \
28*4882a593Smuzhiyun    KERNEL_INCLUDE=${STAGING_INCDIR} \
29*4882a593Smuzhiyun    DOCDIR=${docdir}/iproute2 \
30*4882a593Smuzhiyun    SUBDIRS='${IPROUTE2_MAKE_SUBDIRS}' \
31*4882a593Smuzhiyun    SBINDIR='${base_sbindir}' \
32*4882a593Smuzhiyun    LIBDIR='${libdir}' \
33*4882a593Smuzhiyun"
34*4882a593Smuzhiyun
35*4882a593Smuzhiyundo_configure:append () {
36*4882a593Smuzhiyun    sh configure ${STAGING_INCDIR}
37*4882a593Smuzhiyun    # Explicitly disable ATM support
38*4882a593Smuzhiyun    sed -i -e '/TC_CONFIG_ATM/d' config.mk
39*4882a593Smuzhiyun}
40*4882a593Smuzhiyun
41*4882a593Smuzhiyundo_install () {
42*4882a593Smuzhiyun    oe_runmake DESTDIR=${D} install
43*4882a593Smuzhiyun    mv ${D}${base_sbindir}/ip ${D}${base_sbindir}/ip.iproute2
44*4882a593Smuzhiyun    install -d ${D}${datadir}
45*4882a593Smuzhiyun    mv ${D}/share/* ${D}${datadir}/ || true
46*4882a593Smuzhiyun    rm ${D}/share -rf || true
47*4882a593Smuzhiyun}
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun# The .so files in iproute2-tc are modules, not traditional libraries
50*4882a593SmuzhiyunINSANE_SKIP:${PN}-tc = "dev-so"
51*4882a593Smuzhiyun
52*4882a593SmuzhiyunIPROUTE2_PACKAGES =+ "\
53*4882a593Smuzhiyun    ${PN}-devlink \
54*4882a593Smuzhiyun    ${PN}-genl \
55*4882a593Smuzhiyun    ${PN}-ifstat \
56*4882a593Smuzhiyun    ${PN}-ip \
57*4882a593Smuzhiyun    ${PN}-lnstat \
58*4882a593Smuzhiyun    ${PN}-nstat \
59*4882a593Smuzhiyun    ${PN}-rtacct \
60*4882a593Smuzhiyun    ${PN}-ss \
61*4882a593Smuzhiyun    ${PN}-tc \
62*4882a593Smuzhiyun    ${PN}-tipc \
63*4882a593Smuzhiyun    ${PN}-rdma \
64*4882a593Smuzhiyun"
65*4882a593Smuzhiyun
66*4882a593SmuzhiyunPACKAGE_BEFORE_PN = "${IPROUTE2_PACKAGES}"
67*4882a593SmuzhiyunRDEPENDS:${PN} += "${PN}-ip"
68*4882a593Smuzhiyun
69*4882a593SmuzhiyunFILES:${PN}-tc = "${base_sbindir}/tc* \
70*4882a593Smuzhiyun                  ${libdir}/tc/*.so"
71*4882a593SmuzhiyunFILES:${PN}-lnstat = "${base_sbindir}/lnstat \
72*4882a593Smuzhiyun                      ${base_sbindir}/ctstat \
73*4882a593Smuzhiyun                      ${base_sbindir}/rtstat"
74*4882a593SmuzhiyunFILES:${PN}-ifstat = "${base_sbindir}/ifstat"
75*4882a593SmuzhiyunFILES:${PN}-ip = "${base_sbindir}/ip.${PN} ${sysconfdir}/iproute2"
76*4882a593SmuzhiyunFILES:${PN}-genl = "${base_sbindir}/genl"
77*4882a593SmuzhiyunFILES:${PN}-rtacct = "${base_sbindir}/rtacct"
78*4882a593SmuzhiyunFILES:${PN}-nstat = "${base_sbindir}/nstat"
79*4882a593SmuzhiyunFILES:${PN}-ss = "${base_sbindir}/ss"
80*4882a593SmuzhiyunFILES:${PN}-tipc = "${base_sbindir}/tipc"
81*4882a593SmuzhiyunFILES:${PN}-devlink = "${base_sbindir}/devlink"
82*4882a593SmuzhiyunFILES:${PN}-rdma = "${base_sbindir}/rdma"
83*4882a593Smuzhiyun
84*4882a593SmuzhiyunALTERNATIVE:${PN}-ip = "ip"
85*4882a593SmuzhiyunALTERNATIVE_TARGET[ip] = "${base_sbindir}/ip.${BPN}"
86*4882a593SmuzhiyunALTERNATIVE_LINK_NAME[ip] = "${base_sbindir}/ip"
87*4882a593SmuzhiyunALTERNATIVE_PRIORITY = "100"
88*4882a593Smuzhiyun
89*4882a593SmuzhiyunALTERNATIVE:${PN}-tc = "tc"
90*4882a593SmuzhiyunALTERNATIVE_LINK_NAME[tc] = "${base_sbindir}/tc"
91*4882a593SmuzhiyunALTERNATIVE_PRIORITY_${PN}-tc = "100"
92