diff options
author | Scott Murray <scott.murray@konsulko.com> | 2022-03-21 17:03:07 -0400 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2022-03-22 13:36:31 +0000 |
commit | 33fa4e419dc15b86a169851fd4597447f0549ef0 (patch) | |
tree | 63681b5e2f95e7731dac17edc8a6d7ca94cd12e1 | |
parent | 714379e09cc5e7b06012ba831289963cfc84ba4d (diff) |
Restore Qt compositor cluster demo image
Changes:
- Added the required backend plugin options for running with Qt's
compositor to the PACKAGECONFIG variable in the qtbase recipe
bbappend.
- Restore an updated recipe for the agl-cluster-demo-qtcompositor
image, with updates to the associated packagegroups for the app
framework removal.
- As part of the above, the duplication of the profile-cluster-qt5
package naming has been clarified in the qt5 versus qtcompositor
packagegroups with new -wayland and -egl suffixes, with the previous
plain -qt5 name aliasing the wayland option to maintain expected
behavior. This avoids packaging conflict errors if building both
types of cluster demo image in the same tree.
- Restore updated cluster-gauges-qtcompositor recipe required for the
image.
- A simple systemd unit file has been added for the cluster-gauges
application and is currently installed as a system session unit.
Some rework of the agl-session scheme is required to run as a
user unit, the intent is to address that in one of the 13.0.x point
releases.
Bug-AGL: SPEC-4283
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Id79484c025fef067d7d47eaf783768e700a9dc8d
7 files changed, 118 insertions, 6 deletions
diff --git a/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor.service b/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor.service new file mode 100644 index 000000000..cedad0e8a --- /dev/null +++ b/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor.service @@ -0,0 +1,14 @@ +[Unit] +Description=cluster-gauges-qtcompositor + +[Service] +Environment=XDG_RUNTIME_DIR=/run/user/0 +ExecStart=/usr/bin/cluster-gauges + +Restart=always + +StandardOutput=journal +StandardError=journal + +[Install] +WantedBy=graphical.target diff --git a/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor_git.bb b/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor_git.bb new file mode 100644 index 000000000..4210754f8 --- /dev/null +++ b/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor_git.bb @@ -0,0 +1,40 @@ +SUMMARY = "Minimal cluster demo gauges that can be used standalone" +DESCRIPTION = "AGL HMI Application for demonstrating instrument cluster gauges as a wayland compositor" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-cluster-demo-gauges" +SECTION = "apps" + +LICENSE = "Apache-2.0 & BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984 \ + file://app/cluster-gauges.qml;beginline=10;endline=49;md5=54187d50b29429abee6095fe8b7c1a78" + +DEPENDS = "qtquickcontrols2 qtwebsockets" + +PV = "1.0+git${SRCPV}" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/agl-cluster-demo-gauges;protocol=https;branch=${AGL_BRANCH} \ + file://cluster-gauges-qtcompositor.service \ +" + +SRCREV = "${AGL_APP_REVISION}" + +S = "${WORKDIR}/git" + +inherit pkgconfig cmake_qt5 systemd + +SYSTEMD_SERVICE:${PN} = "${BPN}.service" + +do_install:append() { + install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service +} + +FILES:${PN} += " ${systemd_user_unitdir}" + +RDEPENDS:${PN} += " \ + qtquickcontrols \ + qtquickcontrols-qmlplugins \ + qtquickcontrols2 \ + qtquickcontrols2-qmlplugins \ + qtwebsockets \ + qtwebsockets-qmlplugins \ + kms-conf \ +" 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..a9da97639 --- /dev/null +++ b/recipes-platform/images/agl-cluster-demo-qtcompositor.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "AGL Cluster Demo Qtwayland Compositor image currently contains a \ +simple cluster interface and some AGL service." + +LICENSE = "MIT" + +require recipes-platform/images/agl-image-boot.inc + +IMAGE_FEATURES += "splash package-management ssh-server-dropbear" + +inherit features_check + +REQUIRED_DISTRO_FEATURES = "wayland" + +# add packages for cluster demo qtcompositor +IMAGE_INSTALL:append = " \ + packagegroup-agl-cluster-demo-qtcompositor \ +" + +# NOTE: This should be revisited after upgrading to hardknott or later, +# as it may no longer be required. However, since Wayland is not +# being used, the new "weston" image feature may not be a viable +# option. +SYSTEMD_DEFAULT_TARGET = "graphical.target" 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..a5c8b78e3 --- /dev/null +++ b/recipes-platform/packagegroups/packagegroup-agl-cluster-demo-qtcompositor.bb @@ -0,0 +1,32 @@ +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_APPS = " \ + cluster-gauges-qtcompositor \ + " + +RDEPENDS:${PN}:append = " \ + linux-firmware-ralink \ + can-utils \ + ${AGL_SERVICE} \ + ${AGL_APPS} \ +" diff --git a/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qt5.bb b/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qt5.bb index 39b0c3739..1cf20937c 100644 --- a/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qt5.bb +++ b/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qt5.bb @@ -6,6 +6,7 @@ inherit packagegroup PACKAGES = "\ packagegroup-agl-profile-cluster-qt5 \ + profile-cluster-qt5-wayland \ profile-cluster-qt5 \ " @@ -17,4 +18,5 @@ RDEPENDS:${PN} += "\ packagegroup-agl-graphical-weston \ " -RDEPENDS:profile-cluster-qt5 = "${PN}" +RDEPENDS:profile-cluster-qt5-wayland = "${PN}" +RDEPENDS:profile-cluster-qt5 = "profile-cluster-qt5-wayland" diff --git a/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qtcompositor.bb b/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qtcompositor.bb index ae1ad96be..ba66b60d5 100644 --- a/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qtcompositor.bb +++ b/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qtcompositor.bb @@ -6,7 +6,7 @@ inherit packagegroup PACKAGES = "\ packagegroup-agl-profile-cluster-qtcompositor \ - profile-cluster-qt5 \ + profile-cluster-qt5-egl \ " ALLOW_EMPTY:${PN} = "1" @@ -23,13 +23,10 @@ QT_LITE = " \ qtwayland \ qtgraphicaleffects-qmlplugins \ qtsvg-plugins \ - qtwebsockets \ - qtwebsockets-qmlplugins \ - qtcompositor-conf \ " RDEPENDS:${PN}:append = " \ ${QT_LITE} \ " -RDEPENDS:profile-cluster-qt5 = "${PN}" +RDEPENDS:profile-cluster-qt5-egl = "${PN}" diff --git a/recipes-qt/qt/qtbase_agldemo.inc b/recipes-qt/qt/qtbase_agldemo.inc index 5e6477985..48d96b2dc 100644 --- a/recipes-qt/qt/qtbase_agldemo.inc +++ b/recipes-qt/qt/qtbase_agldemo.inc @@ -1 +1,5 @@ +# Enable EGL and KMS platform plugins to allow demos of Qt compositor +# without Wayland +PACKAGECONFIG_GL:append = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', ' eglfs kms gbm', '', d)}" + PACKAGECONFIG:append = " icu fontconfig sql-sqlite" |