All of lore.kernel.org
 help / color / mirror / Atom feed
From: Khem Raj <raj.khem@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: [meta-networking][PATCH 22/43] openl2tp: Fix build with musl
Date: Fri, 31 Mar 2017 09:42:26 -0700	[thread overview]
Message-ID: <20170331164247.5052-22-raj.khem@gmail.com> (raw)
In-Reply-To: <20170331164247.5052-1-raj.khem@gmail.com>

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../openl2tp/0001-Use-1-instead-of-WAIT_ANY.patch  | 29 +++++++++++++++++
 .../0001-l2tp_api-Included-needed-headers.patch    | 34 ++++++++++++++++++++
 ...02-cli-include-fcntl.h-for-O_CREAT-define.patch | 25 +++++++++++++++
 .../openl2tp/0002-user-ipv6-structures.patch       | 33 ++++++++++++++++++++
 ...fine-_GNU_SOURCE-for-getting-sighandler_t.patch | 35 +++++++++++++++++++++
 ...linux-kernel-headers-assumptions-on-glibc.patch | 36 ++++++++++++++++++++++
 .../recipes-protocols/openl2tp/openl2tp_1.8.bb     | 17 +++++++++-
 7 files changed, 208 insertions(+), 1 deletion(-)
 create mode 100644 meta-networking/recipes-protocols/openl2tp/openl2tp/0001-Use-1-instead-of-WAIT_ANY.patch
 create mode 100644 meta-networking/recipes-protocols/openl2tp/openl2tp/0001-l2tp_api-Included-needed-headers.patch
 create mode 100644 meta-networking/recipes-protocols/openl2tp/openl2tp/0002-cli-include-fcntl.h-for-O_CREAT-define.patch
 create mode 100644 meta-networking/recipes-protocols/openl2tp/openl2tp/0002-user-ipv6-structures.patch
 create mode 100644 meta-networking/recipes-protocols/openl2tp/openl2tp/0003-cli-Define-_GNU_SOURCE-for-getting-sighandler_t.patch
 create mode 100644 meta-networking/recipes-protocols/openl2tp/openl2tp/0004-Adjust-for-linux-kernel-headers-assumptions-on-glibc.patch

diff --git a/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-Use-1-instead-of-WAIT_ANY.patch b/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-Use-1-instead-of-WAIT_ANY.patch
new file mode 100644
index 000000000..d1ee3c591
--- /dev/null
+++ b/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-Use-1-instead-of-WAIT_ANY.patch
@@ -0,0 +1,29 @@
+From 1f8d336a5cd88b87e15596d05980f6fe77a0f226 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Mar 2017 11:28:41 -0700
+Subject: [PATCH 1/4] Use -1 instead of WAIT_ANY
+
+WAIT_ANY is not supported by POSIX and some C libraries
+e.g. musl do not define this.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ usl/usl_pid.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/usl/usl_pid.c b/usl/usl_pid.c
+index 103458b..9819473 100644
+--- a/usl/usl_pid.c
++++ b/usl/usl_pid.c
+@@ -78,7 +78,7 @@ int usl_pid_reap_children(int waitfor)
+ 
+ 	/* Wait for processes in our process group. */
+ 
+-	while (((pid = waitpid(WAIT_ANY, &status, (waitfor ? 0: WNOHANG))) != -1) && (pid != 0)) {
++	while (((pid = waitpid(-1, &status, (waitfor ? 0: WNOHANG))) != -1) && (pid != 0)) {
+ 		have_callback = 0;
+ 		usl_list_for_each(walk, tmp, &usl_child_list) {
+ 			child = usl_list_entry(walk, struct usl_pid_child, list);
+-- 
+2.12.1
+
diff --git a/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-l2tp_api-Included-needed-headers.patch b/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-l2tp_api-Included-needed-headers.patch
new file mode 100644
index 000000000..c50f68e65
--- /dev/null
+++ b/meta-networking/recipes-protocols/openl2tp/openl2tp/0001-l2tp_api-Included-needed-headers.patch
@@ -0,0 +1,34 @@
+From 25dce20a75bc84ae9e4ec640590cef0c12750789 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Mar 2017 17:48:13 -0700
+Subject: [PATCH 1/2] l2tp_api: Included needed headers
+
+These are flagged by musl
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ l2tp_api.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/l2tp_api.c b/l2tp_api.c
+index d16f80e..9d6f60a 100644
+--- a/l2tp_api.c
++++ b/l2tp_api.c
+@@ -22,9 +22,12 @@
+  * Each module implements the required RPC xxx_1_svc() callbacks which
+  * are called directly by the RPC library.
+  */
+-
++#define _GNU_SOURCE
++#include <sys/types.h>
++#include <rpc/types.h>
++#include <rpc/xdr.h>
+ #include <rpc/pmap_clnt.h>
+-#include <net/ethernet.h>
++//#include <netinet/in.h>
+ 
+ #include "usl.h"
+ 
+-- 
+2.12.1
+
diff --git a/meta-networking/recipes-protocols/openl2tp/openl2tp/0002-cli-include-fcntl.h-for-O_CREAT-define.patch b/meta-networking/recipes-protocols/openl2tp/openl2tp/0002-cli-include-fcntl.h-for-O_CREAT-define.patch
new file mode 100644
index 000000000..9df32658a
--- /dev/null
+++ b/meta-networking/recipes-protocols/openl2tp/openl2tp/0002-cli-include-fcntl.h-for-O_CREAT-define.patch
@@ -0,0 +1,25 @@
+From 2d633f4c18ff3cb52234449fd86a0a63b55d669b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Mar 2017 11:31:55 -0700
+Subject: [PATCH 2/4] cli: include fcntl.h for O_CREAT define
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ cli/cli_readline.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/cli/cli_readline.c b/cli/cli_readline.c
+index 097ed6a..127136c 100644
+--- a/cli/cli_readline.c
++++ b/cli/cli_readline.c
+@@ -24,6 +24,7 @@
+ #include <sys/file.h>
+ #include <sys/stat.h>
+ #include <sys/errno.h>
++#include <fcntl.h>
+ #include <signal.h>
+ 
+ #include <readline/readline.h>
+-- 
+2.12.1
+
diff --git a/meta-networking/recipes-protocols/openl2tp/openl2tp/0002-user-ipv6-structures.patch b/meta-networking/recipes-protocols/openl2tp/openl2tp/0002-user-ipv6-structures.patch
new file mode 100644
index 000000000..3f8bcaa48
--- /dev/null
+++ b/meta-networking/recipes-protocols/openl2tp/openl2tp/0002-user-ipv6-structures.patch
@@ -0,0 +1,33 @@
+From a41cbeee3cf660663a9baac80545050a8d960898 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Mar 2017 18:09:58 -0700
+Subject: [PATCH 2/2] user ipv6 structures
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ l2tp_api.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/l2tp_api.c b/l2tp_api.c
+index 9d6f60a..f0946fd 100644
+--- a/l2tp_api.c
++++ b/l2tp_api.c
+@@ -450,10 +450,12 @@ int l2tp_api_rpc_check_request(SVCXPRT *xprt)
+ 	 * non-loopback interface, reject the request.
+ 	 */
+ 	if ((!l2tp_opt_remote_rpc) &&
+-	    ((xprt->xp_raddr.sin_addr.s_addr != htonl(INADDR_LOOPBACK)) &&
+-	     (xprt->xp_raddr.sin_addr.s_addr != htonl(INADDR_ANY)))) {
++	    ((xprt->xp_raddr.sin6_addr.s6_addr != htonl(INADDR_LOOPBACK)) &&
++	     (xprt->xp_raddr.sin6_addr.s6_addr != htonl(INADDR_ANY)))) {
++		char straddr[INET6_ADDRSTRLEN];
++		inet_ntop(AF_INET6, &xprt->xp_raddr.sin6_addr, straddr, sizeof(straddr));
+ 		if (l2tp_opt_trace_flags & L2TP_DEBUG_API) {
+-			l2tp_log(LOG_ERR, "Rejecting RPC request from %s", inet_ntoa(xprt->xp_raddr.sin_addr));
++			l2tp_log(LOG_ERR, "Rejecting RPC request from %s", straddr);
+ 		}
+ 		svcerr_auth(xprt, AUTH_TOOWEAK);
+ 		return -EPERM;
+-- 
+2.12.1
+
diff --git a/meta-networking/recipes-protocols/openl2tp/openl2tp/0003-cli-Define-_GNU_SOURCE-for-getting-sighandler_t.patch b/meta-networking/recipes-protocols/openl2tp/openl2tp/0003-cli-Define-_GNU_SOURCE-for-getting-sighandler_t.patch
new file mode 100644
index 000000000..e05be1bbb
--- /dev/null
+++ b/meta-networking/recipes-protocols/openl2tp/openl2tp/0003-cli-Define-_GNU_SOURCE-for-getting-sighandler_t.patch
@@ -0,0 +1,35 @@
+From 74fe72583472bcc3c89a52839cac2ebbad6c8a74 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Mar 2017 11:34:52 -0700
+Subject: [PATCH 3/4] cli: Define _GNU_SOURCE for getting sighandler_t
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ cli/cli_readline.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cli/cli_readline.c b/cli/cli_readline.c
+index 127136c..931779b 100644
+--- a/cli/cli_readline.c
++++ b/cli/cli_readline.c
+@@ -17,7 +17,7 @@
+  *  Boston, MA 02110-1301 USA
+  *
+  *****************************************************************************/
+-
++#define _GNU_SOURCE
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <sys/types.h>
+@@ -634,7 +634,7 @@ static void cli_rl_uninstall_signal_handlers(void)
+ 
+ static int cli_rl_install_signal_handlers(void)
+ {
+-	__sighandler_t handler;
++	sighandler_t handler;
+ 
+ 	rl_catch_signals = 0;
+ 	rl_clear_signals();
+-- 
+2.12.1
+
diff --git a/meta-networking/recipes-protocols/openl2tp/openl2tp/0004-Adjust-for-linux-kernel-headers-assumptions-on-glibc.patch b/meta-networking/recipes-protocols/openl2tp/openl2tp/0004-Adjust-for-linux-kernel-headers-assumptions-on-glibc.patch
new file mode 100644
index 000000000..0fcba6546
--- /dev/null
+++ b/meta-networking/recipes-protocols/openl2tp/openl2tp/0004-Adjust-for-linux-kernel-headers-assumptions-on-glibc.patch
@@ -0,0 +1,36 @@
+From ede4ae8e25f9fb746a6f4e076d0ef029938d2880 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Mar 2017 11:46:56 -0700
+Subject: [PATCH 4/4] Adjust for linux-kernel headers assumptions on glibc
+
+Fixes build issues e.g.
+
+In file included from /mnt/a/build/tmp-musl/work/cortexa7hf-neon-vfpv4-oe-linux-musleabi/openl2tp/1.8-r0/recipe-sysroot/usr/include/linux/if_pppox.h:24:
+/mnt/a/build/tmp-musl/work/cortexa7hf-neon-vfpv4-oe-linux-musleabi/openl2tp/1.8-r0/recipe-sysroot/usr/include/linux/if.h:97:2: error: expected identifier
+        IFF_LOWER_UP                    = 1<<16, /* __volatile__ */
+        ^
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ plugins/ppp_unix.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/plugins/ppp_unix.c b/plugins/ppp_unix.c
+index 869066f..5c1e44f 100644
+--- a/plugins/ppp_unix.c
++++ b/plugins/ppp_unix.c
+@@ -21,6 +21,11 @@
+  * Plugin to use the standard UNIX pppd
+  */
+ 
++/* hack to make sure kernel headers understand that libc (musl)
++ * does define IFF_LOWER_UP et al.
++ */
++#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0
++
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <sys/types.h>
+-- 
+2.12.1
+
diff --git a/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb b/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb
index 67118d8d6..e1670b3ae 100644
--- a/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb
+++ b/meta-networking/recipes-protocols/openl2tp/openl2tp_1.8.bb
@@ -16,14 +16,28 @@ SRC_URI = "ftp://ftp.openl2tp.org/releases/${BP}/${BP}.tar.gz \
            file://openl2tp-simplify-gcc-warning-hack.patch \
            file://Makefile-obey-LDFLAGS.patch \
            file://0001-test-pppd_dummy.c-Fix-return-value.patch \
+           file://0001-Use-1-instead-of-WAIT_ANY.patch \
+           file://0002-cli-include-fcntl.h-for-O_CREAT-define.patch \
+           file://0003-cli-Define-_GNU_SOURCE-for-getting-sighandler_t.patch \
+           file://0001-l2tp_api-Included-needed-headers.patch \
+           "
+
+SRC_URI_append_libc-musl = "\
+           file://0004-Adjust-for-linux-kernel-headers-assumptions-on-glibc.patch \
+           file://0002-user-ipv6-structures.patch \
            "
 SRC_URI[md5sum] = "e3d08dedfb9e6a9a1e24f6766f6dadd0"
 SRC_URI[sha256sum] = "1c97704d4b963a87fbc0e741668d4530933991515ae9ab0dffd11b5444f4860f"
 
 inherit autotools-brokensep pkgconfig
 
+DEPENDS_append_libc-musl = " libtirpc"
+CPPFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
+CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
+LDFLAGS_append_libc-musl = " -ltirpc"
+
 PARALLEL_MAKE = ""
-EXTRA_OEMAKE = 'CFLAGS="${CFLAGS} -Wno-unused-but-set-variable"'
+EXTRA_OEMAKE = 'CFLAGS="${CFLAGS} -Wno-unused-but-set-variable" CPPFLAGS="${CPPFLAGS}" OPT_CFLAGS="${CFLAGS}"'
 
 do_compile_prepend() {
     sed -i -e "s:SYS_LIBDIR=.*:SYS_LIBDIR=${libdir}:g" \
@@ -34,5 +48,6 @@ do_compile_prepend() {
         -e 's:$(CROSS_COMPILE)nm:${NM}:g' \
         -e 's:$(CROSS_COMPILE)strip:${STRIP}:g' \
         -e 's:$(CROSS_COMPILE)install:install:g' \
+        -e 's:CPPFLAGS-y:CPPFLAGS:g' \
         ${S}/Makefile
 }
-- 
2.12.1



  parent reply	other threads:[~2017-03-31 16:43 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-31 16:42 [meta-oe][PATCH 01/43] gpm: Update to use git src uri Khem Raj
2017-03-31 16:42 ` [meta-networking][PATCH 02/43] netcat-openbsd: Fix build and whitelist Khem Raj
2017-03-31 16:42 ` [meta-networking][PATCH 03/43] ctdb: Fix build with musl Khem Raj
2017-03-31 16:42 ` [meta-oe][PATCH 04/43] v4l-utils: Depend on argp-standalone for musl Khem Raj
2017-03-31 16:42 ` [meta-multimedia][PATCH 05/43] caps: Use c99 int types Khem Raj
2017-03-31 16:42 ` [meta-oe][PATCH 06/43] lvm2: Fix patch errors found with musl Khem Raj
2017-04-01  3:50   ` Peter Kjellerstedt
2017-04-01 15:20     ` Khem Raj
2017-04-05 17:17       ` Khem Raj
2017-03-31 16:42 ` [meta-networking][PATCH 07/43] squid: Update to 3.5.23 Khem Raj
2017-03-31 16:42 ` [meta-xfce][PATCH 08/43] xfce4-closebutton-plugin: Fix build with clang Khem Raj
2017-03-31 16:42 ` [meta-xfce][PATCH 09/43] xfce4-timer-plugin: Fix build when security flags are enabled " Khem Raj
2017-03-31 16:42 ` [meta-oe][PATCH 10/43] tcsh: Update to 6.20.00 release Khem Raj
2017-03-31 16:42 ` [meta-networking][PATCH 11/43] libnfnetlink: Backport patches to fix musl build Khem Raj
2017-03-31 16:42 ` [meta-networking][PATCH 12/43] ebtables: Fix build with musl Khem Raj
2017-03-31 16:42 ` [meta-oe][PATCH 13/43] poco: Upgrade to 1.7.8 Khem Raj
2017-04-07 17:42   ` Martin Jansa
2017-04-07 22:21     ` Khem Raj
2017-04-07 23:43       ` Khem Raj
2017-04-08  7:20         ` Martin Jansa
2017-03-31 16:42 ` [meta-oe][PATCH 14/43] mariadb: Do not use ucontext_* APIs with musl Khem Raj
2017-03-31 16:42 ` [meta-networking][PATCH 15/43] lowpan-tools: Fix build " Khem Raj
2017-03-31 16:42 ` [meta-oe][PATCH 16/43] usb-modeswitch-data: Add dep on native tcl Khem Raj
2017-03-31 16:42 ` [meta-filesystems][PATCH 17/43] aufs-util: Define HOSTCC Khem Raj
2017-03-31 16:42 ` [meta-oe][PATCH 18/43] ttf-inconsolata: Move copying of .otf to .ttf into do_compile Khem Raj
2017-04-02  7:14   ` Martin Jansa
2017-04-05 16:56     ` Khem Raj
2017-03-31 16:42 ` [meta-oe][PATCH 19/43] libraw1394: Update to 2.1.2 release Khem Raj
2017-03-31 16:42 ` [meta-multimedia][PATCH 20/43] libdc1394: Update to 2.2.5+ Khem Raj
2017-03-31 16:42 ` [meta-filesystems][PATCH 21/43] ntfs-3g-ntfsprogs: Upgrade to 2017.3.23 Khem Raj
2017-03-31 16:42 ` Khem Raj [this message]
2017-03-31 16:42 ` [meta-networking][PATCH 23/43] rp-pppoe: Fix build with musl Khem Raj
2017-03-31 16:42 ` [meta-oe][PATCH 24/43] minicoredumper: Update to 2.0.0 Khem Raj
2017-04-02  7:14   ` Martin Jansa
2017-04-05 17:05     ` Khem Raj
2017-03-31 16:42 ` [meta-networking][PATCH 25/43] vsftpd: Fix build with musl Khem Raj
2017-03-31 16:42 ` [meta-multimedia][PATCH 26/43] faac: Fix with with security flags and on musl Khem Raj
2017-03-31 16:42 ` [meta-networking][PATCH 27/43] dibbler: Upgrade to 1.0.2RC1 Khem Raj
2017-03-31 16:42 ` [meta-oe][PATCH 28/43] live555: Do not use XLOCALE on musl Khem Raj
2017-03-31 16:42 ` [meta-oe][PATCH 29/43] libqb: Upgrade to 1.0.1 release Khem Raj
2017-04-03 14:18   ` Martin Jansa
2017-04-05 16:49     ` Khem Raj
2017-04-06  7:30       ` Martin Jansa
2017-03-31 16:42 ` [meta-oe][PATCH 30/43] libgxim: Fix build with security flags turned on Khem Raj
2017-03-31 16:42 ` [meta-networking][PATCH 31/43] vpnc: Update to build from github SRC_URI Khem Raj
2017-03-31 16:42 ` [meta-networking][PATCH 32/43] daq: Fix build with musl Khem Raj
2017-03-31 16:42 ` [meta-oe][PATCH 33/43] utouch: Fix build on musl Khem Raj
2017-03-31 16:42 ` [meta-multimedia][PATCH 34/43] libavc1394: Add libargp " Khem Raj
2017-03-31 16:42 ` [meta-oe][PATCH V2 35/43] picocom: Upgrade to 2.2 Khem Raj
2017-03-31 16:42 ` [meta-oe][PATCH V2 36/43] libexecinfo: Add recipe Khem Raj
2017-03-31 16:42 ` [meta-xfce][PATCH 37/43] xarchiver: Fix build with security flags turned on Khem Raj
2017-04-02  7:16   ` Martin Jansa
2017-04-05 17:14     ` Khem Raj
2017-03-31 16:42 ` [meta-networking][PATCH 38/43] arptables: Upgrade to 0.0.4 Khem Raj
2017-03-31 16:42 ` [meta-networking][PATCH 39/43] libnetfilter-log: Switch to git URI Khem Raj
2017-03-31 16:42 ` [meta-oe][PATCH 40/43] lxdm: Find libexecinfo if its on platform Khem Raj
2017-03-31 16:42 ` [meta-networking][PATCH 41/43] libnetfilter-queue: Update to git for SRC_URI Khem Raj
2017-03-31 16:42 ` [meta-oe][PATCH 42/43] libunique: Fix build with secutiy flags on Khem Raj
2017-03-31 16:42 ` [meta-networking][PATCH 43/43] snort: Fix build with musl Khem Raj
2017-04-03 19:19 ` [meta-oe][PATCH 01/43] gpm: Update to use git src uri Martin Jansa
2017-04-05 16:38   ` Khem Raj
2017-04-05 17:41     ` Martin Jansa
2017-04-05 17:57       ` Khem Raj
2017-04-05 17:58       ` Khem Raj
2017-04-05 18:36         ` Martin Jansa
2017-04-05 19:37           ` Khem Raj

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170331164247.5052-22-raj.khem@gmail.com \
    --to=raj.khem@gmail.com \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.