Vendors dir for pam.d /usr/etc/pam.d
instead of /etc/ don't work with greetd.
Actually greetd checks for the path absolute path for the pam.d.
which means that it will error out. Workaround is to link /etc/pam.d/greetd
to /usr/etc/pam.d/greetd
.
for more details see this issue
How about the commonly used
/usr/lib/pam.d
until we find a real solution?
Is there a way to query whether pam was built with
vendordir
support and the path to the vendor directory?
Not to my knowledge, and I'm not sure if there's official support for /usr/etc in the first place.
Either way, the "right" way to do this is to remove the probing and thereby decouple greetd from the paths altogether. I just dropped the check for login fallback service, and we should be able to change the greeter service file behavior to not care either.