buildroot/package/libtirpc/0002-uClibc-without-RPC-support-and-musl-does-not-install-rpcent.h.patch
Jörg Krause 633d3320c1 package/libtirpc: fix musl build
The fix includes:
  1) Defining rpcent for non-Glibc's
  2) Using a local queue implementation

1) Defining rpcent for non-Glibc's
musl does not define rpcent. Since musl does not provide a __MUSL__ macro we
add a check for non-Glibc's to the existing uClibc patch.

2) Using a local queue implementation
musl does not provide sys/queue.h. We borrow a compatible queue implementation
from the NetBSD project.

Fixes:
http://autobuild.buildroot.net/results/f93/f93f0be26b5a25b953ea7f909037c1f45a83f686/
http://autobuild.buildroot.net/results/c53/c537a76d17012821ed5a6f4170f759efd4d269b0/
http://autobuild.buildroot.net/results/e3c/e3c5be7dca753f7494e8680894f516a8cdc89843/
http://autobuild.buildroot.net/results/2bb/2bb2e314f23b5ba48bb6e0c4fc7e52032fa5d76b/

and many more.

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-23 23:03:28 +02:00

34 lines
1.1 KiB
Diff

From 7aa1fe6a0f9280571117c30c03c2cc521cd86ec3 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Sat, 23 Jun 2012 21:58:07 +0200
Subject: [PATCH] uClibc without RPC support and musl does not install rpcent.h
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[yann.morin.1998@free.fr: update for 0.3.1]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[joerg.krause@embedded.rocks: musl fix]
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
tirpc/rpc/rpcent.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/tirpc/rpc/rpcent.h b/tirpc/rpc/rpcent.h
index 147f909..4a58180 100644
--- a/tirpc/rpc/rpcent.h
+++ b/tirpc/rpc/rpcent.h
@@ -48,8 +48,9 @@
extern "C" {
#endif
-/* These are defined in /usr/include/rpc/netdb.h */
-#if !defined(__GLIBC__)
+/* These are defined in /usr/include/rpc/netdb.h, unless we are using
+ the C library without RPC support. */
+#if defined(__UCLIBC__) && !defined(__UCLIBC_HAS_RPC__) || !defined(__GLIBC__)
struct rpcent {
char *r_name; /* name of server for this rpc program */
char **r_aliases; /* alias list */
--
1.9.1