Initial check-in 43/18643/2 6.99.3 guppy/6.99.3 guppy_6.99.3
authorScott Murray <scott.murray@konsulko.com>
Fri, 7 Dec 2018 21:46:37 +0000 (16:46 -0500)
committerScott Murray <scott.murray@konsulko.com>
Mon, 10 Dec 2018 18:50:24 +0000 (13:50 -0500)
Define instrument cluster demo platform.  This layer is similar to
meta-agl-demo, except it defines a small platform for the instrument
cluster demo, based on the agl-profile-cluster-qt5 profile.  There
is a "agl-cluster-demo" feature defined to enable building the
platform.

At the moment, only qemux86-64 and Minnowboard turbot versions have
been built and tested.  Other architectures should be feasible, but the
agl-cluster-demo-receiver application needs some further development to
support non-Intel platforms, as currently it is using the vaapisink
gstreamer plug-in.

Change-Id: I217608a1ecc9678d5d55a95c65f3ab6f10d5b54f
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
25 files changed:
.gitignore [new file with mode: 0644]
.gitreview [new file with mode: 0644]
README.md [new file with mode: 0644]
conf/conf-notes.txt [new file with mode: 0644]
conf/include/agl-cluster-demo.inc [new file with mode: 0644]
conf/layer.conf [new file with mode: 0644]
recipes-config/agl-login-manager/agl-login-manager_%.bbappend [new file with mode: 0644]
recipes-connectivity/cluster-connman-conf/cluster-connman-conf/cluster.config [new file with mode: 0644]
recipes-connectivity/cluster-connman-conf/cluster-connman-conf_1.0.bb [new file with mode: 0644]
recipes-demo-hmi/cluster-dashboard/cluster-dashboard_git.bb [new file with mode: 0644]
recipes-demo-hmi/cluster-receiver/cluster-receiver_git.bb [new file with mode: 0644]
recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf/areas.db [new file with mode: 0644]
recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf/layers.json [new file with mode: 0644]
recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf/roles.db [new file with mode: 0644]
recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf_1.0.bb [new file with mode: 0644]
recipes-graphics/wayland/weston-ini-conf.bbappend [new file with mode: 0644]
recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-180.cfg [new file with mode: 0644]
recipes-graphics/wayland/weston-ini-conf/virtual-landscape.cfg [new file with mode: 0644]
recipes-platform/images/agl-cluster-demo-platform-crosssdk.bb [new file with mode: 0644]
recipes-platform/images/agl-cluster-demo-platform.bb [new file with mode: 0644]
recipes-platform/images/agl-cluster-demo-platform.inc [new file with mode: 0644]
recipes-platform/packagegroups/packagegroup-agl-cluster-demo-platform.bb [new file with mode: 0644]
templates/feature/agl-cluster-demo/50_bblayers.conf.inc [new file with mode: 0644]
templates/feature/agl-cluster-demo/50_local.conf.inc [new file with mode: 0644]
templates/feature/agl-cluster-demo/included.dep [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..b25c15b
--- /dev/null
@@ -0,0 +1 @@
+*~
diff --git a/.gitreview b/.gitreview
new file mode 100644 (file)
index 0000000..dcfeb9d
--- /dev/null
@@ -0,0 +1,5 @@
+[gerrit]
+host=gerrit.automotivelinux.org
+port=29418
+project=AGL/meta-agl-cluster-demo
+defaultbranch=master
diff --git a/README.md b/README.md
new file mode 100644 (file)
index 0000000..ea133e3
--- /dev/null
+++ b/README.md
@@ -0,0 +1,97 @@
+**README.md for the 'meta-agl-cluster-demo' layer.**
+
+**See README-AGL.md in meta-agl for general information about Automotive Grade Linux.**
+
+
+meta-agl-cluster-demo, the layer for the Instrument Cluster DEMO platform of Automotive Grade Linux
+=================================================================================
+
+The layer 'meta-agl-cluster-demo' provides a reference/demo platform and
+applications for the AGL Distribution.
+
+AGL is creating an automotive specific Linux distribution (AGL UCB) that unifies
+the software that has been written in a number of places already,
+such as GENIVI and Tizen IVI.
+
+The AGL community appreciates feedback, ideas, suggestion, bugs and
+documentation just as much as code. Please join the irc conversation
+at the #automotive channel on irc.freenode.net and our mailing list.
+
+For infomation for subscribing to the mailing list
+    [automotive-discussions](http://lists.linuxfoundation.org/mailman/listinfo/automotive-discussions)
+For information about AGL Distribution, see the
+    [AGL Distribution](https://wiki.automotivelinux.org/agl-distro)
+For information abount Getting started with AGL
+    [here](https://wiki.automotivelinux.org/start/getting-started)
+For information about contributing to the AGL Distro
+    [here](https://wiki.automotivelinux.org/agl-distro/contributing)
+
+
+Quick start guide
+-----------------
+See README-AGL.md in meta-agl
+
+
+Layer Dependencies
+------------------
+
+* Base dependencies [agl-cluster-demo]:
+
+URI: git://git.yoctoproject.org/poky
+
+URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl
+
+URI: https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl-devel
+
+URI: git://git.openembedded.org/meta-openembedded
+
+Specifically out of meta-openembedded these sub-layers are used:
+
+ - meta-openembedded/meta-oe
+ - meta-openembedded/meta-multimedia
+ -  meta-openembedded/meta-efl
+ -  meta-openembedded/meta-networking
+ -  meta-openembedded/meta-python
+ -  meta-openembedded/meta-ruby
+
+URI: https://github.com/meta-qt5/meta-qt5.git
+
+* Hardware dependencies:
+
+The Minnowboard Turbot board depends in addition on:
+
+URI: http://git.yoctoproject.org/meta-intel
+
+
+Packagegroups
+-------------
+
+AGL Cluster Demo Platform's package group design:
+
+* packagegroup-agl-cluster-demo-platform
+
+This is for generating the image 'agl-cluster-demo-platform' which is a full
+image for the Instrument Cluster profile of the AGL distro.
+
+Following meta-agl's design of packagegroups, ``agl-cluster-demo-platform.bb``
+contains only ``packagegroup-agl-cluster-demo-platform``.
+
+``packagegroup-agl-cluster-demo-platform`` has one packagegroup in it,
+``packagegroup-agl-profile-cluster-qt5``, and the packages required for the DEMO
+applications.
+
+Supported Machines
+------------------
+
+At the moment only the Minnowboard Turbot has been tested, but the other
+AGL supported platforms (see `README-AGL.md` in meta-agl layer), should be
+possible to make work by modifying the gstreamer pipeline used in the
+agl-cluster-demo-receiver application to replace the use of vaapisink with
+an alternative that works for the platform.
+
+Supported Target of bitbake
+------------------------
+
+* `agl-cluster-demo-platform` is the full image of the AGL Instrument Cluster
+Demo Platform with all applications
+
diff --git a/conf/conf-notes.txt b/conf/conf-notes.txt
new file mode 100644 (file)
index 0000000..2060128
--- /dev/null
@@ -0,0 +1,4 @@
+Common targets are:
+    agl-cluster-demo-platform
+    agl-cluster-demo-platform-crosssdk
+    agl-cluster-demo-platform-qa
diff --git a/conf/include/agl-cluster-demo.inc b/conf/include/agl-cluster-demo.inc
new file mode 100644 (file)
index 0000000..a8847e0
--- /dev/null
@@ -0,0 +1,5 @@
+IMAGE_FEATURES =+ "debug-tweaks"
+
+#DISTRO_FEATURES_append = " "
+
+#IMAGE_INSTALL_append = " "
diff --git a/conf/layer.conf b/conf/layer.conf
new file mode 100644 (file)
index 0000000..3e98b51
--- /dev/null
@@ -0,0 +1,10 @@
+# We have a conf and classes directory, add to BBPATH
+BBPATH =. "${LAYERDIR}:"
+
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+            ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "agl-cluster-demo"
+BBFILE_PATTERN_agl-cluster-demo = "^${LAYERDIR}/"
+BBFILE_PRIORITY_agl-cluster-demo = "7"
diff --git a/recipes-config/agl-login-manager/agl-login-manager_%.bbappend b/recipes-config/agl-login-manager/agl-login-manager_%.bbappend
new file mode 100644 (file)
index 0000000..7b7cd35
--- /dev/null
@@ -0,0 +1 @@
+LOGIN_USER ?= "0"
diff --git a/recipes-connectivity/cluster-connman-conf/cluster-connman-conf/cluster.config b/recipes-connectivity/cluster-connman-conf/cluster-connman-conf/cluster.config
new file mode 100644 (file)
index 0000000..6ce2a76
--- /dev/null
@@ -0,0 +1,3 @@
+[service_cluster_ethernet]
+Type=ethernet
+IPv4=@CLUSTER_DEMO_SERVER_IP@/255.255.255.0
diff --git a/recipes-connectivity/cluster-connman-conf/cluster-connman-conf_1.0.bb b/recipes-connectivity/cluster-connman-conf/cluster-connman-conf_1.0.bb
new file mode 100644 (file)
index 0000000..78528aa
--- /dev/null
@@ -0,0 +1,15 @@
+SUMMARY = "Cluster demo connman configuration"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+SRC_URI = "file://cluster.config"
+
+CLUSTER_DEMO_SERVER_IP ?= "192.168.20.99"
+
+do_install() {
+    install -d ${D}${localstatedir}/lib/connman
+    sed "s/@CLUSTER_DEMO_SERVER_IP@/${CLUSTER_DEMO_SERVER_IP}/g" \
+        ${WORKDIR}/cluster.config > ${D}${localstatedir}/lib/connman/cluster.config
+}
+
+FILES_${PN} += "${localstatedir}/*"
diff --git a/recipes-demo-hmi/cluster-dashboard/cluster-dashboard_git.bb b/recipes-demo-hmi/cluster-dashboard/cluster-dashboard_git.bb
new file mode 100644 (file)
index 0000000..74974eb
--- /dev/null
@@ -0,0 +1,29 @@
+SUMMARY     = "Instrument Cluster Dashboard AGL Demonstration"
+DESCRIPTION = "AGL HMI Application for demonstrating instrument cluster dashboard"
+HOMEPAGE    = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-cluster-demo-dashboard"
+SECTION     = "apps"
+
+LICENSE     = "Apache-2.0 & BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984 \
+                    file://app/cluster-gauges.qml;beginline=9;endline=48;md5=54187d50b29429abee6095fe8b7c1a78"
+
+SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-cluster-demo-dashboard;protocol=https;branch=${AGL_BRANCH}"
+SRCREV  = "${AGL_APP_REVISION}"
+
+PV = "1.0+git${SRCPV}"
+S  = "${WORKDIR}/git"
+
+# build-time dependencies
+DEPENDS += "qtquickcontrols2 qtwebsockets qlibwindowmanager"
+
+inherit pkgconfig cmake_qt5 aglwgt
+
+RDEPENDS_${PN} += " \
+       qlibwindowmanager \
+       qtquickcontrols \
+       qtquickcontrols-qmlplugins \
+       qtquickcontrols2 \
+       qtquickcontrols2-qmlplugins \
+       qtwebsockets \
+       qtwebsockets-qmlplugins \
+"
diff --git a/recipes-demo-hmi/cluster-receiver/cluster-receiver_git.bb b/recipes-demo-hmi/cluster-receiver/cluster-receiver_git.bb
new file mode 100644 (file)
index 0000000..92f9221
--- /dev/null
@@ -0,0 +1,26 @@
+SUMMARY     = "Instrument Cluster Receiver AGL Demonstration"
+DESCRIPTION = "AGL HMI Application for demonstrating instrument cluster remote display"
+HOMEPAGE    = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-cluster-demo-receiver"
+SECTION     = "apps"
+
+LICENSE     = "Apache-2.0 & MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984 \
+                    file://app/surface.hpp;beginline=5;endline=21;md5=5351c531a191f0e3463aafcd0a6a00a3"
+
+SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-cluster-demo-receiver;protocol=https;branch=${AGL_BRANCH}"
+SRCREV  = "${AGL_APP_REVISION}"
+
+PV = "1.0+git${SRCPV}"
+S  = "${WORKDIR}/git"
+
+# build-time dependencies
+DEPENDS = "wayland wayland-ivi-extension libwindowmanager gstreamer1.0"
+
+inherit cmake aglwgt
+
+RDEPENDS_${PN} += " \
+       gstreamer1.0-plugins-base \
+       gstreamer1.0-plugins-good \
+       gstreamer1.0-plugins-bad \
+       gstreamer1.0-vaapi \
+"
diff --git a/recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf/areas.db b/recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf/areas.db
new file mode 100644 (file)
index 0000000..00322ac
--- /dev/null
@@ -0,0 +1,40 @@
+{
+    "areas": [
+        {
+            "name": "fullscreen",
+            "rect": {
+                "x": 0,
+                "y": 0,
+                "w": 1920,
+                "h": 1080
+            }
+        },
+        {
+            "name": "normal.full",
+            "rect": {
+                "x": 672,
+                "y": 264,
+                "w": 576,
+                "h": 552
+            }
+        },
+        {
+            "name": "restriction.normal",
+            "rect": {
+                "x": 672,
+                "y": 264,
+                "w": 576,
+                "h": 552
+            }
+        },
+        {
+            "name": "on_screen",
+            "rect": {
+                "x": 672,
+                "y": 264,
+                "w": 576,
+                "h": 552
+            }
+        }
+    ]
+}
diff --git a/recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf/layers.json b/recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf/layers.json
new file mode 100644 (file)
index 0000000..1fd9d18
--- /dev/null
@@ -0,0 +1,41 @@
+{
+   "comment": "Surface ID to Layer ID mapping",
+
+   "main_surface": {
+      "surface_role": "HomeScreen",
+      "comment": "This surface should never be made invisible (The HomeScreen)"
+   },
+
+   "mappings": [
+      {
+         "role": "BackGroundLayer",
+         "name": "BackGroundLayer",
+         "layer_id": 999,
+         "comment": "Single BackGround layer map for the map, radio, music and video"
+      },
+      {
+         "role": "homescreen",
+         "name": "FarHomeScreen",
+         "layer_id": 1000,
+         "comment": "FarHomeScreen is the part of HomeScreen. The z order of this layer is lower than NearHomeScreen"
+      },
+      {
+         "role": "receiver|fallback",
+         "name": "Apps",
+         "layer_id": 1001,
+         "comment": "Range of IDs that will always be placed on layer 1001"
+      },
+      {
+        "role": "restriction",
+        "name": "Restriction",
+        "layer_id": 1002,
+        "comment": "This layer is for restriction notification. This is used by restriction role"
+      },
+      {
+         "role": "^on_screen.*",
+         "name": "OnScreen",
+         "layer_id": 9999,
+         "comment": "Range of IDs that will always be placed on the OnScreen layer, that gets a very high 'dummy' id of 9999"
+      }
+   ]
+}
diff --git a/recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf/roles.db b/recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf/roles.db
new file mode 100644 (file)
index 0000000..1370214
--- /dev/null
@@ -0,0 +1,34 @@
+{
+    "roles":[
+    {
+        "category": "homescreen",
+        "role": "homescreen",
+        "area": "fullscreen",
+        "layer": "homescreen",
+    },
+    {
+        "category": "debug",
+        "role": "receiver | fallback",
+        "area": "normal.full",
+        "layer": "apps",
+    },
+    {
+        "category": "restriction",
+        "role": "restriction",
+        "area": "restriction.normal",
+        "layer": "restriction",
+    },
+    {
+        "category": "pop_up",
+        "role": "on_screen | on_screen_phone",
+        "area": "on_screen",
+        "layer": "on_screen",
+    },
+    {
+        "category": "system_alert",
+        "role": "system_alert",
+        "area": "on_screen",
+        "layer": "on_screen",
+    }
+    ]
+}
diff --git a/recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf_1.0.bb b/recipes-demo-hmi/cluster-windowmanager-conf/cluster-windowmanager-conf_1.0.bb
new file mode 100644 (file)
index 0000000..0cef85c
--- /dev/null
@@ -0,0 +1,19 @@
+SUMMARY = "Cluster demo windowmanager configuration"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+SRC_URI = "file://layers.json \
+           file://areas.db \
+           file://roles.db \
+"
+
+do_compile[noexec] = "1"
+
+do_install() {
+    install -d ${D}${sysconfdir}/xdg/windowmanager
+    install -m 0644 ${WORKDIR}/layers.json ${D}${sysconfdir}/xdg/windowmanager/layers.json
+    install -m 0644 ${WORKDIR}/areas.db ${D}${sysconfdir}/xdg/windowmanager/areas.db
+    install -m 0644 ${WORKDIR}/roles.db ${D}${sysconfdir}/xdg/windowmanager/roles.db
+}
+
+#FILES_${PN} += "${sysconfdir}/*"
diff --git a/recipes-graphics/wayland/weston-ini-conf.bbappend b/recipes-graphics/wayland/weston-ini-conf.bbappend
new file mode 100644 (file)
index 0000000..6879975
--- /dev/null
@@ -0,0 +1,23 @@
+# Remove all rotated portrait mode config fragments, and add our own
+# instead, as the cluster demo display is landscape orientation.
+# NOTES:
+# (1) Cannot over-ride virtual.cfg simply by having a copy here and
+#     getting it picked up via our FILESEXTRAPATHS_prepend due to AGL's
+#     layer priority scheme (this layer is lower priority than
+#     meta-agl-bsp), so need to remove it and add a replacement.
+# (2) The HDMI-A-1 config here uses a transform of 180 degrees to work
+#     with the monitor setup in the AGL demo hardware platform.  The
+#     virtual-landscape.cfg is left unrotated, since it's used with
+#     QEMU on the desktop.
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
+
+SRC_URI_remove = " \
+       file://hdmi-a-1-270.cfg \
+       file://hdmi-a-1-90.cfg \
+       file://virtual.cfg \
+"
+SRC_URI += " \
+       file://hdmi-a-1-180.cfg \
+       file://virtual-landscape.cfg \
+"
diff --git a/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-180.cfg b/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-180.cfg
new file mode 100644 (file)
index 0000000..7648c77
--- /dev/null
@@ -0,0 +1,4 @@
+# A display is connected to HDMI-A-1
+[output]
+name=HDMI-A-1
+transform=180
diff --git a/recipes-graphics/wayland/weston-ini-conf/virtual-landscape.cfg b/recipes-graphics/wayland/weston-ini-conf/virtual-landscape.cfg
new file mode 100644 (file)
index 0000000..d692536
--- /dev/null
@@ -0,0 +1,3 @@
+[output]
+name=Virtual-1
+mode=1920x1080
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 (file)
index 0000000..fd99a77
--- /dev/null
@@ -0,0 +1,33 @@
+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 "
+
+# Add libvcard to the SDK to support libqtappfw
+TOOLCHAIN_TARGET_TASK += " \
+    libvcard-dev \
+    libvcard-staticdev \
+    "
diff --git a/recipes-platform/images/agl-cluster-demo-platform.bb b/recipes-platform/images/agl-cluster-demo-platform.bb
new file mode 100644 (file)
index 0000000..52d737b
--- /dev/null
@@ -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 (file)
index 0000000..8745ca9
--- /dev/null
@@ -0,0 +1,3 @@
+# Base image
+require recipes-platform/images/agl-image-cluster-qt5.inc
+
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 (file)
index 0000000..d639495
--- /dev/null
@@ -0,0 +1,53 @@
+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 \
+    "
+
+# fonts
+TTF_FONTS = " \
+    ttf-bitstream-vera \
+    ttf-dejavu-sans \
+    ttf-dejavu-sans-mono \
+    ttf-dejavu-serif \
+    source-han-sans-cn-fonts \
+    source-han-sans-jp-fonts \
+    source-han-sans-tw-fonts \
+    "
+
+AGL_APPS = " \
+    cluster-dashboard \
+    cluster-receiver \
+    "
+
+AGL_APIS = " \
+    agl-service-windowmanager \
+    "
+
+RDEPENDS_${PN}_append = " \
+    wayland-ivi-extension \
+    cluster-windowmanager-conf \
+    hmi-debug \
+    libva-utils \
+    linux-firmware-ralink \
+    connman \
+    connman-client \
+    connman-tools \
+    cluster-connman-conf \
+    iproute2 \
+    dhcp-client \
+    ${TTF_FONTS} \
+    ${AGL_APPS} \
+    ${AGL_APIS} \
+"
diff --git a/templates/feature/agl-cluster-demo/50_bblayers.conf.inc b/templates/feature/agl-cluster-demo/50_bblayers.conf.inc
new file mode 100644 (file)
index 0000000..d8357f2
--- /dev/null
@@ -0,0 +1,5 @@
+# This layer contains the WIP cluster feature/demo code only
+#-----------------------------------------------------------
+BBLAYERS =+ " \
+   ${METADIR}/meta-agl-cluster-demo \
+"
diff --git a/templates/feature/agl-cluster-demo/50_local.conf.inc b/templates/feature/agl-cluster-demo/50_local.conf.inc
new file mode 100644 (file)
index 0000000..90b0380
--- /dev/null
@@ -0,0 +1,2 @@
+#see meta-agl-cluster-demo/conf/include/agl-cluster-demo.inc
+require conf/include/agl-cluster-demo.inc
diff --git a/templates/feature/agl-cluster-demo/included.dep b/templates/feature/agl-cluster-demo/included.dep
new file mode 100644 (file)
index 0000000..1724b64
--- /dev/null
@@ -0,0 +1 @@
+agl-profile-cluster-qt5 agl-hmi-framework