freebsd-ports/net/nss-pam-ldapd/Makefile
Muhammad Moinur Rahman 6e1233be22 Mk/**ldap.mk: Convert USE_LDAP to USES=ldap
Convert the USE_LDAP=yes to USES=ldap and adds the following features:

- Adds the argument USES=ldap:server to add openldap2{4|5|6}-server as
  RUN_DEPENDS
- Adds the argument USES=ldap<version> and replaces WANT_OPENLDAP_VER
- Adds OPENLDAP versions in bsd.default-versions.mk
- Adds USE_OPENLDAP/WANT_OPENLDAP_VER in Mk/bsd.sanity.mk
- Changes consumers to use the features

Reviewed by:	delphij
Approved by:	portmgr
Differential Revision: https://reviews.freebsd.org/D38233
2023-02-08 04:53:56 -06:00

128 lines
3.3 KiB
Makefile

PORTNAME= nss-pam-ldapd
PORTVERSION= 0.9.12
PORTREVISION= 1
CATEGORIES= net
MASTER_SITES= http://arthurdejong.org/nss-pam-ldapd/ \
ZI
MAINTAINER?= zi@FreeBSD.org
COMMENT?= Advanced fork of nss_ldap
WWW= https://arthurdejong.org/nss-pam-ldapd/
LICENSE= LGPL21 LGPL3
LICENSE_COMB= dual
USES= cpe ldap
CPE_VENDOR= arthurdejong
GNU_CONFIGURE= yes
USE_RC_SUBR= nslcd
PAM_LDAP_SHMAJOR= 1
NSS_LDAP_SHMAJOR= 1
SUB_FILES+= pkg-message
NSLCD_PIDFILE?= /var/run/nslcd.pid
NSLCD_VARDIR?= /var/run/nslcd
NSLCD_SOCKET?= ${NSLCD_VARDIR}/nslcd.ctl
OPTIONS_DEFINE= KERBEROS
OPTIONS_DEFAULT= KERBEROS
.if defined(SLAVE_PORT)
OPTIONS_DEFINE+= SASL
OPTIONS_MULTI= MG1
OPTIONS_MULTI_MG1= PAM NSS
PAM_DESC= Build pam_ldap
NSS_DESC= Build nss support
SASL_DESC= Build sasl support
OPTIONS_DEFAULT+= PAM NSS
CONFLICTS+= nss-pam-ldapd-[0-9]*
.else
OPTIONS_MULTI= MG1
OPTIONS_MULTI_MG1= PAM NSS
PAM_DESC= Build pam_ldap
NSS_DESC= Build nss support
OPTIONS_DEFAULT+= PAM NSS
CONFLICTS+= nss-pam-ldapd-sasl
.endif
USERS= nslcd
GROUPS= nslcd
.include <bsd.port.options.mk>
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
CONFIGURE_ARGS+= --with-nslcd-pidfile=${NSLCD_PIDFILE} \
--with-nslcd-socket=${NSLCD_SOCKET} \
--with-ldap-lib=openldap \
--with-nss-ldap-soname=nss_ldap.so.${NSS_LDAP_SHMAJOR}
CONFIG_FILE= "nslcd.conf"
CONFIGURE_ARGS+= --with-ldap-conf-file=${PREFIX}/etc/${CONFIG_FILE}
PLIST_SUB+= CONFIG="${CONFIG_FILE}" \
PAM_LDAP_SHMAJOR="${PAM_LDAP_SHMAJOR}" \
NSS_LDAP_SHMAJOR="${NSS_LDAP_SHMAJOR}"
SUB_LIST+= CONFIG_FILE="${PREFIX}/etc/${CONFIG_FILE}" \
NSLCD_PIDFILE="${NSLCD_PIDFILE}" \
NSLCD_VARDIR="${NSLCD_VARDIR}" \
USERS="${USERS}" GROUPS="${GROUPS}"
.if empty(PORT_OPTIONS:MKERBEROS)
CONFIGURE_ARGS+= --disable-kerberos
.endif
.if ${PORT_OPTIONS:MSASL}
CONFIGURE_ARGS+= --enable-sasl
.else
CONFIGURE_ARGS+= --disable-sasl
.endif
.if ${PORT_OPTIONS:MPAM}
CONFIGURE_ARGS+= --enable-pam \
--with-pam-seclib-dir=${PREFIX}/lib \
--with-pam-ldap-soname=pam_ldap.so.${PAM_LDAP_SHMAJOR}
CONFLICTS+= pam_ldap-1.*
PLIST_SUB+= PAM=""
.else
CONFIGURE_ARGS+= --disable-pam
PLIST_SUB+= PAM="@comment "
.endif
.if ${PORT_OPTIONS:MNSS}
CONFIGURE_ARGS+= --enable-nss
CONFLICTS+= nss_ldap-1.*
PLIST_SUB+= NSS=""
SUB_LIST+= NSS_MESSAGE="WARNING: Be sure to set uid and gid configuration parameters to make nslcd run under unprivileged user."
.else
CONFIGURE_ARGS+= --disable-nss
PLIST_SUB+= NSS="@comment "
SUB_LIST+= NSS_MESSAGE=""
.endif
# Won't hook this in to OPTIONS until PADL ports are at least DEPRECATED.
# It doesn't do the software any good to run as replacement for the PADL ports
# without running the daemon.
.if defined(WITHOUT_NSLCD)
CONFIGURE_ARGS+= --disable-nslcd
PLIST_SUB+= NSLCD="@comment "
.else
CONFIGURE_ARGS+= --enable-nslcd
PLIST_SUB+= NSLCD=""
.endif
post-extract:
@${REINPLACE_CMD} -e 's/\(INSTALL_\)\(.*\)) -D /\1\2) /' ${WRKSRC}/Makefile.in ${WRKSRC}/nss/Makefile.in
post-configure:
${REINPLACE_CMD} -e 's/^\(CFLAGS.*\) \-O2 \(.*\)$$/\1 -O0 \2/' ${WRKSRC}/nss/Makefile
post-install:
.if ${PORT_OPTIONS:MNSS}
@${LN} -fs nss_ldap.so.${NSS_LDAP_SHMAJOR} ${STAGEDIR}${PREFIX}/lib/nss_ldap.so
.endif
.if ${PORT_OPTIONS:MPAM}
@${LN} -fs pam_ldap.so.${PAM_LDAP_SHMAJOR} ${STAGEDIR}${PREFIX}/lib/pam_ldap.so
.endif
.include <bsd.port.mk>