1 |
Alexis Ballier posted on Tue, 20 Oct 2015 12:25:07 +0200 as excerpted: |
2 |
|
3 |
> On Tue, 20 Oct 2015 06:00:15 -0400 Rich Freeman <rich0@g.o> |
4 |
> wrote: |
5 |
> |
6 |
>> So, perhaps it is a fair question to ask what is the specific harm from |
7 |
>> allowing it to be a no-op on subsequent calls, other than encouraging a |
8 |
>> coding practice that could possibly have other unrelated effects? |
9 |
> |
10 |
> Yep; I can't see any real harm, but this is probably based on a limited |
11 |
> view of the big picture. |
12 |
> However, I do think the practice should be discouraged, but 'let be' in |
13 |
> specific cases like for eclasses co-existence. Actually, just like any |
14 |
> other (non breaking) QA issue is handled I think. |
15 |
|
16 |
Wouldn't the ultimate effect of "let be", assuming the simplest first- |
17 |
eclass-applies rule, effectively undo the entire purpose of having a |
18 |
mandatory eapply_user in the first place? |
19 |
|
20 |
IOW, now, without some hook, users can't depend on epatch_user. |
21 |
|
22 |
Wouldn't "let be" simply define eapply_user as just as undependable, if |
23 |
not more so, because users couldn't simply pickup patches, dump them in |
24 |
${PM_LOCAL_PATCHDIR}, and expect them to actually apply properly, because |
25 |
the first eapply_user would apply them and then the patches other eclasses |
26 |
attempt to apply would break, triggering a die. |
27 |
|
28 |
And if eapply_user is as undependable, why go thru the whole empty |
29 |
exercise in the first place? Just leave epatch_user alone, because after |
30 |
all, users who really want it to be dependable can already hook-apply it |
31 |
as necessary. |
32 |
|
33 |
|
34 |
Thus, this really does need worked thru, either somehow forcing the |
35 |
eapply_user to be applied once, after everything else, ignoring earlier |
36 |
calls (the new src_prepare2 phase, with the PM running eapply_user |
37 |
between the two and 2 only doing whatever auto* magic, etc, needs done), |
38 |
or forcing "exactly once" wording, effectively forcing eclasses to behave |
39 |
and not call it, which in turn forces the ebuild to call both the |
40 |
individual eclass functions and eapply_user, at the appropriate time. |
41 |
|
42 |
But thinking about it a bit, what happens if eapply_user is defined as a |
43 |
PM function/phase that will be called exactly once... between src_prepare |
44 |
and src_configure? |
45 |
|
46 |
Then existing patch functionality can continue to be called by the |
47 |
eclasses as it is now, perhaps a bit of a mess, but no change so it's a |
48 |
mess we've generally already adjusted to, eapply_user gets called as a PM |
49 |
function, and all the auto* and etc magic gets called in src_configure, |
50 |
just before the normal configure functionality. |
51 |
|
52 |
Would that force the ordering of something else that's a solved problem |
53 |
now, to undefined, or is it actually workable, or...? |
54 |
|
55 |
-- |
56 |
Duncan - List replies preferred. No HTML msgs. |
57 |
"Every nonfree program has a lord, a master -- |
58 |
and if you use the program, he is your master." Richard Stallman |