* [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.