Re: cyrus-sasl dependency in bsd.ldap.mk

From: Juraj Lutter <otis_at_FreeBSD.org>
Date: Mon, 08 Nov 2021 17:28:27 UTC

> On 8 Nov 2021, at 18:17, Xin Li <delphij@delphij.net> wrote:
> 
> On 11/8/21 05:39, Juraj Lutter wrote:
>> Hi Delphij,
>> you seem to be the most active in bsd.ldap.mk :-)
>> I’ve found that since openldap-client also depends on cyrus-sasl unconditionally, bsd.ldap.mk requires this:
>> otis@b13:/usr/ports/Mk % git diff -- bsd.ldap.mk
>> diff --git a/Mk/bsd.ldap.mk b/Mk/bsd.ldap.mk
>> index a6f37dd99b10..7acbc9c660bb 100644
>> --- a/Mk/bsd.ldap.mk
>> +++ b/Mk/bsd.ldap.mk
>> @@ -77,6 +77,7 @@ IGNORE=               cannot install: doesn't work with OpenLDAP version: ${OPENLDAP_VER} (Do
>>  .      endfor
>>  .endif # IGNORE_WITH_OPENLDAP
>>  LIB_DEPENDS+=  ${OPENLDAP${OPENLDAP_VER}_LIB}:net/openldap${OPENLDAP_VER}-client
>> +LIB_DEPENDS+=  libsasl2.so:security/cyrus-sasl2
>>  .else
>>  IGNORE=                cannot install: unknown OpenLDAP version: ${OPENLDAP_VER}
>>  .endif # Check for correct libs
>> What are you thought about it?
> 
> Could you provide an example that shows the breakage or elaborate more about why libsasl2.so needs to be listed as a direct library dependency for ports that depends on OpenLDAP?  It's already listed as LIB_DEPENDS in openldap*-{server,client} and installing the library should automatically bring in cyrus-sasl as needed, no?

In fact, I was only looking for a solution to silence this:

====> Running Q/A tests (stage-qa)
Error: /usr/local/lib/postfix/postfix-ldap.so is linked to /usr/local/lib/libsasl2.so.3 from security/cyrus-sasl2 but it is not declared as a dependency
Warning: you need LIB_DEPENDS+=libsasl2.so:security/cyrus-sasl2

And even when LDAP is being pulled in via LIB_DEPENDS in bsd.ldap.mk, there is no explicit dependency on cyrus-sasl2.

What would be the better approach? Given that bsd.ldap.mk is not the right place.

Thanks.

—
Juraj Lutter
otis@FreeBSD.org