Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: [gentoo-dev-announce] EAPI 6 draft for review
Date: Wed, 21 Oct 2015 01:24:37
Message-Id: pan$39a0d$7cbdccbe$f532b6c0$996cb9c6@cox.net
In Reply to: Re: [gentoo-dev] Re: [gentoo-dev-announce] EAPI 6 draft for review by Alexis Ballier
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

Replies

Subject Author
Re: [gentoo-dev] Re: [gentoo-dev-announce] EAPI 6 draft for review Alexis Ballier <aballier@g.o>