Bug 22214

Summary: superfluous dependency on libpam?
Product: Sisyphus Reporter: Ivan Zakharyaschev <imz>
Component: pineAssignee: viy <viy>
Status: NEW --- QA Contact: qa-sisyphus
Severity: minor    
Priority: P3    
Version: unstable   
Hardware: all   
OS: Linux   

Description Ivan Zakharyaschev 2009-11-08 23:18:49 MSK
pine-4.64L-alt6

$ rpm -qp pine-4.64L-alt6.i586.rpm --requires 
/usr/bin/spell  
url_handler  
mktemp  
sed  
grep  
pico = 4.64L-alt6
/bin/sh  
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
/bin/awk  
/lib/ld-linux.so.2  
libc.so.6(GLIBC_2.0)  
libc.so.6(GLIBC_2.1)  
libc.so.6(GLIBC_2.2)  
libc.so.6(GLIBC_2.3)  
libc.so.6(GLIBC_2.3.4)  
libc.so.6(GLIBC_2.4)  
libc.so.6(GLIBC_2.7)  
libcrypto.so.7  
libpam.so.0(LIBPAM_1.0)  
libsasl2.so.2  
libssl.so.7  
libtinfo.so.5  
rtld(GNU_HASH)  
coreutils  
diffutils  
rpmlib(PayloadIsLzma) <= 4.4.2-1
$ 

and "ldd -r /usr/bin/pine" shows the dependency on libpam.so.0.

I believe that pine (a mail *client*) has no need to depend on libpam; I guess, it is linked to libpam only because it uses the same code and compilation rules as UW's imapd, but in reality, it doesn't use anything from the library.

AFAIU, PAM is only referred to in imap/src/osdep/unix/ckp_*.c, which are password checking functions, not needed in Pine itself.

This excessive dependency makes administration more complex. Fixing this would probably require some hacking of the compilation rules for pine.
Comment 1 Ivan Zakharyaschev 2009-11-09 18:55:08 MSK
I've looked at Debian, Fedora, Ubuntu, openSuse: their alpine packages have the same imperfection (they depend on libpam), but PLD seems to have correctly patched the build process os that their alpine doesn't depend on libpam:

http://www.rpmseek.com/rpm/alpine-2.00.25-1.athlon.html?hl=de&cs=alpine:PN:0:27:0:0:0:7281438 -- Benötigt

    * aspell
    * ca-certificates
    * config
    * libc.so.6
    * libcom_err.so.2
    * libcrypt.so.1
    * libcrypto.so.0.9.8
    * libdl.so.2
    * libgssapi_krb5.so.2
    * libhome_etc.so.1
    * libkrb5.so.3
    * liblber-2.4.so.2
    * libldap-2.4.so.2
    * libpthread.so.0
    * libresolv.so.2
    * libsasl2.so.2
    * libssl.so.0.9.8
    * libtinfo.so.5
    * rtld
    * rpmlib

http://www.rpmseek.com/rpm/alpine-1.00.12-2.i686.html?hl=de&cs=alpine:PN:0:0:0:0:0:6428106 -- Benötigt

    * /bin/sh
    * aspell
    * config
    * libc.so.6
    * libcrypt.so.1
    * libcrypto.so.0.9.8
    * libdl.so.2
    * libhome_etc.so.1
    * liblber-2.4.so.2
    * libldap-2.4.so.2
    * libpthread.so.0
    * libresolv.so.2
    * libsasl2.so.2
    * libssl.so.0.9.8
    * libtinfo.so.5
    * rtld
    * rpmlib
Comment 2 Ivan Zakharyaschev 2009-11-09 20:32:18 MSK
(In reply to comment #1)

> same imperfection (they depend on libpam), but PLD seems to have correctly
> patched the build process os that their alpine doesn't depend on libpam:

As one can see from their spec-file, they used the solution described here as well -- http://talk.maemo.org/showthread.php?p=90746#post90746 :

"Regarding the PAM issue, I agree with the suggestion to build using slx or lnx as the c-client target. lnx may be a better choice than slx; <...>

Alternatively, you could just supply dummy PAM modules if you don't want to override the configure script. It only matters for the POP3 and IMAP servers;"