Gentoo Archives: gentoo-pms

From: Brian Harring <ferringb@×××××.com>
To: Micha?? G??rny <mgorny@g.o>
Cc: gentoo-dev@l.g.o, gentoo-pms@l.g.o
Subject: [gentoo-pms] Re: [gentoo-dev] GLEP: gentoo sync based unified deps proposas
Date: Tue, 18 Sep 2012 10:45:09
Message-Id: 20120918104500.GE5384@localhost
In Reply to: [gentoo-pms] Re: [gentoo-dev] GLEP: gentoo sync based unified deps proposal by "Michał Górny"
1 On Tue, Sep 18, 2012 at 11:47:42AM +0200, Micha?? G??rny wrote:
2 > On Tue, 18 Sep 2012 02:24:26 -0700
3 > Brian Harring <ferringb@×××××.com> wrote:
4 >
5 > > On Tue, Sep 18, 2012 at 10:25:51AM +0200, Micha?? G??rny wrote:
6 > > > > test depends: to specifically mark those dependencies that are
7 > > > > only needed for when the pkg is being tested; effectively
8 > > > > ephemeral build/run time depends that go away once testing is
9 > > > > completed.
10 > > >
11 > > > Does that mean that USE=test is going away somehow?
12 > >
13 > > If you think it through, a test use flag still is needed in the cases
14 > > where the rdep itself would change if test was enabled; such a source
15 > > is fairy rare, but not always just someone being moronic- certain
16 > > cases to do testing, the tests need to reach in fairly deeply and
17 > > recompilation for compile vs test isn't exposed.
18 >
19 > Yes, and sometimes we're doing 'use test'. I simply don't see how
20 > adding a separate group of dependencies just for 'test' phase is going
21 > to help us.
22 > They fit just fine into build-time dependencies right now.
23
24 I'm going to assume you typo'd "build-time" into "run-time"; on the
25 offchance you've never written actual test code, to test the code you
26 have to *run* the results.
27
28 Simple example, portage doesn't need eselect nor logrotate, nor afaik
29 selinux or paxutils, till runtime since it doesn't test those
30 pathways.
31
32 A non-crap resolver can exploit that gap when it comes to
33 parallelization.
34
35 Just heading off an email from you, no, you cannot just stick it into
36 RDEPEND then.
37
38 If you did so, the test deps would be locked into the required runtime
39 graph for as long as the pkg was installed.
40
41 If in doubt of how that matters; trace the usage of gtest, nose, etc.
42 Nose is a good example additionally since a properly setup setup.py,
43 the pkg doesn't need nose for build- just strictly for test.
44
45
46
47 > > > A quick
48 > > > glance shows that what you have expanded there, a fairly reasonable
49 > > > Gentoo dev will solve using:
50 > > >
51 > > > RDEPEND="[common depends]"
52 > > > DEPEND="${RDEPEND}
53 > > > [build only depends]"
54 > >
55 > > from diffball (under current EAPIs)
56 > >
57 > > """
58 > > RDEPEND=">=sys-libs/zlib-1.1.4
59 > > >=app-arch/bzip2-1.0.2
60 > > app-arch/xz-utils"
61 > > DEPEND="${RDEPEND}
62 > > virtual/pkgconfig"
63 > > """
64 > >
65 > > becomes the following under the proposal:
66 > >
67 > > """
68 > > DEPENDENCIES=">=sys-libs/zlib-1.1.4
69 > > >=app-arch/bzip2-1.0.2
70 > > app-arch/xz-utils"
71 > > dep:build? ( virtual/pkgconfig )"
72 > > """
73 >
74 > Err, shouldn't the first three deps be namespaced?
75
76 No.
77
78 Please read the glep, specifically the section "basic rules".
79
80
81 Also, you come up with a valid criticism, valid point, etc, something
82 *worthwhile*, I'll respond. If it doesn't meet that criteria, assume
83 I won't respond (feel free to bitch to the council during whatever
84 vote occurs for this GLEP that I ignored your noise; it's a risk I'll
85 willingly take).
86
87 ~harring