From 7bd7e1da9034e72ca4262dba55f70b2b23499aae Mon Sep 17 00:00:00 2001 From: Gianfranco Date: Fri, 2 Jul 2021 18:58:12 +0200 Subject: dlt-daemon: update from 2.18.6 to 2.18.7 - add an upstream proposed patch 317.patch to fix a build failure with enabled systemd binding Signed-off-by: Gianfranco Costamagna Signed-off-by: Gianfranco Costamagna Signed-off-by: Khem Raj (cherry picked from commit 01fa60898c2fe65f327bea2f84aaca00aef3f371) [Stable version, bug fix only] Signed-off-by: Scott Murray Signed-off-by: Armin Kuster --- .../dlt-daemon/dlt-daemon/317.patch | 43 ++++++++++++++ .../dlt-daemon/dlt-daemon_2.18.6.bb | 66 --------------------- .../dlt-daemon/dlt-daemon_2.18.7.bb | 67 ++++++++++++++++++++++ 3 files changed, 110 insertions(+), 66 deletions(-) create mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/317.patch delete mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.6.bb create mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.7.bb diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/317.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/317.patch new file mode 100644 index 0000000000..fe40334b65 --- /dev/null +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/317.patch @@ -0,0 +1,43 @@ +Origin: https://github.com/GENIVI/dlt-daemon/pull/317 +From 55d31216823841a1547fe261cdf8e3b1002d5f94 Mon Sep 17 00:00:00 2001 +From: Gianfranco Costamagna +Date: Thu, 1 Jul 2021 12:58:20 +0200 +Subject: [PATCH] dlt-control-common.c: Fix build failure due to out-of-bound + write -Werror=stringop-truncation + +cd /build/dlt-daemon-2.18.7/obj-x86_64-linux-gnu/src/console/logstorage && /usr/bin/cc -DCONFIGURATION_FILES_DIR=\"/etc\" -DDLT_DAEMON_USE_FIFO_IPC -DDLT_LIB_USE_FIFO_IPC -DDLT_NETWORK_TRACE_ENABLE -DDLT_SYSTEMD_ENABLE -DDLT_SYSTEMD_JOURNAL_ENABLE -DDLT_UNIT_TESTS -DDLT_USER_IPC_PATH=\"/tmp\" -DDLT_USE_IPv6 -DEXTENDED_FILTERING -D_GNU_SOURCE -I/build/dlt-daemon-2.18.7 -I/build/dlt-daemon-2.18.7/obj-x86_64-linux-gnu/include/dlt -I/build/dlt-daemon-2.18.7/include/dlt -I/build/dlt-daemon-2.18.7/src/shared -I/build/dlt-daemon-2.18.7/src/core_dump_handler -I/build/dlt-daemon-2.18.7/src/offlinelogstorage -I/build/dlt-daemon-2.18.7/src/lib -I/build/dlt-daemon-2.18.7/src/daemon -I/build/dlt-daemon-2.18.7/src/console -I/build/dlt-daemon-2.18.7/src/gateway -I/build/dlt-daemon-2.18.7/systemd/3rdparty -g -O2 -ffile-prefix-map=/build/dlt-daemon-2.18.7=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Werror -std=gnu99 -Wall -Wextra -Wno-variadic-macros -Wno-strict-aliasing -o CMakeFiles/dlt-logstorage-ctrl.dir/__/dlt-control-common.c.o -c /build/dlt-daemon-2.18.7/src/console/dlt-control-common.c +make[3]: Leaving directory '/build/dlt-daemon-2.18.7/obj-x86_64-linux-gnu' +In file included from /usr/include/string.h:495, + from /build/dlt-daemon-2.18.7/src/console/dlt-control-common.c:56: +In function 'strncpy', + inlined from 'dlt_json_filter_load' at /build/dlt-daemon-2.18.7/src/console/dlt-control-common.c:716:13: +/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error: '__builtin_strncpy' specified bound 4 equals destination size [-Werror=stringop-truncation] + 106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest)); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In function 'strncpy', + inlined from 'dlt_json_filter_load' at /build/dlt-daemon-2.18.7/src/console/dlt-control-common.c:721:13: +/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: error: '__builtin_strncpy' specified bound 4 equals destination size [-Werror=stringop-truncation] + 106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest)); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Signed-off-by: Gianfranco Costamagna +Signed-off-by: Gianfranco Costamagna +--- + src/console/dlt-control-common.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/console/dlt-control-common.c b/src/console/dlt-control-common.c +index 8a9d29f0..f58d8268 100644 +--- a/src/console/dlt-control-common.c ++++ b/src/console/dlt-control-common.c +@@ -671,8 +671,8 @@ DltReturnValue dlt_json_filter_load(DltFilter *filter, const char *filename, int + struct json_object *j_payload_max; + enum json_tokener_error jerr; + +- char app_id[DLT_ID_SIZE] = ""; +- char context_id[DLT_ID_SIZE] = ""; ++ char app_id[DLT_ID_SIZE + 1] = ""; ++ char context_id[DLT_ID_SIZE + 1] = ""; + int32_t log_level = 0; + int32_t payload_max = INT32_MAX; + int32_t payload_min = 0; diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.6.bb b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.6.bb deleted file mode 100644 index b3cfb4709f..0000000000 --- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.6.bb +++ /dev/null @@ -1,66 +0,0 @@ -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 GENIVI 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.genivi.org/" -SECTION = "console/utils" -LICENSE = "MPLv2" -LIC_FILES_CHKSUM = "file://LICENSE;md5=8184208060df880fe3137b93eb88aeea" - -DEPENDS = "zlib gzip-native" - -SRC_URI = "git://github.com/GENIVI/${BPN}.git;protocol=https \ - file://0002-Don-t-execute-processes-as-a-specific-user.patch \ - file://0004-Modify-systemd-config-directory.patch \ -" -SRCREV = "22715aeceaa81ace2c832312529bde3a42d0814f" - -S = "${WORKDIR}/git" - -PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd systemd-watchdog systemd-journal dlt-examples dlt-adaptor dlt-console ', '', d)} \ - udp-connection dlt-system dlt-filetransfer " -# dlt-dbus - -# General options -PACKAGECONFIG[dlt-examples] = "-DWITH_DLT_EXAMPLES=ON,-DWITH_DLT_EXAMPLES=OFF,,dlt-daemon-systemd" - -# Linux options -PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=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,,dlt-daemon-systemd" -PACKAGECONFIG[dlt-filetransfer] = "-DWITH_DLT_FILETRANSFER=ON,-DWITH_DLT_FILETRANSFER=OFF" -PACKAGECONFIG[dlt-console] = "-DWITH_DLT_CONSOLE=ON,-DWITH_DLT_CONSOLE=OFF,,dlt-daemon-systemd" - -inherit autotools gettext cmake systemd - -EXTRA_OECMAKE += "-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', 'dlt-system', 'dlt-system.service', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'dlt-dbus', 'dlt-dbus.service', '', d)}" -SYSTEMD_AUTO_ENABLE_${PN} = "enable" -SYSTEMD_SERVICE_${PN}-systemd = " \ - ${@bb.utils.contains('PACKAGECONFIG', 'dlt-adaptor', 'dlt-adaptor-udp.service', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', 'dlt-examples', 'dlt-example-user.service', '', d)} \ - ${@bb.utils.contains('PACKAGECONFIG', '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-* -} diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.7.bb b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.7.bb new file mode 100644 index 0000000000..a16e810be6 --- /dev/null +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.7.bb @@ -0,0 +1,67 @@ +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 GENIVI 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.genivi.org/" +SECTION = "console/utils" +LICENSE = "MPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8184208060df880fe3137b93eb88aeea" + +DEPENDS = "zlib gzip-native json-c" + +SRC_URI = "git://github.com/GENIVI/${BPN}.git;protocol=https \ + file://0002-Don-t-execute-processes-as-a-specific-user.patch \ + file://0004-Modify-systemd-config-directory.patch \ + file://317.patch \ +" +SRCREV = "24d197214bfdcec7430d31b42e5c87df27287aaf" + +S = "${WORKDIR}/git" + +PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd systemd-watchdog systemd-journal dlt-examples dlt-adaptor dlt-console ', '', d)} \ + udp-connection dlt-system dlt-filetransfer " +# dlt-dbus + +# General options +PACKAGECONFIG[dlt-examples] = "-DWITH_DLT_EXAMPLES=ON,-DWITH_DLT_EXAMPLES=OFF,,dlt-daemon-systemd" + +# Linux options +PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=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,,dlt-daemon-systemd" +PACKAGECONFIG[dlt-filetransfer] = "-DWITH_DLT_FILETRANSFER=ON,-DWITH_DLT_FILETRANSFER=OFF" +PACKAGECONFIG[dlt-console] = "-DWITH_DLT_CONSOLE=ON,-DWITH_DLT_CONSOLE=OFF,,dlt-daemon-systemd" + +inherit autotools gettext cmake systemd + +EXTRA_OECMAKE += "-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', 'dlt-system', 'dlt-system.service', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'dlt-dbus', 'dlt-dbus.service', '', d)}" +SYSTEMD_AUTO_ENABLE_${PN} = "enable" +SYSTEMD_SERVICE_${PN}-systemd = " \ + ${@bb.utils.contains('PACKAGECONFIG', 'dlt-adaptor', 'dlt-adaptor-udp.service', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'dlt-examples', 'dlt-example-user.service', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', '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-* +} -- cgit 1.2.3-korg