meta-agl-profile-cluster-qt5: Add qtcompositor-conf recipe 88/22288/2
authorScott Murray <scott.murray@konsulko.com>
Thu, 29 Aug 2019 22:05:05 +0000 (18:05 -0400)
committerScott Murray <scott.murray@konsulko.com>
Tue, 3 Sep 2019 13:42:04 +0000 (13:42 +0000)
Add qtcompositor-conf recipe to create the udev rule files required to
set up the "display" group ownership of graphics devices when not using
weston.  The recipe is based on what is done in the weston-init bbappend
in the meta-agl-profile-graphical layer.  The package is also added to
the agl-profile-cluster-qtcompositor packagegroup so that the qtcompositor
cluster demo image will pick it up.

Bug-AGL: SPEC-2775

Change-Id: I375e915b2074eb2abcec534a88fddfc6445730e1
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
meta-agl-profile-cluster-qt5/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qtcompositor.bb
meta-agl-profile-cluster-qt5/recipes-qt/qt5/qtcompositor-conf_1.0.bb [new file with mode: 0644]

diff --git a/meta-agl-profile-cluster-qt5/recipes-qt/qt5/qtcompositor-conf_1.0.bb b/meta-agl-profile-cluster-qt5/recipes-qt/qt5/qtcompositor-conf_1.0.bb
new file mode 100644 (file)
index 0000000..49111b6
--- /dev/null
@@ -0,0 +1,40 @@
+SUMMARY = "Configuration files for running wayland with a non-weston compositor"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+inherit allarch agl-graphical
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+    # Add a rule to ensure the 'display' user has permissions to
+    # open the graphics device
+    install -d ${D}${sysconfdir}/udev/rules.d
+    cat >${D}${sysconfdir}/udev/rules.d/zz-dri.rules <<'EOF'
+SUBSYSTEM=="drm", MODE="0660", GROUP="${WESTONGROUP}", SECLABEL{smack}="*"
+EOF
+
+    # user 'display' must also be able to access /dev/input/*
+    cat >${D}${sysconfdir}/udev/rules.d/zz-input.rules <<'EOF'
+SUBSYSTEM=="input", MODE="0660", GROUP="input", SECLABEL{smack}="^"
+EOF
+
+    # user 'display' must also be able to access /dev/media*, etc.
+    cat >${D}${sysconfdir}/udev/rules.d/zz-remote-display.rules <<'EOF'
+SUBSYSTEM=="media", MODE="0660", GROUP="display", SECLABEL{smack}="*"
+SUBSYSTEM=="video4linux", MODE="0660", GROUP="display", SECLABEL{smack}="*"
+KERNEL=="uvcs", SUBSYSTEM=="misc", MODE="0660", GROUP="display", SECLABEL{smack}="*"
+KERNEL=="rgnmm", SUBSYSTEM=="misc", MODE="0660", GROUP="display", SECLABEL{smack}="*"
+EOF
+}
+
+do_install_append_imx() {
+    install -d ${D}${sysconfdir}/udev/rules.d
+    cat >>${D}${sysconfdir}/udev/rules.d/zz-dri.rules <<'EOF'
+SUBSYSTEM=="gpu_class", MODE="0660", GROUP="${WESTONGROUP}", SECLABEL{smack}="*"
+EOF
+
+}
+
+RCONFLICTS_${PN} = "weston-init"