aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-config/cluster-demo-network-config
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2022-03-07 16:21:05 -0500
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2022-03-08 14:49:45 +0000
commit6cce1d8fcff72bd429a6f0aea23fc5666fd67878 (patch)
tree3d9992258a8877afcc5bb90a0def2706a83816ab /recipes-config/cluster-demo-network-config
parent8e02ea4d58b42e6d1bad629399b25713e34e55e9 (diff)
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 <scott.murray@konsulko.com> Change-Id: I520c23775b21504cb7dd92538319cc5bf826ff64
Diffstat (limited to 'recipes-config/cluster-demo-network-config')
-rw-r--r--recipes-config/cluster-demo-network-config/cluster-demo-network-config_1.0.bb33
-rw-r--r--recipes-config/cluster-demo-network-config/files/cluster-demo-network-conf.sh17
-rw-r--r--recipes-config/cluster-demo-network-config/files/cluster-demo-network-conf@.service12
3 files changed, 62 insertions, 0 deletions
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 <network device>"
+ 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