summaryrefslogtreecommitdiffstats
path: root/recipes-platform
diff options
context:
space:
mode:
authorJan-Simon Moeller <jsmoeller@linuxfoundation.org>2020-12-08 11:15:02 +0100
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2020-12-17 13:58:05 +0000
commit41591d4f8c586aa801220fac0924556f406c58bd (patch)
tree85a2803d48a094fb0ba3a76b9e3d0870a4e5edc2 /recipes-platform
parent4830bcef14e7f49cdc851c646a69c9bb9bd92e82 (diff)
SPEC-3723: restructure meta-agl-demo
All demo related components should be in here now. We keep the packagegroups on purpose for now to stay backward-compatible. v2: layer does pass yocto-check-layer, dependencies adapted v3: remove the dynamic-layer setup, use all-in-one approach v4: Fixed comments from Paul Barker. Tnx! v5: Removed wayland/weston/agl-compositor additions, except for demo specific weston-init bbappend Follow-up changes required later: - massaging packagegroups - scrub of recipes Bug-AGL: SPEC-3723 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I47cefd8c23d46b2cdd063470e3f7d97d5ad952d8
Diffstat (limited to 'recipes-platform')
-rw-r--r--recipes-platform/images/agl-cluster-demo-platform-crosssdk.bb27
-rw-r--r--recipes-platform/images/agl-cluster-demo-platform.bb14
-rw-r--r--recipes-platform/images/agl-cluster-demo-platform.inc3
-rw-r--r--recipes-platform/images/agl-cluster-demo-qtcompositor.bb15
-rw-r--r--recipes-platform/images/agl-cluster-demo-qtcompositor.inc2
-rw-r--r--recipes-platform/images/agl-demo-platform-crosssdk.bb2
-rw-r--r--recipes-platform/images/agl-image-cluster-qt5.bb9
-rw-r--r--recipes-platform/images/agl-image-cluster-qt5.inc7
-rw-r--r--recipes-platform/images/agl-image-cluster.bb9
-rw-r--r--recipes-platform/images/agl-image-cluster.inc7
-rw-r--r--recipes-platform/images/agl-image-graphical-html5.bb10
-rw-r--r--recipes-platform/images/agl-image-graphical-html5.inc9
-rwxr-xr-xrecipes-platform/images/agl-image-graphical-qt5-crosssdk.bb18
-rw-r--r--recipes-platform/images/agl-image-graphical-qt5-crosssdk.inc14
-rw-r--r--recipes-platform/images/agl-image-graphical-qt5.bb5
-rw-r--r--recipes-platform/images/agl-image-graphical-qt5.inc1
-rw-r--r--recipes-platform/images/agl-image-telematics.bb9
-rw-r--r--recipes-platform/images/agl-image-telematics.inc5
-rw-r--r--recipes-platform/images/agl-telematics-demo-platform-crosssdk.bb21
-rw-r--r--recipes-platform/images/agl-telematics-demo-platform.bb13
-rw-r--r--recipes-platform/images/agl-telematics-demo-platform.inc3
-rw-r--r--recipes-platform/packagegroups/nativesdk-packagegroup-sdk-host.bbappend6
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-app-framework.bbappend1
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-appfw-html5.bb18
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-appfw-native-qt5.bb29
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-cluster-demo-platform.bb43
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-cluster-demo-qtcompositor.bb43
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-core-devel.bbappend10
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-demo-qt-examples.bb26
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-graphical-services.bb15
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bbappend1
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-graphical-weston_agldemo.inc8
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-image-ivi.bb5
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-image-ivi.bbappend4
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-ivi-connectivity.bbappend5
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-ivi-identity.bb9
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-ivi-navigation.bb2
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-ivi-services.bb3
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-networking.bb23
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qt5.bb21
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qtcompositor.bb36
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-profile-cluster.bb20
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-profile-graphical-html5.bb23
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-profile-graphical-qt5.bb23
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-profile-graphical.bbappend3
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-profile-telematics.bb25
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-source-han-sans-ttf-fonts.bb20
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-telematics-demo-platform.bb35
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-ttf-fonts.bb21
-rw-r--r--recipes-platform/packagegroups/packagegroup-qt5-toolchain-target.bbappend18
50 files changed, 692 insertions, 7 deletions
diff --git a/recipes-platform/images/agl-cluster-demo-platform-crosssdk.bb b/recipes-platform/images/agl-cluster-demo-platform-crosssdk.bb
new file mode 100644
index 000000000..6f8bf6297
--- /dev/null
+++ b/recipes-platform/images/agl-cluster-demo-platform-crosssdk.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Cross SDK of AGL Distribution for Cluster profile Demo"
+
+DESCRIPTION = "SDK image for AGL Distribution for Cluster profile Demo. \
+It includes the full meta-toolchain, plus developement headers and libraries \
+to form a standalone cross SDK."
+
+require agl-cluster-demo-platform.bb
+
+LICENSE = "MIT"
+
+IMAGE_FEATURES_append = " dev-pkgs"
+IMAGE_INSTALL_append = " kernel-dev kernel-devsrc"
+
+inherit populate_sdk populate_sdk_qt5
+
+# Task do_populate_sdk and do_rootfs can't be exec simultaneously.
+# Both exec "createrepo" on the same directory, and so one of them
+# can failed (randomly).
+addtask do_populate_sdk after do_rootfs
+
+# Add wayland-scanner to SDK (SPEC-945)
+# Use TOOLCHAIN_HOST_TASK instead of adding to the packagegroup
+# wayland-scanner is in nativesdk-wayland-dev !
+# option: add also nativesdk-qtwayland-tools
+TOOLCHAIN_HOST_TASK_append = " nativesdk-wayland nativesdk-wayland-dev"
+
+TOOLCHAIN_HOST_TASK_append = " nativesdk-perl-modules "
diff --git a/recipes-platform/images/agl-cluster-demo-platform.bb b/recipes-platform/images/agl-cluster-demo-platform.bb
new file mode 100644
index 000000000..52d737b74
--- /dev/null
+++ b/recipes-platform/images/agl-cluster-demo-platform.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "AGL Cluster Demo Platform image currently contains a simple cluster interface."
+
+require agl-cluster-demo-platform.inc
+
+LICENSE = "MIT"
+
+IMAGE_FEATURES_append = " \
+ "
+
+# add packages for cluster demo platform (include demo apps) here
+IMAGE_INSTALL_append = " \
+ packagegroup-agl-cluster-demo-platform \
+ "
+
diff --git a/recipes-platform/images/agl-cluster-demo-platform.inc b/recipes-platform/images/agl-cluster-demo-platform.inc
new file mode 100644
index 000000000..8745ca941
--- /dev/null
+++ b/recipes-platform/images/agl-cluster-demo-platform.inc
@@ -0,0 +1,3 @@
+# Base image
+require recipes-platform/images/agl-image-cluster-qt5.inc
+
diff --git a/recipes-platform/images/agl-cluster-demo-qtcompositor.bb b/recipes-platform/images/agl-cluster-demo-qtcompositor.bb
new file mode 100644
index 000000000..d6f325662
--- /dev/null
+++ b/recipes-platform/images/agl-cluster-demo-qtcompositor.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "AGL Cluster Demo Qtwayland Compositor image currently contains a \
+simple cluster interface and some AGL service."
+
+require agl-cluster-demo-qtcompositor.inc
+
+LICENSE = "MIT"
+
+IMAGE_FEATURES_append = " \
+ "
+
+# add packages for cluster demo qtcompositor
+IMAGE_INSTALL_append = " \
+ packagegroup-agl-cluster-demo-qtcompositor \
+ "
+
diff --git a/recipes-platform/images/agl-cluster-demo-qtcompositor.inc b/recipes-platform/images/agl-cluster-demo-qtcompositor.inc
new file mode 100644
index 000000000..11c1ebce9
--- /dev/null
+++ b/recipes-platform/images/agl-cluster-demo-qtcompositor.inc
@@ -0,0 +1,2 @@
+# Base image
+require recipes-platform/images/agl-image-cluster-qt5.inc
diff --git a/recipes-platform/images/agl-demo-platform-crosssdk.bb b/recipes-platform/images/agl-demo-platform-crosssdk.bb
index ff3e9dfd4..d4b6c9dd4 100644
--- a/recipes-platform/images/agl-demo-platform-crosssdk.bb
+++ b/recipes-platform/images/agl-demo-platform-crosssdk.bb
@@ -8,7 +8,7 @@ require agl-demo-platform.bb
LICENSE = "MIT"
-require recipes-platform/images/agl-image-graphical-qt5-crosssdk.inc
+require agl-image-graphical-qt5-crosssdk.inc
inherit populate_sdk populate_sdk_qt5
diff --git a/recipes-platform/images/agl-image-cluster-qt5.bb b/recipes-platform/images/agl-image-cluster-qt5.bb
new file mode 100644
index 000000000..244e2ba48
--- /dev/null
+++ b/recipes-platform/images/agl-image-cluster-qt5.bb
@@ -0,0 +1,9 @@
+SUMMARY = "A basic Wayland based cluster image with Qt5 support"
+
+require agl-image-cluster-qt5.inc
+
+LICENSE = "MIT"
+
+IMAGE_INSTALL_append = "\
+ profile-cluster-qt5 \
+ "
diff --git a/recipes-platform/images/agl-image-cluster-qt5.inc b/recipes-platform/images/agl-image-cluster-qt5.inc
new file mode 100644
index 000000000..93826aa46
--- /dev/null
+++ b/recipes-platform/images/agl-image-cluster-qt5.inc
@@ -0,0 +1,7 @@
+require recipes-platform/images/agl-image-boot.inc
+
+IMAGE_FEATURES += "splash package-management ssh-server-dropbear"
+
+inherit features_check
+
+REQUIRED_DISTRO_FEATURES = "wayland"
diff --git a/recipes-platform/images/agl-image-cluster.bb b/recipes-platform/images/agl-image-cluster.bb
new file mode 100644
index 000000000..552d7a74e
--- /dev/null
+++ b/recipes-platform/images/agl-image-cluster.bb
@@ -0,0 +1,9 @@
+SUMMARY = "A basic Wayland based cluster image"
+
+require agl-image-cluster.inc
+
+LICENSE = "MIT"
+
+IMAGE_INSTALL_append = "\
+ profile-cluster \
+ "
diff --git a/recipes-platform/images/agl-image-cluster.inc b/recipes-platform/images/agl-image-cluster.inc
new file mode 100644
index 000000000..93826aa46
--- /dev/null
+++ b/recipes-platform/images/agl-image-cluster.inc
@@ -0,0 +1,7 @@
+require recipes-platform/images/agl-image-boot.inc
+
+IMAGE_FEATURES += "splash package-management ssh-server-dropbear"
+
+inherit features_check
+
+REQUIRED_DISTRO_FEATURES = "wayland"
diff --git a/recipes-platform/images/agl-image-graphical-html5.bb b/recipes-platform/images/agl-image-graphical-html5.bb
new file mode 100644
index 000000000..0ec6829ed
--- /dev/null
+++ b/recipes-platform/images/agl-image-graphical-html5.bb
@@ -0,0 +1,10 @@
+SUMMARY = "An image containing all packages required to run web applications"
+
+require agl-image-graphical-html5.inc
+
+LICENSE = "MIT"
+
+IMAGE_INSTALL_append = "\
+ packagegroup-agl-profile-graphical-html5 \
+ "
+
diff --git a/recipes-platform/images/agl-image-graphical-html5.inc b/recipes-platform/images/agl-image-graphical-html5.inc
new file mode 100644
index 000000000..e943b9903
--- /dev/null
+++ b/recipes-platform/images/agl-image-graphical-html5.inc
@@ -0,0 +1,9 @@
+require recipes-platform/images/agl-image-minimal.inc
+
+IMAGE_FEATURES += "splash"
+
+IMAGE_FEATURES += "${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'ssh-server-dropbear' , '', d)}"
+
+inherit features_check
+
+REQUIRED_DISTRO_FEATURES = "wayland"
diff --git a/recipes-platform/images/agl-image-graphical-qt5-crosssdk.bb b/recipes-platform/images/agl-image-graphical-qt5-crosssdk.bb
new file mode 100755
index 000000000..5147ea44a
--- /dev/null
+++ b/recipes-platform/images/agl-image-graphical-qt5-crosssdk.bb
@@ -0,0 +1,18 @@
+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-graphical-qt5.bb
+
+LICENSE = "MIT"
+
+require agl-image-graphical-qt5-crosssdk.inc
+
+inherit populate_sdk populate_sdk_qt5
+
+# Task do_populate_sdk and do_rootfs can't be exec simultaneously.
+# Both exec "createrepo" on the same directory, and so one of them
+# can failed (randomly).
+addtask do_populate_sdk after do_rootfs
diff --git a/recipes-platform/images/agl-image-graphical-qt5-crosssdk.inc b/recipes-platform/images/agl-image-graphical-qt5-crosssdk.inc
new file mode 100644
index 000000000..f43bb07d7
--- /dev/null
+++ b/recipes-platform/images/agl-image-graphical-qt5-crosssdk.inc
@@ -0,0 +1,14 @@
+require recipes-platform/images/agl-image-minimal-crosssdk.inc
+
+TOOLCHAIN_TARGET_TASK += "libafb-helpers-qt-staticdev"
+
+# Add wayland-scanner to SDK (SPEC-945)
+# Use TOOLCHAIN_HOST_TASK instead of adding to the packagegroup
+# wayland-scanner is in nativesdk-wayland-dev !
+# option: add also nativesdk-qtwayland-tools
+TOOLCHAIN_HOST_TASK_append = " nativesdk-wayland nativesdk-wayland-dev"
+
+TOOLCHAIN_HOST_TASK_append = " nativesdk-perl-modules "
+
+# Add qtwaylandscanner to the SDK
+TOOLCHAIN_HOST_TASK_append = " nativesdk-qtwayland-tools "
diff --git a/recipes-platform/images/agl-image-graphical-qt5.bb b/recipes-platform/images/agl-image-graphical-qt5.bb
new file mode 100644
index 000000000..bcfd724fa
--- /dev/null
+++ b/recipes-platform/images/agl-image-graphical-qt5.bb
@@ -0,0 +1,5 @@
+SUMMARY = "A very basic Wayland image with a terminal"
+
+require agl-image-graphical-qt5.inc
+
+LICENSE = "MIT"
diff --git a/recipes-platform/images/agl-image-graphical-qt5.inc b/recipes-platform/images/agl-image-graphical-qt5.inc
new file mode 100644
index 000000000..114d06a07
--- /dev/null
+++ b/recipes-platform/images/agl-image-graphical-qt5.inc
@@ -0,0 +1 @@
+require recipes-platform/images/agl-image-weston.inc
diff --git a/recipes-platform/images/agl-image-telematics.bb b/recipes-platform/images/agl-image-telematics.bb
new file mode 100644
index 000000000..ad6ef9888
--- /dev/null
+++ b/recipes-platform/images/agl-image-telematics.bb
@@ -0,0 +1,9 @@
+SUMMARY = "A basic telematics image"
+
+require agl-image-telematics.inc
+
+LICENSE = "MIT"
+
+IMAGE_INSTALL_append = "\
+ profile-telematics \
+ "
diff --git a/recipes-platform/images/agl-image-telematics.inc b/recipes-platform/images/agl-image-telematics.inc
new file mode 100644
index 000000000..3e951550e
--- /dev/null
+++ b/recipes-platform/images/agl-image-telematics.inc
@@ -0,0 +1,5 @@
+require recipes-platform/images/agl-image-boot.inc
+
+inherit features_check
+
+REQUIRED_DISTRO_FEATURES = "3g"
diff --git a/recipes-platform/images/agl-telematics-demo-platform-crosssdk.bb b/recipes-platform/images/agl-telematics-demo-platform-crosssdk.bb
new file mode 100644
index 000000000..75b4f5ce1
--- /dev/null
+++ b/recipes-platform/images/agl-telematics-demo-platform-crosssdk.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Cross SDK of AGL Distribution for telematics profile Demo"
+
+DESCRIPTION = "SDK image for AGL Distribution for Telematics profile Demo. \
+It includes the full meta-toolchain, plus developement headers and libraries \
+to form a standalone cross SDK."
+
+require agl-telematics-demo-platform.bb
+
+LICENSE = "MIT"
+
+IMAGE_FEATURES_append = " dev-pkgs"
+IMAGE_INSTALL_append = " kernel-dev kernel-devsrc"
+
+inherit populate_sdk
+
+# Task do_populate_sdk and do_rootfs can't be exec simultaneously.
+# Both exec "createrepo" on the same directory, and so one of them
+# can failed (randomly).
+addtask do_populate_sdk after do_rootfs
+
+TOOLCHAIN_HOST_TASK_append = " nativesdk-perl-modules "
diff --git a/recipes-platform/images/agl-telematics-demo-platform.bb b/recipes-platform/images/agl-telematics-demo-platform.bb
new file mode 100644
index 000000000..403f4b702
--- /dev/null
+++ b/recipes-platform/images/agl-telematics-demo-platform.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "AGL Telematics Demo Platform image."
+
+require agl-telematics-demo-platform.inc
+
+LICENSE = "MIT"
+
+IMAGE_FEATURES_append = " \
+ "
+
+IMAGE_INSTALL_append = " \
+ packagegroup-agl-telematics-demo-platform \
+ "
+
diff --git a/recipes-platform/images/agl-telematics-demo-platform.inc b/recipes-platform/images/agl-telematics-demo-platform.inc
new file mode 100644
index 000000000..bd3a89ee1
--- /dev/null
+++ b/recipes-platform/images/agl-telematics-demo-platform.inc
@@ -0,0 +1,3 @@
+# Base image
+require recipes-platform/images/agl-image-telematics.inc
+
diff --git a/recipes-platform/packagegroups/nativesdk-packagegroup-sdk-host.bbappend b/recipes-platform/packagegroups/nativesdk-packagegroup-sdk-host.bbappend
new file mode 100644
index 000000000..f75f9ab1e
--- /dev/null
+++ b/recipes-platform/packagegroups/nativesdk-packagegroup-sdk-host.bbappend
@@ -0,0 +1,6 @@
+RDEPENDS_${PN} =+ "nativesdk-af-main-tools nativesdk-af-binder-devtools"
+RDEPENDS_${PN} += "nativesdk-low-level-can-generator \
+ nativesdk-cmake-apps-module \
+ nativesdk-cmake-apps-module-doc \
+"
+
diff --git a/recipes-platform/packagegroups/packagegroup-agl-app-framework.bbappend b/recipes-platform/packagegroups/packagegroup-agl-app-framework.bbappend
new file mode 100644
index 000000000..d0fa1a2e2
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-app-framework.bbappend
@@ -0,0 +1 @@
+RDEPENDS_${PN}_append = " systemd-agl-sync run-agl-postinsts"
diff --git a/recipes-platform/packagegroups/packagegroup-agl-appfw-html5.bb b/recipes-platform/packagegroups/packagegroup-agl-appfw-html5.bb
new file mode 100644
index 000000000..cc9ed3d64
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-appfw-html5.bb
@@ -0,0 +1,18 @@
+SUMMARY = "AGL web runtime packages"
+DESCRIPTION = "Specific packages for the AGL web runtime (minus profile-graphical)"
+
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-appfw-html5 \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+# add packages for WAM
+RDEPENDS_${PN} += " \
+ chromium-browser-service \
+ wam \
+ "
diff --git a/recipes-platform/packagegroups/packagegroup-agl-appfw-native-qt5.bb b/recipes-platform/packagegroups/packagegroup-agl-appfw-native-qt5.bb
new file mode 100644
index 000000000..2161e1a8e
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-appfw-native-qt5.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Qt5 for native GUI framework of AGL IVI profile"
+DESCRIPTION = "A set of Qt5 packages which required by Native App Fw Subsystem"
+
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-appfw-native-qt5 \
+ "
+
+#ALLOW_EMPTY_${PN} = "1"
+
+RDEPENDS_${PN} += "\
+ qtbase \
+ qtbase-dev \
+ qtbase-plugins \
+ qtbase-staticdev \
+ qtbase-tools \
+ qtdeclarative \
+ qtdeclarative-qmlplugins \
+ qtdeclarative-tools \
+ qtcharts \
+ qtwayland \
+ qtwayland-plugins \
+ qtwayland-tools \
+ qtgraphicaleffects-qmlplugins \
+ qtvirtualkeyboard \
+ "
diff --git a/recipes-platform/packagegroups/packagegroup-agl-cluster-demo-platform.bb b/recipes-platform/packagegroups/packagegroup-agl-cluster-demo-platform.bb
new file mode 100644
index 000000000..2ca89e4e9
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-cluster-demo-platform.bb
@@ -0,0 +1,43 @@
+SUMMARY = "The software for demo platform of AGL cluster profile"
+DESCRIPTION = "A set of packages belong to AGL Cluster Demo Platform"
+
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-cluster-demo-platform \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+RDEPENDS_${PN} += "\
+ packagegroup-agl-profile-cluster-qt5 \
+ packagegroup-agl-ttf-fonts \
+ packagegroup-agl-source-han-sans-ttf-fonts \
+ packagegroup-agl-networking \
+ "
+
+
+AGL_APPS = " \
+ cluster-dashboard \
+ cluster-receiver \
+ qt-cluster-receiver \
+ "
+
+AGL_APIS = " \
+ agl-service-can-low-level \
+ agl-service-gps \
+ agl-service-signal-composer \
+ "
+
+DEMO_PRELOAD = "${@bb.utils.contains("DISTRO_FEATURES", "agl-cluster-demo-preload", "cluster-dashboard-demo-config", "",d)}"
+
+RDEPENDS_${PN}_append = " \
+ hmi-debug \
+ can-utils \
+ linux-firmware-ralink \
+ ${AGL_APPS} \
+ ${AGL_APIS} \
+ ${DEMO_PRELOAD} \
+"
diff --git a/recipes-platform/packagegroups/packagegroup-agl-cluster-demo-qtcompositor.bb b/recipes-platform/packagegroups/packagegroup-agl-cluster-demo-qtcompositor.bb
new file mode 100644
index 000000000..70c7356a0
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-cluster-demo-qtcompositor.bb
@@ -0,0 +1,43 @@
+SUMMARY = "The software for AGL Cluster Demo Qtwayland Compositor"
+DESCRIPTION = "A set of packages belong to AGL Cluster Demo Qtwayland Compositor"
+
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-cluster-demo-qtcompositor \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+RDEPENDS_${PN} += "\
+ packagegroup-agl-profile-cluster-qtcompositor \
+ packagegroup-agl-ttf-fonts \
+ packagegroup-agl-networking \
+ "
+
+AGL_SERVICE = " \
+ agl-service-bluetooth \
+ agl-service-can-low-level \
+ agl-service-data-persistence \
+ agl-service-gps \
+ agl-service-network \
+ agl-service-unicens \
+ agl-service-hvac \
+ agl-service-nfc \
+ agl-service-identity-agent \
+ "
+
+AGL_APPS = " \
+ cluster-gauges-qtcompositor \
+ "
+
+RDEPENDS_${PN}_append = " \
+ libva-utils \
+ linux-firmware-ralink \
+ can-utils \
+ most \
+ ${AGL_SERVICE} \
+ ${AGL_APPS} \
+"
diff --git a/recipes-platform/packagegroups/packagegroup-agl-core-devel.bbappend b/recipes-platform/packagegroups/packagegroup-agl-core-devel.bbappend
new file mode 100644
index 000000000..dfbddd934
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-core-devel.bbappend
@@ -0,0 +1,10 @@
+RDEPENDS_${PN}_append = "\
+ pyagl \
+ gcov \
+ gcov-symlinks \
+ gcovr \
+ gcovr-wrapper \
+ jq \
+ htop \
+ tree \
+"
diff --git a/recipes-platform/packagegroups/packagegroup-agl-demo-qt-examples.bb b/recipes-platform/packagegroups/packagegroup-agl-demo-qt-examples.bb
new file mode 100644
index 000000000..adebabe76
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-demo-qt-examples.bb
@@ -0,0 +1,26 @@
+SUMMARY = "The examples to test Qt5 on AGL Demo Platform"
+DESCRIPTION = "A set of packages which contains Qt5 examples"
+
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-demo-qt-examples \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+RDEPENDS_${PN} += "\
+ qt3d-examples \
+ qtbase-examples \
+ qtconnectivity-examples \
+ qtdeclarative-examples \
+ qtlocation-examples \
+ qtmultimedia-examples \
+ qtsensors-examples \
+ qtsystems-examples \
+ qttools-examples \
+ qtwayland-examples \
+ qtxmlpatterns-examples \
+ "
diff --git a/recipes-platform/packagegroups/packagegroup-agl-graphical-services.bb b/recipes-platform/packagegroups/packagegroup-agl-graphical-services.bb
new file mode 100644
index 000000000..e587ab21c
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-graphical-services.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "The minimal set of packages for Connectivity Subsystem"
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-graphical-services \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+RDEPENDS_${PN} = "\
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pipewire', 'agl-service-mediaplayer', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pipewire', 'agl-service-radio', '', d)} \
+ "
diff --git a/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bbappend b/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bbappend
new file mode 100644
index 000000000..aa401a71e
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains('AGL_FEATURES', 'agldemo', 'packagegroup-agl-graphical-weston_agldemo.inc', '', d)}
diff --git a/recipes-platform/packagegroups/packagegroup-agl-graphical-weston_agldemo.inc b/recipes-platform/packagegroups/packagegroup-agl-graphical-weston_agldemo.inc
new file mode 100644
index 000000000..d7d7be2a3
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-graphical-weston_agldemo.inc
@@ -0,0 +1,8 @@
+RDEPENDS_${PN} += " \
+ weston-ini-conf \
+ agl-compositor \
+ "
+# appfw
+RDEPENDS_${PN} += " \
+ agl-login-manager \
+ "
diff --git a/recipes-platform/packagegroups/packagegroup-agl-image-ivi.bb b/recipes-platform/packagegroups/packagegroup-agl-image-ivi.bb
index acaa405a9..d04c72fa7 100644
--- a/recipes-platform/packagegroups/packagegroup-agl-image-ivi.bb
+++ b/recipes-platform/packagegroups/packagegroup-agl-image-ivi.bb
@@ -19,9 +19,4 @@ RDEPENDS_${PN} += "\
packagegroup-agl-ivi-graphics \
packagegroup-agl-ivi-multimedia \
packagegroup-agl-ivi-navigation \
- packagegroup-agl-ivi-services \
- "
-
-RDEPENDS_${PN} += "\
- agl-login-manager \
"
diff --git a/recipes-platform/packagegroups/packagegroup-agl-image-ivi.bbappend b/recipes-platform/packagegroups/packagegroup-agl-image-ivi.bbappend
new file mode 100644
index 000000000..8856d9744
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-image-ivi.bbappend
@@ -0,0 +1,4 @@
+RDEPENDS_${PN} += " \
+ packagegroup-agl-ivi-identity \
+ packagegroup-agl-ivi-services \
+"
diff --git a/recipes-platform/packagegroups/packagegroup-agl-ivi-connectivity.bbappend b/recipes-platform/packagegroups/packagegroup-agl-ivi-connectivity.bbappend
new file mode 100644
index 000000000..6e19d78c4
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-ivi-connectivity.bbappend
@@ -0,0 +1,5 @@
+
+RDEPENDS_${PN} += "\
+ agl-service-nfc \
+"
+
diff --git a/recipes-platform/packagegroups/packagegroup-agl-ivi-identity.bb b/recipes-platform/packagegroups/packagegroup-agl-ivi-identity.bb
new file mode 100644
index 000000000..fa157c8f0
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-ivi-identity.bb
@@ -0,0 +1,9 @@
+inherit packagegroup
+
+RDEPENDS_${PN} += "\
+ agl-service-data-persistence \
+ agl-service-identity-agent \
+"
+
+LICENSE = "MIT"
+
diff --git a/recipes-platform/packagegroups/packagegroup-agl-ivi-navigation.bb b/recipes-platform/packagegroups/packagegroup-agl-ivi-navigation.bb
index 90daf9230..6fa6c920e 100644
--- a/recipes-platform/packagegroups/packagegroup-agl-ivi-navigation.bb
+++ b/recipes-platform/packagegroups/packagegroup-agl-ivi-navigation.bb
@@ -12,6 +12,6 @@ PACKAGES = "\
RDEPENDS_${PN} += "\
gpsd \
- virtual/gpsd-conf \
geoclue \
+ ${@bb.utils.contains('AGL_FEATURES', 'agldemo', 'virtual/gpsd-conf', '', d)} \
"
diff --git a/recipes-platform/packagegroups/packagegroup-agl-ivi-services.bb b/recipes-platform/packagegroups/packagegroup-agl-ivi-services.bb
index 489916b58..2b09fa417 100644
--- a/recipes-platform/packagegroups/packagegroup-agl-ivi-services.bb
+++ b/recipes-platform/packagegroups/packagegroup-agl-ivi-services.bb
@@ -27,4 +27,7 @@ RDEPENDS_${PN} += "\
agl-service-unicens-controller \
agl-service-weather \
${@bb.utils.contains('AGL_CLOUDPROXY_WANTED','1', 'agl-service-cloudproxy libcloudproxy', '', d)} \
+ agl-service-data-persistence \
+ agl-service-network \
+ agl-service-platform-info \
"
diff --git a/recipes-platform/packagegroups/packagegroup-agl-networking.bb b/recipes-platform/packagegroups/packagegroup-agl-networking.bb
new file mode 100644
index 000000000..3e89303be
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-networking.bb
@@ -0,0 +1,23 @@
+SUMMARY = "The networking for AGL"
+DESCRIPTION = "A set of packages for AGL cluster's networking"
+
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-networking \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+
+# fonts
+RDEPENDS_${PN}_append = " \
+ connman \
+ connman-client \
+ connman-tools \
+ cluster-connman-conf \
+ iproute2 \
+ dhcp-client \
+"
diff --git a/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qt5.bb b/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qt5.bb
new file mode 100644
index 000000000..5436a5617
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qt5.bb
@@ -0,0 +1,21 @@
+SUMMARY = "The middleware for AGL Qt5 based cluster profile"
+DESCRIPTION = "The set of packages required for AGL Qt5 based Cluster Distribution"
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-profile-cluster-qt5 \
+ profile-cluster-qt5 \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+RDEPENDS_${PN} += "\
+ packagegroup-agl-image-boot \
+ packagegroup-agl-core-security \
+ packagegroup-agl-graphical-weston \
+ packagegroup-agl-appfw-native-qt5 \
+"
+
+RDEPENDS_profile-cluster-qt5 = "${PN}"
diff --git a/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qtcompositor.bb b/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qtcompositor.bb
new file mode 100644
index 000000000..9d54b33a4
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qtcompositor.bb
@@ -0,0 +1,36 @@
+SUMMARY = "The middleware for AGL Qt5 based cluster qtcompositor"
+DESCRIPTION = "The set of packages required for AGL Qt5 based Cluster Demo Qtcompositor Distribution"
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-profile-cluster-qtcompositor \
+ profile-cluster-qt5 \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+RDEPENDS_${PN} += "\
+ packagegroup-agl-image-boot \
+ packagegroup-agl-core-security \
+ packagegroup-agl-core-connectivity \
+"
+
+QT_LITE = " \
+ qtbase \
+ qtdeclarative \
+ qtwayland \
+ qtgraphicaleffects-qmlplugins \
+ qtsvg-plugins \
+ qtwebsockets \
+ qtwebsockets-qmlplugins \
+ qtcompositor-conf \
+"
+
+RDEPENDS_${PN}_append = " \
+ ${QT_LITE} \
+ agl-login-manager \
+"
+
+RDEPENDS_profile-cluster-qt5 = "${PN}"
diff --git a/recipes-platform/packagegroups/packagegroup-agl-profile-cluster.bb b/recipes-platform/packagegroups/packagegroup-agl-profile-cluster.bb
new file mode 100644
index 000000000..c0c612467
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-profile-cluster.bb
@@ -0,0 +1,20 @@
+SUMMARY = "The middleware for AGL cluster profile"
+DESCRIPTION = "The set of packages required for AGL Cluster Distribution"
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-profile-cluster \
+ profile-cluster \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+RDEPENDS_${PN} += "\
+ packagegroup-agl-image-boot \
+ packagegroup-agl-core-security \
+ packagegroup-agl-graphical-weston \
+"
+
+RDEPENDS_profile-cluster = "${PN}"
diff --git a/recipes-platform/packagegroups/packagegroup-agl-profile-graphical-html5.bb b/recipes-platform/packagegroups/packagegroup-agl-profile-graphical-html5.bb
new file mode 100644
index 000000000..202750140
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-profile-graphical-html5.bb
@@ -0,0 +1,23 @@
+SUMMARY = "AGL web runtime profile"
+DESCRIPTION = "The full set of packages required for AGL web runtime"
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-profile-graphical-html5 \
+ profile-graphical-html5 \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+RDEPENDS_${PN} += "\
+ packagegroup-agl-profile-graphical \
+ packagegroup-agl-appfw-html5 \
+"
+
+RDEPENDS_${PN} += "\
+ agl-login-manager \
+ "
+
+RDEPENDS_profile-graphical-html5 = "${PN}"
diff --git a/recipes-platform/packagegroups/packagegroup-agl-profile-graphical-qt5.bb b/recipes-platform/packagegroups/packagegroup-agl-profile-graphical-qt5.bb
new file mode 100644
index 000000000..74b35f70a
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-profile-graphical-qt5.bb
@@ -0,0 +1,23 @@
+SUMMARY = "The middlewares for AGL IVI profile"
+DESCRIPTION = "The set of packages required for AGL Distribution"
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-profile-graphical-qt5 \
+ profile-graphical-qt5 \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+RDEPENDS_${PN} += "\
+ packagegroup-agl-profile-graphical \
+ packagegroup-agl-appfw-native-qt5 \
+"
+
+RDEPENDS_${PN} += "\
+ agl-login-manager \
+ "
+
+RDEPENDS_profile-graphical-qt5 = "${PN}"
diff --git a/recipes-platform/packagegroups/packagegroup-agl-profile-graphical.bbappend b/recipes-platform/packagegroups/packagegroup-agl-profile-graphical.bbappend
new file mode 100644
index 000000000..1c980d93a
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-profile-graphical.bbappend
@@ -0,0 +1,3 @@
+RDEPENDS_${PN} += "\
+ packagegroup-agl-graphical-services \
+"
diff --git a/recipes-platform/packagegroups/packagegroup-agl-profile-telematics.bb b/recipes-platform/packagegroups/packagegroup-agl-profile-telematics.bb
new file mode 100644
index 000000000..66fc0f765
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-profile-telematics.bb
@@ -0,0 +1,25 @@
+SUMMARY = "The middleware for AGL telematics profile"
+DESCRIPTION = "The set of packages required for AGL Telematics Distribution"
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-profile-telematics \
+ profile-telematics \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+RDEPENDS_${PN} += "\
+ packagegroup-agl-image-boot \
+ packagegroup-agl-core-security \
+ ${@bb.utils.contains('VIRTUAL-RUNTIME_net_manager','connman','connman connman-client','',d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "3g", "libqmi", "", d)} \
+ agl-login-manager \
+ agl-service-can-low-level \
+ agl-service-network \
+ can-utils \
+"
+
+RDEPENDS_profile-telematics = "${PN}"
diff --git a/recipes-platform/packagegroups/packagegroup-agl-source-han-sans-ttf-fonts.bb b/recipes-platform/packagegroups/packagegroup-agl-source-han-sans-ttf-fonts.bb
new file mode 100644
index 000000000..fb3328990
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-source-han-sans-ttf-fonts.bb
@@ -0,0 +1,20 @@
+SUMMARY = "The Source Han Sans ttf fonts for AGL"
+DESCRIPTION = "A set of packages for source Han Sans ttf fonts"
+
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-source-han-sans-ttf-fonts \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+
+# fonts
+RDEPENDS_${PN}_append = " \
+ source-han-sans-cn-fonts \
+ source-han-sans-jp-fonts \
+ source-han-sans-tw-fonts \
+"
diff --git a/recipes-platform/packagegroups/packagegroup-agl-telematics-demo-platform.bb b/recipes-platform/packagegroups/packagegroup-agl-telematics-demo-platform.bb
new file mode 100644
index 000000000..0dbbd6297
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-telematics-demo-platform.bb
@@ -0,0 +1,35 @@
+SUMMARY = "The software for AGL telematics profile demo platform"
+DESCRIPTION = "A set of packages belonging to the AGL telematics demo platform"
+
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-telematics-demo-platform \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+RDEPENDS_${PN} += "\
+ packagegroup-agl-profile-telematics \
+ "
+
+AGL_APPS = " \
+ telematics-recorder \
+ "
+
+AGL_APIS = " \
+ agl-service-gps \
+ "
+
+RDEPENDS_${PN}_append = " \
+ gpsd \
+ sw-gpsd-udev-conf \
+ usb-can-udev-conf \
+ simple-can-simulator \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'ofono-tests gps-utils' , '', d)} \
+ ${AGL_APPS} \
+ ${AGL_APIS} \
+"
+# packagegroup-agl-core-navigation? (brings in geoclue...)
diff --git a/recipes-platform/packagegroups/packagegroup-agl-ttf-fonts.bb b/recipes-platform/packagegroups/packagegroup-agl-ttf-fonts.bb
new file mode 100644
index 000000000..9a3b578c0
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-ttf-fonts.bb
@@ -0,0 +1,21 @@
+SUMMARY = "The ttf fonts for AGL"
+DESCRIPTION = "A set of packages for fonts"
+
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-ttf-fonts \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+
+# fonts
+RDEPENDS_${PN}_append = " \
+ ttf-bitstream-vera \
+ ttf-dejavu-sans \
+ ttf-dejavu-sans-mono \
+ ttf-dejavu-serif \
+"
diff --git a/recipes-platform/packagegroups/packagegroup-qt5-toolchain-target.bbappend b/recipes-platform/packagegroups/packagegroup-qt5-toolchain-target.bbappend
new file mode 100644
index 000000000..08afa6c7f
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-qt5-toolchain-target.bbappend
@@ -0,0 +1,18 @@
+# add missing dependencies for SDK
+
+RDEPENDS_${PN} += " \
+ qttools-plugins \
+ qtquickcontrols-dev \
+ qtquickcontrols-qmlplugins \
+ qtquickcontrols2-dev \
+ qtquickcontrols2-mkspecs \
+ qtquickcontrols2-qmlplugins \
+"
+
+# remove dependency on qtwebkit (still added to SDK by packagegroup-qt5-toolchain-target)
+# see SPEC-1159
+RDEPENDS_${PN}_remove = " \
+ qtwebkit-dev \
+ qtwebkit-mkspecs \
+ qtwebkit-qmlplugins \
+"