Previously the test knew how to find an OpenLDAP installation at the
paths used by Homebrew. Add the MacPorts paths too.
Author: Thomas Munro
Reviewed-by: Tom Lane
Discussion: https://postgr.es/m/CA%2BhUKGKrjGS7sO4jc53gp3qipCtEvThtdP_%3DzoixgX5ZBq4Nbw%40mail.gmail.com
macOS: We do not recommend trying to use the Apple-provided version of
OpenLDAP; it's very old, plus Apple seem to have changed the launching
conventions for slapd. The paths in the test file are set on the
-assumption that you installed OpenLDAP using Homebrew.
+assumption that you installed OpenLDAP using Homebrew or MacPorts.
$ldap_bin_dir = undef; # usually in PATH
-if ($^O eq 'darwin')
+if ($^O eq 'darwin' && -d '/usr/local/opt/openldap')
{
+ # typical paths for Homebrew
$slapd = '/usr/local/opt/openldap/libexec/slapd';
$ldap_schema_dir = '/usr/local/etc/openldap/schema';
}
+elsif ($^O eq 'darwin' && -d '/opt/local/etc/openldap')
+{
+ # typical paths for MacPorts
+ $slapd = '/opt/local/libexec/slapd';
+ $ldap_schema_dir = '/opt/local/etc/openldap/schema';
+}
elsif ($^O eq 'linux')
{
$slapd = '/usr/sbin/slapd';