diff options
Diffstat (limited to 'import-layers/yocto-poky/meta/recipes-extended/iputils')
6 files changed, 293 insertions, 0 deletions
diff --git a/import-layers/yocto-poky/meta/recipes-extended/iputils/files/0001-Fix-header-inclusion-for-musl.patch b/import-layers/yocto-poky/meta/recipes-extended/iputils/files/0001-Fix-header-inclusion-for-musl.patch new file mode 100644 index 000000000..20ef07e44 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-extended/iputils/files/0001-Fix-header-inclusion-for-musl.patch @@ -0,0 +1,92 @@ +From be0bb81d72fea4d20da74f4f2236aa145684f332 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 6 Jan 2016 14:14:22 -0800 +Subject: [PATCH] Fix header inclusion for musl + +Fix errors e.g. + +In file included from tracepath.c:17:0: +/usr/include/linux/errqueue.h:33:18: +error: array type has incomplete element type 'struct timespec' + struct timespec ts[3]; + ^ +tracepath.c: In function 'main': +tracepath.c:329:16: error: 'INT_MAX' undeclared (first use in this +function) + overhead, INT_MAX); + ^ +tracepath.c:329:16: note: each undeclared identifier is reported only +once for each function it appears in +Makefile:131: recipe for target 'tracepath.o' failed +make: *** [tracepath.o] Error 1 + +ping_common.c: In function 'main_loop': +ping_common.c:756:15: error: 'HZ' undeclared (first use in this +function) + if (1000 % HZ == 0 ? next <= 1000 / HZ : (next < INT_MAX / HZ && +next * HZ <= 1000)) { + +protocols/timed.h is not needed and is absent in musl + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + clockdiff.c | 1 - + ping_common.c | 1 + + tracepath.c | 2 ++ + tracepath6.c | 1 + + 4 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/clockdiff.c b/clockdiff.c +index 7c1ea1b..1d6341e 100644 +--- a/clockdiff.c ++++ b/clockdiff.c +@@ -14,7 +14,6 @@ + #include <netinet/ip.h> + #include <netinet/ip_icmp.h> + #define TSPTYPES +-#include <protocols/timed.h> + #include <fcntl.h> + #include <netdb.h> + #include <arpa/inet.h> +diff --git a/ping_common.c b/ping_common.c +index 7f82851..3ce699d 100644 +--- a/ping_common.c ++++ b/ping_common.c +@@ -2,6 +2,7 @@ + #include <ctype.h> + #include <sched.h> + #include <math.h> ++#include <asm-generic/param.h> + + int options; + +diff --git a/tracepath.c b/tracepath.c +index 89e6d16..c9d6ddd 100644 +--- a/tracepath.c ++++ b/tracepath.c +@@ -12,6 +12,8 @@ + #include <stdio.h> + #include <stdlib.h> + #include <unistd.h> ++#include <limits.h> ++#include <time.h> + #include <sys/socket.h> + #include <linux/types.h> + #include <linux/errqueue.h> +diff --git a/tracepath6.c b/tracepath6.c +index 126fadf..9d5745c 100644 +--- a/tracepath6.c ++++ b/tracepath6.c +@@ -12,6 +12,7 @@ + #include <stdio.h> + #include <stdlib.h> + #include <unistd.h> ++#include <limits.h> + #include <sys/socket.h> + #include <netinet/in.h> + #include <netinet/icmp6.h> +-- +2.6.4 + diff --git a/import-layers/yocto-poky/meta/recipes-extended/iputils/files/0001-Intialize-struct-elements-by-name.patch b/import-layers/yocto-poky/meta/recipes-extended/iputils/files/0001-Intialize-struct-elements-by-name.patch new file mode 100644 index 000000000..6da01dc61 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-extended/iputils/files/0001-Intialize-struct-elements-by-name.patch @@ -0,0 +1,52 @@ +From 000629f74908a2a95f6104444c77ad93cf40d62d Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 13 Jan 2016 08:50:50 +0000 +Subject: [PATCH] Intialize struct elements by name + +makes it portable across glibc and musl + +Fixes errors + +| ping.c: In function 'send_probe': +| ping.c:735:19: warning: initialization makes integer from pointer +without a cast [-Wint-conversion] +| &iov, 1, &cmsg, 0, 0 }; +| ^ +| ping.c:735:19: note: (near initialization for 'm.__pad1') +| ping.c:735:19: error: initializer element is not computable at load +time +| ping.c:735:19: note: (near initialization for 'm.__pad1') +| make: *** [ping.o] Error 1 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +Upstream-Status: Pending + + ping.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/ping.c b/ping.c +index 4989760..e67f381 100644 +--- a/ping.c ++++ b/ping.c +@@ -731,8 +731,15 @@ int send_probe() + + do { + static struct iovec iov = {outpack, 0}; +- static struct msghdr m = { &whereto, sizeof(whereto), +- &iov, 1, &cmsg, 0, 0 }; ++ static struct msghdr m = { ++ .msg_name = &whereto, ++ .msg_namelen = sizeof(whereto), ++ .msg_iov = &iov, ++ .msg_iovlen = 1, ++ .msg_control = &cmsg, ++ .msg_controllen = 0, ++ .msg_flags= 0, ++ }; + m.msg_controllen = cmsg_len; + iov.iov_len = cc; + +-- +2.7.0 + diff --git a/import-layers/yocto-poky/meta/recipes-extended/iputils/files/debian/targets.diff b/import-layers/yocto-poky/meta/recipes-extended/iputils/files/debian/targets.diff new file mode 100644 index 000000000..2cb5576c6 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-extended/iputils/files/debian/targets.diff @@ -0,0 +1,15 @@ +Upstream-Status: Inappropriate [disable feature] + +Index: iputils-s20121221/Makefile +=================================================================== +--- iputils-s20121221.orig/Makefile ++++ iputils-s20121221/Makefile +@@ -106,7 +106,7 @@ endif + endif + + # ------------------------------------- +-IPV4_TARGETS=tracepath ping clockdiff rdisc arping tftpd rarpd ++IPV4_TARGETS=tracepath ping clockdiff arping + IPV6_TARGETS=tracepath6 traceroute6 ping6 + TARGETS=$(IPV4_TARGETS) $(IPV6_TARGETS) + diff --git a/import-layers/yocto-poky/meta/recipes-extended/iputils/files/debian/use_gethostbyname2.diff b/import-layers/yocto-poky/meta/recipes-extended/iputils/files/debian/use_gethostbyname2.diff new file mode 100644 index 000000000..d3b18868c --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-extended/iputils/files/debian/use_gethostbyname2.diff @@ -0,0 +1,31 @@ +Upstream-Status: Pending [from other distro Debian] + +Index: iputils-s20121221/tracepath.c +=================================================================== +--- iputils-s20121221.orig/tracepath.c ++++ iputils-s20121221/tracepath.c +@@ -370,9 +370,9 @@ main(int argc, char **argv) + } + #endif + +- he = gethostbyname(p); ++ he = gethostbyname2(argv[0], AF_INET); + if (he == NULL) { +- herror("gethostbyname"); ++ herror("gethostbyname2"); + exit(1); + } + +Index: iputils-s20121221/ping.c +=================================================================== +--- iputils-s20121221.orig/ping.c ++++ iputils-s20121221/ping.c +@@ -279,7 +279,7 @@ main(int argc, char **argv) + #else + idn = target; + #endif +- hp = gethostbyname(idn); ++ hp = gethostbyname2(idn, AF_INET); + if (!hp) { + fprintf(stderr, "ping: unknown host %s\n", target); + exit(2); diff --git a/import-layers/yocto-poky/meta/recipes-extended/iputils/files/nsgmls-path-fix.patch b/import-layers/yocto-poky/meta/recipes-extended/iputils/files/nsgmls-path-fix.patch new file mode 100644 index 000000000..92bf946f2 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-extended/iputils/files/nsgmls-path-fix.patch @@ -0,0 +1,27 @@ +Fix nsgmls path issue + +Upstream-Status: Pending + +Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> + +Index: iputils-s20101006/doc/Makefile +=================================================================== +--- iputils-s20101006.orig/doc/Makefile 2011-09-13 20:42:27.000000000 +0800 ++++ iputils-s20101006/doc/Makefile 2011-09-13 21:01:52.000000000 +0800 +@@ -27,10 +27,15 @@ + # docbook2man produces utterly ugly output and I did not find + # any way to customize this but hacking backend perl script a little. + # Well, hence... ++# nsgmls seems append path to search directory according to the sysid path. ++# e.g. if input ../index.db, it would search $search_directory/../ rather than ++# $search_directory, which leads searching failure. Fixing nsgmls probably ++# introduce some side effects, so use this ugly hack: running nsgmls in current ++# directory, and running docbook2man in tmp directory. + + $(MANFILES): index.db + @-mkdir tmp.db2man +- @set -e; cd tmp.db2man; nsgmls ../$< | sgmlspl ../docbook2man-spec.pl ; mv $@ .. ++ @set -e; nsgmls $< >tmp.db2man/output; cd tmp.db2man; cat output | sgmlspl ../docbook2man-spec.pl ; mv $@ .. + @-rm -rf tmp.db2man + + clean: diff --git a/import-layers/yocto-poky/meta/recipes-extended/iputils/iputils_s20151218.bb b/import-layers/yocto-poky/meta/recipes-extended/iputils/iputils_s20151218.bb new file mode 100644 index 000000000..715045470 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-extended/iputils/iputils_s20151218.bb @@ -0,0 +1,76 @@ +SUMMARY = "Network monitoring tools" +DESCRIPTION = "Utilities for the IP protocol, including traceroute6, \ +tracepath, tracepath6, ping, ping6 and arping." +HOMEPAGE = "http://www.skbuff.net/iputils" +SECTION = "console/network" + +LICENSE = "BSD & GPLv2+" + +LIC_FILES_CHKSUM = "file://ping.c;beginline=1;endline=35;md5=f9ceb201733e9a6cf8f00766dd278d82 \ + file://tracepath.c;beginline=1;endline=10;md5=0ecea2bf60bff2f3d840096d87647f3d \ + file://arping.c;beginline=1;endline=11;md5=fe84301b5c2655c950f8b92a057fafa6 \ + file://tftpd.c;beginline=1;endline=32;md5=28834bf8a91a5b8a92755dbee709ef96 " + +DEPENDS = "gnutls docbook-utils-native sgmlspl-native libcap libgcrypt" + + +SRC_URI = "http://www.skbuff.net/iputils/${BPN}-${PV}.tar.bz2 \ + file://debian/use_gethostbyname2.diff \ + file://debian/targets.diff \ + file://nsgmls-path-fix.patch \ + file://0001-Fix-header-inclusion-for-musl.patch \ + file://0001-Intialize-struct-elements-by-name.patch \ + " + +SRC_URI[md5sum] = "8aaa7395f27dff9f57ae016d4bc753ce" +SRC_URI[sha256sum] = "549f58d71951e52b46595829134d4e330642f522f50026917fadc349a54825a1" + +UPSTREAM_CHECK_REGEX = "iputils-(?P<pver>s\d+).tar" + +EXTRA_OEMAKE = "-e MAKEFLAGS=" + +do_compile () { + oe_runmake 'CC=${CC} -D_GNU_SOURCE' VPATH="${STAGING_LIBDIR}:${STAGING_DIR_HOST}/${base_libdir}" all man +} + +do_install () { + install -m 0755 -d ${D}${base_bindir} ${D}${mandir}/man8 + # SUID root programs + install -m 4555 ping ${D}${base_bindir}/ping + install -m 4555 ping6 ${D}${base_bindir}/ping6 + install -m 4555 traceroute6 ${D}${base_bindir}/ + install -m 4555 clockdiff ${D}${base_bindir}/ + # Other programgs + for i in arping tracepath tracepath6; do + install -m 0755 $i ${D}${base_bindir}/ + done + # Manual pages for things we build packages for + for i in tracepath.8 traceroute6.8 ping.8 arping.8; do + install -m 0644 doc/$i ${D}${mandir}/man8/ || true + done +} + +inherit update-alternatives + +ALTERNATIVE_PRIORITY = "100" + +ALTERNATIVE_${PN}-ping = "ping" +ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping" + +ALTERNATIVE_${PN}-ping6 = "ping6" +ALTERNATIVE_LINK_NAME[ping6] = "${base_bindir}/ping6" + +PACKAGES += "${PN}-ping ${PN}-ping6 ${PN}-arping ${PN}-tracepath ${PN}-tracepath6 ${PN}-traceroute6 ${PN}-clockdiff" + +ALLOW_EMPTY_${PN} = "1" +RDEPENDS_${PN} += "${PN}-ping ${PN}-ping6 ${PN}-arping ${PN}-tracepath ${PN}-tracepath6 ${PN}-traceroute6 ${PN}-clockdiff" + +FILES_${PN} = "" +FILES_${PN}-ping = "${base_bindir}/ping.${BPN}" +FILES_${PN}-ping6 = "${base_bindir}/ping6.${BPN}" +FILES_${PN}-arping = "${base_bindir}/arping" +FILES_${PN}-tracepath = "${base_bindir}/tracepath" +FILES_${PN}-tracepath6 = "${base_bindir}/tracepath6" +FILES_${PN}-traceroute6 = "${base_bindir}/traceroute6" +FILES_${PN}-clockdiff = "${base_bindir}/clockdiff" +FILES_${PN}-doc = "${mandir}/man8" |