119 lines
3.5 KiB
Makefile
119 lines
3.5 KiB
Makefile
# $NetBSD: Makefile,v 1.2 2012/12/13 18:20:29 ftigeot Exp $
|
|
|
|
DISTNAME= nss-pam-ldapd-0.9.10
|
|
CATEGORIES= databases
|
|
MASTER_SITES= http://arthurdejong.org/nss-pam-ldapd/
|
|
|
|
MAINTAINER= pkgsrc-users@NetBSD.org
|
|
HOMEPAGE= https://arthurdejong.org/nss-pam-ldapd/
|
|
COMMENT= LDAP client for nsswitch
|
|
LICENSE= gnu-lgpl-v2
|
|
|
|
NSLCD_USER?= nslcd
|
|
NSLCD_GROUP?= nslcd
|
|
|
|
PKG_USERS= ${NSLCD_USER}:${NSLCD_GROUP}
|
|
PKG_GROUPS= ${NSLCD_GROUP}
|
|
PKG_USERS_VARS+= NSLCD_USER
|
|
PKG_GROUPS_VARS+= NSLCD_GROUP
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
.include "options.mk"
|
|
|
|
USE_TOOLS+= autoconf
|
|
GNU_CONFIGURE= yes
|
|
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
|
|
CONFIGURE_ARGS+= --with-ldap-conf-file=${PKG_SYSCONFDIR}/nslcd.conf
|
|
CONFIGURE_ARGS+= --with-nslcd-pidfile=${NSLCD_PIDFILE}
|
|
CONFIGURE_ARGS+= --with-nslcd-socket=${NSLCD_SOCKET}
|
|
CONFIGURE_ARGS+= --with-ldap-lib=openldap
|
|
CONFIGURE_ARGS+= --with-nss-ldap-soname=${NSS_LDAP_SONAME}
|
|
CONFIGURE_ARGS+= --with-pam-seclib-dir=${PREFIX}/lib/security
|
|
.if ${OPSYS} == "NetBSD" || ${OPSYS} == "DragonFly"
|
|
CONFIGURE_ARGS+= --with-nss-flavour=freebsd
|
|
.endif
|
|
|
|
REPLACE_PYTHON+= utils/chsh.py
|
|
REPLACE_PYTHON+= utils/getent.py
|
|
|
|
# Don't stip the .so objects, they will then be useless
|
|
# e.g. because nss_module_register can't be looked up
|
|
INSTALL_UNSTRIPPED= yes
|
|
|
|
FILES_SUBST+= PIDFILE=${NSLCD_PIDFILE}
|
|
|
|
RCD_SCRIPTS+= nslcd
|
|
|
|
EGDIR= ${PREFIX}/share/examples/${PKGBASE}
|
|
VARDIR= ${VARBASE}/run/nslcd
|
|
CONF_FILES= ${EGDIR}/nslcd.conf ${PKG_SYSCONFDIR}/nslcd.conf
|
|
|
|
NSLCD_PIDFILE?= ${VARDIR}/nslcd.pid
|
|
NSLCD_SOCKET?= ${VARDIR}/socket
|
|
BUILD_DEFS+= VARBASE NSLCD_PIDFILE NSLCD_SOCKET
|
|
|
|
INSTALL_MAKE_FLAGS+= NSLCD_CONF_PATH=${PKG_SYSCONFDIR}/nslcd.conf
|
|
|
|
# Install FreeBSD's nss_compat.c and later patch it
|
|
pre-patch:
|
|
${CP} ${FILESDIR}/nss_compat.c ${WRKSRC}/compat
|
|
|
|
pre-configure:
|
|
cd ${WRKSRC} && autoconf
|
|
|
|
post-install:
|
|
${CHMOD} 0644 ${DESTDIR}${EGDIR}/nslcd.conf
|
|
|
|
.if ${OPSYS} == "NetBSD"
|
|
# Otherwise PAM_EXTERN ends up "static" and -O2 optimizes everything away
|
|
CFLAGS+= -DNO_STATIC_MODULES
|
|
|
|
INSTALL_TEMPLATES= INSTALL.nss
|
|
DEINSTALL_TEMPLATES= DEINSTALL.nss
|
|
.endif
|
|
|
|
# NSS_LDAP_SONAME is used by both the NSS client and the server(!)
|
|
.if ${OPSYS} == "NetBSD"
|
|
NSS_LDAP_SONAME= nss_ldap.so.0
|
|
.elif ${OPSYS} == "FreeBSD" || ${OPSYS} == "DragonFly" || ${OPSYS} == "SunOS"
|
|
NSS_LDAP_SONAME= nss_ldap.so.1
|
|
.else
|
|
NSS_LDAP_SONAME= libnss_ldap.so.2
|
|
.endif
|
|
|
|
PLIST_SUBST+= NSS_LDAP_SONAME=${NSS_LDAP_SONAME:Q}
|
|
|
|
# PAM_LDAP_SONAME is used only by the PAM client, but define it here for consistency
|
|
.if ${OPSYS} == "SunOS"
|
|
PAM_LDAP_SONAME= pam_ldap.so.1
|
|
.else
|
|
PAM_LDAP_SONAME= pam_ldap.so
|
|
.endif
|
|
|
|
PLIST_SUBST+= PAM_LDAP_SONAME=${PAM_LDAP_SONAME:Q}
|
|
|
|
SUBST_CLASSES+= fix-paths
|
|
SUBST_STAGE.fix-paths= pre-configure
|
|
SUBST_MESSAGE.fix-paths= Fixing config file path
|
|
SUBST_FILES.fix-paths= man/*.[0-9] man/*.[0-9].xml
|
|
SUBST_SED.fix-paths= -e 's|/etc/nslcd.conf|${PKG_SYSCONFDIR}/nslcd.conf|g'
|
|
|
|
# Thread Local Storage seems not to work on NetBSD-4
|
|
.if !empty(MACHINE_PLATFORM:MNetBSD-[0-4].*-*)
|
|
SUBST_CLASSES+= disable-tls
|
|
SUBST_STAGE.disable-tls= post-configure
|
|
SUBST_MESSAGE.disable-tls= disabling TLS
|
|
SUBST_FILES.disable-tls= config.h
|
|
SUBST_SED.disable-tls= -e 's|/\* \#undef __thread \*/|\#define __thread /\*\*/|'
|
|
.endif
|
|
|
|
SUBST_CLASSES+= usergroup
|
|
SUBST_STAGE.usergroup= post-patch
|
|
SUBST_FILES.usergroup= nslcd.conf
|
|
SUBST_SED.usergroup= -e 's/^uid nslcd/uid ${NSLCD_USER}/'
|
|
SUBST_SED.usergroup+= -e 's/^gid nslcd/gid ${NSLCD_GROUP}/'
|
|
|
|
.include "../../lang/python/application.mk"
|
|
.include "../../databases/openldap-client/buildlink3.mk"
|
|
.include "../../mk/bsd.pkg.mk"
|