From f19f2f6572adf3825e60ceb5e18e3e35d1995bec Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Fri, 30 Aug 2019 14:18:23 -0400 Subject: Update demo features for switch to ondemandnavi The ondemandnavi navigation application does not work with the mapviewer cluster demo application, so update the logic to handle the agl-cluster-demo-support feature in packagegroup-agl-demo-platform to not pull it in when using ondemandnavi as the virtual/navigation provider. Since the plan is to replace mapviewer with an equivalent QtLocation based map streamer for the cluster demo, the mapviewer-demo recipe has also been replaced with a more generically named cluster-demo-network-config recipe. Additionally, the agl-demo-preload feature logic has been tweaked to not pull in the map package for the old navigation application when using ondemandnavi. Bug-AGL: SPEC-2576 Change-Id: I57b45ab152f9fab6cee97d570be1949136cd39eb Signed-off-by: Scott Murray --- .../cluster-demo-network-config_1.0.bb | 23 ++++++++++++++ .../files/cluster-demo-network-conf.service | 15 ++++++++++ recipes-demo-hmi/navigation/mapviewer-demo.bb | 35 ---------------------- .../mapviewer-demo-network-conf.service | 15 ---------- .../navigation/mapviewer-demo/weston-ready.conf | 4 --- .../packagegroup-agl-demo-platform.bb | 17 +++++++---- 6 files changed, 49 insertions(+), 60 deletions(-) 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.service delete mode 100644 recipes-demo-hmi/navigation/mapviewer-demo.bb delete mode 100644 recipes-demo-hmi/navigation/mapviewer-demo/mapviewer-demo-network-conf.service delete mode 100644 recipes-demo-hmi/navigation/mapviewer-demo/weston-ready.conf mode change 100755 => 100644 recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb 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..a5386b409 --- /dev/null +++ b/recipes-config/cluster-demo-network-config/cluster-demo-network-config_1.0.bb @@ -0,0 +1,23 @@ +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" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +do_install() { + # Install cluster demo network configuration 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/ +} + +FILES_${PN} += "${systemd_system_unitdir}" 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..1a6e2d8b7 --- /dev/null +++ b/recipes-config/cluster-demo-network-config/files/cluster-demo-network-conf.service @@ -0,0 +1,15 @@ +[Unit] +Description=Configure dedicated link for cluster demo network +After=sys-subsystem-net-devices-eth1.device +Requires=sys-subsystem-net-devices-eth1.device +Before=network.target + +[Service] +# Note that this is done as opposed to using connman as configuring an +# interface on a second network separate from the rest of the interfaces +# is non-trivial in connman and needs further investigation. +ExecStart=/sbin/ifconfig eth1 192.168.20.93 +Type=oneshot + +[Install] +WantedBy=network.target diff --git a/recipes-demo-hmi/navigation/mapviewer-demo.bb b/recipes-demo-hmi/navigation/mapviewer-demo.bb deleted file mode 100644 index 44f480499..000000000 --- a/recipes-demo-hmi/navigation/mapviewer-demo.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "Setting files of mapviewer for the AGL Demonstrator" -DESCRIPTION = "Setting files of mapviewer for the AGL Demonstrator" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" - -SECTION = "apps" - -inherit systemd - -SRC_URI = " \ - file://weston-ready.conf \ - file://mapviewer-demo-network-conf.service \ -" - -do_install() { - # Install cluster demo network configuration service unit - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/mapviewer-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}/mapviewer-demo-network-conf.service ${D}${sysconfdir}/systemd/system/network.target.wants/ - - # Workaround for now to ensure that the windowmanager and its dependencies - # start after weston, which takes longer with gst-record enabled. - # This should be investigated a bit further and likely reworked into - # something more generically applicable. - install -d ${D}${sysconfdir}/systemd/system/afm-api-windowmanager@.service.d - install -m 0644 ${WORKDIR}/weston-ready.conf ${D}${sysconfdir}/systemd/system/afm-api-windowmanager@.service.d -} - -FILES_${PN} += " \ - ${sysconfdir}/xdg/weston/ \ - ${systemd_system_unitdir} \ -" diff --git a/recipes-demo-hmi/navigation/mapviewer-demo/mapviewer-demo-network-conf.service b/recipes-demo-hmi/navigation/mapviewer-demo/mapviewer-demo-network-conf.service deleted file mode 100644 index 1a6e2d8b7..000000000 --- a/recipes-demo-hmi/navigation/mapviewer-demo/mapviewer-demo-network-conf.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=Configure dedicated link for cluster demo network -After=sys-subsystem-net-devices-eth1.device -Requires=sys-subsystem-net-devices-eth1.device -Before=network.target - -[Service] -# Note that this is done as opposed to using connman as configuring an -# interface on a second network separate from the rest of the interfaces -# is non-trivial in connman and needs further investigation. -ExecStart=/sbin/ifconfig eth1 192.168.20.93 -Type=oneshot - -[Install] -WantedBy=network.target diff --git a/recipes-demo-hmi/navigation/mapviewer-demo/weston-ready.conf b/recipes-demo-hmi/navigation/mapviewer-demo/weston-ready.conf deleted file mode 100644 index e90eed5f8..000000000 --- a/recipes-demo-hmi/navigation/mapviewer-demo/weston-ready.conf +++ /dev/null @@ -1,4 +0,0 @@ -[Unit] -Requires=weston-ready.service -After=weston-ready.service - diff --git a/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb b/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb old mode 100755 new mode 100644 index a9740509d..128d4d7ee --- a/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb +++ b/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb @@ -59,12 +59,17 @@ AGL_APIS = " \ QTAGLEXTRAS = "${@bb.utils.contains("DISTRO_FEATURES", "agl-hmi-framework", " qtaglextras", "",d)}" -# mapviewer and mapviewer-demo are required for AGL cluster demo -MAPVIEWER = "${@bb.utils.contains("DISTRO_FEATURES", "agl-cluster-demo-support", " mapviewer mapviewer-demo", "",d)}" - -# Preload navigation maps and poi API key for demo if requested +# Cluster demo support. +# ATM mapviewer is required for navigation map viewing when doing cluster +# demos with the older navigation application. +MAPVIEWER = "${@bb.utils.contains("PREFERRED_PROVIDER_virtual/navigation", "navigation", "mapviewer", "",d)}" +CLUSTER_SUPPORT = "${@bb.utils.contains("DISTRO_FEATURES", "agl-cluster-demo-support", "${MAPVIEWER} cluster-demo-network-config", "",d)}" + +# Preload poi API key for demo if requested, and potentially maps for older +# navigation application if it is configured. DEMO_MAPS_LOCALE ?= "uk" -DEMO_PRELOAD = "${@bb.utils.contains("DISTRO_FEATURES", "agl-demo-preload", " navigation-maps-${DEMO_MAPS_LOCALE} poiapp-api-key", "",d)}" +DEMO_PRELOAD_MAPS = "${@bb.utils.contains("PREFERRED_PROVIDER_virtual/navigation", "navigation", " navigation-maps-${DEMO_MAPS_LOCALE}", "",d)}" +DEMO_PRELOAD = "${@bb.utils.contains("DISTRO_FEATURES", "agl-demo-preload", " ${DEMO_PRELOAD_MAPS} poiapp-api-key", "",d)}" # Hook for demo platform configuration # ATM, only used to disable btwilink module on M3ULCB + Kingfisher by default, @@ -81,7 +86,7 @@ RDEPENDS_${PN}_append = " \ ${AGL_APPS} \ ${AGL_APIS} \ ${QTAGLEXTRAS} \ - ${MAPVIEWER} \ + ${CLUSTER_SUPPORT} \ ${DEMO_PRELOAD} \ ${DEMO_PLATFORM_CONF} \ " -- cgit 1.2.3-korg