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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to