Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Apr 2012 12:03:44 -0500
From:      Jeremy Messenger <mezz.freebsd@gmail.com>
To:        Chris Inacio <nacho319@gmail.com>
Cc:        Vitaly Magerya <vmagerya@gmail.com>, freebsd-ports@freebsd.org
Subject:   Re: port dependencies with port options
Message-ID:  <CADLFtteuFsvEk4dN8pOgEktnxaU3d8nEG4Ah6nU27=wOKvsPtw@mail.gmail.com>
In-Reply-To: <CAG_PEewPT5jYM%2BRNy=64cN0Je0phC8CiuNCU9xiHeDMCWCW-gA@mail.gmail.com>
References:  <CAG_PEeyM78_8vdpLy5g%2BWRAsEW51T2OZertcB_NGwogh0TSceA@mail.gmail.com> <4F913A7C.7050601@gmail.com> <CADLFttdcjGboDWsvKaaRsi0OAcYRLOR5N2WVuFdAyWMXZNkWRg@mail.gmail.com> <CAG_PEewPT5jYM%2BRNy=64cN0Je0phC8CiuNCU9xiHeDMCWCW-gA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Apr 20, 2012 at 10:52 AM, Chris Inacio <nacho319@gmail.com> wrote:
>
>
> On Fri, Apr 20, 2012 at 11:36 AM, Jeremy Messenger <mezz.freebsd@gmail.co=
m>
> wrote:
>>
>> On Fri, Apr 20, 2012 at 5:29 AM, Vitaly Magerya <vmagerya@gmail.com>
>> wrote:
>> > Chris Inacio wrote:
>> >> I wanted to add an option to multiple ports - that is easy. =A0But, t=
hose
>> >> ports have a dependency relationship, and I only want the last node i=
n
>> >> the
>> >> port dependency graph to build with that option if the requisite port=
s
>> >> have
>> >> too.
>> >>
>> >> In real terms:
>> >>
>> >> net/spread <- net/libfixbuf <- net-mgmt/yaf
>> >>
>> >> I added a SPREAD option to net/libfixbuf & to net-mgmt/yaf.
>> >> =A0net-mgmt/yaf
>> >> can only build a Spread version if libfixbuf was built with a Spread
>> >> version.
>> >>
>> >> Question 1) =A0How 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 wi=
th
>> > 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 librar=
y
> name output from from fixbuf based on the build.=A0 (This currently doesn=
't
> exist.)

I don't have access to FreeBSD and CVS too due to firewall at work,
but if it doesn't has seperate library. I do not recommend to rename
the library and go with enable option by default instead.

If the spread is very small and doesn't has tons of dependency, you
can even have libfixbuf depends on spread by default without provide
option to turn off/on. Simple.

Cheers,
Mezz

> (*) 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADLFtteuFsvEk4dN8pOgEktnxaU3d8nEG4Ah6nU27=wOKvsPtw>