[oe] [meta-networking][PATCH 06/16] ippool: Adjust for glibc dropping rpc support

Khem Raj raj.khem at gmail.com
Wed May 9 19:00:01 UTC 2018


Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
 .../ippool/ippool/0003-musl-fixes.patch       | 231 ++----------------
 .../recipes-daemons/ippool/ippool_1.3.bb      |   8 +-
 2 files changed, 16 insertions(+), 223 deletions(-)

diff --git a/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch b/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch
index 3cd5259fa6..952e4f0d04 100644
--- a/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch
+++ b/meta-networking/recipes-daemons/ippool/ippool/0003-musl-fixes.patch
@@ -12,10 +12,10 @@ Signed-off-by: Khem Raj <raj.khem at gmail.com>
  4 files changed, 208 insertions(+), 6 deletions(-)
  create mode 100644 net/ppp_defs.h
 
-diff --git a/cli/cli_readline.c b/cli/cli_readline.c
-index 2812e6e..542935c 100644
---- a/cli/cli_readline.c
-+++ b/cli/cli_readline.c
+Index: ippool-1.3/cli/cli_readline.c
+===================================================================
+--- ippool-1.3.orig/cli/cli_readline.c
++++ ippool-1.3/cli/cli_readline.c
 @@ -17,13 +17,14 @@
   *  Boston, MA 02110-1301 USA
   *
@@ -33,7 +33,7 @@ index 2812e6e..542935c 100644
  #include <signal.h>
  
  #include <readline/readline.h>
-@@ -630,7 +631,7 @@ static void cli_rl_uninstall_signal_handlers(void)
+@@ -630,7 +631,7 @@ static void cli_rl_uninstall_signal_hand
  
  static int cli_rl_install_signal_handlers(void)
  {
@@ -42,11 +42,11 @@ index 2812e6e..542935c 100644
  
  	rl_catch_signals = 0;
  	rl_clear_signals();
-diff --git a/ippool_api.c b/ippool_api.c
-index 2c10c47..d1127a9 100644
---- a/ippool_api.c
-+++ b/ippool_api.c
-@@ -181,10 +181,13 @@ int ippool_api_rpc_check_request(SVCXPRT *xprt)
+Index: ippool-1.3/ippool_api.c
+===================================================================
+--- ippool-1.3.orig/ippool_api.c
++++ ippool-1.3/ippool_api.c
+@@ -181,10 +181,13 @@ int ippool_api_rpc_check_request(SVCXPRT
  	 * non-loopback interface, reject the request.
  	 */
  	if ((!ippool_opt_remote_rpc) &&
@@ -63,210 +63,10 @@ index 2c10c47..d1127a9 100644
  		}
  		svcerr_auth(xprt, AUTH_TOOWEAK);
  		return -EPERM;
-diff --git a/net/ppp_defs.h b/net/ppp_defs.h
-new file mode 100644
-index 0000000..b06eda5
---- /dev/null
-+++ b/net/ppp_defs.h
-@@ -0,0 +1,194 @@
-+/*	$Id: ppp_defs.h,v 1.17 2002/12/06 09:49:15 paulus Exp $	*/
-+
-+/*
-+ * ppp_defs.h - PPP definitions.
-+ *
-+ * Copyright (c) 1984 Paul Mackerras. All rights reserved.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ *
-+ * 1. Redistributions of source code must retain the above copyright
-+ *    notice, this list of conditions and the following disclaimer.
-+ *
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ *    notice, this list of conditions and the following disclaimer in
-+ *    the documentation and/or other materials provided with the
-+ *    distribution.
-+ *
-+ * 3. The name(s) of the authors of this software must not be used to
-+ *    endorse or promote products derived from this software without
-+ *    prior written permission.
-+ *
-+ * 4. Redistributions of any form whatsoever must retain the following
-+ *    acknowledgment:
-+ *    "This product includes software developed by Paul Mackerras
-+ *     <paulus at samba.org>".
-+ *
-+ * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO
-+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-+ * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
-+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
-+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
-+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+ */
-+
-+#ifndef _PPP_DEFS_H_
-+#define _PPP_DEFS_H_
-+
-+/*
-+ * The basic PPP frame.
-+ */
-+#define PPP_HDRLEN	4	/* octets for standard ppp header */
-+#define PPP_FCSLEN	2	/* octets for FCS */
-+
-+/*
-+ * Packet sizes
-+ *
-+ * Note - lcp shouldn't be allowed to negotiate stuff outside these
-+ *	  limits.  See lcp.h in the pppd directory.
-+ * (XXX - these constants should simply be shared by lcp.c instead
-+ *	  of living in lcp.h)
-+ */
-+#define	PPP_MTU		1500	/* Default MTU (size of Info field) */
-+#define PPP_MAXMTU	65535 - (PPP_HDRLEN + PPP_FCSLEN)
-+#define PPP_MINMTU	64
-+#define PPP_MRU		1500	/* default MRU = max length of info field */
-+#define PPP_MAXMRU	65000	/* Largest MRU we allow */
-+#define PPP_MINMRU	128
-+
-+#define PPP_ADDRESS(p)	(((u_char *)(p))[0])
-+#define PPP_CONTROL(p)	(((u_char *)(p))[1])
-+#define PPP_PROTOCOL(p)	((((u_char *)(p))[2] << 8) + ((u_char *)(p))[3])
-+
-+/*
-+ * Significant octet values.
-+ */
-+#define	PPP_ALLSTATIONS	0xff	/* All-Stations broadcast address */
-+#define	PPP_UI		0x03	/* Unnumbered Information */
-+#define	PPP_FLAG	0x7e	/* Flag Sequence */
-+#define	PPP_ESCAPE	0x7d	/* Asynchronous Control Escape */
-+#define	PPP_TRANS	0x20	/* Asynchronous transparency modifier */
-+
-+/*
-+ * Protocol field values.
-+ */
-+#define PPP_IP		0x21	/* Internet Protocol */
-+#define PPP_AT		0x29	/* AppleTalk Protocol */
-+#define PPP_IPX		0x2b	/* IPX protocol */
-+#define	PPP_VJC_COMP	0x2d	/* VJ compressed TCP */
-+#define	PPP_VJC_UNCOMP	0x2f	/* VJ uncompressed TCP */
-+#define PPP_IPV6	0x57	/* Internet Protocol Version 6 */
-+#define PPP_COMP	0xfd	/* compressed packet */
-+#define PPP_IPCP	0x8021	/* IP Control Protocol */
-+#define PPP_ATCP	0x8029	/* AppleTalk Control Protocol */
-+#define PPP_IPXCP	0x802b	/* IPX Control Protocol */
-+#define PPP_IPV6CP	0x8057	/* IPv6 Control Protocol */
-+#define PPP_CCP		0x80fd	/* Compression Control Protocol */
-+#define PPP_ECP		0x8053	/* Encryption Control Protocol */
-+#define PPP_LCP		0xc021	/* Link Control Protocol */
-+#define PPP_PAP		0xc023	/* Password Authentication Protocol */
-+#define PPP_LQR		0xc025	/* Link Quality Report protocol */
-+#define PPP_CHAP	0xc223	/* Cryptographic Handshake Auth. Protocol */
-+#define PPP_CBCP	0xc029	/* Callback Control Protocol */
-+#define PPP_EAP		0xc227	/* Extensible Authentication Protocol */
-+
-+/*
-+ * Values for FCS calculations.
-+ */
-+#define PPP_INITFCS	0xffff	/* Initial FCS value */
-+#define PPP_GOODFCS	0xf0b8	/* Good final FCS value */
-+#define PPP_FCS(fcs, c)	(((fcs) >> 8) ^ fcstab[((fcs) ^ (c)) & 0xff])
-+
-+/*
-+ * A 32-bit unsigned integral type.
-+ */
-+
-+#if !defined(__BIT_TYPES_DEFINED__) && !defined(_BITYPES) \
-+ && !defined(__FreeBSD__) && (NS_TARGET < 40)
-+#ifdef	UINT32_T
-+typedef UINT32_T	u_int32_t;
-+#else
-+typedef unsigned int	u_int32_t;
-+typedef unsigned short  u_int16_t;
-+#endif
-+#endif
-+
-+/*
-+ * Extended asyncmap - allows any character to be escaped.
-+ */
-+typedef u_int32_t	ext_accm[8];
-+
-+/*
-+ * What to do with network protocol (NP) packets.
-+ */
-+enum NPmode {
-+    NPMODE_PASS,		/* pass the packet through */
-+    NPMODE_DROP,		/* silently drop the packet */
-+    NPMODE_ERROR,		/* return an error */
-+    NPMODE_QUEUE		/* save it up for later. */
-+};
-+
-+/*
-+ * Statistics.
-+ */
-+struct pppstat	{
-+    unsigned int ppp_ibytes;	/* bytes received */
-+    unsigned int ppp_ipackets;	/* packets received */
-+    unsigned int ppp_ierrors;	/* receive errors */
-+    unsigned int ppp_obytes;	/* bytes sent */
-+    unsigned int ppp_opackets;	/* packets sent */
-+    unsigned int ppp_oerrors;	/* transmit errors */
-+};
-+
-+struct vjstat {
-+    unsigned int vjs_packets;	/* outbound packets */
-+    unsigned int vjs_compressed; /* outbound compressed packets */
-+    unsigned int vjs_searches;	/* searches for connection state */
-+    unsigned int vjs_misses;	/* times couldn't find conn. state */
-+    unsigned int vjs_uncompressedin; /* inbound uncompressed packets */
-+    unsigned int vjs_compressedin; /* inbound compressed packets */
-+    unsigned int vjs_errorin;	/* inbound unknown type packets */
-+    unsigned int vjs_tossed;	/* inbound packets tossed because of error */
-+};
-+
-+struct ppp_stats {
-+    struct pppstat p;		/* basic PPP statistics */
-+    struct vjstat vj;		/* VJ header compression statistics */
-+};
-+
-+struct compstat {
-+    unsigned int unc_bytes;	/* total uncompressed bytes */
-+    unsigned int unc_packets;	/* total uncompressed packets */
-+    unsigned int comp_bytes;	/* compressed bytes */
-+    unsigned int comp_packets;	/* compressed packets */
-+    unsigned int inc_bytes;	/* incompressible bytes */
-+    unsigned int inc_packets;	/* incompressible packets */
-+    unsigned int ratio;		/* recent compression ratio << 8 */
-+};
-+
-+struct ppp_comp_stats {
-+    struct compstat c;		/* packet compression statistics */
-+    struct compstat d;		/* packet decompression statistics */
-+};
-+
-+/*
-+ * The following structure records the time in seconds since
-+ * the last NP packet was sent or received.
-+ */
-+struct ppp_idle {
-+    time_t xmit_idle;		/* time since last NP packet sent */
-+    time_t recv_idle;		/* time since last NP packet received */
-+};
-+
-+#ifndef __P
-+#ifdef __STDC__
-+#define __P(x)	x
-+#else
-+#define __P(x)	()
-+#endif
-+#endif
-+
-+#endif /* _PPP_DEFS_H_ */
-diff --git a/usl/usl.h b/usl/usl.h
-index cdc16db..88d2714 100644
---- a/usl/usl.h
-+++ b/usl/usl.h
+Index: ippool-1.3/usl/usl.h
+===================================================================
+--- ippool-1.3.orig/usl/usl.h
++++ ippool-1.3/usl/usl.h
 @@ -38,6 +38,10 @@
  #include "usl_fsm.h"
  #include "usl_list.h"
@@ -278,6 +78,3 @@ index cdc16db..88d2714 100644
  #define USL_VERSION	"0.6"
  
  #ifdef DEBUG
--- 
-2.13.3
-
diff --git a/meta-networking/recipes-daemons/ippool/ippool_1.3.bb b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb
index 6e47483570..6fa46904b3 100644
--- a/meta-networking/recipes-daemons/ippool/ippool_1.3.bb
+++ b/meta-networking/recipes-daemons/ippool/ippool_1.3.bb
@@ -24,8 +24,6 @@ SRC_URI = "https://sourceforge.net/projects/openl2tp/files/${BPN}/${PV}/${BPN}-$
            file://0001-read-returns-ssize_t.patch \
            file://0002-Mark-first-element-of-a-string-as-null.patch \
            file://0003-cli-Mark-return-of-strtol-as-long-int.patch \
-           "
-SRC_URI_append_libc-musl = "\
            file://0002-link-with-libtirpc.patch \
            file://0003-musl-fixes.patch \
            "
@@ -36,8 +34,7 @@ SRC_URI[sha256sum] = "d3eab7d6cad5da8ccc9d1e31d5303e27a39622c07bdb8fa3618eea3144
 
 inherit systemd
 
-DEPENDS = "readline ppp ncurses gzip-native"
-DEPENDS_append_libc-musl = " libtirpc"
+DEPENDS = "readline ppp ncurses gzip-native rpcsvc-proto-native libtirpc"
 RDEPENDS_${PN} = "rpcbind"
 
 EXTRA_OEMAKE = "CC='${CC}' AS='${AS}' LD='${LD}' AR='${AR}' NM='${NM}' STRIP='${STRIP}'"
@@ -45,8 +42,7 @@ EXTRA_OEMAKE += "PPPD_VERSION=${PPPD_VERSION} SYS_LIBDIR=${libdir}"
 # enable self tests
 EXTRA_OEMAKE += "IPPOOL_TEST=y"
 
-CPPFLAGS += "${SELECTED_OPTIMIZATION}"
-CPPFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
+CPPFLAGS += "${SELECTED_OPTIMIZATION} -I${STAGING_INCDIR}/tirpc"
 
 SYSTEMD_SERVICE_${PN} = "ippool.service"
 SYSTEMD_AUTO_ENABLE = "disable"
-- 
2.17.0




More information about the Openembedded-devel mailing list