All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-networking][PATCH 1/4] ndisc6: Fix build with clang and update to latest on git
@ 2017-08-31 23:26 Khem Raj
  2017-08-31 23:26 ` [meta-networking][PATCH V2 2/4] ntop: Fix build with musl Khem Raj
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Khem Raj @ 2017-08-31 23:26 UTC (permalink / raw)
  To: openembedded-devel

Change recipe to git
Pass PERL variable to configure
Add patches to fix VLAIS

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../0001-replace-VLAIS-with-malloc-free-pair.patch | 124 +++++++++++++++++++++
 .../ndisc6/0002-Do-not-undef-_GNU_SOURCE.patch     |  30 +++++
 .../ndisc6/{ndisc6_1.0.3.bb => ndisc6_git.bb}      |  21 ++--
 3 files changed, 168 insertions(+), 7 deletions(-)
 create mode 100644 meta-networking/recipes-support/ndisc6/ndisc6/0001-replace-VLAIS-with-malloc-free-pair.patch
 create mode 100644 meta-networking/recipes-support/ndisc6/ndisc6/0002-Do-not-undef-_GNU_SOURCE.patch
 rename meta-networking/recipes-support/ndisc6/{ndisc6_1.0.3.bb => ndisc6_git.bb} (87%)

diff --git a/meta-networking/recipes-support/ndisc6/ndisc6/0001-replace-VLAIS-with-malloc-free-pair.patch b/meta-networking/recipes-support/ndisc6/ndisc6/0001-replace-VLAIS-with-malloc-free-pair.patch
new file mode 100644
index 000000000..dc58b5b79
--- /dev/null
+++ b/meta-networking/recipes-support/ndisc6/ndisc6/0001-replace-VLAIS-with-malloc-free-pair.patch
@@ -0,0 +1,124 @@
+From 3a7d5396e633e6c02a4583be7faf3d79d0d33748 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 31 Aug 2017 11:14:41 -0700
+Subject: [PATCH 1/2] replace VLAIS with malloc/free pair
+
+Makes it compatible with non-gnu compilers
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/trace-icmp.c |  7 +++++--
+ src/trace-tcp.c  | 14 ++++++++++----
+ src/trace-udp.c  |  7 +++++--
+ 3 files changed, 20 insertions(+), 8 deletions(-)
+
+diff --git a/src/trace-icmp.c b/src/trace-icmp.c
+index 842938e..c76cb54 100644
+--- a/src/trace-icmp.c
++++ b/src/trace-icmp.c
+@@ -43,16 +43,19 @@ send_echo_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port)
+ 	struct
+ 	{
+ 		struct icmp6_hdr ih;
+-		uint8_t payload[plen - sizeof (struct icmp6_hdr)];
++		uint8_t *payload;
+ 	} packet;
+ 	memset (&packet, 0, plen);
++	packet.payload = malloc(plen - sizeof (struct icmp6_hdr));
+ 
+ 	packet.ih.icmp6_type = ICMP6_ECHO_REQUEST;
+ 	packet.ih.icmp6_id = htons (getpid ());
+ 	packet.ih.icmp6_seq = htons ((ttl << 8) | (n & 0xff));
+ 	(void)port;
+ 
+-	return send_payload (fd, &packet.ih, plen, ttl);
++	ssize_t ret = send_payload (fd, &packet.ih, plen, ttl);
++	free(packet.payload);
++	return ret;
+ }
+ 
+ 
+diff --git a/src/trace-tcp.c b/src/trace-tcp.c
+index 940f918..62d22ff 100644
+--- a/src/trace-tcp.c
++++ b/src/trace-tcp.c
+@@ -54,10 +54,11 @@ send_syn_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port)
+ 	struct
+ 	{
+ 		struct tcphdr th;
+-		uint8_t payload[plen - sizeof (struct tcphdr)];
++		uint8_t *payload;
+ 	} packet;
+ 
+ 	memset (&packet, 0, sizeof (packet));
++	packet.payload = malloc(plen - sizeof (struct tcphdr));
+ 	packet.th.th_sport = sport;
+ 	packet.th.th_dport = port;
+ 	packet.th.th_seq = htonl ((ttl << 24) | (n << 16) | (uint16_t)getpid ());
+@@ -65,7 +66,9 @@ send_syn_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port)
+ 	packet.th.th_flags = TH_SYN | (ecn ? (TH_ECE | TH_CWR) : 0);
+ 	packet.th.th_win = htons (TCP_WINDOW);
+ 
+-	return send_payload (fd, &packet, plen, ttl);
++	ssize_t ret = send_payload (fd, &packet, plen, ttl);
++	free(packet.payload);
++	return ret;
+ }
+ 
+ 
+@@ -131,10 +134,11 @@ send_ack_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port)
+ 	struct
+ 	{
+ 		struct tcphdr th;
+-		uint8_t payload[plen - sizeof (struct tcphdr)];
++		uint8_t *payload;
+ 	} packet;
+ 
+ 	memset (&packet, 0, sizeof (packet));
++	packet.payload = malloc(plen - sizeof (struct tcphdr));
+ 	packet.th.th_sport = sport;
+ 	packet.th.th_dport = port;
+ 	packet.th.th_ack = htonl ((ttl << 24) | (n << 16) | (uint16_t)getpid ());
+@@ -142,7 +146,9 @@ send_ack_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port)
+ 	packet.th.th_flags = TH_ACK;
+ 	packet.th.th_win = htons (TCP_WINDOW);
+ 
+-	return send_payload (fd, &packet, plen, ttl);
++	ssize_t ret = send_payload (fd, &packet, plen, ttl);
++	free(packet.payload);
++	return ret;
+ }
+ 
+ 
+diff --git a/src/trace-udp.c b/src/trace-udp.c
+index 4adde6b..a6cbb07 100644
+--- a/src/trace-udp.c
++++ b/src/trace-udp.c
+@@ -46,9 +46,10 @@ send_udp_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port)
+ 	struct
+ 	{
+ 		struct udphdr uh;
+-		uint8_t payload[plen - sizeof (struct udphdr)];
++		uint8_t *payload;
+ 	} packet;
+ 	memset (&packet, 0, plen);
++	packet.payload = malloc(plen - sizeof (struct udphdr));
+ 
+ 	(void)n;
+ 	packet.uh.uh_sport = sport;
+@@ -61,7 +62,9 @@ send_udp_probe (int fd, unsigned ttl, unsigned n, size_t plen, uint16_t port)
+ 	/*if (plen > sizeof (struct udphdr))
+ 		packet.payload[0] = (uint8_t)ttl;*/
+ 
+-	return send_payload (fd, &packet, plen, ttl);
++	ssize_t ret = send_payload (fd, &packet, plen, ttl);
++	free(packet.payload);
++	return ret;
+ }
+ 
+ 
+-- 
+2.14.1
+
diff --git a/meta-networking/recipes-support/ndisc6/ndisc6/0002-Do-not-undef-_GNU_SOURCE.patch b/meta-networking/recipes-support/ndisc6/ndisc6/0002-Do-not-undef-_GNU_SOURCE.patch
new file mode 100644
index 000000000..3cc2ba80c
--- /dev/null
+++ b/meta-networking/recipes-support/ndisc6/ndisc6/0002-Do-not-undef-_GNU_SOURCE.patch
@@ -0,0 +1,30 @@
+From 2a50154fbce38fd36be7e14f5cd4a8b03c65c72f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 31 Aug 2017 11:15:37 -0700
+Subject: [PATCH 2/2] Do not undef _GNU_SOURCE
+
+There are functions from tcp.h which are under _GNU_SOURCE
+in musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/trace-tcp.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/trace-tcp.c b/src/trace-tcp.c
+index 62d22ff..380008e 100644
+--- a/src/trace-tcp.c
++++ b/src/trace-tcp.c
+@@ -21,7 +21,6 @@
+ # include <config.h>
+ #endif
+ 
+-#undef _GNU_SOURCE
+ #define _DEFAULT_SOURCE 1
+ 
+ #include <string.h>
+-- 
+2.14.1
+
diff --git a/meta-networking/recipes-support/ndisc6/ndisc6_1.0.3.bb b/meta-networking/recipes-support/ndisc6/ndisc6_git.bb
similarity index 87%
rename from meta-networking/recipes-support/ndisc6/ndisc6_1.0.3.bb
rename to meta-networking/recipes-support/ndisc6/ndisc6_git.bb
index 6bc0531b9..1ff2df731 100644
--- a/meta-networking/recipes-support/ndisc6/ndisc6_1.0.3.bb
+++ b/meta-networking/recipes-support/ndisc6/ndisc6_git.bb
@@ -10,15 +10,27 @@ RDEPENDS_${PN}-tcptraceroute6 = "${PN}-rltraceroute6"
 RDEPENDS_${PN}-tracert6 = "${PN}-rltraceroute6"
 RDEPENDS_${PN}-misc += "perl"
 
-SRC_URI = "http://www.remlab.net/files/ndisc6/ndisc6-${PV}.tar.bz2 \
-"
+PV = "1.0.4+git${SRCPV}"
+SRCREV = "4c794b5512d23c649def1f94a684225dcbb6ac3e"
+SRC_URI = "git://git.remlab.net/git/ndisc6.git \
+           file://0001-replace-VLAIS-with-malloc-free-pair.patch \
+           file://0002-Do-not-undef-_GNU_SOURCE.patch \
+           "
 SRC_URI[md5sum] = "21afdaa3a5a5c1ce50eb7f2b7d795989"
 SRC_URI[sha256sum] = "0f41d6caf5f2edc1a12924956ae8b1d372e3b426bd7b11eed7d38bc974eec821"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 
+S = "${WORKDIR}/git"
+
 inherit autotools gettext
 
+EXTRA_OECONF += "PERL=${USRBINPATH}/perl"
+
+do_configure_prepend() {
+    ${S}/autogen.sh
+}
+
 ALLOW_EMPTY_${PN} = "1"
 
 # Split into seperate packages since we normal don't want them all
@@ -49,11 +61,6 @@ or IPv4."
 DESCRITPION_${PN}-rdnssd       = "Daemon to autoconfigure the list of DNS \
 servers through slateless IPv6 autoconfiguration."
 
-# We do not run perl during the build, but only use it on the target.
-do_configure_prepend() {
-    export PERL="/usr/bin/perl"
-}
-
 do_install_append () {
     rm -rf ${D}${localstatedir}
     # Enable SUID bit for applications that need it
-- 
2.14.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [meta-networking][PATCH V2 2/4] ntop: Fix build with musl
  2017-08-31 23:26 [meta-networking][PATCH 1/4] ndisc6: Fix build with clang and update to latest on git Khem Raj
@ 2017-08-31 23:26 ` Khem Raj
  2017-08-31 23:26 ` [meta-networking][PATCH V2 3/4] netkit-rwho: " Khem Raj
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Khem Raj @ 2017-08-31 23:26 UTC (permalink / raw)
  To: openembedded-devel

move away from .inc file, when its included in single recipe
helps with devtool workflow too.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta-networking/recipes-support/ntop/ntop.inc      | 131 --------------------
 .../ntop/ntop/0001-nDPI-Include-sys-types.h.patch  |  26 ++++
 .../recipes-support/ntop/ntop/support-arm64.patch  |  28 -----
 meta-networking/recipes-support/ntop/ntop_5.0.1.bb | 135 ++++++++++++++++++++-
 4 files changed, 160 insertions(+), 160 deletions(-)
 delete mode 100644 meta-networking/recipes-support/ntop/ntop.inc
 create mode 100644 meta-networking/recipes-support/ntop/ntop/0001-nDPI-Include-sys-types.h.patch
 delete mode 100644 meta-networking/recipes-support/ntop/ntop/support-arm64.patch

diff --git a/meta-networking/recipes-support/ntop/ntop.inc b/meta-networking/recipes-support/ntop/ntop.inc
deleted file mode 100644
index b96433425..000000000
--- a/meta-networking/recipes-support/ntop/ntop.inc
+++ /dev/null
@@ -1,131 +0,0 @@
-SUMMARY = "ntop is network top"
-DESCRIPTION = "ntop is a network traffic probe that shows the network usage, \
-similar to what the popular top Unix command does."
-
-SECTION = "console/network"
-
-LICENSE = "GPLv2+ & GPLv3 & OpenSSL"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
-                    file://LICENSE-OpenSSL.txt;md5=a409f902e447ddd889cffa0c70e7c7c2 \
-                   "
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/ntop/ntop-${PV}.tar.gz \
-           file://ntop_configure_in.patch \
-           file://ntop_init.patch \
-           file://ntop_webInterface.patch \
-           file://ntop_configure_in_net_snmp_config_exist.patch \
-           file://ntop.service \
-           file://use-static-inline.patch \
-           file://support-arm64.patch \
-          "
-
-inherit autotools-brokensep useradd pythonnative pkgconfig systemd
-
-DEPENDS = "geoip rrdtool python zlib libpcap gdbm"
-
-PACKAGECONFIG ??= "openssl snmp plugins"
-PACKAGECONFIG[openssl] = "--with-ssl, --without-ssl, openssl, openssl"
-PACKAGECONFIG[snmp] = "--enable-snmp=yes NETSNMP=${STAGING_BINDIR_CROSS}/net-snmp-config, \
---disable-snmp,net-snmp,"
-PACKAGECONFIG[plugins] = "--enable-plugins=yes, --disable-plugins, ,"
-
-EXTRA_OECONF += "ac_cv_file_aclocal_m4=yes ac_cv_file_depcomp=no"
-
-do_configure() {
-    cp ${STAGING_DATADIR_NATIVE}/aclocal/libtool.m4 libtool.m4.in
-    cat acinclude.m4.in acinclude.m4.ntop libtool.m4.in > acinclude.m4
-    cp 3rd_party/* ./
-
-    # config nDPI
-    cd nDPI
-    ./configure ${CONFIGUREOPTS} --with-pic
-    cd ..
-
-    sed -i -e 's:^CFG_DBFILE_DIR=$localstatedir/ntop:CFG_DBFILE_DIR=$localstatedir/lib/ntop:' ${S}/configure.in
-
-    # fix the CFLAGS, CPPFLAGS, LDFLAGS, remove the host include
-    sed -i \
-        -e 's:\(^CFLAGS="\$.*\) -I/usr/local/include -I/opt/local/include":\1":' \
-        -e 's:\(^CPPFLAGS="\$.*\) -I/usr/local/include -I/opt/local/include":\1":' \
-        -e 's:\(^LDFLAGS="\$.*\) -L/usr/local/lib -L/opt/local/lib":\1":' \
-        ${S}/configure.in
-
-    # replace the DISTRO RELEASE in configure.in which are host's
-    # with our release, although those doesn't affect functionality
-    sed -i -e \
-        '/DEFINEOS="LINUX"/{N;s/DISTRO=.*/DISTRO="${DISTRO}"/;N;s/RELEASE=.*/RELEASE="${DISTRO_VERSION}"/;}' \
-        ${S}/configure.in
-
-    # osName in original configure.in should be ${TARGET_SYS}
-    # which will show in ntop's "show configuration"
-    sed -i -e \
-        's:^osName=.*:osName=${TARGET_SYS}:' \
-        ${S}/configure.in
-
-    # rename configureextra to configureextra_rename to avoid
-    # configure.in to guess host OS and pull in more configure, non needed
-    # which will cause some cross-compiling failure on specific host
-    # e.g. SUSE(SLED...)
-    test ! -f configureextra || mv -f configureextra configureextra_rename
-
-    # make sure configure finds python includdirs/libs with these envs
-    export BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
-        STAGING_INCDIR=${STAGING_INCDIR} \
-        STAGING_LIBDIR=${STAGING_LIBDIR}
-
-    autotools_do_configure
-}
-
-do_compile_prepend() {
-    cd nDPI
-    oe_runmake
-    cd ..
-}
-
-do_install_append() {
-    # remove the empty dirs
-    rm -rf ${D}${libdir}/plugins
-
-    install -D -m 0755 ${S}/packages/RedHat/ntop.init \
-        ${D}${sysconfdir}/init.d/ntop
-    install -D -m 0644 ${S}/packages/RedHat/ntop.conf.sample \
-        ${D}${sysconfdir}/ntop.conf
-
-    # change ntop dir in ntop.conf
-    # don't use the -P as the ntop.init didn't support it
-    sed -i -e "s:^--db-file-path /usr/share/ntop:--db-file-path /var/lib/ntop:" \
-        -e "s:^#? -P /var/ntop:#? -P /var/lib/ntop:" \
-        ${D}${sysconfdir}/ntop.conf
-
-    # For systemd
-    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
-        install -D -m 0755 ${S}/packages/RedHat/ntop.init ${D}${libexecdir}/ntop-helper
-        install -D -m 0644 ${WORKDIR}/ntop.service ${D}${systemd_system_unitdir}/ntop.service
-        sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' \
-            -e 's,@SYSCONFDIR@,${sysconfdir},g' \
-            ${D}${systemd_system_unitdir}/ntop.service
-    fi
-
-    # Fix host-user-contaminated issue
-    chown -R root:root ${D}
-
-    chown -R ntop.ntop ${D}${datadir}/ntop
-    chown -R ntop:ntop ${D}${localstatedir}/lib/ntop
-}
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "-M -g ntop -r -d ${localstatedir}/lib/ntop \
--s /usr/sbin/nologin -c 'ntop' ntop"
-GROUPADD_PARAM_${PN} = "-r ntop"
-
-SYSTEMD_SERVICE_${PN} = "ntop.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-FILES_${PN}_append = "${libdir}/ntop/plugins ${libdir}/libntop-*.so \
-                      ${libdir}/libntopreport-*.so ${libdir}/lib*-${PV}.so"
-FILES_${PN}-dev = "${includedir} ${libdir}/libntop.so \
-                   ${libdir}/libntopreport.so \
-                   ${libdir}/libnetflowPlugin.so ${libdir}/libsflowPlugin.so \
-                   ${libdir}/librrdPlugin.so \
-                   ${libdir}/*.a ${libdir}/libntopreport.a ${libdir}/*.la"
-
diff --git a/meta-networking/recipes-support/ntop/ntop/0001-nDPI-Include-sys-types.h.patch b/meta-networking/recipes-support/ntop/ntop/0001-nDPI-Include-sys-types.h.patch
new file mode 100644
index 000000000..81ffeec21
--- /dev/null
+++ b/meta-networking/recipes-support/ntop/ntop/0001-nDPI-Include-sys-types.h.patch
@@ -0,0 +1,26 @@
+From 6543f3e2d5fe214e2fc6c050289bf1ae73b18724 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 30 Aug 2017 13:56:24 -0700
+Subject: [PATCH] nDPI: Include sys/types.h
+
+Needed for uint_t types
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ nDPI/src/include/ipq_api.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+Index: ntop-5.0.1/nDPI/src/include/ipq_api.h
+===================================================================
+--- ntop-5.0.1.orig/nDPI/src/include/ipq_api.h
++++ ntop-5.0.1/nDPI/src/include/ipq_api.h
+@@ -24,6 +24,7 @@
+ #ifndef __IPOQUE_API_INCLUDE_FILE__
+ #define __IPOQUE_API_INCLUDE_FILE__
+ 
++#include <sys/types.h>
+ 
+ #if defined(HAVE_NTOP) && defined(WIN32)
+ #include <winsock2.h>
diff --git a/meta-networking/recipes-support/ntop/ntop/support-arm64.patch b/meta-networking/recipes-support/ntop/ntop/support-arm64.patch
deleted file mode 100644
index 0b1e8afbc..000000000
--- a/meta-networking/recipes-support/ntop/ntop/support-arm64.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Add support for arm64
-
-Upstream-Status: Inappropriate [no longer maintained]
-
-Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
-
-diff --git a/nDPI/config.sub.old b/nDPI/config.sub
-index c2d1257..e4347ac 100755
---- a/nDPI/config.sub.old
-+++ b/nDPI/config.sub
-@@ -249,7 +249,7 @@ case $basic_machine in
- 	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
- 	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- 	| am33_2.0 \
--	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
-+	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 | aarch64 \
- 	| bfin \
- 	| c4x | clipper \
- 	| d10v | d30v | dlx | dsp16xx \
-@@ -331,7 +331,7 @@ case $basic_machine in
- 	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
- 	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- 	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
--	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
-+	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* | aarch64-* \
- 	| avr-* | avr32-* \
- 	| bfin-* | bs2000-* \
- 	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
diff --git a/meta-networking/recipes-support/ntop/ntop_5.0.1.bb b/meta-networking/recipes-support/ntop/ntop_5.0.1.bb
index 77b5e436f..298fbec61 100644
--- a/meta-networking/recipes-support/ntop/ntop_5.0.1.bb
+++ b/meta-networking/recipes-support/ntop/ntop_5.0.1.bb
@@ -1,4 +1,137 @@
-include ntop.inc
+SUMMARY = "ntop is network top"
+DESCRIPTION = "ntop is a network traffic probe that shows the network usage, \
+similar to what the popular top Unix command does."
 
+SECTION = "console/network"
+
+LICENSE = "GPLv2+ & GPLv3 & OpenSSL"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+                    file://LICENSE-OpenSSL.txt;md5=a409f902e447ddd889cffa0c70e7c7c2 \
+                   "
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/ntop/ntop-${PV}.tar.gz \
+           file://ntop_configure_in.patch \
+           file://ntop_init.patch \
+           file://ntop_webInterface.patch \
+           file://ntop_configure_in_net_snmp_config_exist.patch \
+           file://ntop.service \
+           file://use-static-inline.patch \
+           file://0001-nDPI-Include-sys-types.h.patch \
+          "
 SRC_URI[md5sum] = "01710b6925a8a5ffe1a41b8b512ebd69"
 SRC_URI[sha256sum] = "7e8e84cb14d2173beaca4d4cb991a14d84a4bef84ec37b2276bc363f45c52ef8"
+
+inherit autotools-brokensep useradd pythonnative pkgconfig systemd
+
+DEPENDS = "geoip rrdtool python zlib libpcap gdbm"
+
+PACKAGECONFIG ??= "openssl snmp plugins"
+PACKAGECONFIG[openssl] = "--with-ssl, --without-ssl, openssl, openssl"
+PACKAGECONFIG[snmp] = "--enable-snmp=yes NETSNMP=${STAGING_BINDIR_CROSS}/net-snmp-config, \
+--disable-snmp,net-snmp,"
+PACKAGECONFIG[plugins] = "--enable-plugins=yes, --disable-plugins, ,"
+
+EXTRA_OECONF += "ac_cv_file_aclocal_m4=yes ac_cv_file_depcomp=no"
+
+do_configure() {
+    cp ${STAGING_DATADIR_NATIVE}/aclocal/libtool.m4 libtool.m4.in
+    install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
+    install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
+    install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/nDPI
+    install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/nDPI
+    cat acinclude.m4.in acinclude.m4.ntop libtool.m4.in > acinclude.m4
+    cp 3rd_party/* ./
+
+    # config nDPI
+    cd nDPI
+    ./configure ${CONFIGUREOPTS} --with-pic
+    cd ..
+
+    sed -i -e 's:^CFG_DBFILE_DIR=$localstatedir/ntop:CFG_DBFILE_DIR=$localstatedir/lib/ntop:' ${S}/configure.in
+
+    # fix the CFLAGS, CPPFLAGS, LDFLAGS, remove the host include
+    sed -i \
+        -e 's:\(^CFLAGS="\$.*\) -I/usr/local/include -I/opt/local/include":\1":' \
+        -e 's:\(^CPPFLAGS="\$.*\) -I/usr/local/include -I/opt/local/include":\1":' \
+        -e 's:\(^LDFLAGS="\$.*\) -L/usr/local/lib -L/opt/local/lib":\1":' \
+        ${S}/configure.in
+
+    # replace the DISTRO RELEASE in configure.in which are host's
+    # with our release, although those doesn't affect functionality
+    sed -i -e \
+        '/DEFINEOS="LINUX"/{N;s/DISTRO=.*/DISTRO="${DISTRO}"/;N;s/RELEASE=.*/RELEASE="${DISTRO_VERSION}"/;}' \
+        ${S}/configure.in
+
+    # osName in original configure.in should be ${TARGET_SYS}
+    # which will show in ntop's "show configuration"
+    sed -i -e \
+        's:^osName=.*:osName=${TARGET_SYS}:' \
+        ${S}/configure.in
+
+    # rename configureextra to configureextra_rename to avoid
+    # configure.in to guess host OS and pull in more configure, non needed
+    # which will cause some cross-compiling failure on specific host
+    # e.g. SUSE(SLED...)
+    test ! -f configureextra || mv -f configureextra configureextra_rename
+
+    # make sure configure finds python includdirs/libs with these envs
+    export BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
+        STAGING_INCDIR=${STAGING_INCDIR} \
+        STAGING_LIBDIR=${STAGING_LIBDIR}
+
+    autotools_do_configure
+}
+
+do_compile_prepend() {
+    cd nDPI
+    oe_runmake
+    cd ..
+}
+
+do_install_append() {
+    # remove the empty dirs
+    rm -rf ${D}${libdir}/plugins
+
+    install -D -m 0755 ${S}/packages/RedHat/ntop.init \
+        ${D}${sysconfdir}/init.d/ntop
+    install -D -m 0644 ${S}/packages/RedHat/ntop.conf.sample \
+        ${D}${sysconfdir}/ntop.conf
+
+    # change ntop dir in ntop.conf
+    # don't use the -P as the ntop.init didn't support it
+    sed -i -e "s:^--db-file-path /usr/share/ntop:--db-file-path /var/lib/ntop:" \
+        -e "s:^#? -P /var/ntop:#? -P /var/lib/ntop:" \
+        ${D}${sysconfdir}/ntop.conf
+
+    # For systemd
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+        install -D -m 0755 ${S}/packages/RedHat/ntop.init ${D}${libexecdir}/ntop-helper
+        install -D -m 0644 ${WORKDIR}/ntop.service ${D}${systemd_system_unitdir}/ntop.service
+        sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' \
+            -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+            ${D}${systemd_system_unitdir}/ntop.service
+    fi
+
+    # Fix host-user-contaminated issue
+    chown -R root:root ${D}
+
+    chown -R ntop.ntop ${D}${datadir}/ntop
+    chown -R ntop:ntop ${D}${localstatedir}/lib/ntop
+}
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "-M -g ntop -r -d ${localstatedir}/lib/ntop \
+-s /usr/sbin/nologin -c 'ntop' ntop"
+GROUPADD_PARAM_${PN} = "-r ntop"
+
+SYSTEMD_SERVICE_${PN} = "ntop.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+FILES_${PN}_append = "${libdir}/ntop/plugins ${libdir}/libntop-*.so \
+                      ${libdir}/libntopreport-*.so ${libdir}/lib*-${PV}.so"
+FILES_${PN}-dev = "${includedir} ${libdir}/libntop.so \
+                   ${libdir}/libntopreport.so \
+                   ${libdir}/libnetflowPlugin.so ${libdir}/libsflowPlugin.so \
+                   ${libdir}/librrdPlugin.so \
+                   ${libdir}/*.a ${libdir}/libntopreport.a ${libdir}/*.la"
+
-- 
2.14.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [meta-networking][PATCH V2 3/4] netkit-rwho: Fix build with musl
  2017-08-31 23:26 [meta-networking][PATCH 1/4] ndisc6: Fix build with clang and update to latest on git Khem Raj
  2017-08-31 23:26 ` [meta-networking][PATCH V2 2/4] ntop: Fix build with musl Khem Raj
@ 2017-08-31 23:26 ` Khem Raj
  2017-08-31 23:26 ` [meta-networking][PATCH V2 4/4] netkit-tftp: " Khem Raj
  2017-09-04 13:32 ` [meta-networking][PATCH 1/4] ndisc6: Fix build with clang and update to latest on git Martin Jansa
  3 siblings, 0 replies; 6+ messages in thread
From: Khem Raj @ 2017-08-31 23:26 UTC (permalink / raw)
  To: openembedded-devel

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...001-Add-missing-include-path-to-I-options.patch | 46 ++++++++++++++
 .../0002-Fix-build-issues-found-with-musl.patch    | 71 ++++++++++++++++++++++
 .../recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb |  4 +-
 3 files changed, 120 insertions(+), 1 deletion(-)
 create mode 100644 meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0001-Add-missing-include-path-to-I-options.patch
 create mode 100644 meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0002-Fix-build-issues-found-with-musl.patch

diff --git a/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0001-Add-missing-include-path-to-I-options.patch b/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0001-Add-missing-include-path-to-I-options.patch
new file mode 100644
index 000000000..b1325b317
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0001-Add-missing-include-path-to-I-options.patch
@@ -0,0 +1,46 @@
+From 55ab6f1389261edff5f4c942bc3b0d8e695856d7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 30 Aug 2017 18:11:33 -0700
+Subject: [PATCH 1/2] Add missing include path to -I options
+
+Fixes errors like
+| rwho.c:52:10: fatal error: 'protocols/rwhod.h' file not found
+| #include <protocols/rwhod.h>
+|          ^~~~~~~~~~~~~~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ rwho/Makefile  | 1 +
+ rwhod/Makefile | 2 ++
+ 2 files changed, 3 insertions(+)
+
+diff --git a/rwho/Makefile b/rwho/Makefile
+index 6f86388..67b28d4 100644
+--- a/rwho/Makefile
++++ b/rwho/Makefile
+@@ -6,6 +6,7 @@ include ../MRULES
+ rwho: rwho.o
+ 	$(CC) $(LDFLAGS) $^ $(LIBS) -o $@
+ 
++CFLAGS += -I../include
+ rwho.o: ../version.h
+ 
+ install: rwho
+diff --git a/rwhod/Makefile b/rwhod/Makefile
+index 772b641..9034218 100644
+--- a/rwhod/Makefile
++++ b/rwhod/Makefile
+@@ -7,6 +7,8 @@ ifneq ($(USE_GLIBC),1)
+ CFLAGS += -D_GNU_SOURCE
+ endif
+ 
++CFLAGS += -I../include
++
+ OBJS = rwhod.o
+ 
+ rwhod: $(OBJS)
+-- 
+2.14.1
+
diff --git a/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0002-Fix-build-issues-found-with-musl.patch b/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0002-Fix-build-issues-found-with-musl.patch
new file mode 100644
index 000000000..717b4d73f
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho/0002-Fix-build-issues-found-with-musl.patch
@@ -0,0 +1,71 @@
+From 2108213242638fa355f662382f55495d91301858 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 30 Aug 2017 18:13:17 -0700
+Subject: [PATCH 2/2] Fix build issues found with musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ ruptime/ruptime.c | 1 +
+ rwho/rwho.c       | 1 +
+ rwhod/rwhod.c     | 5 +++--
+ 3 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/ruptime/ruptime.c b/ruptime/ruptime.c
+index 1d4f7b6..f1f043c 100644
+--- a/ruptime/ruptime.c
++++ b/ruptime/ruptime.c
+@@ -53,6 +53,7 @@ char ruptime_rcsid[] =
+ #include <string.h>
+ #include <errno.h>
+ #include <time.h>
++#include <fcntl.h>
+ 
+ struct hs {
+ 	char	hs_hostname[MAXHOSTNAMELEN];
+diff --git a/rwho/rwho.c b/rwho/rwho.c
+index 63919ac..71aec9e 100644
+--- a/rwho/rwho.c
++++ b/rwho/rwho.c
+@@ -49,6 +49,7 @@ char rcsid[] = "$Id: rwho.c,v 1.7 1999/08/01 20:44:18 dholland Exp $";
+ #include <assert.h>
+ #include <stdio.h>
+ #include <time.h>
++#include <fcntl.h>
+ #include <protocols/rwhod.h>
+ 
+ #include "../version.h"
+diff --git a/rwhod/rwhod.c b/rwhod/rwhod.c
+index 54498d0..40cabcf 100644
+--- a/rwhod/rwhod.c
++++ b/rwhod/rwhod.c
+@@ -76,6 +76,7 @@ char rcsid[] =
+ #include <grp.h>
+ #include <time.h>
+ #include <stdint.h>
++#include <fcntl.h>
+ 
+ #include "../version.h"
+ 
+@@ -102,7 +103,7 @@ struct	nlist nl[] = {
+ static void	broadcaster(void);
+ static int	configure(int s);
+ static int	verify(const char *name);
+-#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 2)
++#if defined(__GLIBC__) &&  (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 2))
+ static int	getloadavg(double ptr[3], int n);
+ #endif
+ 
+@@ -549,7 +550,7 @@ sendpacket(struct whod *wd)
+ 	}
+ }
+ 
+-#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 2)
++#if defined(__GLIBC__) && (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 2))
+ /*
+  * Taken from:
+  *
+-- 
+2.14.1
+
diff --git a/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb b/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb
index 04baa4286..5685f03d6 100644
--- a/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb
+++ b/meta-networking/recipes-netkit/netkit-rwho/netkit-rwho_0.17.bb
@@ -8,7 +8,9 @@ SRC_URI = "${DEBIAN_MIRROR}/main/n/netkit-rwho/netkit-rwho_${PV}.orig.tar.gz;nam
            ${DEBIAN_MIRROR}/main/n/netkit-rwho/netkit-rwho_${PV}-13.debian.tar.gz;name=patch13 \
            file://rwhod \
            file://rwhod.default \
-"
+           file://0001-Add-missing-include-path-to-I-options.patch \
+           file://0002-Fix-build-issues-found-with-musl.patch \
+           "
 SRC_URI[archive.md5sum] = "0f71620d45d472f89134ba0d74242e75"
 SRC_URI[archive.sha256sum] = "0409e2ce4bfdb2dacb2c193d0fedfc49bb975cb057c5c6b0ffcca603a1188da7"
 SRC_URI[patch13.md5sum] = "82ed5a3c6b0bbf00b36508b9787963b9"
-- 
2.14.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [meta-networking][PATCH V2 4/4] netkit-tftp: Fix build with musl
  2017-08-31 23:26 [meta-networking][PATCH 1/4] ndisc6: Fix build with clang and update to latest on git Khem Raj
  2017-08-31 23:26 ` [meta-networking][PATCH V2 2/4] ntop: Fix build with musl Khem Raj
  2017-08-31 23:26 ` [meta-networking][PATCH V2 3/4] netkit-rwho: " Khem Raj
@ 2017-08-31 23:26 ` Khem Raj
  2017-09-04 13:32 ` [meta-networking][PATCH 1/4] ndisc6: Fix build with clang and update to latest on git Martin Jansa
  3 siblings, 0 replies; 6+ messages in thread
From: Khem Raj @ 2017-08-31 23:26 UTC (permalink / raw)
  To: openembedded-devel

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../0001-tftp-Include-missing-fcntl.h.patch        | 27 ++++++++++++++++++++++
 .../recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb |  7 +++---
 2 files changed, 31 insertions(+), 3 deletions(-)
 create mode 100644 meta-networking/recipes-netkit/netkit-tftp/netkit-tftp/0001-tftp-Include-missing-fcntl.h.patch

diff --git a/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp/0001-tftp-Include-missing-fcntl.h.patch b/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp/0001-tftp-Include-missing-fcntl.h.patch
new file mode 100644
index 000000000..78936907f
--- /dev/null
+++ b/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp/0001-tftp-Include-missing-fcntl.h.patch
@@ -0,0 +1,27 @@
+From fa57e161fc953264a75d50a787cb83983e60acc7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 30 Aug 2017 18:30:02 -0700
+Subject: [PATCH] tftp: Include missing fcntl.h
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ tftp/main.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tftp/main.c b/tftp/main.c
+index 8c54843..5c9b698 100644
+--- a/tftp/main.c
++++ b/tftp/main.c
+@@ -63,6 +63,7 @@ char main_rcsid[] =
+ #include <ctype.h>
+ #include <netdb.h>
+ #include <unistd.h>
++#include <fcntl.h>
+ 
+ #include "tftpsubs.h"  /* for mysignal() */
+ 
+-- 
+2.14.1
+
diff --git a/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb b/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb
index 67a541d25..92c13e850 100644
--- a/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb
+++ b/meta-networking/recipes-netkit/netkit-tftp/netkit-tftp_0.17.bb
@@ -6,9 +6,10 @@ DEPENDS = "tcp-wrappers"
 LIC_FILES_CHKSUM = "file://tftp/tftp.c;beginline=2;endline=3;md5=84d2cfe1e60863a7d82648734ba4d30c"
 
 SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.orig.tar.gz;name=archive \
-    ${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}-18.diff.gz;name=patch18 \
-    file://tftp.conf \
-"
+           ${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}-18.diff.gz;name=patch18 \
+           file://tftp.conf \
+           file://0001-tftp-Include-missing-fcntl.h.patch \
+           "
 
 SRC_URI[archive.md5sum] = "b7262c798e2ff50e29c2ff50dfd8d6a8"
 SRC_URI[archive.sha256sum] = "3a43c0010d4e61f412563fd83769d4667d8b8e82903526d21cb9205fe55ad14d"
-- 
2.14.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [meta-networking][PATCH 1/4] ndisc6: Fix build with clang and update to latest on git
  2017-08-31 23:26 [meta-networking][PATCH 1/4] ndisc6: Fix build with clang and update to latest on git Khem Raj
                   ` (2 preceding siblings ...)
  2017-08-31 23:26 ` [meta-networking][PATCH V2 4/4] netkit-tftp: " Khem Raj
@ 2017-09-04 13:32 ` Martin Jansa
  2017-09-04 17:35   ` Khem Raj
  3 siblings, 1 reply; 6+ messages in thread
From: Martin Jansa @ 2017-09-04 13:32 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembedded-devel

The git server seems to be down here.
http://errors.yoctoproject.org/Errors/Details/155044/

and you can also drop the SRC_URI checksums now when it is using git
fetcher.

On Fri, Sep 1, 2017 at 1:26 AM, Khem Raj <raj.khem@gmail.com> wrote:

> Change recipe to git
> Pass PERL variable to configure
> Add patches to fix VLAIS
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  .../0001-replace-VLAIS-with-malloc-free-pair.patch | 124
> +++++++++++++++++++++
>  .../ndisc6/0002-Do-not-undef-_GNU_SOURCE.patch     |  30 +++++
>  .../ndisc6/{ndisc6_1.0.3.bb => ndisc6_git.bb}      |  21 ++--
>  3 files changed, 168 insertions(+), 7 deletions(-)
>  create mode 100644 meta-networking/recipes-support/ndisc6/ndisc6/0001-
> replace-VLAIS-with-malloc-free-pair.patch
>  create mode 100644 meta-networking/recipes-support/ndisc6/ndisc6/0002-Do-
> not-undef-_GNU_SOURCE.patch
>  rename meta-networking/recipes-support/ndisc6/{ndisc6_1.0.3.bb =>
> ndisc6_git.bb} (87%)
>
> diff --git a/meta-networking/recipes-support/ndisc6/ndisc6/0001-
> replace-VLAIS-with-malloc-free-pair.patch b/meta-networking/recipes-
> support/ndisc6/ndisc6/0001-replace-VLAIS-with-malloc-free-pair.patch
> new file mode 100644
> index 000000000..dc58b5b79
> --- /dev/null
> +++ b/meta-networking/recipes-support/ndisc6/ndisc6/0001-
> replace-VLAIS-with-malloc-free-pair.patch
> @@ -0,0 +1,124 @@
> +From 3a7d5396e633e6c02a4583be7faf3d79d0d33748 Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem@gmail.com>
> +Date: Thu, 31 Aug 2017 11:14:41 -0700
> +Subject: [PATCH 1/2] replace VLAIS with malloc/free pair
> +
> +Makes it compatible with non-gnu compilers
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +---
> +Upstream-Status: Pending
> +
> + src/trace-icmp.c |  7 +++++--
> + src/trace-tcp.c  | 14 ++++++++++----
> + src/trace-udp.c  |  7 +++++--
> + 3 files changed, 20 insertions(+), 8 deletions(-)
> +
> +diff --git a/src/trace-icmp.c b/src/trace-icmp.c
> +index 842938e..c76cb54 100644
> +--- a/src/trace-icmp.c
> ++++ b/src/trace-icmp.c
> +@@ -43,16 +43,19 @@ send_echo_probe (int fd, unsigned ttl, unsigned n,
> size_t plen, uint16_t port)
> +       struct
> +       {
> +               struct icmp6_hdr ih;
> +-              uint8_t payload[plen - sizeof (struct icmp6_hdr)];
> ++              uint8_t *payload;
> +       } packet;
> +       memset (&packet, 0, plen);
> ++      packet.payload = malloc(plen - sizeof (struct icmp6_hdr));
> +
> +       packet.ih.icmp6_type = ICMP6_ECHO_REQUEST;
> +       packet.ih.icmp6_id = htons (getpid ());
> +       packet.ih.icmp6_seq = htons ((ttl << 8) | (n & 0xff));
> +       (void)port;
> +
> +-      return send_payload (fd, &packet.ih, plen, ttl);
> ++      ssize_t ret = send_payload (fd, &packet.ih, plen, ttl);
> ++      free(packet.payload);
> ++      return ret;
> + }
> +
> +
> +diff --git a/src/trace-tcp.c b/src/trace-tcp.c
> +index 940f918..62d22ff 100644
> +--- a/src/trace-tcp.c
> ++++ b/src/trace-tcp.c
> +@@ -54,10 +54,11 @@ send_syn_probe (int fd, unsigned ttl, unsigned n,
> size_t plen, uint16_t port)
> +       struct
> +       {
> +               struct tcphdr th;
> +-              uint8_t payload[plen - sizeof (struct tcphdr)];
> ++              uint8_t *payload;
> +       } packet;
> +
> +       memset (&packet, 0, sizeof (packet));
> ++      packet.payload = malloc(plen - sizeof (struct tcphdr));
> +       packet.th.th_sport = sport;
> +       packet.th.th_dport = port;
> +       packet.th.th_seq = htonl ((ttl << 24) | (n << 16) |
> (uint16_t)getpid ());
> +@@ -65,7 +66,9 @@ send_syn_probe (int fd, unsigned ttl, unsigned n,
> size_t plen, uint16_t port)
> +       packet.th.th_flags = TH_SYN | (ecn ? (TH_ECE | TH_CWR) : 0);
> +       packet.th.th_win = htons (TCP_WINDOW);
> +
> +-      return send_payload (fd, &packet, plen, ttl);
> ++      ssize_t ret = send_payload (fd, &packet, plen, ttl);
> ++      free(packet.payload);
> ++      return ret;
> + }
> +
> +
> +@@ -131,10 +134,11 @@ send_ack_probe (int fd, unsigned ttl, unsigned n,
> size_t plen, uint16_t port)
> +       struct
> +       {
> +               struct tcphdr th;
> +-              uint8_t payload[plen - sizeof (struct tcphdr)];
> ++              uint8_t *payload;
> +       } packet;
> +
> +       memset (&packet, 0, sizeof (packet));
> ++      packet.payload = malloc(plen - sizeof (struct tcphdr));
> +       packet.th.th_sport = sport;
> +       packet.th.th_dport = port;
> +       packet.th.th_ack = htonl ((ttl << 24) | (n << 16) |
> (uint16_t)getpid ());
> +@@ -142,7 +146,9 @@ send_ack_probe (int fd, unsigned ttl, unsigned n,
> size_t plen, uint16_t port)
> +       packet.th.th_flags = TH_ACK;
> +       packet.th.th_win = htons (TCP_WINDOW);
> +
> +-      return send_payload (fd, &packet, plen, ttl);
> ++      ssize_t ret = send_payload (fd, &packet, plen, ttl);
> ++      free(packet.payload);
> ++      return ret;
> + }
> +
> +
> +diff --git a/src/trace-udp.c b/src/trace-udp.c
> +index 4adde6b..a6cbb07 100644
> +--- a/src/trace-udp.c
> ++++ b/src/trace-udp.c
> +@@ -46,9 +46,10 @@ send_udp_probe (int fd, unsigned ttl, unsigned n,
> size_t plen, uint16_t port)
> +       struct
> +       {
> +               struct udphdr uh;
> +-              uint8_t payload[plen - sizeof (struct udphdr)];
> ++              uint8_t *payload;
> +       } packet;
> +       memset (&packet, 0, plen);
> ++      packet.payload = malloc(plen - sizeof (struct udphdr));
> +
> +       (void)n;
> +       packet.uh.uh_sport = sport;
> +@@ -61,7 +62,9 @@ send_udp_probe (int fd, unsigned ttl, unsigned n,
> size_t plen, uint16_t port)
> +       /*if (plen > sizeof (struct udphdr))
> +               packet.payload[0] = (uint8_t)ttl;*/
> +
> +-      return send_payload (fd, &packet, plen, ttl);
> ++      ssize_t ret = send_payload (fd, &packet, plen, ttl);
> ++      free(packet.payload);
> ++      return ret;
> + }
> +
> +
> +--
> +2.14.1
> +
> diff --git a/meta-networking/recipes-support/ndisc6/ndisc6/0002-Do-not-undef-_GNU_SOURCE.patch
> b/meta-networking/recipes-support/ndisc6/ndisc6/0002-Do-
> not-undef-_GNU_SOURCE.patch
> new file mode 100644
> index 000000000..3cc2ba80c
> --- /dev/null
> +++ b/meta-networking/recipes-support/ndisc6/ndisc6/0002-Do-
> not-undef-_GNU_SOURCE.patch
> @@ -0,0 +1,30 @@
> +From 2a50154fbce38fd36be7e14f5cd4a8b03c65c72f Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem@gmail.com>
> +Date: Thu, 31 Aug 2017 11:15:37 -0700
> +Subject: [PATCH 2/2] Do not undef _GNU_SOURCE
> +
> +There are functions from tcp.h which are under _GNU_SOURCE
> +in musl
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +---
> +Upstream-Status: Pending
> +
> + src/trace-tcp.c | 1 -
> + 1 file changed, 1 deletion(-)
> +
> +diff --git a/src/trace-tcp.c b/src/trace-tcp.c
> +index 62d22ff..380008e 100644
> +--- a/src/trace-tcp.c
> ++++ b/src/trace-tcp.c
> +@@ -21,7 +21,6 @@
> + # include <config.h>
> + #endif
> +
> +-#undef _GNU_SOURCE
> + #define _DEFAULT_SOURCE 1
> +
> + #include <string.h>
> +--
> +2.14.1
> +
> diff --git a/meta-networking/recipes-support/ndisc6/ndisc6_1.0.3.bb
> b/meta-networking/recipes-support/ndisc6/ndisc6_git.bb
> similarity index 87%
> rename from meta-networking/recipes-support/ndisc6/ndisc6_1.0.3.bb
> rename to meta-networking/recipes-support/ndisc6/ndisc6_git.bb
> index 6bc0531b9..1ff2df731 100644
> --- a/meta-networking/recipes-support/ndisc6/ndisc6_1.0.3.bb
> +++ b/meta-networking/recipes-support/ndisc6/ndisc6_git.bb
> @@ -10,15 +10,27 @@ RDEPENDS_${PN}-tcptraceroute6 = "${PN}-rltraceroute6"
>  RDEPENDS_${PN}-tracert6 = "${PN}-rltraceroute6"
>  RDEPENDS_${PN}-misc += "perl"
>
> -SRC_URI = "http://www.remlab.net/files/ndisc6/ndisc6-${PV}.tar.bz2 \
> -"
> +PV = "1.0.4+git${SRCPV}"
> +SRCREV = "4c794b5512d23c649def1f94a684225dcbb6ac3e"
> +SRC_URI = "git://git.remlab.net/git/ndisc6.git \
> +           file://0001-replace-VLAIS-with-malloc-free-pair.patch \
> +           file://0002-Do-not-undef-_GNU_SOURCE.patch \
> +           "
>  SRC_URI[md5sum] = "21afdaa3a5a5c1ce50eb7f2b7d795989"
>  SRC_URI[sha256sum] = "0f41d6caf5f2edc1a12924956ae8b1
> d372e3b426bd7b11eed7d38bc974eec821"
>
>  LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
>
> +S = "${WORKDIR}/git"
> +
>  inherit autotools gettext
>
> +EXTRA_OECONF += "PERL=${USRBINPATH}/perl"
> +
> +do_configure_prepend() {
> +    ${S}/autogen.sh
> +}
> +
>  ALLOW_EMPTY_${PN} = "1"
>
>  # Split into seperate packages since we normal don't want them all
> @@ -49,11 +61,6 @@ or IPv4."
>  DESCRITPION_${PN}-rdnssd       = "Daemon to autoconfigure the list of DNS
> \
>  servers through slateless IPv6 autoconfiguration."
>
> -# We do not run perl during the build, but only use it on the target.
> -do_configure_prepend() {
> -    export PERL="/usr/bin/perl"
> -}
> -
>  do_install_append () {
>      rm -rf ${D}${localstatedir}
>      # Enable SUID bit for applications that need it
> --
> 2.14.1
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [meta-networking][PATCH 1/4] ndisc6: Fix build with clang and update to latest on git
  2017-09-04 13:32 ` [meta-networking][PATCH 1/4] ndisc6: Fix build with clang and update to latest on git Martin Jansa
@ 2017-09-04 17:35   ` Khem Raj
  0 siblings, 0 replies; 6+ messages in thread
From: Khem Raj @ 2017-09-04 17:35 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-devel

On Mon, Sep 4, 2017 at 6:32 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
> The git server seems to be down here.
> http://errors.yoctoproject.org/Errors/Details/155044/

yeah switching to http protocol helped.

>
> and you can also drop the SRC_URI checksums now when it is using git
> fetcher.

done in v2.

>
> On Fri, Sep 1, 2017 at 1:26 AM, Khem Raj <raj.khem@gmail.com> wrote:
>>
>> Change recipe to git
>> Pass PERL variable to configure
>> Add patches to fix VLAIS
>>
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ---
>>  .../0001-replace-VLAIS-with-malloc-free-pair.patch | 124
>> +++++++++++++++++++++
>>  .../ndisc6/0002-Do-not-undef-_GNU_SOURCE.patch     |  30 +++++
>>  .../ndisc6/{ndisc6_1.0.3.bb => ndisc6_git.bb}      |  21 ++--
>>  3 files changed, 168 insertions(+), 7 deletions(-)
>>  create mode 100644
>> meta-networking/recipes-support/ndisc6/ndisc6/0001-replace-VLAIS-with-malloc-free-pair.patch
>>  create mode 100644
>> meta-networking/recipes-support/ndisc6/ndisc6/0002-Do-not-undef-_GNU_SOURCE.patch
>>  rename meta-networking/recipes-support/ndisc6/{ndisc6_1.0.3.bb =>
>> ndisc6_git.bb} (87%)
>>
>> diff --git
>> a/meta-networking/recipes-support/ndisc6/ndisc6/0001-replace-VLAIS-with-malloc-free-pair.patch
>> b/meta-networking/recipes-support/ndisc6/ndisc6/0001-replace-VLAIS-with-malloc-free-pair.patch
>> new file mode 100644
>> index 000000000..dc58b5b79
>> --- /dev/null
>> +++
>> b/meta-networking/recipes-support/ndisc6/ndisc6/0001-replace-VLAIS-with-malloc-free-pair.patch
>> @@ -0,0 +1,124 @@
>> +From 3a7d5396e633e6c02a4583be7faf3d79d0d33748 Mon Sep 17 00:00:00 2001
>> +From: Khem Raj <raj.khem@gmail.com>
>> +Date: Thu, 31 Aug 2017 11:14:41 -0700
>> +Subject: [PATCH 1/2] replace VLAIS with malloc/free pair
>> +
>> +Makes it compatible with non-gnu compilers
>> +
>> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> +---
>> +Upstream-Status: Pending
>> +
>> + src/trace-icmp.c |  7 +++++--
>> + src/trace-tcp.c  | 14 ++++++++++----
>> + src/trace-udp.c  |  7 +++++--
>> + 3 files changed, 20 insertions(+), 8 deletions(-)
>> +
>> +diff --git a/src/trace-icmp.c b/src/trace-icmp.c
>> +index 842938e..c76cb54 100644
>> +--- a/src/trace-icmp.c
>> ++++ b/src/trace-icmp.c
>> +@@ -43,16 +43,19 @@ send_echo_probe (int fd, unsigned ttl, unsigned n,
>> size_t plen, uint16_t port)
>> +       struct
>> +       {
>> +               struct icmp6_hdr ih;
>> +-              uint8_t payload[plen - sizeof (struct icmp6_hdr)];
>> ++              uint8_t *payload;
>> +       } packet;
>> +       memset (&packet, 0, plen);
>> ++      packet.payload = malloc(plen - sizeof (struct icmp6_hdr));
>> +
>> +       packet.ih.icmp6_type = ICMP6_ECHO_REQUEST;
>> +       packet.ih.icmp6_id = htons (getpid ());
>> +       packet.ih.icmp6_seq = htons ((ttl << 8) | (n & 0xff));
>> +       (void)port;
>> +
>> +-      return send_payload (fd, &packet.ih, plen, ttl);
>> ++      ssize_t ret = send_payload (fd, &packet.ih, plen, ttl);
>> ++      free(packet.payload);
>> ++      return ret;
>> + }
>> +
>> +
>> +diff --git a/src/trace-tcp.c b/src/trace-tcp.c
>> +index 940f918..62d22ff 100644
>> +--- a/src/trace-tcp.c
>> ++++ b/src/trace-tcp.c
>> +@@ -54,10 +54,11 @@ send_syn_probe (int fd, unsigned ttl, unsigned n,
>> size_t plen, uint16_t port)
>> +       struct
>> +       {
>> +               struct tcphdr th;
>> +-              uint8_t payload[plen - sizeof (struct tcphdr)];
>> ++              uint8_t *payload;
>> +       } packet;
>> +
>> +       memset (&packet, 0, sizeof (packet));
>> ++      packet.payload = malloc(plen - sizeof (struct tcphdr));
>> +       packet.th.th_sport = sport;
>> +       packet.th.th_dport = port;
>> +       packet.th.th_seq = htonl ((ttl << 24) | (n << 16) |
>> (uint16_t)getpid ());
>> +@@ -65,7 +66,9 @@ send_syn_probe (int fd, unsigned ttl, unsigned n,
>> size_t plen, uint16_t port)
>> +       packet.th.th_flags = TH_SYN | (ecn ? (TH_ECE | TH_CWR) : 0);
>> +       packet.th.th_win = htons (TCP_WINDOW);
>> +
>> +-      return send_payload (fd, &packet, plen, ttl);
>> ++      ssize_t ret = send_payload (fd, &packet, plen, ttl);
>> ++      free(packet.payload);
>> ++      return ret;
>> + }
>> +
>> +
>> +@@ -131,10 +134,11 @@ send_ack_probe (int fd, unsigned ttl, unsigned n,
>> size_t plen, uint16_t port)
>> +       struct
>> +       {
>> +               struct tcphdr th;
>> +-              uint8_t payload[plen - sizeof (struct tcphdr)];
>> ++              uint8_t *payload;
>> +       } packet;
>> +
>> +       memset (&packet, 0, sizeof (packet));
>> ++      packet.payload = malloc(plen - sizeof (struct tcphdr));
>> +       packet.th.th_sport = sport;
>> +       packet.th.th_dport = port;
>> +       packet.th.th_ack = htonl ((ttl << 24) | (n << 16) |
>> (uint16_t)getpid ());
>> +@@ -142,7 +146,9 @@ send_ack_probe (int fd, unsigned ttl, unsigned n,
>> size_t plen, uint16_t port)
>> +       packet.th.th_flags = TH_ACK;
>> +       packet.th.th_win = htons (TCP_WINDOW);
>> +
>> +-      return send_payload (fd, &packet, plen, ttl);
>> ++      ssize_t ret = send_payload (fd, &packet, plen, ttl);
>> ++      free(packet.payload);
>> ++      return ret;
>> + }
>> +
>> +
>> +diff --git a/src/trace-udp.c b/src/trace-udp.c
>> +index 4adde6b..a6cbb07 100644
>> +--- a/src/trace-udp.c
>> ++++ b/src/trace-udp.c
>> +@@ -46,9 +46,10 @@ send_udp_probe (int fd, unsigned ttl, unsigned n,
>> size_t plen, uint16_t port)
>> +       struct
>> +       {
>> +               struct udphdr uh;
>> +-              uint8_t payload[plen - sizeof (struct udphdr)];
>> ++              uint8_t *payload;
>> +       } packet;
>> +       memset (&packet, 0, plen);
>> ++      packet.payload = malloc(plen - sizeof (struct udphdr));
>> +
>> +       (void)n;
>> +       packet.uh.uh_sport = sport;
>> +@@ -61,7 +62,9 @@ send_udp_probe (int fd, unsigned ttl, unsigned n,
>> size_t plen, uint16_t port)
>> +       /*if (plen > sizeof (struct udphdr))
>> +               packet.payload[0] = (uint8_t)ttl;*/
>> +
>> +-      return send_payload (fd, &packet, plen, ttl);
>> ++      ssize_t ret = send_payload (fd, &packet, plen, ttl);
>> ++      free(packet.payload);
>> ++      return ret;
>> + }
>> +
>> +
>> +--
>> +2.14.1
>> +
>> diff --git
>> a/meta-networking/recipes-support/ndisc6/ndisc6/0002-Do-not-undef-_GNU_SOURCE.patch
>> b/meta-networking/recipes-support/ndisc6/ndisc6/0002-Do-not-undef-_GNU_SOURCE.patch
>> new file mode 100644
>> index 000000000..3cc2ba80c
>> --- /dev/null
>> +++
>> b/meta-networking/recipes-support/ndisc6/ndisc6/0002-Do-not-undef-_GNU_SOURCE.patch
>> @@ -0,0 +1,30 @@
>> +From 2a50154fbce38fd36be7e14f5cd4a8b03c65c72f Mon Sep 17 00:00:00 2001
>> +From: Khem Raj <raj.khem@gmail.com>
>> +Date: Thu, 31 Aug 2017 11:15:37 -0700
>> +Subject: [PATCH 2/2] Do not undef _GNU_SOURCE
>> +
>> +There are functions from tcp.h which are under _GNU_SOURCE
>> +in musl
>> +
>> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> +---
>> +Upstream-Status: Pending
>> +
>> + src/trace-tcp.c | 1 -
>> + 1 file changed, 1 deletion(-)
>> +
>> +diff --git a/src/trace-tcp.c b/src/trace-tcp.c
>> +index 62d22ff..380008e 100644
>> +--- a/src/trace-tcp.c
>> ++++ b/src/trace-tcp.c
>> +@@ -21,7 +21,6 @@
>> + # include <config.h>
>> + #endif
>> +
>> +-#undef _GNU_SOURCE
>> + #define _DEFAULT_SOURCE 1
>> +
>> + #include <string.h>
>> +--
>> +2.14.1
>> +
>> diff --git a/meta-networking/recipes-support/ndisc6/ndisc6_1.0.3.bb
>> b/meta-networking/recipes-support/ndisc6/ndisc6_git.bb
>> similarity index 87%
>> rename from meta-networking/recipes-support/ndisc6/ndisc6_1.0.3.bb
>> rename to meta-networking/recipes-support/ndisc6/ndisc6_git.bb
>> index 6bc0531b9..1ff2df731 100644
>> --- a/meta-networking/recipes-support/ndisc6/ndisc6_1.0.3.bb
>> +++ b/meta-networking/recipes-support/ndisc6/ndisc6_git.bb
>> @@ -10,15 +10,27 @@ RDEPENDS_${PN}-tcptraceroute6 = "${PN}-rltraceroute6"
>>  RDEPENDS_${PN}-tracert6 = "${PN}-rltraceroute6"
>>  RDEPENDS_${PN}-misc += "perl"
>>
>> -SRC_URI = "http://www.remlab.net/files/ndisc6/ndisc6-${PV}.tar.bz2 \
>> -"
>> +PV = "1.0.4+git${SRCPV}"
>> +SRCREV = "4c794b5512d23c649def1f94a684225dcbb6ac3e"
>> +SRC_URI = "git://git.remlab.net/git/ndisc6.git \
>> +           file://0001-replace-VLAIS-with-malloc-free-pair.patch \
>> +           file://0002-Do-not-undef-_GNU_SOURCE.patch \
>> +           "
>>  SRC_URI[md5sum] = "21afdaa3a5a5c1ce50eb7f2b7d795989"
>>  SRC_URI[sha256sum] =
>> "0f41d6caf5f2edc1a12924956ae8b1d372e3b426bd7b11eed7d38bc974eec821"
>>
>>  LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
>>
>> +S = "${WORKDIR}/git"
>> +
>>  inherit autotools gettext
>>
>> +EXTRA_OECONF += "PERL=${USRBINPATH}/perl"
>> +
>> +do_configure_prepend() {
>> +    ${S}/autogen.sh
>> +}
>> +
>>  ALLOW_EMPTY_${PN} = "1"
>>
>>  # Split into seperate packages since we normal don't want them all
>> @@ -49,11 +61,6 @@ or IPv4."
>>  DESCRITPION_${PN}-rdnssd       = "Daemon to autoconfigure the list of DNS
>> \
>>  servers through slateless IPv6 autoconfiguration."
>>
>> -# We do not run perl during the build, but only use it on the target.
>> -do_configure_prepend() {
>> -    export PERL="/usr/bin/perl"
>> -}
>> -
>>  do_install_append () {
>>      rm -rf ${D}${localstatedir}
>>      # Enable SUID bit for applications that need it
>> --
>> 2.14.1
>>
>> --
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>
>


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-09-04 17:35 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-31 23:26 [meta-networking][PATCH 1/4] ndisc6: Fix build with clang and update to latest on git Khem Raj
2017-08-31 23:26 ` [meta-networking][PATCH V2 2/4] ntop: Fix build with musl Khem Raj
2017-08-31 23:26 ` [meta-networking][PATCH V2 3/4] netkit-rwho: " Khem Raj
2017-08-31 23:26 ` [meta-networking][PATCH V2 4/4] netkit-tftp: " Khem Raj
2017-09-04 13:32 ` [meta-networking][PATCH 1/4] ndisc6: Fix build with clang and update to latest on git Martin Jansa
2017-09-04 17:35   ` Khem Raj

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.