[yocto] [meta-ivi][PATCH] eglibc: Added AF-bus patch and bbappend for eglibc_2.18.
Kristofer Hansson Aspman
kristofer.hansson-aspman at pelagicore.com
Mon Jul 15 03:59:52 PDT 2013
The patch for eglibc_2.16 could not be applied directly to eglibc_2.18 as
libc/sysdeps/unix/sysv/linux/bits/socket.h has a minor change.
Signed-off-by: Kristofer Hansson Aspman <kristofer.hansson-aspman at pelagicore.com>
---
.../eglibc/eglibc_2.18_add_af_bus_support.patch | 130 +++++++++++++++++++++
recipes-core-ivi/eglibc/eglibc_2.18.bbappend | 9 ++
2 files changed, 139 insertions(+)
create mode 100644 recipes-core-ivi/eglibc/eglibc/eglibc_2.18_add_af_bus_support.patch
create mode 100644 recipes-core-ivi/eglibc/eglibc_2.18.bbappend
diff --git a/recipes-core-ivi/eglibc/eglibc/eglibc_2.18_add_af_bus_support.patch b/recipes-core-ivi/eglibc/eglibc/eglibc_2.18_add_af_bus_support.patch
new file mode 100644
index 0000000..48e8f5c
--- /dev/null
+++ b/recipes-core-ivi/eglibc/eglibc/eglibc_2.18_add_af_bus_support.patch
@@ -0,0 +1,130 @@
+Index: libc/Makefile
+===================================================================
+--- libc.orig/Makefile
++++ libc/Makefile
+@@ -317,7 +317,7 @@ installed-headers = argp/argp.h assert/a
+ resource/sys/vtimes.h resource/ulimit.h rt/aio.h \
+ rt/mqueue.h setjmp/setjmp.h shadow/shadow.h \
+ signal/signal.h signal/sys/signal.h socket/sys/socket.h \
+- socket/sys/un.h stdio-common/printf.h \
++ socket/sys/un.h socket/sys/bus.h stdio-common/printf.h \
+ stdio-common/stdio_ext.h stdlib/stdlib.h stdlib/alloca.h \
+ stdlib/monetary.h stdlib/fmtmsg.h stdlib/ucontext.h \
+ sysdeps/generic/inttypes.h sysdeps/generic/stdint.h \
+Index: libc/include/sys/bus.h
+===================================================================
+--- /dev/null
++++ libc/include/sys/bus.h
+@@ -0,0 +1 @@
++#include <socket/sys/bus.h>
+Index: libc/socket/Makefile
+===================================================================
+--- libc.orig/socket/Makefile
++++ libc/socket/Makefile
+@@ -21,7 +21,7 @@
+ #
+ subdir := socket
+
+-headers := sys/socket.h sys/un.h bits/sockaddr.h bits/socket.h \
++headers := sys/socket.h sys/bus.h sys/un.h bits/sockaddr.h bits/socket.h \
+ bits/socket2.h sys/socketvar.h net/if.h
+
+ routines := accept bind connect getpeername getsockname getsockopt \
+Index: libc/socket/sys/bus.h
+===================================================================
+--- /dev/null
++++ libc/socket/sys/bus.h
+@@ -0,0 +1,57 @@
++/* Copyright (C) 1991, 1995, 1996, 2001 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++#ifndef _SYS_BUS_H
++#define _SYS_BUS_H 1
++
++#include <sys/cdefs.h>
++
++/* Get the definition of the macro to define the common sockaddr members. */
++#include <bits/sockaddr.h>
++
++__BEGIN_DECLS
++
++/* 'protocol' to use in socket(AF_BUS, SOCK_SEQPACKET, protocol) */
++#define BUS_PROTO_NONE 0
++#define BUS_PROTO_DBUS 1
++#define BUS_PROTO_MAX 1
++
++/* setsockopt() operations */
++#define SOL_BUS 280
++#define BUS_ADD_ADDR 1
++#define BUS_JOIN_BUS 2
++#define BUS_DEL_ADDR 3
++#define BUS_SET_EAVESDROP 4
++#define BUS_UNSET_EAVESDROP 5
++
++/* Bus address */
++struct bus_addr
++ {
++ __uint64_t s_addr; /* 16-bit prefix + 48-bit client address */
++ };
++
++/* Structure describing an AF_BUS socket address. */
++struct sockaddr_bus
++ {
++ __SOCKADDR_COMMON (sbus_); /* AF_BUS */
++ struct bus_addr sbus_addr; /* bus address */
++ char sbus_path[108]; /* pathname */
++ };
++
++__END_DECLS
++
++#endif /* sys/bus.h */
+Index: libc/socket/sys/socket.h
+===================================================================
+--- libc.orig/socket/sys/socket.h
++++ libc/socket/sys/socket.h
+@@ -86,7 +86,8 @@ enum
+ __SOCKADDR_ONETYPE (sockaddr_iso) \
+ __SOCKADDR_ONETYPE (sockaddr_ns) \
+ __SOCKADDR_ONETYPE (sockaddr_un) \
+- __SOCKADDR_ONETYPE (sockaddr_x25)
++ __SOCKADDR_ONETYPE (sockaddr_x25) \
++ __SOCKADDR_ONETYPE (sockaddr_bus)
+
+ # define __SOCKADDR_ONETYPE(type) struct type *__restrict __##type##__;
+ typedef union { __SOCKADDR_ALLTYPES
+Index: libc/sysdeps/unix/sysv/linux/bits/socket.h
+===================================================================
+--- libc.orig/sysdeps/unix/sysv/linux/bits/socket.h
++++ libc/sysdeps/unix/sysv/linux/bits/socket.h
+@@ -80,7 +80,8 @@
+ #define PF_ALG 38 /* Algorithm sockets. */
+ #define PF_NFC 39 /* NFC sockets. */
+ #define PF_VSOCK 40 /* vSockets. */
+-#define PF_MAX 41 /* For now.. */
++#define PF_BUS 41 /* AF_BUS sockets */
++#define PF_MAX 42 /* For now.. */
+
+ /* Address families. */
+ #define AF_UNSPEC PF_UNSPEC
+@@ -125,6 +126,7 @@
+ #define AF_ALG PF_ALG
+ #define AF_NFC PF_NFC
+ #define AF_VSOCK PF_VSOCK
++#define AF_BUS PF_BUS
+ #define AF_MAX PF_MAX
+
+ /* Socket level values. Others are defined in the appropriate headers.
diff --git a/recipes-core-ivi/eglibc/eglibc_2.18.bbappend b/recipes-core-ivi/eglibc/eglibc_2.18.bbappend
new file mode 100644
index 0000000..547fdb8
--- /dev/null
+++ b/recipes-core-ivi/eglibc/eglibc_2.18.bbappend
@@ -0,0 +1,9 @@
+# Use local $PN directory
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+PRINC := "${@int(PRINC) + 1}"
+
+# Add patch to avoid overwriting libc_cv_rootsbindir
+SRC_URI += " \
+ file://eglibc_2.18_add_af_bus_support.patch \
+ "
--
1.8.1.2
More information about the yocto
mailing list