Add files from parent branch HEAD:
[pkgsrcv2.git] / security / PAM / Makefile
1 # $NetBSD: Makefile,v 1.44 2008/08/23 00:48:12 epg Exp $
2 #
3
4 DISTNAME=       Linux-PAM-0.77
5 PKGNAME=        ${DISTNAME:S/Linux-//}
6 PKGREVISION=    5
7 CATEGORIES=     security
8 MASTER_SITES=   http://www.kernel.org/pub/linux/libs/pam/pre/library/ \
9                 ftp://ftp.kernel.org/pub/linux/libs/pam/pre/library/ \
10                 http://www.de.kernel.org/pub/linux/libs/pam/pre/library/ \
11                 ftp://ftp.jp.kernel.org/pub/linux/libs/pam/pre/library/
12
13 MAINTAINER=     rh@NetBSD.org
14 HOMEPAGE=       http://www.kernel.org/pub/linux/libs/pam/
15 COMMENT=        Pluggable Authentication Modules (PAM)
16
17 MAKE_JOBS_SAFE= no
18
19 CONFLICTS+=     openpam-[0-9]*
20
21 PKG_INSTALLATION_TYPES= overwrite pkgviews
22
23 USE_TOOLS+=             gmake
24 USE_LIBTOOL=            yes
25
26 GNU_CONFIGURE=          yes
27 CONFIGURE_ARGS+=        --enable-docdir=${PREFIX}/share/doc/PAM
28 CONFIGURE_ARGS+=        --enable-includedir=${PREFIX}/include
29 CONFIGURE_ARGS+=        --enable-mandir=${PREFIX}/${PKGMANDIR}
30 CONFIGURE_ARGS+=        --enable-sconfigdir=${PKG_SYSCONFDIR:Q}
31 CONFIGURE_ARGS+=        --enable-static-libpam
32 CONFIGURE_ENV+=         ac_cv_prog_HAVE_SGML2TXT=no
33 CONFIGURE_ENV+=         ac_cv_prog_HAVE_SGML2HTML=no
34 CONFIGURE_ENV+=         ac_cv_prog_HAVE_SGML2LATEX=no
35 CONFIGURE_ENV+=         ac_cv_prog_HAVE_SGML2PS=no
36 CONFIGURE_ENV+=         ac_cv_prog_HAVE_PS2PDF=no
37
38 MAKE_FLAGS+=            CC=cc
39
40 PAM_MODULEDIR=          ${VIEWBASE}/lib/security
41 MAKE_ENV+=              PAM_MODULEDIR=${PAM_MODULEDIR:Q}
42 MESSAGE_SUBST+=         PAM_MODULEDIR=${PAM_MODULEDIR}
43
44 .include "../../mk/bsd.prefs.mk"
45
46 PKG_OPTIONS_VAR=        PKG_OPTIONS.PAM
47 PKG_SUPPORTED_OPTIONS=  libcrack
48
49 .include "../../mk/bsd.options.mk"
50
51 ###
52 ### Support using libcrack to protect against weak passwords.
53 ###
54 PLIST_VARS+=            libcrack
55 .if !empty(PKG_OPTIONS:Mlibcrack)
56 .  include "../../security/libcrack/buildlink3.mk"
57 PLIST.libcrack=         yes
58 .else
59 CONFIGURE_ARGS+=        --disable-crack
60 .endif
61
62 .if !empty(OPSYS:M*BSD)
63 CPPFLAGS+=              -DUSE_GETLOGIN=1
64 .endif
65
66 # pam_userdb uses ndbm if it finds it, otherwise it will use Berkeley DB.
67 .if !exists(/usr/include/ndbm.h)
68 .  include "../../mk/bdb.buildlink3.mk"
69 .endif
70
71 PKG_SYSCONFSUBDIR?=     pam
72 EGDIR=                  ${PREFIX}/share/examples/${PKGBASE}
73
74 CFILES=                 access.conf pam_env.conf group.conf time.conf
75
76 PLIST_VARS+=            limits
77 .if ${OPSYS} == "Linux"
78 CFILES+=                limits.conf
79 PLIST.limits=           yes
80 .endif
81
82 CONF_FILES=             ${EGDIR}/pam.conf ${PKG_SYSCONFBASEDIR}/pam.conf
83 .for FILE in ${CFILES}
84 CONF_FILES+=            ${EGDIR}/${FILE} ${PKG_SYSCONFDIR}/${FILE}
85 .endfor
86 SPECIAL_PERMS=          ${PREFIX}/sbin/unix_chkpwd ${SETUID_ROOT_PERMS}
87
88 post-configure:
89         cd ${WRKSRC}; for file in Make.Rules; do                        \
90                 ${SED}  -e "s|@LIBTOOL@|${LIBTOOL}|g"                   \
91                         -e "s|@SHLIBTOOL@|${SHLIBTOOL}|g"               \
92                         $$file > $$file.new;                            \
93                 ${MV} -f $$file.new $$file;                             \
94         done
95         cd ${WRKSRC}; for file in libpam/pam_private.h; do              \
96                 ${SED}  -e "s|/etc/|${PKG_SYSCONFBASEDIR}/|g"           \
97                         $$file > $$file.new;                            \
98                 ${MV} -f $$file.new $$file;                             \
99         done
100
101 # this is so it won't try to interactively install any configs
102 pre-build:
103         ${TOUCH} ${WRKSRC}/.quiet_install
104
105 post-install:
106         ${INSTALL_DATA_DIR} ${EGDIR}
107         ${INSTALL_DATA} ${WRKSRC}/conf/pam.conf ${EGDIR}
108         ${INSTALL_DATA} ${WRKSRC}/modules/pam_access/access.conf ${EGDIR}
109         ${INSTALL_DATA} ${WRKSRC}/modules/pam_env/pam_env.conf-example  \
110                 ${EGDIR}/pam_env.conf
111         ${INSTALL_DATA} ${WRKSRC}/modules/pam_group/group.conf ${EGDIR}
112         ${INSTALL_DATA} ${WRKSRC}/modules/pam_time/time.conf ${EGDIR}
113 .if ${OPSYS} == "Linux"
114         ${INSTALL_DATA} ${WRKSRC}/security/modules/pam_limits/limits.skel \
115                 ${EGDIR}/limits.conf
116 .endif
117
118 .include "../../mk/bsd.pkg.mk"