Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Mar 2011 19:39:41 -0800
From:      Charlie Kester <corky1951@comcast.net>
To:        freebsd-ports@freebsd.org
Subject:   Re: Superfluous dependencies
Message-ID:  <20110313033940.GJ79028@comcast.net>
In-Reply-To: <4D7C2BDA.4030407@FreeBSD.org>
References:  <AANLkTik65O3gbUoVBM-YbjWu0dpq0OuNn2KoUaC5b5ov@mail.gmail.com> <4D76426A.2010006@secnap.com> <AANLkTi=j7fR%2BRm4Fy14Q_KPDyE%2B7%2BO_d3pd3Yaek=kJG@mail.gmail.com> <20110312215307.GB26099@lonesome.com> <20110312221233.GD79028@comcast.net> <4d7c2841.Luv9s8bmxfYBYXYS%perryh@pluto.rain.com> <4D7C2BDA.4030407@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat 12 Mar 2011 at 18:28:42 PST Doug Barton wrote:
>On 03/12/2011 18:13, perryh@pluto.rain.com wrote:
>>Charlie Kester<corky1951@comcast.net>  wrote:
>>
>>>A few minutes ago, I was answering a post on the forums, in which
>>>a user expressed surprise (and outrage) that the phpmyadmin port
>>>was installing libX11 and similar things on his server.  By
>>>installing it myself and then using "pkg_tree -v" to examine the
>>>dependencies, I was able to narrow it down to two of the port's
>>>options that were ON by default.
>>>
>>>I'm not aware of any tool that will display a similar dependency
>>>tree for a port *before* it is installed.  "make all-depends-list"
>>>creates exactly what it suggests, a list, and doesn't show any
>>>of the hierarchical info that is needed to answer questions like
>>>the one I was working on.   If there is such a tool, I'd love to
>>>hear about it.
>>
>>Would something along the lines of "make -n fetch-recursive"
>>help at all?  I would expect it to walk the dependency tree
>>in a predictable order.
>
>The problem with the pre-existing targets is that they do not take the 
>user's choices in OPTIONS into account. portmaster's technique (while
>not perfect) at least does that.

True, but that's not really needed in order to answer questions like
"Why is this port installing foo?"  Once we know which dependency leads
to foo, we can look to see if there's an option to disable it somewhere
up the tree.

Same for the original problem at the start of this thread. Once we know
where foo gets pulled in, we can look to see if it's a BUILD or a RUN
dependency. (Although it would be nice if whatever tool is displaying
the tree would have indicated that already, just as it would nice if
portions of the tree were "greyed out" if the controlling options are
turned off...)



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