As part of the systemd user session removal, some changes were
made to attempt to fix pulling in polkit for core-image-weston,
agl-image-weston, and agl-image-compositor so that the compositors
would correctly start up in the resulting images. Unfortunately,
just gating the dependency on polkit being in DISTRO_FEATURES breaks
the usecase of using poky and meta-agl-core with our poky-agl distro
configuration without also pulling in the meta-oe layer. This
combination is used for testing meta-agl-core on the Yocto Project
autobuilder, so that broke and was reported by upstream.
To fix this usecase, the polkit dependency logic has been shifted to
weston-init and agl-compositor-init via bbappends that are only used
when meta-oe is present via our existing BBFILES_DYNAMIC set up.
Since the dependency on polkit stems from a combination of the
compositor PAM configuration from the -init packages and having
systemd, pam, and polkit in DISTRO_FEATURES, this seems more correct,
anyways.
Other changes:
- The explicit pam DISTRO_FEATURES checking that was added in the
previous cleanup has been removed; it is actually redundant due to
weston and weston-init having checks. Using the .inc file for that
from upstream has been added to the agl-compositor and
agl-compositor-init recipes to match the weston recipes and make
the dependency visible in our tree.
- There is no further need for our bbappend to core-image-weston, so
it has been removed.
Bug-AGL: SPEC-4836
Change-Id: Ia3052023dfb06d1c2190a03c72606ab4b27bbdd2
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29014
Tested-by: Jenkins Job builder account
ci-image-build: Jenkins Job builder account
ci-image-boot-test: Jenkins Job builder account
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
13 files changed:
--- /dev/null
+require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'agl-compositor-init_aglcore.inc', '', d)}
--- /dev/null
+# If weston's PACKAGECONFIG contains systemd + pam + polkit, polkit
+# ends up a hard requirement for start up due to the pam + systemd
+# configuration that is being installed. For now, keep things simple
+# and assume that polkit should be a dependency if it is in
+# DISTRO_FEATURES.
+RDEPENDS:${PN} += "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}"
--- /dev/null
+require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'weston-init_aglcore.inc', '', d)}
--- /dev/null
+IMAGE_INSTALL += " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'agl-shell-activator', '', d)} \
+"
+++ /dev/null
-require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'core-image-weston_aglcore.inc', '', d)}
+++ /dev/null
-# Required for weston startup with polkit in DISTRO_FEATURES
-IMAGE_INSTALL += "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}"
-
-# NOTE: In hardknott or later this can be replaced by adding "weston"
-# to IMAGE_FEATURES.
-SYSTEMD_DEFAULT_TARGET = "graphical.target"
+# Reuse include file from upstream weston since we have the same requirements
+require recipes-graphics/wayland/required-distro-features.inc
+
PACKAGE_ARCH = "${MACHINE_ARCH}"
SRC_URI = "file://agl-compositor.service \
PACKAGE_ARCH = "${MACHINE_ARCH}"
SRC_URI = "file://agl-compositor.service \
inherit meson pkgconfig python3native
inherit meson pkgconfig python3native
+# Reuse include file from upstream weston since we have the same requirements
+require recipes-graphics/wayland/required-distro-features.inc
+
PACKAGES =+ "agl-shell-grpc-server"
FILES:${PN} = " \
PACKAGES =+ "agl-shell-grpc-server"
FILES:${PN} = " \
RDEPENDS:${PN} += " \
agl-compositor-init \
xkeyboard-config \
RDEPENDS:${PN} += " \
agl-compositor-init \
xkeyboard-config \
- ${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)} \
IMAGE_INSTALL += " \
packagegroup-agl-graphical-compositor \
IMAGE_INSTALL += " \
packagegroup-agl-graphical-compositor \
- ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'agl-shell-activator weston-examples', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'weston-examples', '', d)} \
DESCRIPTION = "The minimal set of packages required for the AGL compositor"
LICENSE = "MIT"
DESCRIPTION = "The minimal set of packages required for the AGL compositor"
LICENSE = "MIT"
-inherit packagegroup features_check
-
-# agl-compositor-init requires pam enabled if started via systemd
-REQUIRED_DISTRO_FEATURES = "wayland ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}"
RDEPENDS:${PN} += " \
agl-compositor \
agl-compositor-init \
RDEPENDS:${PN} += " \
agl-compositor \
agl-compositor-init \
- ${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)} \
DESCRIPTION = "The minimal set of packages required for the Weston compositor"
LICENSE = "MIT"
DESCRIPTION = "The minimal set of packages required for the Weston compositor"
LICENSE = "MIT"
-inherit packagegroup features_check
-
-# weston-init requires pam enabled if started via systemd
-REQUIRED_DISTRO_FEATURES = "wayland ${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'pam', '', d)}"
RDEPENDS:${PN} += " \
weston \
weston-init \
RDEPENDS:${PN} += " \
weston \
weston-init \
- ${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)} \