Hi Jörg,

On 7/8/26 11:52, Jörg Sommer wrote:
Leon Anavi schrieb am Mi 08. Jul, 09:37 (+0300):
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
Thanks for the link. For an unknown reason I do not get all mails from the
list. I suspect it's an outlook feature.

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
Yes, I think so too. But as Paul said: “I'm not sure we want to enable pam
for everyone using systemd, there may be many systemd users who don't use
weston.” And I am one of these users who do not want pam.

My idea was to add to init-manager-systemd.inc this line:

DISTRO_FEATURES_DEFAULTS += "pam"

OK, thank you for clarifying it. Sorry, I didn't understand what you had in mind in your initial email. Following your suggestion I did it but with DISTRO_FEATURES_DEFAULTS:append for consistency how init-manager-systemd.inc handles DISTRO_FEATURES. It works fine for my use case with yocto-check-layer script. I have just sent v3 of the patch.


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,
As far as I can see, wayland was enabled by default before Paul's “meta:
Support opting out of any distro features”
159148f4de2595556fef6e8678578df83383857b. The real breaking change was the
default init-manager of systemd.

Yes, as mentioned in the git commit message of my patch, it is a conjunction between git commits 159148f4de2595556fef6e8678578df83383857b and 0b4061c5d50261f826d0edb4b478d2d305274b7c with the primary impact from latter because of the switching to systemd by default. Best regards, Leon

Hence, the setup must have been broken before, if someone choose systemd.

I would add “pam” to DISTRO_FEATURES_DEFAULTS in init-manager-systemd.inc,
because this sets the required features to build all recipes, but users can
opt-out.

Maybe it's worth to mention this in the release notes that more people
become aware of they have to set `DISTRO_FEATURES_OPTED_OUT += "pam"`.


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#240488): 
https://lists.openembedded.org/g/openembedded-core/message/240488
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