Date: Fri, 20 Apr 2012 11:52:37 -0400 From: Chris Inacio <nacho319@gmail.com> To: Jeremy Messenger <mezz.freebsd@gmail.com> Cc: Vitaly Magerya <vmagerya@gmail.com>, freebsd-ports@freebsd.org Subject: Re: port dependencies with port options Message-ID: <CAG_PEewPT5jYM%2BRNy=64cN0Je0phC8CiuNCU9xiHeDMCWCW-gA@mail.gmail.com> In-Reply-To: <CADLFttdcjGboDWsvKaaRsi0OAcYRLOR5N2WVuFdAyWMXZNkWRg@mail.gmail.com> References: <CAG_PEeyM78_8vdpLy5g%2BWRAsEW51T2OZertcB_NGwogh0TSceA@mail.gmail.com> <4F913A7C.7050601@gmail.com> <CADLFttdcjGboDWsvKaaRsi0OAcYRLOR5N2WVuFdAyWMXZNkWRg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Apr 20, 2012 at 11:36 AM, Jeremy Messenger <mezz.freebsd@gmail.com>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. 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@gmail.com - mezz@FreeBSD.org > FreeBSD GNOME Team > http://www.FreeBSD.org/gnome/ - gnome@FreeBSD.org >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAG_PEewPT5jYM%2BRNy=64cN0Je0phC8CiuNCU9xiHeDMCWCW-gA>