freebsd-ports/net/nss_ldap/Makefile
Dag-Erling Smørgrav 8e584a521a Functional changes:
- Add a SASL port option

  - Fix the KERBEROS ports option - it was a no-op, setting a
    configure flag which modifies how Kerberos was used without
    setting the flag that actually enables it.

  - Use GSSAPI instead of $ENV{KRB5CCNAME} to set the credential
    cache.  The latter pollutes the unsuspecting application's
    environment and does not always work (for instance, it breaks when
    nss_ldap is invoked from OpenSSH, although I haven't quite
    determined why)

  - Add patches to support Heimdal in addition to MIT Kerberos.  Note
    that I tried to ensure that the code is unchanged in the
    non-Heimdal case, but that I have no way of testing with MIT
    Kerberos.

  With the above changes, I have successfully configured a FreeBSD 9.2
  server to authenticate users against a Microsoft Windows 2012 Active
  Directory server.

Non-functional changes:

  - Modernize and stagify

  - Remove text in pkg-message about a change that was made ten years ago

  - Take maintainership as current maintainer has been AWOL for 2+ years

  - Bump PORTREVISION

Approved by:	maintainer hasn't been heard of for 2+ years
2014-01-14 14:19:05 +00:00

86 lines
2.3 KiB
Makefile

# Created by: Jacques Vidrine <nectar@FreeBSD.org>
# $FreeBSD$
PORTNAME= nss_ldap
PORTVERSION= 1.${NSS_LDAP_VERSION}
PORTREVISION= 8
CATEGORIES= net
MASTER_SITES= http://www.padl.com/download/ \
LOCAL/martymac
DISTNAME= ${PORTNAME}-${NSS_LDAP_VERSION}
MAINTAINER= des@FreeBSD.org
COMMENT= RFC 2307 NSS module
LICENSE= GPLv2
NSS_LDAP_VERSION=265
USES= gmake perl5
USE_PERL5= build
GNU_CONFIGURE= yes
USE_AUTOTOOLS= automake aclocal autoconf autoheader
AUTOMAKE_ARGS= --add-missing
USE_LDCONFIG= yes
USE_OPENLDAP= yes
OPTIONS_DEFINE= LCLASS KERBEROS SASL
OPTIONS_DEFAULT=LCLASS KERBEROS
LCLASS_DESC= Enable login classes via the loginClass attribute
SASL_DESC= Use the SASL-enabled version of OpenLDAP
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib -Wl,-rpath,${LOCALBASE}/lib
CONFIGURE_ARGS= --with-ldap-conf-file=${PREFIX}/etc/nss_ldap.conf \
--with-ldap-secret-file=${PREFIX}/etc/nss_ldap.secret \
--enable-rfc2307bis \
--enable-paged-results
MAN5= nss_ldap.5
SUB_FILES= pkg-message
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MKERBEROS}
CONFIGURE_ARGS+=--enable-configurable-krb5-ccname-gssapi \
--enable-configurable-krb5-keytab
.endif
.if ${PORT_OPTIONS:MLCLASS}
CFLAGS+="-DHAVE_LOGIN_CLASSES"
.endif
.if ${PORT_OPTIONS:MSASL}
WANT_OPENLDAP_SASL = YES
.endif
post-extract:
${CP} ${FILESDIR}/bsdnss.c ${WRKSRC}
post-patch:
@${REINPLACE_CMD} -e 's,/etc/ldap\.,${PREFIX}/etc/nss_ldap.,g' \
-e 's,/etc/openldap/ldap\.,${PREFIX}/etc/openldap/ldap.,g' \
${WRKSRC}/ldap.conf
@${REINPLACE_CMD} 's,#!/usr/bin/perl,#!${PERL},' \
${WRKSRC}/vers_string
@${REINPLACE_CMD} 's,/etc/ldap\.,${PREFIX}/etc/nss_ldap.,g' \
${WRKSRC}/${MAN5}
# XXX: newer autoconf's rely on the compiler result, not the preprocessor
# for checking headers, so the configure.in needs to be fixed upstream
# to properly include dependencies
post-configure:
@${ECHO} "#define HAVE_NETINET_IF_ETHER_H 1" >> ${WRKSRC}/config.h
@${ECHO} "#define HAVE_NET_ROUTE_H 1" >> ${WRKSRC}/config.h
@${ECHO} "#define HAVE_RESOLV_H 1" >> ${WRKSRC}/config.h
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/nss_ldap.so ${STAGEDIR}/${PREFIX}/lib/nss_ldap.so.1
${INSTALL_DATA} ${WRKSRC}/ldap.conf ${STAGEDIR}/${PREFIX}/etc/nss_ldap.conf.sample
${INSTALL_MAN} ${WRKSRC}/${MAN5} ${STAGEDIR}/${MAN5PREFIX}/man/man5
.include <bsd.port.mk>