1 |
On Tue, 18 Feb 2014 18:31:28 +0000 |
2 |
"Steven J. Long" <slong@××××××××××××××××××.uk> wrote: |
3 |
|
4 |
> On Fri, Feb 14, 2014 Tom Wijsman wrote: |
5 |
> > On Thu, 13 Feb 2014 "Steven J. Long" wrote: |
6 |
> > |
7 |
> > > > > Much better for the arch in question to field the bug, than |
8 |
> > > > > tell the user there is no problem, and we don't care. That |
9 |
> > > > > way you can get the user involved in stabilisation and AT via |
10 |
> > > > > that bug, instead of turning them away with priggishness. |
11 |
> > > > |
12 |
> > > > Problems should be visible instead of hidden, as well as |
13 |
> > > > resolved. A move in work means a move in work, further |
14 |
> > > > implications are yours... |
15 |
> > > |
16 |
> > > Very gnomic: nothing's being hidden in the above approach. |
17 |
> > |
18 |
> > Filing a bug but not telling the user about it is hiding the |
19 |
> > problem. |
20 |
> |
21 |
> "The bug" in the above is a bug the user on the arch in question has |
22 |
> filed, which would be duped to the stabilisation bug (for the arch if |
23 |
> there's more than one) so the user a) knows there's a newer version, |
24 |
> which they can try out and help stabilise, and b) isn't kicked back |
25 |
> with a WONTFIX, when they could be put in touch with the AT instead. |
26 |
> |
27 |
> So the user filed the bug in the first place: by definition they know |
28 |
> about it. |
29 |
|
30 |
There are more users than the user that filed the bug; in order to |
31 |
address all of them, and not just the user of the bug, other |
32 |
forms of communication need to be taken to address those users. One of |
33 |
such that came up is using the package.mask reason to do this. |
34 |
|
35 |
> > > I can't make sense of the rest so I'll move on, noting only that |
36 |
> > > it's up to the arch team, as to what _they_ decide to kick back to |
37 |
> > > unstable. |
38 |
> > |
39 |
> > They need manpower to decide it, which they don't have. |
40 |
> |
41 |
> It's still no-one else's call, though given the approach it's easy |
42 |
> enough to allow a further say 180 days after the "-* arch" marking, |
43 |
|
44 |
As detailed before, -* has a different meaning defined by policy; if we |
45 |
want to see that changed it should be brought up for a vote, otherwise |
46 |
its usage in discussions like these seems to suggest to break an |
47 |
existing policy. So, I read this as "arch" whenever it is brought up. |
48 |
|
49 |
> before the maintainer is allowed to mark the package as a whole |
50 |
> unstable on the arch in question, given no movement. |
51 |
|
52 |
When the developer marks the package as "minorarch", it's already |
53 |
unstable on the newer versions; thus I think I'm missing a particular |
54 |
detail in your paragraph to understand what is meant here, unless you |
55 |
mean that we keep track of this in a separate way. |
56 |
|
57 |
> > > And that can work without a problem if we have a mechanism |
58 |
> > > in place to relieve maintainers of those bugs. |
59 |
> > |
60 |
> > Such mechanism could be to assign those bug to the arch team, this |
61 |
> > idea came up at FOSDEM; it won't solve the lack of manpower, but it |
62 |
> > will at least relieve the maintainers and make the problem more |
63 |
> > visible. |
64 |
> |
65 |
> Exactly. What the AT does with it is their problem: if they don't move |
66 |
> after another 180 days, they can't complain, but there's at least a |
67 |
> more formal process, and there's no row, nor even discussion needed. |
68 |
> You had a chance to stabilise, we've waited, and you've still got the |
69 |
> stable ebuild in your tree, but now any users on your arch are going |
70 |
> to get redirected to you, so you can discuss moving the package |
71 |
> forward or bumping it to unstable. |
72 |
|
73 |
We've had discussion here and on IRC after the similar QA policy; it's |
74 |
what put it in a state of discussing it again, which will happen |
75 |
tomorrow evening during the Gentoo QA meeting. |
76 |
|
77 |
> To me that makes the action something positive, rather than negative. |
78 |
> Especially coupled with an indicator in the package manager output, |
79 |
> similar to how unstable ebuilds are marked if you're running stable, |
80 |
> or forced-rebuilds. That would spur more users to help, since they're |
81 |
> using the package in question, and are on a slow arch. |
82 |
|
83 |
+1, package.mask or so could serve well here. |
84 |
|
85 |
> > > Personally I'd do it after 45 days to speed things up, and let the |
86 |
> > > ATs concerned, take the bug as and when (eg turn the stabilisation |
87 |
> > > into a tracker for the slow archs concerned, if there are |
88 |
> > > multiple.) |
89 |
> > |
90 |
> > Since this is a soft measure I've seen a lot of people want the |
91 |
> > time to be longer; if it still continues to be a problem, then |
92 |
> > shortening it might be a solution but I think we'll want to avoid a |
93 |
> > too hard approach for now. 45 days are over before you know it... |
94 |
> |
95 |
> No the whole point is that the slower archs are not losing a stable |
96 |
> ebuild in their tree: so it's fine for the maintainer to wait a |
97 |
> shorter time before marking it as no-longer-my-problem. It's not the |
98 |
> same as dropping the ebuild altogether; it leaves the arch-tree |
99 |
> intact, and still marks a new phase for interested users to |
100 |
> collaborate around, while relieving the maintainer of the burden. |
101 |
> |
102 |
> And if desired, that can be seen as the start of a phase toward |
103 |
> bumping it to unstable, but with more notice, and a defined process. |
104 |
|
105 |
Ah, no-longer-my-problem; yeah, seems we're having a different timeout |
106 |
in mind then. I'd still would like to see this rather as a last resort |
107 |
solution ("it's been a long while now, ..."), rather than a short ("yes, |
108 |
I can ditch it now, ...") solution for when it is really needed; as we |
109 |
just want to relieve some lingering maintenance weight, while not |
110 |
moving more weight than needed to the architecture teams. |
111 |
|
112 |
> > The part about ATs taking the bug sounds like what came up at |
113 |
> > FOSDEM. +1 |
114 |
> |
115 |
> <snip> |
116 |
> > > The wonderful thing about policy is that it reflects (or is |
117 |
> > > supposed to) consensus opinion with light to contemporaneous |
118 |
> > > circumstance. Since circumstances change, so too must policy be |
119 |
> > > open to change or adaptation, in line with basic principles. |
120 |
> > |
121 |
> > In this case -* works fine for what it intends to work; changing the |
122 |
> > policy to redefine it to fit another purpose, while no longer |
123 |
> > reflecting its original purpose is what we should avoid at all cost. |
124 |
> |
125 |
> Utter nonsense. Back that up with some consequent to justify why we |
126 |
> should "avoid it at all costs", bearing in mind the below. |
127 |
|
128 |
Already did that in the other thread, let's not bring it up again; it |
129 |
was shown that multiple words' meaning were bent to make it mean the |
130 |
other thing that you want to use it for here, while that changes the |
131 |
borders of its original meaning such that you can no longer it that way. |
132 |
|
133 |
By all means, it is possible to change it with a vote; but just plain |
134 |
out using it in a different way than how we defined it is inconsistent. |
135 |
|
136 |
> > > So let's look at extending it, since there is *no* technical |
137 |
> > > problem: |
138 |
> > |
139 |
> > You have colons after the above quoted sentence with nothing after |
140 |
> > it. |
141 |
> > |
142 |
> > (An eye for an eye... :D) |
143 |
> |
144 |
> Don't be so facile: the proposed extended policy is what follows. |
145 |
|
146 |
Exactly it does; so, let's avoid the use of that reply. :) |
147 |
|
148 |
> > > 'The redundant -* keyword is a metadata marker. |
149 |
> > |
150 |
> > The keyword has a meaning, therefore it is not redundant. |
151 |
> |
152 |
> It is technically redundant, since the package manager does not infer |
153 |
> any existing keywords, so there is nothing to strip. As a metadata |
154 |
> marker, no ofc it's not redundant: but that's what I'm proposing to |
155 |
> use. |
156 |
|
157 |
It could be towards the package manager, like quite a few other things |
158 |
(eg. the exact name of a license); that doesn't imply that it's |
159 |
redundant in general, as they have their specific meaning. |
160 |
|
161 |
> > > It is used to indicate, in line with the semantic of "strip all", |
162 |
> > > that the ebuild in question can only be used for the specific |
163 |
> > > archs noted for one of two reasons: |
164 |
> > > |
165 |
> > > 1) The package-maintainer has stabilised a newer version on at |
166 |
> > > least one arch personally, the ATs for the archs listed have |
167 |
> > > taken longer than XX days to test and stabilise, and the |
168 |
> > > maintainer would otherwise drop the ebuild altogether. |
169 |
> > > |
170 |
> > > 2) The package version is not worth trying to test on unlisted |
171 |
> > > archs.' |
172 |
> > |
173 |
> > (1) changes its meaning in a way that you can no longer interpret |
174 |
> > the keyword solely as (2). The whole purpose of (2) is that you can |
175 |
> > interpret it that you should not test it as it was found not to |
176 |
> > work; (1) is different from that, as it means that there was no |
177 |
> > manpower to test it. (1) would move ebuilds to -* and be |
178 |
> > misinterpreted as (2). |
179 |
> |
180 |
> Nope: 1) implies 2) so any existing use of the marker solely in the |
181 |
> context of 2) still works. It certainly is not worth testing an old |
182 |
> ebuild that would have been dropped on an unlisted arch: whoever is |
183 |
> looking at the ebuild, should instead use a newer version. |
184 |
|
185 |
1) means a package is unstable (~), 2) means a package is unusable (-), |
186 |
there is no hence no implication; even if there were, this discussion is |
187 |
solely about dropping it from stable. -* does more than what is needed. |
188 |
|
189 |
"arch minorarch" -> "minorarch" on the old version can suffice, with |
190 |
"arch ~minorarch" on the newer version; then what is "-* minorarch" |
191 |
needed for? What is its additional benefit over what I suggest here? |
192 |
|
193 |
> > > The policy which flows from that is: |
194 |
> > > |
195 |
> > > 'In the first case, it is QA policy that a comment of the form: |
196 |
> > > # STABLEREQ: https://bugs.gentoo.org/show_bug.cgi?id=NNNNNN |
197 |
> > > is required on the line immediately above the KEYWORDS |
198 |
> > > declaration. |
199 |
> > > |
200 |
> > > This is to aid both automated identification, and human |
201 |
> > > collaboration.' |
202 |
> > > |
203 |
> > > (The latter explains why a URL, not a bug id, is required. We're |
204 |
> > > trying to get end-users to help us, so let's make it easy for |
205 |
> > > them.) |
206 |
> > > |
207 |
> > > I'd personally add: |
208 |
> > > 'It is envisaged that the line will be added by an automated tool |
209 |
> > > at some point.' |
210 |
> > > |
211 |
> > > ..as well as a requirement for a bug id in the second case, but I |
212 |
> > > don't know it well enough; I'd certainly want some sort of |
213 |
> > > tracking. |
214 |
> > |
215 |
> > This yields extra commits; comments in ebuilds are directed towards |
216 |
> > maintainers, for users we should use another approach to contact |
217 |
> > them. |
218 |
> |
219 |
> No it keeps all the useful info in one place: the ebuild, where it's |
220 |
> easy to edit and see. The commit is already implicit in dropping the |
221 |
> ebuild to "-* slower arch": all the policy does is require a link to |
222 |
> the original stabilisation bug, which may be a tracker if multiple |
223 |
> archs are involved. However none of that is the maintainer's concern: |
224 |
> all they need do, when facing this rare situation, is change the |
225 |
> keywords and add a link to the bug (commenting is SOP for most unusual |
226 |
> situations in ebuilds), instead of dropping the arch's stable version. |
227 |
|
228 |
It's an extra commit to add the comment prior to stabilization. |
229 |
|
230 |
> The link is easy to extract for an automated external to show to the |
231 |
> user, like the mangler in the above, or a porcelain layer, given an |
232 |
> indicator from the mangler. |
233 |
|
234 |
This can be implemented by checking Bugzilla; there's no need for a |
235 |
comment, as that leaves room for missing comments misrepresenting that |
236 |
there is no stabilization when there is in fact stabilization going on. |
237 |
|
238 |
> It's also a helluva lot less work than package.mask, as well as |
239 |
> keeping all the info in the ebuild, where it's easier to handle. |
240 |
|
241 |
Adding a generic or specific text to package.mask can be scripted; |
242 |
beyond that, it is usable. package.mask is easier for QA to handle; |
243 |
given that it's a single file, instead of ebuilds across the tree. |
244 |
|
245 |
> > > It's hardly an onerous requirement, and a small price to pay: if |
246 |
> > > we have a policy for how a maintainer drops an ebuild from his |
247 |
> > > queue due to it being stabilised, which we can trigger scripts |
248 |
> > > from, we avoid the arguments every year or so, and stop archs from |
249 |
> > > being borked. We can also speed it up, since we have a mechanism |
250 |
> > > in-place to support it, as opposed to ad-hoc, flawed |
251 |
> > > decision-making. |
252 |
> > > |
253 |
> > > The thing I think that's missing from this debate, is an |
254 |
> > > acknowledgement, or an understanding, that arch-teams are all |
255 |
> > > effectively working on their own variant of the shared Gentoo |
256 |
> > > tree. (This includes the concept of upgrades working as smoothly |
257 |
> > > as they do on other archs, at the PM level.) Similar to other |
258 |
> > > portability efforts, the tree must support them in that, not make |
259 |
> > > it harder. |
260 |
> > > |
261 |
> > > Especially not because another developer doesn't care about the |
262 |
> > > arch in question. That's *natural*, but _cannot_ be cause for |
263 |
> > > dropping stable ebuilds. The only issue is to take the bugs off |
264 |
> > > their hands, and we can do that with a simple tweak in metadata, |
265 |
> > > so ffs let's get on and do it. |
266 |
> > |
267 |
> > +1 on this thought. |
268 |
> |
269 |
> Well I wish you could see that steev's solution, with a bit of |
270 |
> standard commenting, fulfils both your +1s |
271 |
|
272 |
The +1 is just on the thought part, not the entire thing. |
273 |
|
274 |
> and doesn't lead to broken arch-trees. It also doesn't require any |
275 |
> communication with a non-responsive arch, and can form the basis of a |
276 |
> much more useful mode of collaboration, from where I'm sitting. |
277 |
|
278 |
It however leads to different things and requires different things; so, |
279 |
there are trade-offs to be made. Some of the other solutions put |
280 |
forward also make collaboration an option; even outside of all |
281 |
solutions, collaboration by joining an arch team is already possible. |
282 |
|
283 |
> Post-facto complaints about an upstream project decision to keep |
284 |
> migration code, or about the anguish of seeing an older version |
285 |
> stable on some arch you don't even care about (or you wouldn't be |
286 |
> dropping their last stable version) are an order-of-magnitude less |
287 |
> concerning. By all means address them (up to the project in the |
288 |
> first case, adjust your script in the second) but let's at least |
289 |
> admit they are less of a problem than this continual argument, and |
290 |
> the consequent ill-feeling brought about by lack of a defined |
291 |
> action to take. |
292 |
|
293 |
Action by the QA team was taken last month, and tomorrow another could |
294 |
be made; this thread is making progress, and participating therein is |
295 |
part of a preparation for the meeting that will take place tomorrow. |
296 |
|
297 |
> The issue about confusion with multiple archs has already been |
298 |
> addressed by making the original stabilisation bug a tracker for |
299 |
> the N slow archs, if there are more than one. |
300 |
> |
301 |
> Most of this can be automated, or is at least amenable to it. And |
302 |
> that discussion is *far* more interesting than "you broke our arch" |
303 |
> vs "so what, you're too slow". |
304 |
|
305 |
-- |
306 |
With kind regards, |
307 |
|
308 |
Tom Wijsman (TomWij) |
309 |
Gentoo Developer |
310 |
|
311 |
E-mail address : TomWij@g.o |
312 |
GPG Public Key : 6D34E57D |
313 |
GPG Fingerprint : C165 AF18 AB4C 400B C3D2 ABF0 95B2 1FCD 6D34 E57D |