> From: Stuart Henderson
> Sent: Monday, May 21, 2018 1:49 AM
> > - the versionning of the modules feels 'wrong', and should be fixed
> > within the build system.
>
> yes, there's definitely something wrong there.
No disagreement from me :), but as I'm not much of an expert in the ports build
system, any suggestion on how to better handle it?
> which are the actual names used to dlopen them?
I believe it will open whatever file name is specified in the configuration, eg
moduleload accesslog.so
> https://www.openldap.org/faq/data/cache/362.html)
> suggests that .la files should be used rather than using .so files
> directly.
The wiki FAQ it is pretty dated as demonstrated by the beginning of that entry
"As of OpenLDAP 2.0" 8-/.
However, the current documentation:
http://www.openldap.org/doc/admin24/slapdconf2.html#cn=module
Also shows .la instead of .so; I've always used .so and never had a problem,
but using the .la files would solve the issue of the kludgy symlink creation. I
updated the package to install the .la files instead of making unversioned .so
links and updated my config to use them, and that seems to work fine.
> as far as I'm concerned 2.3 can be left to rot ;-)
Definitely, that's been unsupported upstream for quite a while.
> > - this definitely needs a current.html entry to warn people of the
How involved does that need to be? Just something like "OpenLDAP now uses
modules, be sure to add the appropriate modulepath and module configuration
options to load the ones necessary for your configuration" or something more
complicated?
> yep, probably also patch the sample config file showing the important ones..
I don't believe the current port comes with a sample config? I could add oneā¦
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 20:18:38 -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
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 20:18:38 -0000
@@ -109,6 +109,105 @@ share/examples/openldap/schema/pmi.schem
share/examples/openldap/schema/ppolicy.schema
@sample ${SYSCONFDIR}/openldap/schema/ppolicy.schema
share/examples/openldap/slapd.conf
+libexec/openldap/accesslog-2.4.so.12.8
+libexec/openldap/accesslog.la
+libexec/openldap/accesslog.so.12.8
+libexec/openldap/auditlog-2.4.so.12.8
+libexec/openldap/auditlog.la
+libexec/openldap/auditlog.so.12.8
+libexec/openldap/back_bdb-2.4.so.12.8
+libexec/openldap/back_bdb.la
+libexec/openldap/back_bdb.so.12.8
+libexec/openldap/back_dnssrv-2.4.so.12.8
+libexec/openldap/back_dnssrv.la
+libexec/openldap/back_dnssrv.so.12.8
+libexec/openldap/back_hdb-2.4.so.12.8
+libexec/openldap/back_hdb.la
+libexec/openldap/back_hdb.so.12.8
+libexec/openldap/back_ldap-2.4.so.12.8
+libexec/openldap/back_ldap.la
+libexec/openldap/back_ldap.so.12.8
+libexec/openldap/back_mdb-2.4.so.12.8
+libexec/openldap/back_mdb.la
+libexec/openldap/back_mdb.so.12.8
+libexec/openldap/back_meta-2.4.so.12.8
+libexec/openldap/back_meta.la
+libexec/openldap/back_meta.so.12.8
+libexec/openldap/back_monitor-2.4.so.12.8
+libexec/openldap/back_monitor.la
+libexec/openldap/back_monitor.so.12.8
+libexec/openldap/back_null-2.4.so.12.8
+libexec/openldap/back_null.la
+libexec/openldap/back_null.so.12.8
+libexec/openldap/back_passwd-2.4.so.12.8
+libexec/openldap/back_passwd.la
+libexec/openldap/back_passwd.so.12.8
+libexec/openldap/back_perl-2.4.so.12.8
+libexec/openldap/back_perl.la
+libexec/openldap/back_perl.so.12.8
+libexec/openldap/back_relay-2.4.so.12.8
+libexec/openldap/back_relay.la
+libexec/openldap/back_relay.so.12.8
+libexec/openldap/back_shell-2.4.so.12.8
+libexec/openldap/back_shell.la
+libexec/openldap/back_shell.so.12.8
+libexec/openldap/back_sock-2.4.so.12.8
+libexec/openldap/back_sock.la
+libexec/openldap/back_sock.so.12.8
+libexec/openldap/collect-2.4.so.12.8
+libexec/openldap/collect.la
+libexec/openldap/collect.so.12.8
+libexec/openldap/constraint-2.4.so.12.8
+libexec/openldap/constraint.la
+libexec/openldap/constraint.so.12.8
+libexec/openldap/dds-2.4.so.12.8
+libexec/openldap/dds.la
+libexec/openldap/dds.so.12.8
+libexec/openldap/deref-2.4.so.12.8
+libexec/openldap/deref.la
+libexec/openldap/deref.so.12.8
+libexec/openldap/dyngroup-2.4.so.12.8
+libexec/openldap/dyngroup.la
+libexec/openldap/dyngroup.so.12.8
+libexec/openldap/dynlist-2.4.so.12.8
+libexec/openldap/dynlist.la
+libexec/openldap/dynlist.so.12.8
+libexec/openldap/memberof-2.4.so.12.8
+libexec/openldap/memberof.la
+libexec/openldap/memberof.so.12.8
+libexec/openldap/pcache-2.4.so.12.8
+libexec/openldap/pcache.la
+libexec/openldap/pcache.so.12.8
+libexec/openldap/ppolicy-2.4.so.12.8
+libexec/openldap/ppolicy.la
+libexec/openldap/ppolicy.so.12.8
+libexec/openldap/refint-2.4.so.12.8
+libexec/openldap/refint.la
+libexec/openldap/refint.so.12.8
+libexec/openldap/retcode-2.4.so.12.8
+libexec/openldap/retcode.la
+libexec/openldap/retcode.so.12.8
+libexec/openldap/rwm-2.4.so.12.8
+libexec/openldap/rwm.la
+libexec/openldap/rwm.so.12.8
+libexec/openldap/seqmod-2.4.so.12.8
+libexec/openldap/seqmod.la
+libexec/openldap/seqmod.so.12.8
+libexec/openldap/sssvlv-2.4.so.12.8
+libexec/openldap/sssvlv.la
+libexec/openldap/sssvlv.so.12.8
+libexec/openldap/syncprov-2.4.so.12.8
+libexec/openldap/syncprov.la
+libexec/openldap/syncprov.so.12.8
+libexec/openldap/translucent-2.4.so.12.8
+libexec/openldap/translucent.la
+libexec/openldap/translucent.so.12.8
+libexec/openldap/unique-2.4.so.12.8
+libexec/openldap/unique.la
+libexec/openldap/unique.so.12.8
+libexec/openldap/valsort-2.4.so.12.8
+libexec/openldap/valsort.la
+libexec/openldap/valsort.so.12.8
@mode 0750
@group _openldap
@sample ${SYSCONFDIR}/openldap/slapd.d/