From 41591d4f8c586aa801220fac0924556f406c58bd Mon Sep 17 00:00:00 2001 From: Jan-Simon Moeller Date: Tue, 8 Dec 2020 11:15:02 +0100 Subject: SPEC-3723: restructure meta-agl-demo All demo related components should be in here now. We keep the packagegroups on purpose for now to stay backward-compatible. v2: layer does pass yocto-check-layer, dependencies adapted v3: remove the dynamic-layer setup, use all-in-one approach v4: Fixed comments from Paul Barker. Tnx! v5: Removed wayland/weston/agl-compositor additions, except for demo specific weston-init bbappend Follow-up changes required later: - massaging packagegroups - scrub of recipes Bug-AGL: SPEC-3723 Signed-off-by: Jan-Simon Moeller Signed-off-by: Scott Murray Change-Id: I47cefd8c23d46b2cdd063470e3f7d97d5ad952d8 --- recipes-connectivity/neardal/neardal.inc | 22 ++++++++ ...-fix-segfault-on-help-page-being-displaye.patch | 27 ++++++++++ .../0002-neardal-lib-fix-memory-corruption.patch | 58 ++++++++++++++++++++++ recipes-connectivity/neardal/neardal/ncl.patch | 25 ++++++++++ recipes-connectivity/neardal/neardal_0.14.bb | 10 ++++ 5 files changed, 142 insertions(+) create mode 100644 recipes-connectivity/neardal/neardal.inc create mode 100644 recipes-connectivity/neardal/neardal/0001-neardal-ncl-fix-segfault-on-help-page-being-displaye.patch create mode 100644 recipes-connectivity/neardal/neardal/0002-neardal-lib-fix-memory-corruption.patch create mode 100644 recipes-connectivity/neardal/neardal/ncl.patch create mode 100644 recipes-connectivity/neardal/neardal_0.14.bb (limited to 'recipes-connectivity/neardal') diff --git a/recipes-connectivity/neardal/neardal.inc b/recipes-connectivity/neardal/neardal.inc new file mode 100644 index 00000000..3bb6b24e --- /dev/null +++ b/recipes-connectivity/neardal/neardal.inc @@ -0,0 +1,22 @@ +SUMMARY = "Neard Abstraction Library (NeardAL)" + +DESCRIPTION = "NeardAL is a library that provides a simple C API \ +to exchange data with NFC daemon (Neard)." + +HOMEPAGE = "https://github.com/connectivity/neardal" +SECTION = "libs" +LICENSE = "LGPLv2" + +DEPENDS = "glib-2.0 readline glib-2.0-native" + +LIC_FILES_CHKSUM = "file://COPYING;md5=6a6e689d19255cf0557f3fe7d7068212 \ + file://lib/neardal.h;endline=20;md5=a53e93aea9357387078ed217565c0a99" + +inherit autotools pkgconfig + +PACKAGES =+ "${PN}-tools ${PN}-tools-dbg" + +FILES_${PN}-tools = "${libexecdir}/ncl" +FILES_${PN}-tools-dbg += "${libexecdir}/.debug" + +RDEPENDS_${PN}-tools = "bash" diff --git a/recipes-connectivity/neardal/neardal/0001-neardal-ncl-fix-segfault-on-help-page-being-displaye.patch b/recipes-connectivity/neardal/neardal/0001-neardal-ncl-fix-segfault-on-help-page-being-displaye.patch new file mode 100644 index 00000000..596fe057 --- /dev/null +++ b/recipes-connectivity/neardal/neardal/0001-neardal-ncl-fix-segfault-on-help-page-being-displaye.patch @@ -0,0 +1,27 @@ +From 795308b2452ee617da4096914b53ba3a1142e3db Mon Sep 17 00:00:00 2001 +From: Matt Ranostay +Date: Fri, 6 Jul 2018 17:19:09 -0700 +Subject: [PATCH] neardal: ncl: fix segfault on help page being displayed + +LISTCMD_NAME is declared as a const char due to being defined in a +macro so g_strdup it to stop proceeding operations from segfaulting. + +Signed-off-by: Matt Ranostay + +--- + ncl/ncl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ncl/ncl.c b/ncl/ncl.c +index 590d13b..f4165b7 100644 +--- a/ncl/ncl.c ++++ b/ncl/ncl.c +@@ -329,7 +329,7 @@ int main(int argc, char *argv[]) + g_io_channel_unref(gNclCtx.channel); + + if (show_help) +- ncl_exec(LISTCMD_NAME); ++ ncl_exec(g_strdup(LISTCMD_NAME)); + + rl_callback_handler_install(NCL_PROMPT, ncl_parse_line); + diff --git a/recipes-connectivity/neardal/neardal/0002-neardal-lib-fix-memory-corruption.patch b/recipes-connectivity/neardal/neardal/0002-neardal-lib-fix-memory-corruption.patch new file mode 100644 index 00000000..d40d9a4f --- /dev/null +++ b/recipes-connectivity/neardal/neardal/0002-neardal-lib-fix-memory-corruption.patch @@ -0,0 +1,58 @@ +From ee6267f357b3d158f0a0e88460782e8b9d44274a Mon Sep 17 00:00:00 2001 +From: Raquel Medina +Date: Fri, 4 Jan 2019 07:43:03 -0500 +Subject: [PATCH] neardal: lib: fix memory corruption + + The current commit fixes an invalid memory access + which manifests as a random segfault when executing + continuous tag read operations. + + The corruption happens when releasing the memory allocated to a + record: in the time between the memory being g_free'd and the + subsequent memset operation, the memory could have been reused by + some other process. And since memory allocation depends on + system-wide factors, it makes this bug hard to track. + + Tested using ACR122U reader and NTAG213 + tags on Automotive Grade Linux (flounder, + guppy and master branches) + +Signed-off-by: Raquel Medina +--- + lib/neardal_record.c | 1 - + lib/neardal_tools.c | 5 ++++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/lib/neardal_record.c b/lib/neardal_record.c +index 669012c..cfed5e8 100644 +--- a/lib/neardal_record.c ++++ b/lib/neardal_record.c +@@ -31,7 +31,6 @@ void neardal_record_free(neardal_record *r) + { + g_return_if_fail(r); + neardal_g_strfreev((void **) r, &r->uriObjSize); +- memset(r, 0, sizeof(*r)); + } + + void neardal_free_record(neardal_record *record) \ +diff --git a/lib/neardal_tools.c b/lib/neardal_tools.c +index f0d6157..f307df6 100644 +--- a/lib/neardal_tools.c ++++ b/lib/neardal_tools.c +@@ -32,9 +32,12 @@ + void neardal_g_strfreev(void **array, void *end) + { + void **p = array; +- for (; (void *) p < end; p++) ++ for (; (void *) p < end; p++) { + g_free(*p); ++ *p = NULL; ++ } + g_free(array); ++ array = NULL; + } + + void neardal_g_variant_add_parsed(GVariant **v, const char *format, ...) +-- +2.17.1 + diff --git a/recipes-connectivity/neardal/neardal/ncl.patch b/recipes-connectivity/neardal/neardal/ncl.patch new file mode 100644 index 00000000..baef6cca --- /dev/null +++ b/recipes-connectivity/neardal/neardal/ncl.patch @@ -0,0 +1,25 @@ +From eab402bae42c3ea5caa8d540b6702d39e56c84c1 Mon Sep 17 00:00:00 2001 +From: Oleg Zhurakivskyy +Date: Tue, 10 Feb 2015 12:58:39 +0200 +Subject: [PATCH] build: Install ncl + +Signed-off-by: Oleg Zhurakivskyy +--- + ncl/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ncl/Makefile.am b/ncl/Makefile.am +index beda75b..c06742f 100644 +--- a/ncl/Makefile.am ++++ b/ncl/Makefile.am +@@ -1,6 +1,6 @@ + AM_CPPFLAGS = @gio_CFLAGS@ -I$(top_builddir)/lib -I$(top_srcdir)/lib + +-noinst_PROGRAMS=ncl ++libexec_PROGRAMS = ncl + + ncl_SOURCES = \ + $(srcdir)/ncl.c $(srcdir)/ncl.h \ +-- +2.1.0 + diff --git a/recipes-connectivity/neardal/neardal_0.14.bb b/recipes-connectivity/neardal/neardal_0.14.bb new file mode 100644 index 00000000..f8634c46 --- /dev/null +++ b/recipes-connectivity/neardal/neardal_0.14.bb @@ -0,0 +1,10 @@ +require neardal.inc + +SRC_URI = "git://github.com/connectivity/neardal.git;protocol=https \ + file://ncl.patch \ + file://0001-neardal-ncl-fix-segfault-on-help-page-being-displaye.patch \ + file://0002-neardal-lib-fix-memory-corruption.patch \ + " +SRCREV = "fe0fa79c94e9a0f1c2cfa1f58b3acc9bdc7d5e13" + +S = "${WORKDIR}/git" -- cgit 1.2.3-korg