From 6cce1d8fcff72bd429a6f0aea23fc5666fd67878 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Mon, 7 Mar 2022 16:21:05 -0500 Subject: Restore cluster and telematics demo images Changes: - Restore the image recipes for the agl-cluster-demo-platform and agl-telematics-demo-platform images, with updates to them and their associated packagegroups for the app framework removal. - Restore updated recipes required for the above, including: * cluster-dashboard * cluster-receiver * qt-cluster-receiver * tbtnavi - Simple systemd unit files have been added for the cluster applications and are installed as user session units. Starting of cluster-dashboard (the XDG version) and cluster-receiver in the AGL user session is enabled by default. - The recipes to install the dedicated network configuration for the cluster demo have been restored so that the agl-cluster-demo-support and agl-demo-preload features will do what is expected again. Known outstanding issues: - The previous signal-composer binding support has been removed from cluster-dashboard, so related functionality (i.e. driving it from CAN) is disabled until replacement is worked out. - While tbtnavi builds, the previous use of the navigation binding is stubbed out in libqtappfw, so it will not receive location and route information from ondemandnavi. - Nothing has been added yet to start tbtnavi in the AGL user session, the plan is to do so with a systemd user unit once a new mechanism for controlling it from ondemandnavi has been implemented. - The telematics-recorder application has not yet been updated to replace its signal-composer, gps, and network binding use. The intent is to address these issues in the 13.0.x point releases. Bug-AGL: SPEC-4283 Signed-off-by: Scott Murray Change-Id: I520c23775b21504cb7dd92538319cc5bf826ff64 --- .../cluster-demo-network-config_1.0.bb | 33 ++++++++++++++++++++++ .../files/cluster-demo-network-conf.sh | 17 +++++++++++ .../files/cluster-demo-network-conf@.service | 12 ++++++++ 3 files changed, 62 insertions(+) create mode 100644 recipes-config/cluster-demo-network-config/cluster-demo-network-config_1.0.bb create mode 100644 recipes-config/cluster-demo-network-config/files/cluster-demo-network-conf.sh create mode 100644 recipes-config/cluster-demo-network-config/files/cluster-demo-network-conf@.service (limited to 'recipes-config') diff --git a/recipes-config/cluster-demo-network-config/cluster-demo-network-config_1.0.bb b/recipes-config/cluster-demo-network-config/cluster-demo-network-config_1.0.bb new file mode 100644 index 000000000..8d737282d --- /dev/null +++ b/recipes-config/cluster-demo-network-config/cluster-demo-network-config_1.0.bb @@ -0,0 +1,33 @@ +SUMMARY = "Setting files for cluster network for the AGL Demonstrator" +DESCRIPTION = "Setting files for cluster network for the AGL Demonstrator" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +inherit systemd allarch + +SRC_URI = "file://cluster-demo-network-conf@.service \ + file://cluster-demo-network-conf.sh \ +" + +# Network device for dedicated connection to cluster +AGL_CLUSTER_NET_DEVICE ?= "eth1" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +do_install() { + # Install helper script + install -d ${D}${sbindir} + install -m 0755 ${WORKDIR}/cluster-demo-network-conf.sh ${D}${sbindir}/ + + # Install service unit + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/cluster-demo-network-conf@.service ${D}${systemd_system_unitdir}/ + + # Add symlink to network.target.wants + install -d ${D}${sysconfdir}/systemd/system/network.target.wants + ln -s ${systemd_system_unitdir}/cluster-demo-network-conf@.service \ + ${D}${sysconfdir}/systemd/system/network.target.wants/cluster-demo-network-conf@${AGL_CLUSTER_NET_DEVICE}.service +} + +FILES:${PN} += "${systemd_system_unitdir}" diff --git a/recipes-config/cluster-demo-network-config/files/cluster-demo-network-conf.sh b/recipes-config/cluster-demo-network-config/files/cluster-demo-network-conf.sh new file mode 100644 index 000000000..3f538175f --- /dev/null +++ b/recipes-config/cluster-demo-network-config/files/cluster-demo-network-conf.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +CONNMAN_CONF=/etc/connman/main.conf +CLUSTER_ADDRESS=192.168.20.93 + +if [ -z "$1" ]; then + echo "Usage: $0 " + exit 1 +fi + +# Need to blacklist given device with connman if it isn't already, +# otherwise connman will over-ride address configuration. +if ! grep '^NetworkInterfaceBlacklist=' ${CONNMAN_CONF} | grep -q $1; then + sed -i "s/^\(NetworkInterfaceBlacklist=.*\)/\1,$1/" ${CONNMAN_CONF} +fi + +/sbin/ifconfig $1 ${CLUSTER_ADDRESS} diff --git a/recipes-config/cluster-demo-network-config/files/cluster-demo-network-conf@.service b/recipes-config/cluster-demo-network-config/files/cluster-demo-network-conf@.service new file mode 100644 index 000000000..5fc29b7a0 --- /dev/null +++ b/recipes-config/cluster-demo-network-config/files/cluster-demo-network-conf@.service @@ -0,0 +1,12 @@ +[Unit] +Description=Configure dedicated link for cluster demo network +After=sys-subsystem-net-devices-%i.device +Requires=sys-subsystem-net-devices-%i.device +Before=network.target + +[Service] +ExecStart=/usr/sbin/cluster-demo-network-conf.sh %i +Type=oneshot + +[Install] +WantedBy=network.target -- cgit 1.2.3-korg