First little introduction:
As some of you know I'm in the process of creating PKGBUILDs for arch
linux, which are instructions for building binaries.
And I want them to be nearly-perfect and provide everything that they
should provide. How do I know what they should provide? By looking
what was done in the past. I got PKGBUILDs for 3.5.12 form kdemod3
git, i looked a little at old official KDE3 PKGBUILDs for arch, and I
managed to include everything up until I got to kdebase PKGBUILD.
My problem:
I noticed that kdemod3 provided configuration files for pam. I was
compiling kdebase with pam support, but never cared to check if this
support was complete with configuration files. I got curious and begun
examining things.
From what I understood reading README.pam found in kdebase main dir,
the "make install" should create automatically pam config files using
mkpamserv script found in kdebase. By default the pam service would be
called kde and the config file would be called the same. This would
fit, since from what I read up until now on pam, the config file
should be called the same as service name specified in pam_start()
function. But usign autotools one could change the default name to
something else using --with-pam=<name> (in fact this was done in the
kdemod3 PKGBUILD to ensure KDE4 compatibility, since KDE4 packages
provide it's own pam config file called kde), or better, provide
different pam config files for each app that used pam using
--with-kdm-pam=<name> for kdm, --with-kpc-pam=<name> for kcheckpass
and --with-kss-pam for kscreensaver.
Now, with CMake this isn't done. I still can manually generate the pam
config files, using mkpamsrv script, but I wonder how the pam session
(and config file) should be called. By default it would be kde, but I
can't use it, since it would overwrite the kde4 pam config or would be
overwritten on kde4 installation. And if I simply generate pam config
files with other name, how do I ensure that apps with pam support are
actually using them, and not serching instead for config/session
called kde?