Add preconfigured demo control panel images 24/29924/2
authorScott Murray <scott.murray@konsulko.com>
Mon, 27 May 2024 16:30:46 +0000 (12:30 -0400)
committerScott Murray <scott.murray@konsulko.com>
Tue, 28 May 2024 11:59:42 +0000 (11:59 +0000)
Changes:
- Add kuksa-dbc-feeder configuration package for the gateway flavor
  of the control panel image.
- Split out the agl-demo-control-panel configuration into a separate
  package, and add alternative versions for running against the
  regular and gateway versions of the full demo.
- Add -preconfigured and -preconfigured-gateway flavors of the
  agl-ivi-demo-control-panel image that add the appropriate tweaks
  to support the full demo setups.

Bug-AGL: SPEC-5107, SPEC-5138

Change-Id: I290d08c0f7234f951b822b161bce8166fb62d346
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/29924
Tested-by: Jenkins Job builder account
ci-image-boot-test: Jenkins Job builder account
ci-image-build: Jenkins Job builder account

recipes-connectivity/kuksa-val/kuksa-dbc-feeder-conf-control-panel.bb [new file with mode: 0644]
recipes-connectivity/kuksa-val/kuksa-dbc-feeder-conf-control-panel/kuksa-dbc-feeder.control-panel [new file with mode: 0644]
recipes-demo/agl-demo-control-panel/agl-demo-control-panel_git.bb
recipes-platform/images/agl-ivi-demo-control-panel-preconfigured-gateway.bb [new file with mode: 0644]
recipes-platform/images/agl-ivi-demo-control-panel-preconfigured.bb [new file with mode: 0644]
recipes-platform/images/agl-ivi-demo-control-panel.bb

diff --git a/recipes-connectivity/kuksa-val/kuksa-dbc-feeder-conf-control-panel.bb b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder-conf-control-panel.bb
new file mode 100644 (file)
index 0000000..3148721
--- /dev/null
@@ -0,0 +1,25 @@
+SUMMARY = "KUKSA.val DBC feeder configuration for gateway demo control panel"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+SRC_URI = "file://kuksa-dbc-feeder.control-panel"
+
+S = "${WORKDIR}"
+
+inherit update-alternatives
+
+do_compile[noexec] = "1"
+
+do_install() {
+    install -d ${D}${sysconfdir}/default
+    install -m 0644 ${WORKDIR}/kuksa-dbc-feeder.control-panel ${D}${sysconfdir}/default/
+}
+
+ALTERNATIVE_LINK_NAME[kuksa-dbc-feeder.env] = "${sysconfdir}/default/kuksa-dbc-feeder"
+
+RPROVIDES:${PN} = "kuksa-dbc-feeder.env"
+ALTERNATIVE:${PN} = "kuksa-dbc-feeder.env"
+ALTERNATIVE_TARGET_${PN} = "${sysconfdir}/default/kuksa-dbc-feeder.control-panel"
+
+RDEPENDS:${PN} += "kuksa-dbc-feeder"
diff --git a/recipes-connectivity/kuksa-val/kuksa-dbc-feeder-conf-control-panel/kuksa-dbc-feeder.control-panel b/recipes-connectivity/kuksa-val/kuksa-dbc-feeder-conf-control-panel/kuksa-dbc-feeder.control-panel
new file mode 100644 (file)
index 0000000..8e73a89
--- /dev/null
@@ -0,0 +1,4 @@
+# Leave DBC input disabled until cruise support is added to the
+# control panel simulator
+EXTRA_ARGS="--val2dbc --no-dbc2val --dbc-default /etc/kuksa-dbc-feeder/dbc_default_values.json"
+#LOG_LEVEL=debug
index f75a374..06eae18 100644 (file)
@@ -11,9 +11,7 @@ SRCREV = "31573c88e0ddefc3591bb7752b306601554ebbf2"
 
 S = "${WORKDIR}/git"
 
-inherit systemd allarch
-
-require recipes-config/agl-users/agl-users.inc
+inherit systemd allarch update-alternatives
 
 SYSTEMD_SERVICE:${PN} = "${BPN}.service"
 
@@ -33,10 +31,14 @@ do_install() {
     install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service
     
     # Install conf file
-    install -d ${D}/home/agl-driver/.local/share/agl-demo-control-panel
-    sed 's/=user-session/=AGL-databroker/' ${S}/extras/config.ini > \
-        ${D}/home/agl-driver/.local/share/agl-demo-control-panel/config.ini
-    chown -R agl-driver:agl-driver ${D}/home/agl-driver
+    install -d ${D}${sysconfdir}/agl-demo-control-panel
+    install -m 0644 ${S}/extras/config.ini ${D}${sysconfdir}/agl-demo-control-panel/config.ini.default
+    sed 's/ip = localhost/ip = 192.168.10.2/' ${S}/extras/config.ini > \
+        ${D}${sysconfdir}/agl-demo-control-panel/config.ini.demo
+    sed -e 's/hvac-enabled = true/hvac-enabled = false/' \
+        -e 's/steering-wheel-enabled = true/steering-wheel-enabled = false/' \
+        ${S}/extras/config.ini > \
+        ${D}${sysconfdir}/agl-demo-control-panel/config.ini.gateway-demo
 }
 
 # For now generate resource wrapper on first boot, as it looks non-trivial
@@ -46,9 +48,10 @@ pkg_postinst_ontarget:${PN} () {
     true
 }
 
-FILES:${PN} += "/home/agl-driver"
+ALTERNATIVE_LINK_NAME[agl-demo-control-panel.ini] = "${sysconfdir}/agl-demo-control-panel/config.ini"
 
 RDEPENDS:${PN} += " \
+    ${PN}-conf \
     python3 \
     python3-modules \
     python3-packaging \
@@ -57,3 +60,26 @@ RDEPENDS:${PN} += " \
     agl-users \
     weston \
 "
+
+PACKAGE_BEFORE_PN += "${PN}-conf"
+FILES:${PN}-conf += "${sysconfdir}/agl-demo-control-panel/config.ini.default"
+RDEPENDS:${PN}-conf = "${PN}"
+RPROVIDES:${PN}-conf = "agl-demo-control-panel.ini"
+ALTERNATIVE:${PN}-conf = "agl-demo-control-panel.ini"
+ALTERNATIVE_TARGET_${PN}-conf = "${sysconfdir}/agl-demo-control-panel/config.ini.default"
+
+PACKAGE_BEFORE_PN += "${PN}-conf-demo"
+FILES:${PN}-conf-demo += "${sysconfdir}/agl-demo-control-panel/config.ini.demo"
+RDEPENDS:${PN}-conf-demo = "${PN}"
+RPROVIDES:${PN}-conf-demo = "agl-demo-control-panel.ini"
+ALTERNATIVE:${PN}-conf-demo = "agl-demo-control-panel.ini"
+ALTERNATIVE_TARGET_${PN}-conf-demo = "${sysconfdir}/agl-demo-control-panel/config.ini.demo"
+ALTERNATIVE_PRIORITY_${PN}-conf-demo = "20"
+
+PACKAGE_BEFORE_PN += "${PN}-conf-gateway-demo"
+FILES:${PN}-conf-gateway-demo += "${sysconfdir}/agl-demo-control-panel/config.ini.gateway-demo"
+RDEPENDS:${PN}-conf-gateway-demo = "${PN}"
+RPROVIDES:${PN}-conf-gateway-demo = "agl-demo-control-panel.ini"
+ALTERNATIVE:${PN}-conf-gateway-demo = "agl-demo-control-panel.ini"
+ALTERNATIVE_TARGET_${PN}-conf-gateway-demo = "${sysconfdir}/agl-demo-control-panel/config.ini.gateway-demo"
+ALTERNATIVE_PRIORITY_${PN}-conf-gateway-demo = "30"
diff --git a/recipes-platform/images/agl-ivi-demo-control-panel-preconfigured-gateway.bb b/recipes-platform/images/agl-ivi-demo-control-panel-preconfigured-gateway.bb
new file mode 100644 (file)
index 0000000..19575a8
--- /dev/null
@@ -0,0 +1,11 @@
+require agl-ivi-demo-control-panel.bb
+
+SUMMARY = "AGL gateway demo control panel image"
+
+IMAGE_FEATURES += "kuksa-val-databroker"
+
+IMAGE_INSTALL += " \
+    agl-demo-control-panel-conf-gateway-demo \
+    vss-agl-control-panel \
+    kuksa-dbc-feeder-conf-control-panel \
+"
diff --git a/recipes-platform/images/agl-ivi-demo-control-panel-preconfigured.bb b/recipes-platform/images/agl-ivi-demo-control-panel-preconfigured.bb
new file mode 100644 (file)
index 0000000..1107b9c
--- /dev/null
@@ -0,0 +1,7 @@
+require agl-ivi-demo-control-panel.bb
+
+SUMMARY = "AGL full demo control panel image"
+
+IMAGE_INSTALL += " \
+    agl-demo-control-panel-conf-demo \
+"
index 21785ca..7524ada 100644 (file)
@@ -2,6 +2,8 @@ require recipes-platform/images/agl-image-weston.bb
 
 SUMMARY = "AGL demo control panel image"
 
+require agl-demo-features.inc
+
 IMAGE_FEATURES += "splash package-management ssh-server-openssh"
 
 # NOTE: The client key and certificate in kuksa-certificates-agl-client