Add systemd service for HVAC demo hardware setup 41/7741/3
authorTadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
Wed, 21 Dec 2016 05:17:58 +0000 (14:17 +0900)
committerTadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
Wed, 21 Dec 2016 06:08:16 +0000 (15:08 +0900)
This change is for booting all stuff for HVAC demo hardware
automatically after WindowManager launched.

Change-Id: I8331aaae3879b4b8496f2c610530fb9fd2c61de1
Signed-off-by: Tadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
recipes-demo-hmi/can-lin/can-lin_0.2.bb
recipes-demo-hmi/can-lin/files/hvac-demo.service [new file with mode: 0644]

index 128791b..b12bc0f 100644 (file)
@@ -3,20 +3,34 @@ LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
 
 SRC_URI = "git://gerrit.automotivelinux.org/gerrit/staging/most-can-demo-bin;protocol=https"
+SRC_URI += "file://hvac-demo.service"
 
 S = "${WORKDIR}/git"
-SRCREV = "70458963c48662012af856b56676260150f124c8"
-
-do_configure() {
-        echo ""
-}
-
-do_compile() {
-        echo ""
-}
+SRCREV = "fd2101e277cb80eef4c6381924cfdc1d50087d12"
 
 do_install() {
         install -m 0755 -d ${D}${bindir}
         install -m 0755 ${S}/OptoLyzerMoccaApp ${D}${bindir}
+        # Hack for vod service for RSE with most/hvac demo hardware
+
+        # vod-client is provided as binary stored and delivered in staging/most-can-demo-bin.
+        install -m 0755 -d ${D}/usr/AGL/most
+        install -m 0755 ${S}/vod-client ${D}/usr/AGL/most
+
+        # Install HVAC DEMO hardware startup systemd service (user)
+        if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+            install -m 644 -p -D ${WORKDIR}/hvac-demo.service ${D}${systemd_user_unitdir}/hvac-demo.service
+        fi
+
+        # Execute install manually for root user on behalf of systemctl script
+        # because it doesn't support user mode of systemd.
+        install -m 0755 -d ${D}/home/root/.config/systemd/user/default.target.wants/
+        ln -sf ${systemd_user_unitdir}/hvac-demo.service ${D}/home/root/.config/systemd/user/default.target.wants/hvac-demo.service
 }
 
+FILES_${PN} += " \
+    ${bindir}/OptoLyzerMoccaApp \
+    /usr/AGL/most/vod-client \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_user_unitdir}/hvac-demo.service', '', d)} \
+    ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '/home/root/.config/systemd/user/default.target.wants/hvac-demo.service', '', d)} \
+    "
diff --git a/recipes-demo-hmi/can-lin/files/hvac-demo.service b/recipes-demo-hmi/can-lin/files/hvac-demo.service
new file mode 100644 (file)
index 0000000..7173f9b
--- /dev/null
@@ -0,0 +1,12 @@
+[Unit]
+Description = HVAC DEMO hardware startup
+After=WindowManager.service
+
+[Service]
+Type=simple
+ExecStartPre=-/sbin/ip link add dev vcan0 type vcan
+ExecStartPre=-/sbin/ifconfig vcan0 up
+ExecStart=/usr/bin/openvt -e /usr/bin/OptoLyzerMoccaApp
+
+[Install]
+WantedBy=default.target