From: Scott Murray Date: Mon, 6 Jun 2022 22:06:42 +0000 (-0400) Subject: Rework demo packagegroup and images X-Git-Tag: 13.91.0~17 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL%2Fmeta-agl-demo.git;a=commitdiff_plain;h=78883948a2f9ee25ebc24c6fcfefd031d0d3cb6f Rework demo packagegroup and images Rework the agl-ivi-demo-platform* images to reduce duplication, and move the additions for the agl-demo-cluster-support and agl-demo-preload features. Changes: - Pull in agl-image-ivi.bb in the crosssdk image rather than duplicating its contents. This means the package additions from the demo features will be reflected in the SDK, which seems more in line with general expectations of how Yocto SDKs work. - New packagegroups are created for the agl-demo-cluster-support and agl-demo-preload features, and they are pulled into the agl-ivi-demo-platform / agl-demo-platform image using features in IMAGE_FEATURES. This avoids changing the contents of various packagegroups based on AGL_FEATURES and seems more futureproof with respect to binary packaging. - ALLOW_EMPTY has been removed in a few packagegroup recipes, as it does not seem to make sense if the packagegroup will never be empty. - The cluster-dashboard-demo-config recipe pulled into the agl-demo-cluster-support packagegroup has been added back, it was accidentally removed in the application framework cleanup. Bug-AGL: SPEC-4424 Signed-off-by: Scott Murray Change-Id: Icaa38651a1d29de09bb40576c773e3f93ee87098 --- diff --git a/recipes-config/cluster-dashboard-demo-config/cluster-dashboard-demo-config_1.0.bb b/recipes-config/cluster-dashboard-demo-config/cluster-dashboard-demo-config_1.0.bb new file mode 100644 index 000000000..f1fce78f8 --- /dev/null +++ b/recipes-config/cluster-dashboard-demo-config/cluster-dashboard-demo-config_1.0.bb @@ -0,0 +1,11 @@ +SUMMARY = "AGL cluster demo dashboard configuration file" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +SRC_URI += "file://AGL.conf.cluster" + +inherit allarch + +do_install() { + install -D -m 0644 ${WORKDIR}/AGL.conf.cluster ${D}${sysconfdir}/xdg/AGL.conf +} diff --git a/recipes-config/cluster-dashboard-demo-config/files/AGL.conf.cluster b/recipes-config/cluster-dashboard-demo-config/files/AGL.conf.cluster new file mode 100644 index 000000000..dd8a912c5 --- /dev/null +++ b/recipes-config/cluster-dashboard-demo-config/files/AGL.conf.cluster @@ -0,0 +1,2 @@ +[dashboard] +animation=false diff --git a/recipes-platform/images/agl-ivi-demo-platform-crosssdk.bb b/recipes-platform/images/agl-ivi-demo-platform-crosssdk.bb index 45db0e308..03bc3c406 100644 --- a/recipes-platform/images/agl-ivi-demo-platform-crosssdk.bb +++ b/recipes-platform/images/agl-ivi-demo-platform-crosssdk.bb @@ -1,19 +1,11 @@ +require agl-ivi-demo-platform.bb + SUMMARY = "Cross SDK of Full AGL Distribution for IVI profile" DESCRIPTION = "SDK image for full AGL Distribution for IVI profile. \ It includes the full meta-toolchain, plus developement headers and libraries \ to form a standalone cross SDK." - -require agl-image-ivi.bb - -# add packages for demo platform (include demo apps) here -IMAGE_INSTALL:append = " \ - packagegroup-agl-demo-platform \ - " - -LICENSE = "MIT" - require recipes-platform/images/agl-image-minimal-crosssdk.inc # Add wayland-scanner to SDK (SPEC-945) @@ -50,10 +42,10 @@ TOOLCHAIN_TARGET_TASK += "waltham-dev" TOOLCHAIN_HOST_TASK += " \ nativesdk-lua \ - " +" # Required dependencies for app and test builds TOOLCHAIN_TARGET_TASK += " \ lua-dev \ lua-staticdev \ - " +" diff --git a/recipes-platform/images/agl-ivi-demo-platform-html5.bb b/recipes-platform/images/agl-ivi-demo-platform-html5.bb index bef66eb32..805e239a5 100644 --- a/recipes-platform/images/agl-ivi-demo-platform-html5.bb +++ b/recipes-platform/images/agl-ivi-demo-platform-html5.bb @@ -1,14 +1,9 @@ -SUMMARY = "DEMO platform of AGL HTML5 profile" -DESCRIPTION = "Contains the web runtime and sample web apps" - require agl-image-ivi.bb -LICENSE = "MIT" - -IMAGE_FEATURES:append = " \ - " +SUMMARY = "DEMO platform of AGL HTML5 profile" +DESCRIPTION = "Contains the web runtime and sample web apps" # add packages for demo platform (include demo apps) here IMAGE_INSTALL:append = " \ packagegroup-agl-demo-platform-html5 \ - " +" diff --git a/recipes-platform/images/agl-ivi-demo-platform.bb b/recipes-platform/images/agl-ivi-demo-platform.bb index 78a6b2c24..d3bda6ae5 100644 --- a/recipes-platform/images/agl-ivi-demo-platform.bb +++ b/recipes-platform/images/agl-ivi-demo-platform.bb @@ -1,13 +1,15 @@ +require agl-image-ivi.bb + DESCRIPTION = "AGL Demo Platform image currently contains a simple HMI and \ demos." -require agl-image-ivi.bb - +FEATURE_PACKAGES_agl-demo-preload = "packagegroup-agl-demo-preload" +FEATURE_PACKAGES_agl-demo-cluster-support = "packagegroup-agl-demo-cluster-support" -LICENSE = "MIT" +IMAGE_FEATURES += "${@bb.utils.filter("AGL_FEATURES", "agl-demo-preload agl-demo-cluster-support", d)}" # add packages for demo platform (include demo apps) here IMAGE_INSTALL:append = " \ packagegroup-agl-demo-platform \ - " +" diff --git a/recipes-platform/packagegroups/packagegroup-agl-demo-cluster-support.bb b/recipes-platform/packagegroups/packagegroup-agl-demo-cluster-support.bb new file mode 100644 index 000000000..8c3fe3b9d --- /dev/null +++ b/recipes-platform/packagegroups/packagegroup-agl-demo-cluster-support.bb @@ -0,0 +1,16 @@ +SUMMARY = "Extra software and configuration for cluster demo with AGL IVI profile demo platform" + +LICENSE = "MIT" + +inherit packagegroup + +PROVIDES = "${PACKAGES}" +PACKAGES = "\ + packagegroup-agl-demo-cluster-support \ +" + +RDEPENDS:${PN} += "\ + packagegroup-agl-demo-platform \ + tbtnavi \ + cluster-demo-network-config \ +" diff --git a/recipes-platform/packagegroups/packagegroup-agl-demo-platform-html5.bb b/recipes-platform/packagegroups/packagegroup-agl-demo-platform-html5.bb index 7c5851c30..06df05ecf 100644 --- a/recipes-platform/packagegroups/packagegroup-agl-demo-platform-html5.bb +++ b/recipes-platform/packagegroups/packagegroup-agl-demo-platform-html5.bb @@ -8,26 +8,14 @@ inherit packagegroup PROVIDES = "${PACKAGES}" PACKAGES = "\ packagegroup-agl-demo-platform-html5 \ - packagegroup-agl-demo-platform-html5-devel \ " -ALLOW_EMPTY:${PN} = "1" - RDEPENDS:${PN} += "\ packagegroup-agl-image-ivi \ - " - -RDEPENDS:${PN} += "\ packagegroup-agl-profile-graphical-html5 \ packagegroup-agl-demo \ " - -RDEPENDS:${PN}:append = " \ - weston-ini-conf-landscape \ - ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'unzip' , '', d)} \ - " - # TODO(jdapena): replace this with HTML5 apps. AGL_APPS = " \ html5-dashboard \ @@ -39,21 +27,10 @@ AGL_APPS = " \ html5-settings \ " -# TODO(jdapena): review if we still need the demo-i2c stuff. - -# Hook for demo platform configuration -# ATM used for: -# 1) Adding udev configuration and scripts for supporting USB attached -# I2C devices for RTC and HVAC LED support. -DEMO_UNIT_CONF ?= "demo-i2c-udev-conf" - -# Preload only if agl-demo-preload is set -DEMO_PRELOAD = "${@bb.utils.contains("AGL_FEATURES", "agl-demo-preload", "${DEMO_UNIT_CONF}", "",d)}" - RDEPENDS:${PN}:append = " \ + weston-ini-conf-landscape \ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'unzip' , '', d)} \ qtquickcontrols2-agl \ qtquickcontrols2-agl-style \ ${AGL_APPS} \ - ${DEMO_PRELOAD} \ " diff --git a/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb b/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb index fdebd24a6..c7db0355f 100644 --- a/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb +++ b/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb @@ -8,16 +8,10 @@ inherit packagegroup PROVIDES = "${PACKAGES}" PACKAGES = "\ packagegroup-agl-demo-platform \ - packagegroup-agl-demo-platform-devel \ " -ALLOW_EMPTY:${PN} = "1" - RDEPENDS:${PN} += "\ packagegroup-agl-image-ivi \ - " - -RDEPENDS:${PN} += "\ packagegroup-agl-profile-graphical-qt5 \ packagegroup-hmi-framework \ packagegroup-agl-demo \ @@ -34,28 +28,10 @@ AGL_APPS = " \ radio \ " -# Cluster demo support. -CLUSTER_SUPPORT_PACKAGES = " \ - tbtnavi \ - cluster-demo-network-config \ -" -CLUSTER_SUPPORT = "${@bb.utils.contains("AGL_FEATURES", "agl-demo-cluster-support", "${CLUSTER_SUPPORT_PACKAGES}", "",d)}" - -# Hook for demo platform configuration -# ATM used for: -# 1) Adding udev configuration and scripts for supporting USB attached -# I2C devices for RTC and HVAC LED support. -DEMO_UNIT_CONF ?= "demo-i2c-udev-conf" - -# Preload only if agl-demo-preload is set -DEMO_PRELOAD = "${@bb.utils.contains("AGL_FEATURES", "agl-demo-preload", "${DEMO_UNIT_CONF}", "",d)}" - RDEPENDS:${PN}:append = " \ launcher \ qtquickcontrols2-agl \ qtquickcontrols2-agl-style \ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'unzip mpc' , '', d)} \ ${AGL_APPS} \ - ${CLUSTER_SUPPORT} \ - ${DEMO_PRELOAD} \ " diff --git a/recipes-platform/packagegroups/packagegroup-agl-demo-preload.bb b/recipes-platform/packagegroups/packagegroup-agl-demo-preload.bb new file mode 100644 index 000000000..5a9178afd --- /dev/null +++ b/recipes-platform/packagegroups/packagegroup-agl-demo-preload.bb @@ -0,0 +1,29 @@ +SUMMARY = "Extra software and configuration for tradeshow demo with AGL IVI profile demo platform" +LICENSE = "MIT" + +inherit packagegroup + +PROVIDES = "${PACKAGES}" +PACKAGES = " \ + packagegroup-agl-demo-preload \ +" + +# NOTES: +# - demo-i2x-udev-conf: +# Adds udev configuration and scripts for supporting USB attached +# I2C devices for RTC and HVAC LED support. +# - sllin-demo: +# Adds systemd unit and scripting to drive configuring sllin +# driver with lin-config utility, enabling HVAC fan control and +# steering wheel controls in the demo. +# - simple-can-simulator: +# CAN message simulator for vehicle and engine speed message +# generation, with some support for the cruise control events from +# the steering wheel used in the demo setup. +# +RDEPENDS:${PN} = "\ + packagegroup-agl-demo-platform \ + demo-i2c-udev-conf \ + sllin-demo \ + simple-can-simulator \ +"