diff options
4 files changed, 147 insertions, 2 deletions
diff --git a/meta-ivi/recipes-core-ivi/eglibc/eglibc/eglibc_2.18_add_af_bus_support.patch b/meta-ivi/recipes-core-ivi/eglibc/eglibc/eglibc_2.18_add_af_bus_support.patch new file mode 100644 index 0000000..48e8f5c --- /dev/null +++ b/meta-ivi/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/meta-ivi/recipes-core-ivi/eglibc/eglibc_2.19.bbappend b/meta-ivi/recipes-core-ivi/eglibc/eglibc_2.19.bbappend new file mode 100644 index 0000000..fe9a29b --- /dev/null +++ b/meta-ivi/recipes-core-ivi/eglibc/eglibc_2.19.bbappend @@ -0,0 +1,14 @@ +# Use local $PN directory +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +# add support for GENIVI AF_Bus D-Bus Optimization +# - http://projects.genivi.org/afbus-dbus-optimization/ +SRC_URI_AFBUS = "" +# currently disabled in preparation of the move to kdbus +# uncomment the next line to reenable +#SRC_URI_AFBUS = "file://eglibc_2.18_add_af_bus_support.patch" + +SRC_URI_append = "\ + ${SRC_URI_AFBUS} \ +" + diff --git a/meta-ivi/recipes-extended/persistence-administrator/persistence-administrator_1.0.2.bb b/meta-ivi/recipes-extended/persistence-administrator/persistence-administrator_1.0.2.bb index 302fd7f..e4e74a2 100644 --- a/meta-ivi/recipes-extended/persistence-administrator/persistence-administrator_1.0.2.bb +++ b/meta-ivi/recipes-extended/persistence-administrator/persistence-administrator_1.0.2.bb @@ -13,7 +13,7 @@ SRC_URI = "git://git.projects.genivi.org/persistence/persistence-administrator.g SRCREV = "3a6cc3228b93c647f0ffed4b53641572e78f71d7" DEPENDS = "glib-2.0 dbus dlt-daemon libarchive zlib json-c node-state-manager \ - systemd persistence-common-object libffi libitzam" + systemd persistence-common-object libffi libitzam libgcc eglibc" S = "${WORKDIR}/git" diff --git a/meta-ivi/recipes-yocto-ivi/packagegroups/packagegroup-abstract-component-p1.bb b/meta-ivi/recipes-yocto-ivi/packagegroups/packagegroup-abstract-component-p1.bb index f43c955..41d9299 100644 --- a/meta-ivi/recipes-yocto-ivi/packagegroups/packagegroup-abstract-component-p1.bb +++ b/meta-ivi/recipes-yocto-ivi/packagegroups/packagegroup-abstract-component-p1.bb @@ -3,6 +3,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${IVI_COREBASE}/meta-ivi/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" # Avoid hardcoding the full layer path into the checksums LIC_FILES_CHKSUM[vardepsexclude] += "IVI_COREBASE" +PR = "r0" inherit packagegroup @@ -15,7 +16,7 @@ ALLOW_EMPTY_${PN} = "1" RDEPENDS_${PN} += "\ bluez5 \ bluez5-obex \ - glibc \ + eglibc \ ofono \ wayland-ivi-extension \ weston weston-examples \ |