aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2020-04-28 21:11:32 +0000
committerScott Murray <scott.murray@konsulko.com>2020-05-08 13:31:03 -0400
commitd11b688e620f042b4c19e3fcfa0aa9970b3624f5 (patch)
tree767bf47004567389fc9e0ae54e19e1826c0bc4f5
parent69d40194167df655116115f8864251594dbc8744 (diff)
Widget packaging rework
Changes include: - Add "agl-test-wgt" to IMAGE_FEATURES in the agl-demo template definition to yield the desired default behavior of the test widgets always being added to the agl-demo-platform image. - Created new devel and test packagegroup variants for several of the existing packagegroups to contain the associated widgets. - Added several services to the RDEPENDS in the definition of packagegroup-agl-ive-services that have been getting picked up by application RDEPENDS. This simplifies the test/devel packagegroup definitions. - Extend the agl-devel-wgt and agl-test-wgt FEATURE_PACKAGES variables as necessary to add the required corresponding widget packagegroups. - Shifted some non-applications and the use of packagegroup-hmi-framework around a bit in the definition of packagegroup-agl-demo-platform to improve clarity. - The alexa-viewer app and virtual/alexa-voiceagent-config package are now pulled in by extending the agl-voiceagent-alexa FEATURE_PACKAGES definition. This is a cleaner use of the image feature than the previous checking of IMAGE_FEATURES that was being done in the packagegroup-agl-demo-platform definition. Bug-AGL: SPEC-3300 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I0ace2d140fdceb1e0d778a0fe71d7f856a953ae4
-rw-r--r--conf/include/agl-demo-preload.inc4
-rw-r--r--conf/include/agl-demo.inc12
-rw-r--r--recipes-platform/images/agl-demo-platform.bb4
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb34
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-ivi-services.bb52
-rw-r--r--recipes-platform/packagegroups/packagegroup-hmi-framework.bb17
6 files changed, 92 insertions, 31 deletions
diff --git a/conf/include/agl-demo-preload.inc b/conf/include/agl-demo-preload.inc
index a17d1403e..da46810b9 100644
--- a/conf/include/agl-demo-preload.inc
+++ b/conf/include/agl-demo-preload.inc
@@ -2,3 +2,7 @@ DISTRO_FEATURES_append = " agl-demo-preload"
# Use demo device mapping for low-can that enables sllin0
PREFERRED_RPROVIDER_virtual/low-can-dev-mapping = "dev-mapping-demo"
+
+# Extend agl-voiceagent-alexa image feature to preload voiceagent
+# configuration package.
+FEATURE_PACKAGES_agl-voiceagent-alexa_append = " virtual/alexa-voiceagent-config"
diff --git a/conf/include/agl-demo.inc b/conf/include/agl-demo.inc
index 5a70196cb..001f37d00 100644
--- a/conf/include/agl-demo.inc
+++ b/conf/include/agl-demo.inc
@@ -5,3 +5,15 @@ IMAGE_FEATURES =+ "debug-tweaks"
DISTRO_FEATURES_append = " automount "
IMAGE_INSTALL_append = " screen mc "
+
+# Add local packagegroups to agl-test-wgt and agl-devel-wgt image feature
+# package lists
+FEATURE_PACKAGES_agl-test-wgt_append = " packagegroup-agl-ivi-services-test"
+FEATURE_PACKAGES_agl-devel-wgt_append = " \
+ packagegroup-agl-ivi-services-devel \
+ packagegroup-agl-demo-platform-devel \
+ "
+
+# Extend agl-voiceagent-alexa image feature with local alexa-viewer
+# package.
+FEATURE_PACKAGES_agl-voiceagent-alexa_append = " alexa-viewer"
diff --git a/recipes-platform/images/agl-demo-platform.bb b/recipes-platform/images/agl-demo-platform.bb
index 297cb706a..6c4346b70 100644
--- a/recipes-platform/images/agl-demo-platform.bb
+++ b/recipes-platform/images/agl-demo-platform.bb
@@ -5,8 +5,8 @@ require agl-demo-platform.inc
LICENSE = "MIT"
-IMAGE_FEATURES_append = " \
- "
+# Always include the test widgets
+IMAGE_FEATURES_append = " agl-test-wgt"
# add packages for demo platform (include demo apps) here
IMAGE_INSTALL_append = " \
diff --git a/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb b/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb
index d72112b59..61b76a5dd 100644
--- a/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb
+++ b/recipes-platform/packagegroups/packagegroup-agl-demo-platform.bb
@@ -5,8 +5,10 @@ LICENSE = "MIT"
inherit packagegroup
+PROVIDES = "${PACKAGES}"
PACKAGES = "\
packagegroup-agl-demo-platform \
+ packagegroup-agl-demo-platform-devel \
"
ALLOW_EMPTY_${PN} = "1"
@@ -17,10 +19,10 @@ RDEPENDS_${PN} += "\
RDEPENDS_${PN} += "\
packagegroup-agl-profile-graphical-qt5 \
+ packagegroup-hmi-framework \
packagegroup-agl-demo \
"
-
AGL_APPS = " \
dashboard \
hvac \
@@ -32,10 +34,8 @@ AGL_APPS = " \
settings \
messaging \
low-can-demo \
- virtual/mixer \
- ${@bb.utils.contains('IMAGE_FEATURES', 'agl-voiceagent-alexa', 'alexa-viewer' , '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'taskmanager' , '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'unzip' , '', d)} \
+ virtual/mixer \
"
QTAGLEXTRAS = "${@bb.utils.contains("DISTRO_FEATURES", "agl-hmi-framework", " qtaglextras", "",d)}"
@@ -45,9 +45,6 @@ QTAGLEXTRAS_append = " libqtappfw"
QTAGLEXTRAS_append = " qtwebsockets qtwebsockets-qmlplugins"
#PREFERRED_PROVIDER_virtual/webruntime = "web-runtime"
-# packages from hmi-framework aka homescreen-2017
-HOMESCREEN = "packagegroup-hmi-framework"
-
# Cluster demo support.
# ATM no cluster map viewer is supported with the older navigation application.
MAPVIEWER = "${@bb.utils.contains("PREFERRED_RPROVIDER_virtual/navigation", "ondemandnavi", "tbtnavi", "",d)}"
@@ -74,13 +71,32 @@ DEMO_PRELOAD_MAPS = "${@bb.utils.contains("PREFERRED_RPROVIDER_virtual/navigatio
# Preload only if agl-demo-preload is set
DEMO_PRELOAD = "${@bb.utils.contains("DISTRO_FEATURES", "agl-demo-preload", " ${DEMO_PRELOAD_MAPS} ${DEMO_UNIT_CONF} poiapp-api-key", "",d)}"
-
RDEPENDS_${PN}_append = " \
qtquickcontrols2-agl \
qtquickcontrols2-agl-style \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'unzip' , '', d)} \
${AGL_APPS} \
${QTAGLEXTRAS} \
${CLUSTER_SUPPORT} \
${DEMO_PRELOAD} \
- ${HOMESCREEN} \
+ "
+
+# NOTE: Currently no coverage versions for the application widgets,
+# they should be added here when available.
+# Also, the navigation and mixer debug widgets are currently
+# specified explicitly, as there's no simple way to derive their
+# names from the virtual/ RPROVIDES at present.
+RDEPENDS_${PN}-devel = " \
+ packagegroup-hmi-framework-devel \
+ dashboard-dbg \
+ hvac-dbg \
+ mediaplayer-dbg \
+ mixer-dbg \
+ phone-dbg \
+ ondemandnavi-dbg \
+ poiapp-dbg \
+ radio-dbg \
+ settings-dbg \
+ messaging-dbg \
+ taskmanager-dbg \
"
diff --git a/recipes-platform/packagegroups/packagegroup-agl-ivi-services.bb b/recipes-platform/packagegroups/packagegroup-agl-ivi-services.bb
index 8d0d74b16..1599299e7 100644
--- a/recipes-platform/packagegroups/packagegroup-agl-ivi-services.bb
+++ b/recipes-platform/packagegroups/packagegroup-agl-ivi-services.bb
@@ -1,29 +1,43 @@
-DESCRIPTION = "The minimal set of packages for AGL IVI Connectivity Subsystem"
+DESCRIPTION = "The minimal set of services to support AGL IVI demo"
LICENSE = "MIT"
inherit packagegroup
+PROVIDES = "${PACKAGES}"
PACKAGES = "\
packagegroup-agl-ivi-services \
+ packagegroup-agl-ivi-services-test \
+ packagegroup-agl-ivi-services-devel \
"
-ALLOW_EMPTY_${PN} = "1"
-
RDEPENDS_${PN} += "\
-agl-service-bluetooth \
-agl-service-bluetooth-map \
-agl-service-bluetooth-pbap \
-agl-service-can-low-level \
-agl-service-geoclue \
-agl-service-geofence \
-agl-service-gps \
-agl-service-identity-agent \
-agl-service-iiodevices \
-agl-service-mediascanner \
-agl-service-navigation \
-agl-service-nfc \
-agl-service-signal-composer \
-agl-service-steering-wheel \
-agl-service-unicens \
-agl-service-weather \
+ agl-service-bluetooth \
+ agl-service-bluetooth-map \
+ agl-service-bluetooth-pbap \
+ agl-service-can-low-level \
+ agl-service-geoclue \
+ agl-service-geofence \
+ agl-service-gps \
+ agl-service-hvac \
+ agl-service-identity-agent \
+ agl-service-iiodevices \
+ agl-service-mediascanner \
+ agl-service-navigation \
+ agl-service-nfc \
+ agl-service-signal-composer \
+ agl-service-steering-wheel \
+ agl-service-telephony \
+ agl-service-unicens \
+ agl-service-unicens-controller \
+ agl-service-weather \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'agl-service-taskmanager', '', d)} \
+ "
+
+RDEPENDS_${PN}-test = "\
+ ${@' '.join([x + '-test' for x in str.split(d.getVar('RDEPENDS_${PN}'))])} \
+ "
+
+RDEPENDS_${PN}-devel = "\
+ ${@' '.join([x + '-dbg' for x in str.split(d.getVar('RDEPENDS_${PN}'))])} \
+ ${@' '.join([x + '-coverage' for x in str.split(d.getVar('RDEPENDS_${PN}'))])} \
"
diff --git a/recipes-platform/packagegroups/packagegroup-hmi-framework.bb b/recipes-platform/packagegroups/packagegroup-hmi-framework.bb
index cf704e63f..f7de02c90 100644
--- a/recipes-platform/packagegroups/packagegroup-hmi-framework.bb
+++ b/recipes-platform/packagegroups/packagegroup-hmi-framework.bb
@@ -9,7 +9,13 @@ PR = "2"
inherit packagegroup
-RDEPENDS_${PN} += " \
+PROVIDES = "${PACKAGES}"
+PACKAGES = "\
+ packagegroup-hmi-framework \
+ packagegroup-hmi-framework-devel \
+ "
+
+RDEPENDS_${PN} = " \
agl-service-windowmanager \
agl-service-homescreen \
homescreen \
@@ -21,3 +27,12 @@ RDEPENDS_${PN} += " \
hmi-debug \
launcher \
"
+
+# NOTE: Currently no coverage versions of these widgets, they should
+# be added here when available.
+RDEPENDS_${PN}-devel = " \
+ agl-service-windowmanager-dbg \
+ agl-service-homescreen-dbg \
+ homescreen-dbg \
+ launcher-dbg \
+"