1 |
On Tue, Oct 20, 2015 at 5:22 AM, Alexis Ballier <aballier@g.o> wrote: |
2 |
> |
3 |
> Ok, that's what I'd call "forced correctness" :) |
4 |
> But again, theory tells you that if you want algorithmically checkable |
5 |
> correctness then you have to seriously limit your possibilities, which |
6 |
> is why I usually don't even consider this tradeoff :) |
7 |
> |
8 |
|
9 |
I'm not suggesting we're achieving perfection here. However, I think |
10 |
that a lot of how we do things encourages lazy ebuild writing. That |
11 |
does have a cost in QA, and maintainability. |
12 |
|
13 |
Now, making it harder to write ebuilds also has a cost in fewer |
14 |
ebuilds getting written. So, this is a trade-off. I do get that. |
15 |
|
16 |
> |
17 |
> First, eclasses shouldn't apply patches on their own but take what the |
18 |
> ebuild tells it to apply: With multiple eclasses applying random |
19 |
> patches on their own, you're already asking for trouble. |
20 |
> Then, ebuild can just send all its patches through the first eclass, |
21 |
> which will call the real eaplly_user. |
22 |
> |
23 |
> Sure, there can be imaginary cases where this would horribly break or |
24 |
> not be so convenient, but do we have a real example ? |
25 |
|
26 |
That is a fair point. I think there are other problems with eclasses |
27 |
exporting phase functions which are far more likely to cause issues |
28 |
than patching at the wrong spot. |
29 |
|
30 |
I guess the question is whether I/we/whoever is turning eapply_user |
31 |
into a big issue more to force the general move away from exporting |
32 |
phase functions than because it is a big issue on its own. I do think |
33 |
that is the direction we ought to be moving in, but I would agree that |
34 |
we shouldn't be using eapply_user as a club to try to force people to |
35 |
move that way. If we want to discourage eclass phase function |
36 |
exporting, we should just do that on its own merits. |
37 |
|
38 |
So, perhaps it is a fair question to ask what is the specific harm |
39 |
from allowing it to be a no-op on subsequent calls, other than |
40 |
encouraging a coding practice that could possibly have other unrelated |
41 |
effects? |
42 |
|
43 |
-- |
44 |
Rich |