diff options
Diffstat (limited to 'meta-oe/recipes-extended/dlt-daemon')
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-* +} |