[OE-core] [oe] Using libpam with systemd but without systemd-logind

Richard Purdie richard.purdie at linuxfoundation.org
Sun Oct 28 08:40:59 UTC 2018


On Sat, 2018-10-27 at 10:36 +0000, Peter Kjellerstedt wrote:
> 
> > Our embedded system uses systemd and libpam, but doesn't use
> > systemd's logind package.
> > 
> > The libpam recipe,
> > 
https://github.com/openembedded/openembedded-core/blob/master/meta/recipes-extended/pam/libpam_1.3.0.bb#L149
> > ,
> > will add pam_systemd.so to common-session if it detects systemd is
> > used.
> > 
> > However, systemd will only even build pam_systemd.so if the logind
> > package is enabled, shown here:
> > 
https://github.com/systemd/systemd/blob/15b1180945f2cfa0f7938626ff060c8b52606a1a/meson.build#L1747
> > 
> > So in our case, since we are explicitly disabling logind, pam will
> > complain in the journal about not being able to find
> > pam_systemd.so.
> > 
> > As logind isn't a systemd distro feature, I'm not sure how libpam
> > can
> > really know that it doesn't need to add pam_systemd.so to common-
> > session?
> > 
> > Does anyone have any ideas on ways to handle this?
> 
> I am by no means any PAM expert, but prefixing the line inserted
> into 
> /etc/pam.d/common-session with a '-' should make libpam not output 
> anything to the logs if pam_systemd.so does not exist.

The best way I can think of is if each recipe have their own
PACKAGECONFIG entries as appropriate and then your distro configures
both recipes to do the right thing?

Cheers,

Richard




More information about the Openembedded-core mailing list