Both uclibc bits/ipc.h (this comes from uclibc) and the kernel
authorJohn Bowler <jbowler@nslu2-linux.org>
Mon, 9 May 2005 18:55:46 +0000 (18:55 +0000)
committerJohn Bowler <jbowler@nslu2-linux.org>
Mon, 9 May 2005 18:55:46 +0000 (18:55 +0000)
linux/posix_types.h define __kernel_key_t.  This means that an
app which includes both in one file will fail compilation.  The
patch fixes this by changing the typedef used inside bits/ipc.h
to the same one used in the glibc headers (identical to the type
from posix_types.h).  Unfortunately this means that any uclibc
only package which relied on this will now fail (but it would have
failed on glibc anyway), therefore this patch is made NSLU2
specific because it has only received complete testing on NSLU2.

This bug affects samba 3.0 builds on uclibc - without this fix
samba 3.0.x will not build on uclibc.

BKrev: 427fb232lDR4ZUgoXLYunOoObOvvyg

packages/uclibc/files/kernel-key-t-ipc.h.patch [new file with mode: 0644]
packages/uclibc/uclibc_0.9.27.bb

diff --git a/packages/uclibc/files/kernel-key-t-ipc.h.patch b/packages/uclibc/files/kernel-key-t-ipc.h.patch
new file mode 100644 (file)
index 0000000..e69de29
index 65552b6..d7630b7 100644 (file)
@@ -1,10 +1,19 @@
 DEFAULT_PREFERENCE = "1"
-PR = "r4"
+PR = "r5"
 
 include uclibc.inc
 
+# This patch removes the typedef of __kernel_key_t from
+# include/bits/ipc.h.  Because this removes a typedef some
+# packages which relied on it (erroneously - it is defined
+# in include/linux/posix_types.h and is internal) may stop
+# building.  The patch has only been verified on NSLU2 builds.
+PATCH_ipc_h ?=
+PATCH_ipc_h_nslu2 = "file://kernel-key-t-ipc.h.patch;patch=1"
+
 SRC_URI += "http://www.uclibc.org/downloads/uClibc-${PV}.tar.bz2 \
             file://dyn-ldconfig.patch;patch=1 \
             file://nokernelheadercheck.patch;patch=1"
 SRC_URI += " file://armeb-kernel-stat.h.patch;patch=1"
+SRC_URI += ${PATCH_ipc_h}
 S = "${WORKDIR}/uClibc-${PV}"