Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Nov 2021 10:27:58 -0800
From:      Xin LI <delphij@gmail.com>
To:        Juraj Lutter <otis@freebsd.org>, Mathieu Arnold <mat@freebsd.org>, yuri@freebsd.org
Cc:        ports@freebsd.org
Subject:   Re: cyrus-sasl dependency in bsd.ldap.mk
Message-ID:  <CAGMYy3vNHLN%2BNOY4q9EYuOetw%2BVs%2B79b625zRY2hhiyQ83DoaA@mail.gmail.com>
In-Reply-To: <F2C6F513-B7DA-4ABE-8B00-FED0D726315B@FreeBSD.org>
References:  <6F18C72A-D3FF-4135-9E7B-24D423F8489F@FreeBSD.org> <11853a40-85dc-e562-8883-1f1d3a7a7d20@delphij.net> <F2C6F513-B7DA-4ABE-8B00-FED0D726315B@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--0000000000004c506a05d07363b5
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

+Mathieu Arnold <mat@freebsd.org> and Yuri, please see the discussion
below.

On Mon, Nov 8, 2021 at 9:28 AM Juraj Lutter <otis@freebsd.org> wrote:

>
>
> > 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=E2=80=99ve found that since openldap-client also depends on cyrus-sa=
sl
> 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=3D               cannot install: doesn't work
> with OpenLDAP version: ${OPENLDAP_VER} (Do
> >>  .      endfor
> >>  .endif # IGNORE_WITH_OPENLDAP
> >>  LIB_DEPENDS+=3D
> ${OPENLDAP${OPENLDAP_VER}_LIB}:net/openldap${OPENLDAP_VER}-client
> >> +LIB_DEPENDS+=3D  libsasl2.so:security/cyrus-sasl2
> >>  .else
> >>  IGNORE=3D                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 f=
or
> 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:
>
> =3D=3D=3D=3D> 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+=3Dlibsasl2.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.
>

It looks like this was requested in bug 195203
<https://bugs.freebsd.org/195203>; and implemented here
<https://cgit.freebsd.org/ports/commit/Mk/Scripts/qa.sh?id=3D6596903add1b5b=
c0c6587894569b3530a2fc8e6a>
.

I wonder if it's possible to only check for DT_NEEDED libraries instead of
all of these libraries?  E.g. if an executable or shared library is
depending on library A and library A depends on library B, library B should
only be considered as a true dependency iff the executable/library is
calling symbols in library B directly.

--0000000000004c506a05d07363b5--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGMYy3vNHLN%2BNOY4q9EYuOetw%2BVs%2B79b625zRY2hhiyQ83DoaA>