Date: Sun, 22 Dec 2013 08:51:53 -0600 From: Scot Hetzel <swhetzel@gmail.com> To: Erick Turnquist <jhujhiti@adjectivism.org> Cc: FreeBSD Ports <freebsd-ports@freebsd.org> Subject: Re: Resolving circular dependencies Message-ID: <CACdU%2Bf_iGTCzC1q7HUiprz5T4YRLF3n3Zm-ZagP8E=3fKKNvDw@mail.gmail.com> In-Reply-To: <52B6352E.4050804@scrubbed.adjectivism.org> References: <52B6352E.4050804@scrubbed.adjectivism.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Dec 21, 2013 at 6:41 PM, Erick Turnquist <jhujhiti@adjectivism.org> wrote: > Hi List, > > A few weeks ago, I submitted a patch to build security/krb5 with LDAP > support (adding a dependency on security/openldap24-sasl-client). All was > well. > > Now, I've realized that security/cyrus-sasl2 (which the OpenLDAP client > depends on) is going to need a knob to control which Kerberos implementation > to use. My first thought was to simply LIB_DEPENDS+=security/krb5, but that > leaves me with a circle (need to install krb5 before building cyrus-sasl2, > but can't install krb5's dependency openldap24-sasl-client without > cyrus-sasl2). > > I've tried searching, but can't find any advice on resolving issues like > this. I'm sure this sort of thing has been encountered before. What's the > best way to deal with it? > The non-Poudriere of dealing with this is to: 1. install security/cyrus-sasl2 with krb5 support disabled 2. install security/openldap24-sasl-client 3. install security/krb5 with LDAP enabled 4. re-install security/cyrus-sasl2 with krb5 support enabled I looked thru the security/cyrus-sasl2/Makefile, and it currently doesn't have a LIB_DEPENDS on any of the Kerberos ports. So the above doesn't create a circular dependency. The best way to solve this would be to create 3 ports that would create the appropriate gssapi mech: security/cyrus-sasl2-mech-gssapi-base <- Kerberos Support from /usr/lib/libkrb5.a security/cyrus-sasl2-mech-gssapi-krb5 (slave port) security/cyrus-sasl2-mech-gssapi-hemidal (slave port) That way you could use Poudriere to build these 4 ports (cyrus-sasl2, openldap24-sasl-client, krb5 and cyrus-sasl2-mech-gssapi-krb5). Now if someone could sit down and code these mech ports. ;-) -- DISCLAIMER: No electrons were maimed while sending this message. Only slightly bruised.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACdU%2Bf_iGTCzC1q7HUiprz5T4YRLF3n3Zm-ZagP8E=3fKKNvDw>