diff options
author | Scott Murray <scott.murray@konsulko.com> | 2023-06-13 16:21:39 -0400 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2023-06-16 10:54:38 +0000 |
commit | c57f7a0610a7702f7057c416ce2b170d71ef001e (patch) | |
tree | 01f2e161868a4f1fa5f0e571117cc3c5973c65f6 | |
parent | 5e3df5ad4fe4a93208110a1ff40c5e3ce09f6269 (diff) |
meta-agl-core: fix polkit dependencies
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, 22 insertions, 19 deletions
diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init.bbappend b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init.bbappend new file mode 100644 index 000000000..4b6deffdf --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'agl-compositor-init_aglcore.inc', '', d)} diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init_aglcore.inc b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init_aglcore.inc new file mode 100644 index 000000000..b7d346d39 --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init_aglcore.inc @@ -0,0 +1 @@ +require common-init.inc diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/common-init.inc b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/common-init.inc new file mode 100644 index 000000000..47f7d8b1d --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/common-init.inc @@ -0,0 +1,6 @@ +# 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)}" diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init.bbappend b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init.bbappend new file mode 100644 index 000000000..c09d7ccd3 --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'weston-init_aglcore.inc', '', d)} diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init_aglcore.inc b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init_aglcore.inc new file mode 100644 index 000000000..b7d346d39 --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init_aglcore.inc @@ -0,0 +1 @@ +require common-init.inc diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-platform/images/agl-image-compositor.bbappend b/meta-agl-core/dynamic-layers/meta-oe/recipes-platform/images/agl-image-compositor.bbappend new file mode 100644 index 000000000..1e0e66f01 --- /dev/null +++ b/meta-agl-core/dynamic-layers/meta-oe/recipes-platform/images/agl-image-compositor.bbappend @@ -0,0 +1,3 @@ +IMAGE_INSTALL += " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'agl-shell-activator', '', d)} \ +" diff --git a/meta-agl-core/recipes-core/images/core-image-weston.bbappend b/meta-agl-core/recipes-core/images/core-image-weston.bbappend deleted file mode 100644 index 082637b7e..000000000 --- a/meta-agl-core/recipes-core/images/core-image-weston.bbappend +++ /dev/null @@ -1 +0,0 @@ -require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'core-image-weston_aglcore.inc', '', d)} diff --git a/meta-agl-core/recipes-core/images/core-image-weston_aglcore.inc b/meta-agl-core/recipes-core/images/core-image-weston_aglcore.inc deleted file mode 100644 index 7f0711ef9..000000000 --- a/meta-agl-core/recipes-core/images/core-image-weston_aglcore.inc +++ /dev/null @@ -1,6 +0,0 @@ -# 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" diff --git a/meta-agl-core/recipes-graphics/wayland/agl-compositor-init.bb b/meta-agl-core/recipes-graphics/wayland/agl-compositor-init.bb index a3127a3e5..d8baf91f9 100644 --- a/meta-agl-core/recipes-graphics/wayland/agl-compositor-init.bb +++ b/meta-agl-core/recipes-graphics/wayland/agl-compositor-init.bb @@ -4,6 +4,9 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 inherit systemd +# 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 \ diff --git a/meta-agl-core/recipes-graphics/wayland/agl-compositor_git.bb b/meta-agl-core/recipes-graphics/wayland/agl-compositor_git.bb index 46ba662b1..f443fe878 100644 --- a/meta-agl-core/recipes-graphics/wayland/agl-compositor_git.bb +++ b/meta-agl-core/recipes-graphics/wayland/agl-compositor_git.bb @@ -25,6 +25,9 @@ PACKAGECONFIG[grpc-proxy] = "-Dgrpc-proxy=true,-Dgrpc-proxy=false,grpc grpc-nati 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} = " \ @@ -41,7 +44,6 @@ FILES:agl-shell-grpc-server = " \ RDEPENDS:${PN} += " \ agl-compositor-init \ xkeyboard-config \ - ${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)} \ " FILES:${PN}-dev += " \ diff --git a/meta-agl-core/recipes-platform/images/agl-image-compositor.bb b/meta-agl-core/recipes-platform/images/agl-image-compositor.bb index ea48f474f..b78536be8 100644 --- a/meta-agl-core/recipes-platform/images/agl-image-compositor.bb +++ b/meta-agl-core/recipes-platform/images/agl-image-compositor.bb @@ -11,5 +11,5 @@ SYSTEMD_DEFAULT_TARGET = "graphical.target" 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)} \ " diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-compositor.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-compositor.bb index be124925f..b2c7d8ec8 100644 --- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-compositor.bb +++ b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-compositor.bb @@ -1,13 +1,9 @@ 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)}" +inherit packagegroup RDEPENDS:${PN} += " \ agl-compositor \ agl-compositor-init \ - ${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)} \ " diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bb index af4d90c49..96f09d5ab 100644 --- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bb +++ b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bb @@ -1,13 +1,9 @@ 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)}" +inherit packagegroup RDEPENDS:${PN} += " \ weston \ weston-init \ - ${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)} \ " |