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>