summaryrefslogtreecommitdiff
path: root/security/PAM/Makefile
blob: 0e980ed41a5eb193cf3de49ade9cc5e84bf2db19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# $NetBSD: Makefile,v 1.48 2012/10/23 18:16:20 asau Exp $

DISTNAME=	Linux-PAM-0.77
PKGNAME=	${DISTNAME:S/Linux-//}
PKGREVISION=	6
CATEGORIES=	security
MASTER_SITES=	http://www.kernel.org/pub/linux/libs/pam/pre/library/ \
		ftp://ftp.kernel.org/pub/linux/libs/pam/pre/library/ \
		http://www.de.kernel.org/pub/linux/libs/pam/pre/library/ \
		ftp://ftp.jp.kernel.org/pub/linux/libs/pam/pre/library/

MAINTAINER=	rh@NetBSD.org
HOMEPAGE=	http://www.kernel.org/pub/linux/libs/pam/
COMMENT=	Pluggable Authentication Modules (PAM)

MAKE_JOBS_SAFE=	no

CONFLICTS+=	openpam-[0-9]*

PKG_INSTALLATION_TYPES=	overwrite pkgviews

USE_TOOLS+=		gmake
USE_LIBTOOL=		yes

GNU_CONFIGURE=		yes
CONFIGURE_ARGS+=	--enable-docdir=${PREFIX}/share/doc/PAM
CONFIGURE_ARGS+=	--enable-includedir=${PREFIX}/include
CONFIGURE_ARGS+=	--enable-mandir=${PREFIX}/${PKGMANDIR}
CONFIGURE_ARGS+=	--enable-sconfigdir=${PKG_SYSCONFDIR:Q}
CONFIGURE_ARGS+=	--enable-static-libpam
CONFIGURE_ENV+=		ac_cv_prog_HAVE_SGML2TXT=no
CONFIGURE_ENV+=		ac_cv_prog_HAVE_SGML2HTML=no
CONFIGURE_ENV+=		ac_cv_prog_HAVE_SGML2LATEX=no
CONFIGURE_ENV+=		ac_cv_prog_HAVE_SGML2PS=no
CONFIGURE_ENV+=		ac_cv_prog_HAVE_PS2PDF=no

MAKE_FLAGS+=		CC=cc
INSTALL_MAKE_FLAGS+=	FAKEROOT=${DESTDIR}

PAM_MODULEDIR=		${VIEWBASE}/lib/security
MAKE_ENV+=		PAM_MODULEDIR=${PAM_MODULEDIR:Q}
MESSAGE_SUBST+=		PAM_MODULEDIR=${PAM_MODULEDIR}

.include "../../mk/bsd.prefs.mk"

PKG_OPTIONS_VAR=	PKG_OPTIONS.PAM
PKG_SUPPORTED_OPTIONS=	libcrack

.include "../../mk/bsd.options.mk"

###
### Support using libcrack to protect against weak passwords.
###
PLIST_VARS+=		libcrack
.if !empty(PKG_OPTIONS:Mlibcrack)
.  include "../../security/libcrack/buildlink3.mk"
PLIST.libcrack=		yes
.else
CONFIGURE_ARGS+=	--disable-crack
.endif

.if !empty(OPSYS:M*BSD)
CPPFLAGS+=		-DUSE_GETLOGIN=1
.endif

# pam_userdb uses ndbm if it finds it, otherwise it will use Berkeley DB.
.if !exists(/usr/include/ndbm.h)
.  include "../../mk/bdb.buildlink3.mk"
.endif

PKG_SYSCONFSUBDIR?=	pam
EGDIR=			${PREFIX}/share/examples/${PKGBASE}

CFILES=			access.conf pam_env.conf group.conf time.conf

PLIST_VARS+=		limits
.if ${OPSYS} == "Linux"
CFILES+=		limits.conf
PLIST.limits=		yes
.endif

CONF_FILES=		${EGDIR}/pam.conf ${PKG_SYSCONFBASEDIR}/pam.conf
.for FILE in ${CFILES}
CONF_FILES+=		${EGDIR}/${FILE} ${PKG_SYSCONFDIR}/${FILE}
.endfor
SPECIAL_PERMS=		${PREFIX}/sbin/unix_chkpwd ${SETUID_ROOT_PERMS}

post-configure:
	cd ${WRKSRC}; for file in Make.Rules; do			\
		${SED}	-e "s|@LIBTOOL@|${LIBTOOL}|g"			\
			-e "s|@SHLIBTOOL@|${SHLIBTOOL}|g"		\
			$$file > $$file.new;				\
		${MV} -f $$file.new $$file;				\
	done
	cd ${WRKSRC}; for file in libpam/pam_private.h; do		\
		${SED}	-e "s|/etc/|${PKG_SYSCONFBASEDIR}/|g"		\
			$$file > $$file.new;				\
		${MV} -f $$file.new $$file;				\
	done

# this is so it won't try to interactively install any configs
pre-build:
	${TOUCH} ${WRKSRC}/.quiet_install

post-install:
	${INSTALL_DATA_DIR} ${DESTDIR}${EGDIR}
	${INSTALL_DATA} ${WRKSRC}/conf/pam.conf ${DESTDIR}${EGDIR}
	${INSTALL_DATA} ${WRKSRC}/modules/pam_access/access.conf ${DESTDIR}${EGDIR}
	${INSTALL_DATA} ${WRKSRC}/modules/pam_env/pam_env.conf-example	\
		${DESTDIR}${EGDIR}/pam_env.conf
	${INSTALL_DATA} ${WRKSRC}/modules/pam_group/group.conf ${DESTDIR}${EGDIR}
	${INSTALL_DATA} ${WRKSRC}/modules/pam_time/time.conf ${DESTDIR}${EGDIR}
.if ${OPSYS} == "Linux"
	${INSTALL_DATA} ${WRKSRC}/security/modules/pam_limits/limits.skel \
		${DESTDIR}${EGDIR}/limits.conf
.endif

.include "../../mk/bsd.pkg.mk"