Gentoo Archives: gentoo-dev

From: Alexis Ballier <aballier@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Addressing GLEP-62 itself
Date: Wed, 26 Sep 2012 22:28:37
Message-Id: 20120926192511.0eb8c481@gentoo.org
In Reply to: Re: [gentoo-dev] Addressing GLEP-62 itself by Brian Harring
1 On Wed, 26 Sep 2012 14:02:57 -0700
2 Brian Harring <ferringb@×××××.com> wrote:
3
4 > On Wed, Sep 26, 2012 at 02:38:02PM -0300, Alexis Ballier wrote:
5 > > On Wed, 26 Sep 2012 03:29:17 -0700
6 > > Brian Harring <ferringb@×××××.com> wrote:
7 > >
8 > > > On Wed, Sep 26, 2012 at 08:02:44AM +0200, Micha?? G??rny wrote:
9 > > > > On Tue, 25 Sep 2012 12:54:39 -0700
10 > > > > Brian Harring <ferringb@×××××.com> wrote:
11 > > > >
12 > > > > > On Tue, Sep 25, 2012 at 08:58:07PM +0200, Micha?? G??rny
13 > > > > > wrote:
14 > > > > > > On Tue, 25 Sep 2012 14:47:33 -0400
15 > > > > > > Ian Stakenvicius <axs@g.o> wrote:
16 > > > > > >
17 > > > > > > > Based on the above I do expect the reference
18 > > > > > > > implementation would also need to change. I expect, for
19 > > > > > > > instance, that the PM's metadata-handling would need to
20 > > > > > > > occur as normal even though none of the package's phase
21 > > > > > > > functions would run, that is, *DEPEND (realistically
22 > > > > > > > RDEPEND as that should be the only one affected here,
23 > > > > > > > maybe PDEPEND too) and USE/PKGUSE would get updated.
24 > > > > > > > Since portage would not be re-emerging the package from
25 > > > > > > > the tree the original ebuild would remain.
26 > > > > > >
27 > > > > > > Yes, unless I'm missing something that's the intent. I will
28 > > > > > > re-read and update the GLEP a bit sometime this week.
29 > > > > >
30 > > > > > There's a fairly strong user interaction component here,
31 > > > > > along w/ potential nastyness for ebuilds (the proposal assume
32 > > > > > that a flag will be toggable in all cases within an ebuild if
33 > > > > > IUSE_RUNTIME specified; I guarantee instances where that
34 > > > > > fails can be found in the tree if a basic audit was done).
35 > > > > > Additionally, this *is* useless if it's done in a form the UI
36 > > > > > an't display/handle; Ciaran may bitch about REQUIRED_USE's UI
37 > > > > > (which I knew going in was going to be problematic, just to
38 > > > > > be clear), but he's right on that front.
39 > > >
40 > > > ^^^ This point still needs addressing.
41 > >
42 > > IUSE_RUNTIME is optional for PMs, why does the UI matter at all ?
43 > > Also, the proposal doesn't assume flags are toggable at will, it
44 > > assumes they are useflags and obey the same rules.
45 >
46 > I truly hate claims like this; "it's optional, so who cares if it's
47 > whacky". Think through the proposal; for it to work reliably, it's
48 > not optional. Same issue I've been y'all over the head with,
49 > rendered/finalized vs raw/unfinalized deps being stored in the VDB.
50 >
51 > All managers have to write unfinalized if that proposal goes through,
52 > even if they don't support the optional toggling after the fact.
53
54 Why? _Current_ PMs will rebuild the package. The point of this is just
55 to give them a hint that they do not need to rebuild it. We already
56 have an implementation actually: one that ignores the hint :)
57
58 > As for the UI... arguing "but it's optional!" doesn't give a blank
59 > check for the UI angle. What the plan, more colorization and a new
60 > char for emerge -vp? Because we're kind of running out of chars
61 > there...
62
63 How is this relevant ?
64
65 > It's a simple enough request; one that wouldn't even need to be made
66 > if there was code backing this proposal; on a related note, hell yes
67 > I'm wary of having this dumped on manager authors heads and having to
68 > be told "sort out the mess/make it so". So I'm asking y'all to at
69 > least put in an equivalent time investment doing a quick prototype.
70 >
71 > This isn't an unreasonable request, and has been the norm for most
72 > gleps for a long while.
73
74 I guess people do not want to invest time in writing code for something
75 doomed. The original request was just to have it 'accepted' so that an
76 implementation can start. If the implementation is good then make it
77 final, otherwise amend or reject the glep. This isn't unreasonable
78 either.
79
80 > > > > > Additionally, this needs to be thought out how it'll interact
81 > > > > > with eclasses; what stacking, etc. It doesn't cover the
82 > > > > > basics there to say the least.
83 > > > >
84 > > > > The proposal didn't cover eclasses at all. Is there a need to
85 > > > > do so or are we chasing some kind of perfection based on
86 > > > > filling all unused slots?
87 > > >
88 > > > Eclass stacking here matters; if it's stacked, it means ebuilds
89 > > > have to use out of bound (ie, other vars) to tell the eclass when
90 > > > it shouldn't mark a flag as runtime toggable. If it's not
91 > > > stacked by the pm, then they have to manually stack; that differs
92 > > > from the norm and makes it easier to screwup; however; does allow
93 > > > for them to filter, albeit a slight pain in the ass doing so.
94 > > >
95 > > > There's a choice there, and the answer matters, so yes, you
96 > > > should actually have a complete glep before trying to shove it up
97 > > > to the council and extract a vote out of them. Lest the
98 > > > intention is to just have them kick it back to the curb...
99 > >
100 > > It can't be stacked and it's not wise to do so; it is a simple bash
101 > > variable like tons of others in eclasses:
102 >
103 > It cannot be stacked because y'all are trying to shove this in as an
104 > optional; unlike it's brother IUSE, which stacks.
105 >
106 > As for "ons of others that don't stack"; very few actually influence
107 > the package manager; ~14 roughly, minimally 5 of those stack (those
108 > that don't, basically aren't lists).
109
110 So it's not stacked, nothing else to discuss here :)
111
112 > > """
113 > > Package managers not implementing this GLEP will consider
114 > > the ``IUSE_RUNTIME`` variable as an irrelevant bash variable
115 > > """
116 > > """
117 > > 2. introduce additional ``IUSE_RUNTIME`` variable listing names of
118 > > USE flags related to optional runtime dependencies (without prefixes
119 > > related to IUSE defaults).
120 > > """
121 > >
122 > > Treating bash variables as bash variables is rather the norm,
123 > > stacking is the exception. As I understand it, your only objection
124 > > here is that you want to see written 'IUSE_RUNTIME gets no special
125 > > treatment' in the proposal ?
126 >
127 > My objection is punting it to the council till it's actually nailed
128 > down/sane; having them mark it accepted means we're stuck w/ the
129 > results if it turns out to be shit at the implementation/UI level as
130 > a lot of us think it will be.
131 >
132 > So yes, I want it actually finalized. Bluntly; there's zero point
133 > having the council comment if it ain't finalized.
134
135 Then the proposal itself should be discussed, not the implementation
136 details: chars for emerge -pv are irrelevant; you pointed the raw dep
137 issue in the VDB, that's good, but never said anything as of why they
138 can't additionally be stored, making this a non-issue for the
139 _proposal_ acceptation.
140
141 Anyway, without implementation I expect the council to just give a vote
142 of opinion, showing support or non-support to the proposal; the
143 proposal will be final only once the council will be happy with
144 portage's implementation. And I agree, the council doesn't need to be
145 involved to start the implementation, but knowing this proposal has
146 supporters will motivate people to do the implementation, vs. not even
147 being sure the idea itself will get some support.
148
149 Would you support the proposal if you are happy with its
150 implementation ?
151
152 A.

Replies

Subject Author
Re: [gentoo-dev] Addressing GLEP-62 itself Brian Harring <ferringb@×××××.com>