Add support for GENIVI Diagnostic Log and Trace (DLT). 15/5615/2
authorAndre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
Wed, 13 Apr 2016 01:57:52 +0000 (22:57 -0300)
committerAndre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
Wed, 4 May 2016 16:09:18 +0000 (13:09 -0300)
More info at http://projects.genivi.org/diagnostic-log-trace/.

Change-Id: I2eab825c9aba9d56795d89b1fab84151e570c423
Signed-off-by: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
meta-ivi-common/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-with-systemd-209.patch [new file with mode: 0644]
meta-ivi-common/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch [new file with mode: 0644]
meta-ivi-common/recipes-extended/dlt-daemon/dlt-daemon/0003-systemd-unit-type-should-be-in-lowercase-so-use-Type.patch [new file with mode: 0644]
meta-ivi-common/recipes-extended/dlt-daemon/dlt-daemon/0004-Modify-systemd-config-directory.patch [new file with mode: 0644]
meta-ivi-common/recipes-extended/dlt-daemon/dlt-daemon_2.11.1.bb [new file with mode: 0644]

diff --git a/meta-ivi-common/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-with-systemd-209.patch b/meta-ivi-common/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-with-systemd-209.patch
new file mode 100644 (file)
index 0000000..5bf6bf8
--- /dev/null
@@ -0,0 +1,30 @@
+From 8080b7395c1638baee60fb3c46667f21e00b87fb Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Erik=20Bot=C3=B6?= <erik.boto@pelagicore.com>
+Date: Fri, 4 Apr 2014 10:59:18 +0200
+Subject: [PATCH 1/4] Fix build with systemd >= 209
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [Configuration Specific]
+Signed-off-by: Erik Botö <erik.boto@pelagicore.com>
+---
+ src/system/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/system/CMakeLists.txt b/src/system/CMakeLists.txt
+index ce87914..1d0d224 100644
+--- a/src/system/CMakeLists.txt
++++ b/src/system/CMakeLists.txt
+@@ -23,7 +23,7 @@ set(dlt_system_SRCS dlt-system.c dlt-system-options.c dlt-system-process-handlin
+       dlt-system-syslog.c dlt-system-watchdog.c dlt-system-journal.c)
+ add_executable(dlt-system ${dlt_system_SRCS} ${systemd_SRCS})
+ if(WITH_SYSTEMD_JOURNAL)
+-      target_link_libraries(dlt-system dlt ${ZLIB_LIBRARIES} systemd-journal systemd-id128)
++      target_link_libraries(dlt-system dlt ${ZLIB_LIBRARIES} systemd)
+ else(WITH_SYSTEMD_JOURNAL)
+       target_link_libraries(dlt-system dlt ${ZLIB_LIBRARIES})
+ endif(WITH_SYSTEMD_JOURNAL)
+-- 
+1.9.3
+
diff --git a/meta-ivi-common/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch b/meta-ivi-common/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch
new file mode 100644 (file)
index 0000000..40c5afb
--- /dev/null
@@ -0,0 +1,91 @@
+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 0c39637..f446757 100644
+--- a/systemd/dlt-adaptor-udp.service.cmake
++++ b/systemd/dlt-adaptor-udp.service.cmake
+@@ -20,7 +20,6 @@ Wants=dlt.service
+ [Service]
+ Type=Simple
+-User=genivi
+ 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
+diff --git a/systemd/dlt-dbus.service.cmake b/systemd/dlt-dbus.service.cmake
+index 2727c2d..d1e3b12 100755
+--- a/systemd/dlt-dbus.service.cmake
++++ b/systemd/dlt-dbus.service.cmake
+@@ -21,7 +21,6 @@ Wants=dlt.service
\r
+ [Service]\r
+ Type=Simple\r
+-User=root\r
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-dbus\r
+ WatchdogSec=@DLT_WatchdogSec@\r
+ NotifyAccess=main\r
+diff --git a/systemd/dlt-example-user.service.cmake b/systemd/dlt-example-user.service.cmake
+index 3652292..b67a83c 100644
+--- a/systemd/dlt-example-user.service.cmake
++++ b/systemd/dlt-example-user.service.cmake
+@@ -20,6 +20,5 @@ Wants=dlt.service
+ [Service]
+ Type=Simple
+-User=genivi
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-example-user "Hallo from GENIVI DLT example user application"
+ LimitCORE=infinity
+\ No newline at end of file
+diff --git a/systemd/dlt-receive.service.cmake b/systemd/dlt-receive.service.cmake
+index b92c8b2..4bbdfc2 100644
+--- a/systemd/dlt-receive.service.cmake
++++ b/systemd/dlt-receive.service.cmake
+@@ -21,6 +21,5 @@ Wants=dlt.service
+ [Service]
+ Type=Simple
+-User=genivi
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-receive -o /tmp/dlt_receive_log.dlt localhost
+ LimitCORE=infinity
+\ No newline at end of file
+diff --git a/systemd/dlt-system.service.cmake b/systemd/dlt-system.service.cmake
+index f5e844b..7ec995c 100755
+--- a/systemd/dlt-system.service.cmake
++++ b/systemd/dlt-system.service.cmake
+@@ -21,7 +21,6 @@ Wants=dlt.service
\r
+ [Service]\r
+ Type=Simple\r
+-User=genivi\r
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-system\r
+ WatchdogSec=@DLT_WatchdogSec@\r
+ NotifyAccess=main\r
+diff --git a/systemd/dlt.service.cmake b/systemd/dlt.service.cmake
+index 22279c4..7bb05bc 100755
+--- a/systemd/dlt.service.cmake
++++ b/systemd/dlt.service.cmake
+@@ -20,7 +20,6 @@ Documentation=man:dlt-daemon(1) man:dlt.conf(5)
+ [Service]
+ Type=Simple
+-User=genivi
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-daemon
+ WatchdogSec=@DLT_WatchdogSec@
+ NotifyAccess=main
+-- 
+1.9.3
+
diff --git a/meta-ivi-common/recipes-extended/dlt-daemon/dlt-daemon/0003-systemd-unit-type-should-be-in-lowercase-so-use-Type.patch b/meta-ivi-common/recipes-extended/dlt-daemon/dlt-daemon/0003-systemd-unit-type-should-be-in-lowercase-so-use-Type.patch
new file mode 100644 (file)
index 0000000..691a500
--- /dev/null
@@ -0,0 +1,98 @@
+From 6804c68ed61f4436818c58cb0abe1c21b4d48aea Mon Sep 17 00:00:00 2001
+From: Andrei Gherzan <andrei.gherzan@windriver.com>
+Date: Tue, 18 Nov 2014 15:48:50 +0100
+Subject: [PATCH 3/4] systemd/*: unit type should be in lowercase, so use
+ Type=simple
+
+Upstream-Status: Submitted [http://lists.genivi.org/pipermail/genivi-diagnostic-log-and-trace/2014-October/000546.html]
+Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com>
+---
+ systemd/dlt-adaptor-udp.service.cmake  | 2 +-
+ systemd/dlt-dbus.service.cmake         | 2 +-
+ systemd/dlt-example-user.service.cmake | 2 +-
+ systemd/dlt-receive.service.cmake      | 2 +-
+ systemd/dlt-system.service.cmake       | 2 +-
+ systemd/dlt.service.cmake              | 2 +-
+ 6 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/systemd/dlt-adaptor-udp.service.cmake b/systemd/dlt-adaptor-udp.service.cmake
+index f446757..81a7158 100644
+--- a/systemd/dlt-adaptor-udp.service.cmake
++++ b/systemd/dlt-adaptor-udp.service.cmake
+@@ -19,7 +19,7 @@ Description=GENIVI DLT adaptor stdin. Adaptor for forwarding received UDP messag
+ Wants=dlt.service
+ [Service]
+-Type=Simple
++Type=simple
+ 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
+diff --git a/systemd/dlt-dbus.service.cmake b/systemd/dlt-dbus.service.cmake
+index d1e3b12..75dcdc3 100755
+--- a/systemd/dlt-dbus.service.cmake
++++ b/systemd/dlt-dbus.service.cmake
+@@ -20,7 +20,7 @@ Documentation=man:dlt-dbus(1) man:dlt-dbus.conf(5)
+ Wants=dlt.service\r
\r
+ [Service]\r
+-Type=Simple\r
++Type=simple\r
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-dbus\r
+ WatchdogSec=@DLT_WatchdogSec@\r
+ NotifyAccess=main\r
+diff --git a/systemd/dlt-example-user.service.cmake b/systemd/dlt-example-user.service.cmake
+index b67a83c..fe9c567 100644
+--- a/systemd/dlt-example-user.service.cmake
++++ b/systemd/dlt-example-user.service.cmake
+@@ -19,6 +19,6 @@ Description=GENIVI DLT example user. Generate DLT messages and store them to fil
+ Wants=dlt.service
+ [Service]
+-Type=Simple
++Type=simple
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-example-user "Hallo from GENIVI DLT example user application"
+ LimitCORE=infinity
+\ No newline at end of file
+diff --git a/systemd/dlt-receive.service.cmake b/systemd/dlt-receive.service.cmake
+index 4bbdfc2..3b47dd3 100644
+--- a/systemd/dlt-receive.service.cmake
++++ b/systemd/dlt-receive.service.cmake
+@@ -20,6 +20,6 @@ Documentation=man:dlt-receive(1)
+ Wants=dlt.service
+ [Service]
+-Type=Simple
++Type=simple
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-receive -o /tmp/dlt_receive_log.dlt localhost
+ LimitCORE=infinity
+\ No newline at end of file
+diff --git a/systemd/dlt-system.service.cmake b/systemd/dlt-system.service.cmake
+index 7ec995c..d4a4c96 100755
+--- a/systemd/dlt-system.service.cmake
++++ b/systemd/dlt-system.service.cmake
+@@ -20,7 +20,7 @@ Documentation=man:dlt-system(1) man:dlt-system.conf(5)
+ Wants=dlt.service\r
\r
+ [Service]\r
+-Type=Simple\r
++Type=simple\r
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-system\r
+ WatchdogSec=@DLT_WatchdogSec@\r
+ NotifyAccess=main\r
+diff --git a/systemd/dlt.service.cmake b/systemd/dlt.service.cmake
+index 7bb05bc..5386ffd 100755
+--- a/systemd/dlt.service.cmake
++++ b/systemd/dlt.service.cmake
+@@ -19,7 +19,7 @@ Description=GENIVI DLT logging daemon
+ Documentation=man:dlt-daemon(1) man:dlt.conf(5)
+ [Service]
+-Type=Simple
++Type=simple
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-daemon
+ WatchdogSec=@DLT_WatchdogSec@
+ NotifyAccess=main
+-- 
+1.9.3
+
diff --git a/meta-ivi-common/recipes-extended/dlt-daemon/dlt-daemon/0004-Modify-systemd-config-directory.patch b/meta-ivi-common/recipes-extended/dlt-daemon/dlt-daemon/0004-Modify-systemd-config-directory.patch
new file mode 100644 (file)
index 0000000..df762f3
--- /dev/null
@@ -0,0 +1,27 @@
+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/systemd/CMakeLists.txt b/systemd/CMakeLists.txt
+index a9838e4..c8feae5 100644
+--- a/systemd/CMakeLists.txt
++++ b/systemd/CMakeLists.txt
+@@ -16,7 +16,7 @@
+ if(WITH_SYSTEMD)
+-    set(SYSTEMD_CONFIGURATIONS_FILES_DIR ${CMAKE_INSTALL_PREFIX}/lib/systemd/system )
++    set(SYSTEMD_CONFIGURATIONS_FILES_DIR /lib/systemd/system )
+         
+     if(WITH_SYSTEMD_WATCHDOG)
+         set( DLT_WatchdogSec 2 )
+-- 
+1.9.3
+
diff --git a/meta-ivi-common/recipes-extended/dlt-daemon/dlt-daemon_2.11.1.bb b/meta-ivi-common/recipes-extended/dlt-daemon/dlt-daemon_2.11.1.bb
new file mode 100644 (file)
index 0000000..183e2e9
--- /dev/null
@@ -0,0 +1,44 @@
+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.txt;md5=99ba60c3fad7eaf8c56bca6dd75cba09 \
+                    file://MPL.txt;md5=ccdb2761cef70c8b2612624c323f89dc"
+
+DEPENDS = "dbus zlib"
+
+# FIX ME
+# This should be TAG = "v${PV}" but yocto doesn't support lightweight tags for now
+# https://bugzilla.yoctoproject.org/show_bug.cgi?id=6881
+TAG = "b8b3ea3a31f7deb681941a19878c82e7b7350ae7"
+BRANCH = "v2.11.x"
+SRC_URI = "git://git.projects.genivi.org/${PN}.git;branch=${BRANCH};tag=${TAG} \
+           file://0001-Fix-build-with-systemd-209.patch \
+           file://0002-Don-t-execute-processes-as-a-specific-user.patch \
+           file://0003-systemd-unit-type-should-be-in-lowercase-so-use-Type.patch \
+           file://0004-Modify-systemd-config-directory.patch"
+S = "${WORKDIR}/git"
+
+inherit gzipnative autotools gettext cmake systemd
+
+PACKAGES += "${PN}-systemd"
+SYSTEMD_PACKAGES = "${PN} ${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "dlt-system.service dlt.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+SYSTEMD_SERVICE_${PN}-systemd = "dlt-example-user.service \
+    dlt-dbus.service \
+    dlt-adaptor-udp.service \
+    dlt-receive.service"
+SYSTEMD_AUTO_ENABLE_${PN}-systemd = "disable"
+
+EXTRA_OECMAKE = "-DWITH_SYSTEMD=ON"
+
+FILES_${PN}-doc += "/usr/share/dlt-filetransfer"