From c57f7a0610a7702f7057c416ce2b170d71ef001e Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Tue, 13 Jun 2023 16:21:39 -0400 Subject: 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 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 --- .../meta-oe/recipes-graphics/wayland/agl-compositor-init.bbappend | 1 + .../recipes-graphics/wayland/agl-compositor-init_aglcore.inc | 1 + .../dynamic-layers/meta-oe/recipes-graphics/wayland/common-init.inc | 6 ++++++ .../meta-oe/recipes-graphics/wayland/weston-init.bbappend | 1 + .../meta-oe/recipes-graphics/wayland/weston-init_aglcore.inc | 1 + .../meta-oe/recipes-platform/images/agl-image-compositor.bbappend | 3 +++ meta-agl-core/recipes-core/images/core-image-weston.bbappend | 1 - meta-agl-core/recipes-core/images/core-image-weston_aglcore.inc | 6 ------ meta-agl-core/recipes-graphics/wayland/agl-compositor-init.bb | 3 +++ meta-agl-core/recipes-graphics/wayland/agl-compositor_git.bb | 4 +++- meta-agl-core/recipes-platform/images/agl-image-compositor.bb | 2 +- .../packagegroups/packagegroup-agl-graphical-compositor.bb | 6 +----- .../packagegroups/packagegroup-agl-graphical-weston.bb | 6 +----- 13 files changed, 22 insertions(+), 19 deletions(-) create mode 100644 meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init.bbappend create mode 100644 meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init_aglcore.inc create mode 100644 meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/common-init.inc create mode 100644 meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init.bbappend create mode 100644 meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init_aglcore.inc create mode 100644 meta-agl-core/dynamic-layers/meta-oe/recipes-platform/images/agl-image-compositor.bbappend delete mode 100644 meta-agl-core/recipes-core/images/core-image-weston.bbappend delete mode 100644 meta-agl-core/recipes-core/images/core-image-weston_aglcore.inc (limited to 'meta-agl-core') 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)} \ " -- cgit 1.2.3-korg