aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-extended/dlt-daemon
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-extended/dlt-daemon')
-rw-r--r--meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch94
-rw-r--r--meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0004-Modify-systemd-config-directory.patch24
-rw-r--r--meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch80
-rw-r--r--meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch36
-rw-r--r--meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb73
5 files changed, 307 insertions, 0 deletions
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch
new file mode 100644
index 0000000000..cfb820cec7
--- /dev/null
+++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch
@@ -0,0 +1,94 @@
+From bcca4c99394ba422d03a5e76f2a0023ef248824a Mon Sep 17 00:00:00 2001
+From: Andrei Gherzan <andrei.gherzan@windriver.com>
+Date: Tue, 18 Nov 2014 15:47:22 +0100
+Subject: [PATCH 2/4] Don't execute processes as a specific user.
+
+Upstream-Status: Inappropriate [Configuration Specific]
+Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com>
+---
+ systemd/dlt-adaptor-udp.service.cmake | 1 -
+ systemd/dlt-dbus.service.cmake | 1 -
+ systemd/dlt-example-user.service.cmake | 1 -
+ systemd/dlt-receive.service.cmake | 1 -
+ systemd/dlt-system.service.cmake | 1 -
+ systemd/dlt.service.cmake | 1 -
+ 6 files changed, 6 deletions(-)
+
+diff --git a/systemd/dlt-adaptor-udp.service.cmake b/systemd/dlt-adaptor-udp.service.cmake
+index 8dac1f2..ecf9f9e 100644
+--- a/systemd/dlt-adaptor-udp.service.cmake
++++ b/systemd/dlt-adaptor-udp.service.cmake
+@@ -19,9 +19,8 @@ Wants=dlt.service
+
+ [Service]
+ Type=simple
+-User=@DLT_USER@
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-adaptor-udp -a @DLT_ADAPTOR_UDP_APPID@ -c @DLT_ADAPTOR_UDP_CTID@ -p @DLT_ADAPTOR_UDP_PORT@
+ LimitCORE=infinity
+
+ [Install]
+-WantedBy=multi-user.target
+\ No newline at end of file
++WantedBy=multi-user.target
+diff --git a/systemd/dlt-dbus.service.cmake b/systemd/dlt-dbus.service.cmake
+index 9baf3e9..74a7eac 100644
+--- a/systemd/dlt-dbus.service.cmake
++++ b/systemd/dlt-dbus.service.cmake
+@@ -20,7 +20,6 @@ Wants=dlt.service
+
+ [Service]
+ Type=simple
+-User=@DLT_USER@
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-dbus
+ WatchdogSec=@DLT_WatchdogSec@
+ NotifyAccess=main
+diff --git a/systemd/dlt-example-user.service.cmake b/systemd/dlt-example-user.service.cmake
+index b665742..35009b0 100644
+--- a/systemd/dlt-example-user.service.cmake
++++ b/systemd/dlt-example-user.service.cmake
+@@ -21,6 +21,5 @@ Wants=dlt.service
+
+ [Service]
+ Type=simple
+-User=@DLT_USER@
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-example-user "Hallo from COVESA DLT example user application"
+-LimitCORE=infinity
+\ No newline at end of file
++LimitCORE=infinity
+diff --git a/systemd/dlt-receive.service.cmake b/systemd/dlt-receive.service.cmake
+index c07d447..8f88f00 100644
+--- a/systemd/dlt-receive.service.cmake
++++ b/systemd/dlt-receive.service.cmake
+@@ -20,6 +20,5 @@ Wants=dlt.service
+
+ [Service]
+ Type=simple
+-User=@DLT_USER@
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-receive -o /tmp/dlt_receive_log.dlt localhost
+-LimitCORE=infinity
+\ No newline at end of file
++LimitCORE=infinity
+diff --git a/systemd/dlt-system.service.cmake b/systemd/dlt-system.service.cmake
+index 0e91f42..1a5b913 100755
+--- a/systemd/dlt-system.service.cmake
++++ b/systemd/dlt-system.service.cmake
+@@ -20,7 +20,6 @@ Wants=dlt.service
+
+ [Service]
+ Type=simple
+-User=@DLT_USER@
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-system
+ WatchdogSec=@DLT_WatchdogSec@
+ NotifyAccess=main
+diff --git a/systemd/dlt.service.cmake b/systemd/dlt.service.cmake
+index 0b3ee2c..e4753a2 100755
+--- a/systemd/dlt.service.cmake
++++ b/systemd/dlt.service.cmake
+@@ -19,7 +19,6 @@ Documentation=man:dlt-daemon(1) man:dlt.conf(5)
+
+ [Service]
+ Type=simple
+-User=@DLT_USER@
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-daemon
+ WatchdogSec=@DLT_WatchdogSec@
+ NotifyAccess=main
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0004-Modify-systemd-config-directory.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0004-Modify-systemd-config-directory.patch
new file mode 100644
index 0000000000..ce028c0c51
--- /dev/null
+++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0004-Modify-systemd-config-directory.patch
@@ -0,0 +1,24 @@
+From 9a5e655cf57301008cd61d53c8a410a7f397e650 Mon Sep 17 00:00:00 2001
+From: Andrei Gherzan <andrei.gherzan@windriver.com>
+Date: Tue, 18 Nov 2014 15:51:30 +0100
+Subject: [PATCH 4/4] Modify systemd config directory
+
+Upstream-Status: Inappropriate [Configuration Specific]
+Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com>
+---
+ systemd/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e6b44a2..0e885bf 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -201,7 +201,7 @@ if(WITH_SYSTEMD OR WITH_SYSTEMD_WATCHDOG OR WITH_SYSTEMD_JOURNAL)
+
+ set(systemd_SRCS ${PROJECT_SOURCE_DIR}/systemd/3rdparty/sd-daemon.c)
+
+- set(SYSTEMD_UNITDIR "${CMAKE_INSTALL_PREFIX}/lib/systemd/system" CACHE PATH
++ set(SYSTEMD_UNITDIR "/lib/systemd/system" CACHE PATH
+ "Set directory to install systemd unit files")
+
+ add_subdirectory(systemd)
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch
new file mode 100644
index 0000000000..3699b8c83a
--- /dev/null
+++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch
@@ -0,0 +1,80 @@
+Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/544]
+
+From 8121a979026d5fcb05bd4e5d3a0647f321b56106 Mon Sep 17 00:00:00 2001
+From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Date: Thu, 28 Sep 2023 12:54:23 +0200
+Subject: [PATCH] Add common dlt_cdh_cpuinfo.c to unblock build on non amd64
+ and i386 arcs
+
+---
+ src/core_dump_handler/dlt_cdh.h | 2 ++
+ src/core_dump_handler/dlt_cdh_cpuinfo.c | 33 +++++++++++++++++++++++++
+ src/core_dump_handler/dlt_cdh_crashid.c | 2 +-
+ 3 files changed, 36 insertions(+), 1 deletion(-)
+ create mode 100644 src/core_dump_handler/dlt_cdh_cpuinfo.c
+
+diff --git a/src/core_dump_handler/dlt_cdh.h b/src/core_dump_handler/dlt_cdh.h
+index d572ecf3..8608c6c4 100644
+--- a/src/core_dump_handler/dlt_cdh.h
++++ b/src/core_dump_handler/dlt_cdh.h
+@@ -55,6 +55,8 @@ typedef struct
+ uint64_t pc;
+ uint64_t ip;
+ uint64_t lr;
++ uint64_t sp;
++ uint64_t fp;
+
+ } cdh_registers_t;
+
+diff --git a/src/core_dump_handler/dlt_cdh_cpuinfo.c b/src/core_dump_handler/dlt_cdh_cpuinfo.c
+new file mode 100644
+index 00000000..03509fda
+--- /dev/null
++++ b/src/core_dump_handler/dlt_cdh_cpuinfo.c
+@@ -0,0 +1,33 @@
++/*
++ * SPDX license identifier: MPL-2.0
++ *
++ * Copyright (C) 2011-2015, BMW AG
++ *
++ * This file is part of COVESA Project DLT - Diagnostic Log and Trace.
++ *
++ * This Source Code Form is subject to the terms of the
++ * Mozilla Public License (MPL), v. 2.0.
++ * If a copy of the MPL was not distributed with this file,
++ * You can obtain one at http://mozilla.org/MPL/2.0/.
++ *
++ * For further information see http://www.covesa.org/.
++ */
++
++/*!
++ * \author Gianfranco Costamagna <locutusofborg@debian.org>
++ *
++ * \copyright Copyright © 2011-2015 BMW AG. \n
++ * License MPL-2.0: Mozilla Public License version 2.0 http://mozilla.org/MPL/2.0/.
++ *
++ * \file dlt_cdh_cpuinfo.c
++ */
++
++#include "dlt_cdh_cpuinfo.h"
++
++void get_registers(prstatus_t *prstatus, cdh_registers_t *registers)
++{
++/* struct user_regs_struct *ptr_reg = (struct user_regs_struct *)prstatus->pr_reg;
++
++ registers->pc = ptr_reg->pc;*/ /* [REG_PROC_COUNTER]; */
++
++}
+diff --git a/src/core_dump_handler/dlt_cdh_crashid.c b/src/core_dump_handler/dlt_cdh_crashid.c
+index bca44e0e..8dd98d70 100644
+--- a/src/core_dump_handler/dlt_cdh_crashid.c
++++ b/src/core_dump_handler/dlt_cdh_crashid.c
+@@ -30,7 +30,7 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <errno.h>
+-#include <asm/prctl.h>
++#include <sys/prctl.h>
+ #include <inttypes.h>
+
+ #include "dlt_cdh.h"
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch
new file mode 100644
index 0000000000..fd36480456
--- /dev/null
+++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch
@@ -0,0 +1,36 @@
+Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/567]
+
+From c84e48f6986054cf8b9459e608235b7bd1635746 Mon Sep 17 00:00:00 2001
+From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Date: Mon, 13 Nov 2023 12:37:23 +0100
+Subject: [PATCH] dlt_cdh:
+
+Make sure on 64 bit we read an ELF64 structure.
+Otherwise we get a read error, and the context file is missing some good
+to know information
+---
+ src/core_dump_handler/dlt_cdh.h | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/core_dump_handler/dlt_cdh.h b/src/core_dump_handler/dlt_cdh.h
+index 8608c6c4..3dac480a 100644
+--- a/src/core_dump_handler/dlt_cdh.h
++++ b/src/core_dump_handler/dlt_cdh.h
+@@ -45,10 +45,17 @@
+ #define CORE_FILE_PATTERN "%s/core.%d.%s.%d.gz"
+ #define CONTEXT_FILE_PATTERN "%s/context.%d.%s.%d.txt"
+
++#if ((__SIZEOF_POINTER) == 4)
+ #define ELF_Ehdr Elf32_Ehdr
+ #define ELF_Phdr Elf32_Phdr
+ #define ELF_Shdr Elf32_Shdr
+ #define ELF_Nhdr Elf32_Nhdr
++#else
++#define ELF_Ehdr Elf64_Ehdr
++#define ELF_Phdr Elf64_Phdr
++#define ELF_Shdr Elf64_Shdr
++#define ELF_Nhdr Elf64_Nhdr
++#endif
+
+ typedef struct
+ {
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
new file mode 100644
index 0000000000..3d2e4a73f1
--- /dev/null
+++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
@@ -0,0 +1,73 @@
+SUMMARY = "Diagnostic Log and Trace"
+DESCRIPTION = "This component provides a standardised log and trace interface, \
+based on the standardised protocol specified in the AUTOSAR standard 4.0 DLT. \
+This component can be used by COVESA components and other applications as \
+logging facility providing: \
+- the DLT shared library \
+- the DLT daemon, including startup scripts \
+- the DLT daemon adaptors- the DLT client console utilities \
+- the DLT test applications"
+HOMEPAGE = "https://www.covesa.global/"
+SECTION = "console/utils"
+LICENSE = "MPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8184208060df880fe3137b93eb88aeea"
+
+DEPENDS = "zlib gzip-native json-c"
+
+SRC_URI = "git://github.com/COVESA/${BPN}.git;protocol=https;branch=master \
+ file://0002-Don-t-execute-processes-as-a-specific-user.patch \
+ file://0004-Modify-systemd-config-directory.patch \
+ file://544.patch \
+ file://567.patch \
+ "
+SRCREV = "0f2d4cfffada6f8448a2cb27995b38eb4271044f"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd systemd-watchdog systemd-journal ', '', d)} \
+ dlt-examples dlt-adaptor dlt-adaptor-stdin dlt-adaptor-udp dlt-console \
+ udp-connection dlt-system dlt-filetransfer "
+# dlt-dbus
+
+# General options
+PACKAGECONFIG[dlt-examples] = "-DWITH_DLT_EXAMPLES=ON,-DWITH_DLT_EXAMPLES=OFF"
+
+# Linux options
+PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF -DWITH_DLT_SYSTEM=OFF,systemd"
+PACKAGECONFIG[systemd-watchdog] = "-DWITH_SYSTEMD_WATCHDOG=ON,-DWITH_SYSTEMD_WATCHDOG=OFF,systemd,libsystemd"
+PACKAGECONFIG[systemd-journal] = "-DWITH_SYSTEMD_JOURNAL=ON,-DWITH_SYSTEMD_JOURNAL=OFF,systemd,libsystemd"
+PACKAGECONFIG[dlt-dbus] = "-DWITH_DLT_DBUS=ON,-DWITH_DLT_DBUS=OFF,dbus,dbus-lib"
+PACKAGECONFIG[udp-connection] = "-DWITH_UDP_CONNECTION=ON,-DWITH_UDP_CONNECTION=OFF"
+
+# Command line options
+PACKAGECONFIG[dlt-system] = "-DWITH_DLT_SYSTEM=ON,-DWITH_DLT_SYSTEM=OFF"
+PACKAGECONFIG[dlt-adaptor] = "-DWITH_DLT_ADAPTOR=ON,-DWITH_DLT_ADAPTOR=OFF"
+PACKAGECONFIG[dlt-adaptor-stdin] = "-DWITH_DLT_ADAPTOR_STDIN=ON,-DWITH_DLT_ADAPTOR_STDIN=OFF"
+PACKAGECONFIG[dlt-adaptor-udp] = "-DWITH_DLT_ADAPTOR_UDP=ON,-DWITH_DLT_ADAPTOR_UDP=OFF"
+PACKAGECONFIG[dlt-filetransfer] = "-DWITH_DLT_FILETRANSFER=ON,-DWITH_DLT_FILETRANSFER=OFF"
+PACKAGECONFIG[dlt-console] = "-DWITH_DLT_CONSOLE=ON,-DWITH_DLT_CONSOLE=OFF"
+
+inherit autotools gettext cmake pkgconfig systemd
+
+# -DWITH_DLT_COREDUMPHANDLER=ON this feature is too experimental, disable for now
+#FILES:${PN} += "${libdir}/sysctl.d"
+EXTRA_OECMAKE += "-DWITH_DLT_LOGSTORAGE_GZIP=ON -DWITH_EXTENDED_FILTERING=ON -DSYSTEMD_UNITDIR=${systemd_system_unitdir}"
+
+PACKAGES += "${PN}-systemd"
+SYSTEMD_PACKAGES = "${PN} ${PN}-systemd"
+SYSTEMD_SERVICE:${PN} = " ${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'dlt.service', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-system', 'dlt-system.service', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-dbus', 'dlt-dbus.service', '', d)}"
+SYSTEMD_AUTO_ENABLE:${PN} = "enable"
+SYSTEMD_SERVICE:${PN}-systemd = " \
+ ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-adaptor-udp', 'dlt-adaptor-udp.service', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-examples', 'dlt-example-user.service', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-examples dlt-console', 'dlt-receive.service', '', d)} \
+"
+SYSTEMD_AUTO_ENABLE:${PN}-systemd = "disable"
+
+FILES:${PN}-doc += "${datadir}/dlt-filetransfer"
+
+do_install:append() {
+ rm -f ${D}${bindir}/dlt-test-*
+}