1*4882a593SmuzhiyunSUMMARY = "Basic networking tools" 2*4882a593SmuzhiyunDESCRIPTION = "A collection of programs that form the base set of the NET-3 networking distribution for the Linux operating system" 3*4882a593SmuzhiyunHOMEPAGE = "http://net-tools.berlios.de/" 4*4882a593SmuzhiyunBUGTRACKER = "http://bugs.debian.org/net-tools" 5*4882a593SmuzhiyunLICENSE = "GPL-2.0-or-later" 6*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ 7*4882a593Smuzhiyun file://ifconfig.c;beginline=11;endline=15;md5=d1ca372080ad5401e23ca0afc35cf9ba" 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunSRCREV = "80d7b95067f1f22fece9537dea6dff53081f4886" 10*4882a593SmuzhiyunSRC_URI = "git://git.code.sf.net/p/net-tools/code;protocol=https;branch=master \ 11*4882a593Smuzhiyun file://net-tools-config.h \ 12*4882a593Smuzhiyun file://net-tools-config.make \ 13*4882a593Smuzhiyun file://Add_missing_headers.patch \ 14*4882a593Smuzhiyun" 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunS = "${WORKDIR}/git" 17*4882a593Smuzhiyun 18*4882a593Smuzhiyuninherit gettext 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun# The Makefile is lame, no parallel build 21*4882a593SmuzhiyunPARALLEL_MAKE = "" 22*4882a593Smuzhiyun 23*4882a593SmuzhiyunPACKAGECONFIG ??= "hostname arp serial plip" 24*4882a593SmuzhiyunPACKAGECONFIG[hostname] = "" 25*4882a593SmuzhiyunPACKAGECONFIG[arp] = "" 26*4882a593SmuzhiyunPACKAGECONFIG[serial] = "" 27*4882a593SmuzhiyunPACKAGECONFIG[plip] = "" 28*4882a593SmuzhiyunPACKAGECONFIG[slattach] = "" 29*4882a593SmuzhiyunPACKAGECONFIG[plipconfig] = "" 30*4882a593Smuzhiyun 31*4882a593Smuzhiyundo_configure() { 32*4882a593Smuzhiyun # net-tools has its own config mechanism requiring "make config" 33*4882a593Smuzhiyun # we pre-generate desired options and copy to source directory instead 34*4882a593Smuzhiyun cp ${WORKDIR}/net-tools-config.h ${S}/config.h 35*4882a593Smuzhiyun cp ${WORKDIR}/net-tools-config.make ${S}/config.make 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun if [ "${USE_NLS}" = "no" ]; then 38*4882a593Smuzhiyun sed -i -e 's/^I18N=1/# I18N=1/' ${S}/config.make 39*4882a593Smuzhiyun fi 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun if ${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'true', 'false', d)} ; then 42*4882a593Smuzhiyun echo "#define HAVE_HOSTNAME_TOOLS 1" >> ${S}/config.h 43*4882a593Smuzhiyun echo "#define HAVE_HOSTNAME_SYMLINKS 1" >> ${S}/config.h 44*4882a593Smuzhiyun echo "HAVE_HOSTNAME_TOOLS=1" >> ${S}/config.make 45*4882a593Smuzhiyun echo "HAVE_HOSTNAME_SYMLINKS=1" >> ${S}/config.make 46*4882a593Smuzhiyun fi 47*4882a593Smuzhiyun if ${@bb.utils.contains('PACKAGECONFIG', 'arp', 'true', 'false', d)} ; then 48*4882a593Smuzhiyun echo "#define HAVE_ARP_TOOLS 1" >> ${S}/config.h 49*4882a593Smuzhiyun echo "HAVE_ARP_TOOLS=1" >> ${S}/config.make 50*4882a593Smuzhiyun fi 51*4882a593Smuzhiyun if ${@bb.utils.contains('PACKAGECONFIG', 'serial', 'true', 'false', d)} ; then 52*4882a593Smuzhiyun echo "#define HAVE_SERIAL_TOOLS 1" >> ${S}/config.h 53*4882a593Smuzhiyun echo "HAVE_SERIAL_TOOLS=1" >> ${S}/config.make 54*4882a593Smuzhiyun fi 55*4882a593Smuzhiyun if ${@bb.utils.contains('PACKAGECONFIG', 'plip', 'true', 'false', d)} ; then 56*4882a593Smuzhiyun echo "#define HAVE_PLIP_TOOLS 1" >> ${S}/config.h 57*4882a593Smuzhiyun echo "HAVE_PLIP_TOOLS=1" >> ${S}/config.make 58*4882a593Smuzhiyun fi 59*4882a593Smuzhiyun} 60*4882a593Smuzhiyun 61*4882a593Smuzhiyundo_compile() { 62*4882a593Smuzhiyun # net-tools use COPTS/LOPTS to allow adding custom options 63*4882a593Smuzhiyun oe_runmake COPTS="$CFLAGS" LOPTS="$LDFLAGS" 64*4882a593Smuzhiyun} 65*4882a593Smuzhiyun 66*4882a593Smuzhiyundo_install() { 67*4882a593Smuzhiyun # We don't need COPTS or LOPTS, but let's be consistent. 68*4882a593Smuzhiyun oe_runmake COPTS="$CFLAGS" LOPTS="$LDFLAGS" BASEDIR=${D} INSTALLNLSDIR=${D}${datadir}/locale mandir=${mandir} install 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun if [ "${base_bindir}" != "/bin" ]; then 71*4882a593Smuzhiyun mkdir -p ${D}/${base_bindir} 72*4882a593Smuzhiyun mv ${D}/bin/* ${D}/${base_bindir}/ 73*4882a593Smuzhiyun rmdir ${D}/bin 74*4882a593Smuzhiyun fi 75*4882a593Smuzhiyun if [ "${base_sbindir}" != "/sbin" ]; then 76*4882a593Smuzhiyun mkdir ${D}/${base_sbindir} 77*4882a593Smuzhiyun mv ${D}/sbin/* ${D}/${base_sbindir}/ 78*4882a593Smuzhiyun rmdir ${D}/sbin 79*4882a593Smuzhiyun fi 80*4882a593Smuzhiyun} 81*4882a593Smuzhiyun 82*4882a593Smuzhiyuninherit update-alternatives 83*4882a593Smuzhiyun 84*4882a593Smuzhiyunbase_sbindir_progs = "ipmaddr iptunnel mii-tool nameif \ 85*4882a593Smuzhiyun ${@bb.utils.contains('PACKAGECONFIG', 'arp', 'arp rarp', '', d)} \ 86*4882a593Smuzhiyun ${@bb.utils.contains('PACKAGECONFIG', 'plip', 'plipconfig', '', d)} \ 87*4882a593Smuzhiyun ${@bb.utils.contains('PACKAGECONFIG', 'serial', 'slattach', '', d)} \ 88*4882a593Smuzhiyun" 89*4882a593Smuzhiyunbase_bindir_progs = "ifconfig netstat route \ 90*4882a593Smuzhiyun ${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'dnsdomainname domainname hostname nisdomainname ypdomainname', '', d)} \ 91*4882a593Smuzhiyun" 92*4882a593Smuzhiyun 93*4882a593SmuzhiyunALTERNATIVE:${PN} = "${base_sbindir_progs} ${base_bindir_progs}" 94*4882a593SmuzhiyunALTERNATIVE:${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'hostname.1 dnsdomainname.1', '', d)}" 95*4882a593SmuzhiyunALTERNATIVE_LINK_NAME[hostname.1] = "${mandir}/man1/hostname.1" 96*4882a593SmuzhiyunALTERNATIVE_LINK_NAME[dnsdomainname.1] = "${mandir}/man1/dnsdomainname.1" 97*4882a593SmuzhiyunALTERNATIVE_PRIORITY[hostname.1] = "10" 98*4882a593Smuzhiyun 99*4882a593Smuzhiyunpython __anonymous() { 100*4882a593Smuzhiyun for prog in d.getVar('base_sbindir_progs').split(): 101*4882a593Smuzhiyun d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_sbindir'), prog)) 102*4882a593Smuzhiyun for prog in d.getVar('base_bindir_progs').split(): 103*4882a593Smuzhiyun d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_bindir'), prog)) 104*4882a593Smuzhiyun} 105*4882a593SmuzhiyunALTERNATIVE_PRIORITY = "100" 106*4882a593Smuzhiyun 107*4882a593SmuzhiyunNETTOOLS_PACKAGES = "${PN}-mii-tool" 108*4882a593SmuzhiyunNETTOOLS_PACKAGES:class-native = "" 109*4882a593Smuzhiyun 110*4882a593SmuzhiyunPACKAGE_BEFORE_PN = "${NETTOOLS_PACKAGES}" 111*4882a593SmuzhiyunRDEPENDS:${PN} += "${NETTOOLS_PACKAGES}" 112*4882a593Smuzhiyun 113*4882a593SmuzhiyunFILES:${PN}-mii-tool = "${base_sbindir}/mii-tool" 114*4882a593Smuzhiyun 115*4882a593SmuzhiyunALTERNATIVE:${PN}:remove = "mii-tool" 116*4882a593Smuzhiyun 117*4882a593SmuzhiyunALTERNATIVE:${PN}-mii-tool = "mii-tool" 118*4882a593SmuzhiyunALTERNATIVE_TARGET[mii-tool] = "${base_sbindir}/mii-tool" 119*4882a593SmuzhiyunALTERNATIVE_LINK_NAME[mii-tool] = "${base_sbindir}/mii-tool" 120*4882a593Smuzhiyun 121*4882a593SmuzhiyunBBCLASSEXTEND = "native nativesdk" 122