Hi Jörg, On Tue, Jul 7, 2026 at 7:25 PM Jörg Sommer <[email protected]> wrote:
> Leon Anavi via lists.openembedded.org schrieb am Di 07. Jul, 12:02 > (+0300): > > Add pam to the list of DISTRO_FEATURES in init-manager-systemd.inc. > > This way pam will available if variable VIRTUAL-RUNTIME_init_manager > > has been set to systemd. Otherwise having systemd in conjunction > > with wayland but without pam leads to a conflict with the > > REQUIRED_DISTRO_FEATURES for weston related recipes. > > > > This adjustment is required following these recent changes that > > switched VIRTUAL-RUNTIME_init_manager to systemd by default and added > > wayland to DISTRO_FEATURES_DEFAULTS which affects "nodistro": > > > > - 159148f4de2595556fef6e8678578df83383857b > > meta: Support opting out of any distro features > > (Please note that this commit also extended DISTRO_FEATURES_DEFAULTS > > with wayland and vulkan.) > > > > - 0b4061c5d50261f826d0edb4b478d2d305274b7c > > conf: Switch to systemd by default and simplify init manager selection > > > > This fixes issues with test_machine_world when running the > > yocto-check-layer script for BSP layers that include weston in the > > dependency chain, for example meta-tegra: > > > > ERROR: Required build target 'meta-world-pkgdata' has no buildable > providers. > > Missing or unbuildable dependency chain was: ['meta-world-pkgdata', > 'l4t-graphics-demos', 'weston'] > > > > The weston recipe has pam in REQUIRED_DISTRO_FEATURES if systemd is > > enabled. Therefore, it makes sense to also add pam to the defaults > > through DISTRO_FEATURES in init-manager-systemd.inc. > > > > Signed-off-by: Leon Anavi <[email protected]> > > --- > > meta/conf/distro/include/init-manager-systemd.inc | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/meta/conf/distro/include/init-manager-systemd.inc > b/meta/conf/distro/include/init-manager-systemd.inc > > index 63fd225ca5..2e9eef24b5 100644 > > --- a/meta/conf/distro/include/init-manager-systemd.inc > > +++ b/meta/conf/distro/include/init-manager-systemd.inc > > @@ -1,5 +1,5 @@ > > # Use systemd for system initialization > > -DISTRO_FEATURES:append = " systemd usrmerge" > > +DISTRO_FEATURES:append = " systemd usrmerge pam" > > systemd and usrmerge are required features for systemd. But pam is optional > and should be in DISTRO_FEATURES_DEFAULTS to allow for easy opt-out. > > Thank you for your feedback but please note that version 1 of my patch was adding pam to DISTRO_FEATURES_DEFAULTS if systemd was enabled. Here is a link to v1 of my patch: https://lists.openembedded.org/g/openembedded-core/message/240113 Following the code review and feedback provided by Paul Barker I modified the patch and submitted version 2. For your convenience, here is a link to Paul's email with his recommendation that init-manager-systemd.inc is the better place for this: https://lists.openembedded.org/g/openembedded-core/message/240233 > On the other side: Is pam so much common that it should be enabled by > default? The purpose of my proposed patch is to fix the behavior of the yocto-check-layer script when running it with DISTRO="nodistro" for layers that depend on recipes requiring pam, such as weston. Since the Wrynose release and the previously mentioned git commits by Richard and Paul, openembedded-core has switched to systemd by default and extended DISTRO_FEATURES_DEFAULTS with wayland and vulkan. Because wayland is now enabled by default, in certain recipes the PACKAGECONFIG option for wayland is enabled and drags weston, causing the test_machine_world test from the yocto-check-layer script to fail for meta-world-pkgdata if pam is not also enabled. For example, this occurs with the l4t-graphics-demos recipe from meta-tegra: https://github.com/OE4T/meta-tegra/blob/master/recipes-graphics/l4t-graphics-demos/l4t-graphics-demos_39.2.0.bb#L23 > Why not leave this decision to the distro or the local.conf when > the user selects the content of the image? > Based on my experience with meta-tegra, these changes introduce kind of a breaking change when running yocto-check-layer with the default DISTRO="nodistro" on layers that have recipes depending on weston. My understanding of yocto-check-layer is that it assesses how compatible a layer is with the Yocto Project without modifications to local.conf therefore I don't want to add pam to DISTRO_FEATURES locally in it. Probably there are other layers out there that are affected in the same way by new defaults in DISTRO_FEATURES_DEFAULTS and systemd. For my particular use case, I run yocto-check-layer for meta-tegra as follows: source openembedded-core/oe-init-build-env build yocto-check-layer --no-auto-dependency ../meta-tegra --machines jetson-orin-nano-devkit-nvme Best regards, Leon > > > Kind regards, Jörg > > > VIRTUAL-RUNTIME_init_manager ??= "systemd" > > VIRTUAL-RUNTIME_initscripts ??= "" > > VIRTUAL-RUNTIME_login_manager ??= "shadow-base" > > -- > > 2.47.3 > > > > -- > Navimatix GmbH T: 03641 - 327 99 0 > Tatzendpromenade 2 F: 03641 - 526 306 > 07745 Jena www.navimatix.de > > Geschäftsführer: Steffen Späthe, Jan Rommeley > Registergericht: Amtsgericht Jena, HRB 501480 >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#240439): https://lists.openembedded.org/g/openembedded-core/message/240439 Mute This Topic: https://lists.openembedded.org/mt/120153610/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
