TEST_DEPENDS in all-depends-list et al.?

lists at tcm.yi.org lists at tcm.yi.org
Mon Jan 18 03:36:42 UTC 2016


On Mon, Jan 18, 2016 at 01:55:35PM +1100, Kubilay Kocak wrote:
> On 18/01/2016 7:11 AM, lists at tcm.yi.org wrote:
> > ports/head from around 2015-12-18 had about 15(?) dependencies in
> > www/py-requests for example. Now it wants to build over 90!
> > 
> > How can I turn this off? Is this a bug?
> 
> By definition all-depends means (and should mean) literally all
> dependencies (*_DEPENDS), so in that regard it makes sense.

I'm not sure what exactly changed between 2015-12-18 and now.
Specifically, www/py-requests' Makefile last changed in October,
but from December to today its all-depends-list grew from
~10 to 90.

Mk/Scripts/depends-list.sh also last changed outside the time
frame in question.


> Having said that, given the special nature of the test stage (orthogonal
> and independent to build/run dependencies), it sounds reasonable to ask
> whether they should be included in the target (all-depends-list) that
> has otherwise always only meant "what things does this port need to 'work'".
> 
> My personal opinion is that all-depends-list is fine, and a less
> encompassing <something-else>-depends-list that only shows actual
> end-user functional dependencies is needed.

My problem isn't exactly with all-depends-list, but rather with
showconfig-recursive and package-recursive, whose dependency list grew
as well, since they use the same dependency script. I don't want
to build, package or configure TEST_DEPENDS ports in the course of
normal package building.


> This question is also relevant for the case of OPTION'al dependencies
> (they're not included in all-depends by default unless they're
> inOPTIONS_DEFAULT too), and would *also* apply if ports/pkg's had (or
> ever will have) any notion of 'suggested/recommended' but otherwise
> non-compulsory dependencies like other packaging systems.

I'm perfectly fine with not dealing with ports that I have
excluded or that are excluded by default. This is what I would
expect.

For the time being, I have changed this line in Mk/bsd.port.mk

_UNIFIED_DEPENDS=${PKG_DEPENDS} ${EXTRACT_DEPENDS} ${PATCH_DEPENDS} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS} ${RUN_DEPENDS} ${TEST_DEPENDS}

by removing the ${TEST_DEPENDS} variable. Now I get the same
behaviour as before, but clearly, this is a horrible kludge.

Mk/bsd.port.mk also had no relevant changes that I can see
between 2015-12-18 and now.

So I'm still not sure if this is a bug or not. Is the
package-recursive target really meant to pull in all
TEST_DEPENDS ports? I was under the impression that
tests are exclusively run via 'make test' in the ports tree,
making it completely irrelevant to binary packages.

Thanks and best regards.


More information about the freebsd-ports mailing list