port dependencies with port options

Chris Inacio nacho319 at gmail.com
Fri Apr 20 15:52:44 UTC 2012


On Fri, Apr 20, 2012 at 11:36 AM, Jeremy Messenger
<mezz.freebsd at gmail.com>wrote:

> On Fri, Apr 20, 2012 at 5:29 AM, Vitaly Magerya <vmagerya at gmail.com>
> wrote:
> > Chris Inacio wrote:
> >> I wanted to add an option to multiple ports - that is easy.  But, those
> >> ports have a dependency relationship, and I only want the last node in
> the
> >> port dependency graph to build with that option if the requisite ports
> have
> >> too.
> >>
> >> In real terms:
> >>
> >> net/spread <- net/libfixbuf <- net-mgmt/yaf
> >>
> >> I added a SPREAD option to net/libfixbuf & to net-mgmt/yaf.
>  net-mgmt/yaf
> >> can only build a Spread version if libfixbuf was built with a Spread
> >> version.
> >>
> >> Question 1)  How do you construct such that if a user goes into
> >> net-mgmt/yaf chooses Spread and fixbuf isn't already installed, it
> builds
> >> fixbuf with the spread option?
> >>
> >> Question 2) How do you ensure that if fixbuf is already installed, it
> has
> >> the Spread option enabled, or disallow/error the Yaf Spread option?
> >
> > One way to do this is to create a separate port net/libfixbuf-spread
> > that either installs separate libfixbuf-spread.so or just conflicts with
> > net/libfixbuf, and then make net-mgmt/yaf depend on that if SPREAD
> > option is on.
>
> Please do not create a split port that will end up conflict with the
> each others. It creates more problems rather than solve.
>
> Either split port without have conflict to the each others or enable
> SPREAD by default. If enable by default then add a check error if
> libfixbuf-spread.so does not exist then give user a head up to enable
> SPREAD back on.
>
> Split port without conflict is always best opinion, but if it's
> complicate to do it then do the enable SPREAD by default instead.
>
> Cheers,
> Mezz
>
>
>
So let me see if I understand the conversation so far correctly:

(*) If I want to detect it, then I would need something like a new library
name output from from fixbuf based on the build.  (This currently doesn't
exist.)

(*) I could do some split port, but (even being a noob) sounds pretty bad.

(*) There isn't a current method that directly queries build options from
one port to another.

Am I capturing current state?

Chris


--
> mezz.freebsd at gmail.com - mezz at FreeBSD.org
> FreeBSD GNOME Team
> http://www.FreeBSD.org/gnome/ - gnome at FreeBSD.org
>


More information about the freebsd-ports mailing list