linux-pam: set sconfigdir to /etc for usage at runtime

So users don’t need to override the $out/etc/security files, we need
to manually set this to /etc. Override it in the install phase so that
we still get the example $out/etc/security files .

Fixes #76713
This commit is contained in:
Matthew Bauer 2019-12-30 16:25:16 -05:00
parent b9613385bc
commit f746d8eb6e

View File

@ -44,9 +44,7 @@ stdenv.mkDerivation rec {
# which is done by dlopening $out/lib/security/pam_foo.so
# $out/etc was also missed: pam_env(login:session): Unable to open config file
preConfigure = ''
configureFlags="$configureFlags --includedir=$out/include/security"
'' + stdenv.lib.optionalString (stdenv.hostPlatform.libc == "musl") ''
preConfigure = stdenv.lib.optionalString (stdenv.hostPlatform.libc == "musl") ''
# export ac_cv_search_crypt=no
# (taken from Alpine linux, apparently insecure but also doesn't build O:))
# disable insecure modules
@ -54,6 +52,15 @@ stdenv.mkDerivation rec {
sed -e 's/pam_rhosts//g' -i modules/Makefile.in
'';
configureFlags = [
"--includedir=${placeholder "out"}/include/security"
"--enable-sconfigdir=/etc/security"
];
installFlags = [
"SCONFIGDIR=${placeholder "out"}/etc/security"
];
doCheck = false; # fails
meta = with stdenv.lib; {