This patch updates the openldap port to use modules instead of being monolithic. I've been using it in production for six months or so and haven't had any issues.
Thanks... Index: Makefile =================================================================== RCS file: /cvs/ports/databases/openldap/Makefile,v retrieving revision 1.161 diff -u -p -r1.161 Makefile --- Makefile 12 Jan 2018 00:36:28 -0000 1.161 +++ Makefile 21 May 2018 02:38:50 -0000 @@ -9,7 +9,7 @@ DISTNAME = openldap-2.4.45 PKGNAME-main = ${DISTNAME:S/-/-client-/} PKGNAME-server = ${DISTNAME:S/-/-server-/} REVISION = 4 -REVISION-server = 5 +REVISION-server = 6 # overwrite -main pkgname/path to strip FLAVOR, aci only affects the server FULLPKGNAME-main = ${DISTNAME:S/-/-client-/}${FLAVOR_EXT:S/-aci//} @@ -32,7 +32,7 @@ MAINTAINER = Stuart Henderson <sthen@ope # OpenLDAP Public License PERMIT_PACKAGE_CDROM = Yes -WANTLIB += c crypto ssl +WANTLIB += c crypto ltdl ssl MASTER_SITES = http://mirror.switch.ch/ftp/mirror/OpenLDAP/openldap-release/ \ http://gd.tuwien.ac.at/infosys/network/OpenLDAP/openldap-release/ \ @@ -58,6 +58,7 @@ CONFIGURE_ARGS += --enable-ipv6 \ # slapd options CONFIGURE_ARGS += --enable-slapd \ + --enable-modules \ --enable-cleartext \ --enable-crypt \ --enable-rewrite \ @@ -65,17 +66,19 @@ CONFIGURE_ARGS += --enable-slapd \ --enable-spasswd # slapd modules -CONFIGURE_ARGS += --enable-bdb \ - --enable-dnssrv \ - --enable-hdb \ - --enable-ldap \ - --enable-meta \ - --enable-monitor \ - --enable-null \ - --enable-overlays \ - --enable-passwd \ - --enable-perl \ - --enable-shell +CONFIGURE_ARGS += --enable-bdb=mod \ + --enable-dnssrv=mod \ + --enable-hdb=mod \ + --enable-ldap=mod \ + --enable-meta=mod \ + --enable-monitor=mod \ + --enable-null=mod \ + --enable-overlays=mod \ + --enable-passwd=mod \ + --enable-perl=mod \ + --enable-relay=mod \ + --enable-shell=mod \ + --enable-sock=mod # Enable MDB support, however note patch-servers_slapd_back-mdb_init_c. # @@ -90,10 +93,10 @@ CONFIGURE_ARGS += --enable-bdb \ # Therefore, the patch rejects an MDB configuration in which writemap # has not been set. # -CONFIGURE_ARGS += --enable-mdb +CONFIGURE_ARGS += --enable-mdb=mod .if ${FLAVOR:Maci} -CONFIGURE_ARGS += --enable-aci +CONFIGURE_ARGS += --enable-aci=mod .endif .if ${FLAVOR:Mgssapi} @@ -113,7 +116,8 @@ MULTI_PACKAGES = -main -server # formatting is ok with mandoc, but soelim is used at build time BUILD_DEPENDS += textproc/groff -LIB_DEPENDS += security/cyrus-sasl2 +LIB_DEPENDS += security/cyrus-sasl2 \ + devel/libtool,-ltdl WANTLIB += pthread sasl2 CPPFLAGS += -I${LOCALBASE}/include/sasl @@ -123,7 +127,7 @@ LIB_DEPENDS-server = ${LIB_DEPENDS-main} databases/db/v4,no_java,no_tcl CONFIGURE_ENV += CPPFLAGS="-I${LOCALBASE}/include/sasl -I${LOCALBASE}/include/db4 -I${LOCALBASE}/include" \ - LDFLAGS="-L${LOCALBASE}/lib/db4 -L${LOCALBASE}/lib" + LDFLAGS="-L${LOCALBASE}/lib/db4 -L${LOCALBASE}/lib -Wl,--export-dynamic" RUN_DEPENDS-server = databases/openldap,-main WANTLIB-server += ${WANTLIB} perl m icudata icuuc uuid @@ -142,6 +146,9 @@ post-install: ${INSTALL_DATA} ${WRKSRC}/servers/slapd/DB_CONFIG \ ${PREFIX}/share/examples/openldap @rm -rf ${DESTDIR}${SYSCONFDIR}/openldap + @for f in ${DESTDIR}/usr/local/libexec/openldap/*.so.* ; do \ + ln -s $$(basename $$f) $$(echo $$f | sed -e 's/\.so\..*/.so/') ; \ + done pre-test: sed -i 's,^#!/bin/bash,#!${LOCALBASE}/bin/bash,' ${WRKSRC}/tests/scripts/test064-constraint Index: pkg/PLIST-server =================================================================== RCS file: /cvs/ports/databases/openldap/pkg/PLIST-server,v retrieving revision 1.22 diff -u -p -r1.22 PLIST-server --- pkg/PLIST-server 26 Aug 2017 12:10:55 -0000 1.22 +++ pkg/PLIST-server 21 May 2018 02:38:50 -0000 @@ -71,6 +71,138 @@ sbin/slapindex sbin/slappasswd sbin/slapschema sbin/slaptest +libexec/openldap/accesslog-2.4.so +libexec/openldap/accesslog-2.4.so.12.8 +libexec/openldap/accesslog.so +libexec/openldap/accesslog.so.12.8 +libexec/openldap/auditlog-2.4.so +libexec/openldap/auditlog-2.4.so.12.8 +libexec/openldap/auditlog.so +libexec/openldap/auditlog.so.12.8 +libexec/openldap/back_bdb-2.4.so +libexec/openldap/back_bdb-2.4.so.12.8 +libexec/openldap/back_bdb.so +libexec/openldap/back_bdb.so.12.8 +libexec/openldap/back_dnssrv-2.4.so +libexec/openldap/back_dnssrv-2.4.so.12.8 +libexec/openldap/back_dnssrv.so +libexec/openldap/back_dnssrv.so.12.8 +libexec/openldap/back_hdb-2.4.so +libexec/openldap/back_hdb-2.4.so.12.8 +libexec/openldap/back_hdb.so +libexec/openldap/back_hdb.so.12.8 +libexec/openldap/back_ldap-2.4.so +libexec/openldap/back_ldap-2.4.so.12.8 +libexec/openldap/back_ldap.so +libexec/openldap/back_ldap.so.12.8 +libexec/openldap/back_mdb-2.4.so +libexec/openldap/back_mdb-2.4.so.12.8 +libexec/openldap/back_mdb.so +libexec/openldap/back_mdb.so.12.8 +libexec/openldap/back_meta-2.4.so +libexec/openldap/back_meta-2.4.so.12.8 +libexec/openldap/back_meta.so +libexec/openldap/back_meta.so.12.8 +libexec/openldap/back_monitor-2.4.so +libexec/openldap/back_monitor-2.4.so.12.8 +libexec/openldap/back_monitor.so +libexec/openldap/back_monitor.so.12.8 +libexec/openldap/back_null-2.4.so +libexec/openldap/back_null-2.4.so.12.8 +libexec/openldap/back_null.so +libexec/openldap/back_null.so.12.8 +libexec/openldap/back_passwd-2.4.so +libexec/openldap/back_passwd-2.4.so.12.8 +libexec/openldap/back_passwd.so +libexec/openldap/back_passwd.so.12.8 +libexec/openldap/back_perl-2.4.so +libexec/openldap/back_perl-2.4.so.12.8 +libexec/openldap/back_perl.so +libexec/openldap/back_perl.so.12.8 +libexec/openldap/back_relay-2.4.so +libexec/openldap/back_relay-2.4.so.12.8 +libexec/openldap/back_relay.so +libexec/openldap/back_relay.so.12.8 +libexec/openldap/back_shell-2.4.so +libexec/openldap/back_shell-2.4.so.12.8 +libexec/openldap/back_shell.so +libexec/openldap/back_shell.so.12.8 +libexec/openldap/back_sock-2.4.so +libexec/openldap/back_sock-2.4.so.12.8 +libexec/openldap/back_sock.so +libexec/openldap/back_sock.so.12.8 +libexec/openldap/collect-2.4.so +libexec/openldap/collect-2.4.so.12.8 +libexec/openldap/collect.so +libexec/openldap/collect.so.12.8 +libexec/openldap/constraint-2.4.so +libexec/openldap/constraint-2.4.so.12.8 +libexec/openldap/constraint.so +libexec/openldap/constraint.so.12.8 +libexec/openldap/dds-2.4.so +libexec/openldap/dds-2.4.so.12.8 +libexec/openldap/dds.so +libexec/openldap/dds.so.12.8 +libexec/openldap/deref-2.4.so +libexec/openldap/deref-2.4.so.12.8 +libexec/openldap/deref.so +libexec/openldap/deref.so.12.8 +libexec/openldap/dyngroup-2.4.so +libexec/openldap/dyngroup-2.4.so.12.8 +libexec/openldap/dyngroup.so +libexec/openldap/dyngroup.so.12.8 +libexec/openldap/dynlist-2.4.so +libexec/openldap/dynlist-2.4.so.12.8 +libexec/openldap/dynlist.so +libexec/openldap/dynlist.so.12.8 +libexec/openldap/memberof-2.4.so +libexec/openldap/memberof-2.4.so.12.8 +libexec/openldap/memberof.so +libexec/openldap/memberof.so.12.8 +libexec/openldap/pcache-2.4.so +libexec/openldap/pcache-2.4.so.12.8 +libexec/openldap/pcache.so +libexec/openldap/pcache.so.12.8 +libexec/openldap/ppolicy-2.4.so +libexec/openldap/ppolicy-2.4.so.12.8 +libexec/openldap/ppolicy.so +libexec/openldap/ppolicy.so.12.8 +libexec/openldap/refint-2.4.so +libexec/openldap/refint-2.4.so.12.8 +libexec/openldap/refint.so +libexec/openldap/refint.so.12.8 +libexec/openldap/retcode-2.4.so +libexec/openldap/retcode-2.4.so.12.8 +libexec/openldap/retcode.so +libexec/openldap/retcode.so.12.8 +libexec/openldap/rwm-2.4.so +libexec/openldap/rwm-2.4.so.12.8 +libexec/openldap/rwm.so +libexec/openldap/rwm.so.12.8 +libexec/openldap/seqmod-2.4.so +libexec/openldap/seqmod-2.4.so.12.8 +libexec/openldap/seqmod.so +libexec/openldap/seqmod.so.12.8 +libexec/openldap/sssvlv-2.4.so +libexec/openldap/sssvlv-2.4.so.12.8 +libexec/openldap/sssvlv.so +libexec/openldap/sssvlv.so.12.8 +libexec/openldap/syncprov-2.4.so +libexec/openldap/syncprov-2.4.so.12.8 +libexec/openldap/syncprov.so +libexec/openldap/syncprov.so.12.8 +libexec/openldap/translucent-2.4.so +libexec/openldap/translucent-2.4.so.12.8 +libexec/openldap/translucent.so +libexec/openldap/translucent.so.12.8 +libexec/openldap/unique-2.4.so +libexec/openldap/unique-2.4.so.12.8 +libexec/openldap/unique.so +libexec/openldap/unique.so.12.8 +libexec/openldap/valsort-2.4.so +libexec/openldap/valsort-2.4.so.12.8 +libexec/openldap/valsort.so +libexec/openldap/valsort.so.12.8 @mode 700 @owner _openldap @sample /var/openldap-data/